libyui  3.10.0
YSingleChildContainerWidget.cc
1 /*
2  Copyright (C) 2000-2012 Novell, Inc
3  This library is free software; you can redistribute it and/or modify
4  it under the terms of the GNU Lesser General Public License as
5  published by the Free Software Foundation; either version 2.1 of the
6  License, or (at your option) version 3.0 of the License. This library
7  is distributed in the hope that it will be useful, but WITHOUT ANY
8  WARRANTY; without even the implied warranty of MERCHANTABILITY or
9  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
10  License for more details. You should have received a copy of the GNU
11  Lesser General Public License along with this library; if not, write
12  to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
13  Floor, Boston, MA 02110-1301 USA
14 */
15 
16 
17 /*-/
18 
19  File: YSingleChildContainerWidget.cc
20 
21  Author: Stefan Hundhammer <sh@suse.de>
22 
23 /-*/
24 
25 
26 #include "YSingleChildContainerWidget.h"
27 
28 
30  : YWidget( parent )
31 {
33 }
34 
35 
37 {
38  // NOP
39 }
40 
41 
43 {
44  if ( hasChildren() )
45  return firstChild()->preferredWidth();
46  else
47  return 0;
48 }
49 
50 
52 {
53  if ( hasChildren() )
54  return firstChild()->preferredHeight();
55  else
56  return 0;
57 }
58 
59 
60 void YSingleChildContainerWidget::setSize( int width, int height )
61 {
62  if ( hasChildren() )
63  firstChild()->setSize( width , height );
64 }
65 
66 
67 bool
69 {
70  if ( hasChildren() )
71  return firstChild()->stretchable( dim );
72  else
73  return YWidget::stretchable( dim );
74 }
virtual bool stretchable(YUIDimension dim) const
Returns 'true' if this widget is stretchable in the specified dimension.
virtual int preferredHeight()
Preferred height of the widget.
virtual int preferredWidth()
Preferred width of the widget.
YSingleChildContainerWidget(YWidget *parent)
Constructor.
virtual ~YSingleChildContainerWidget()
Destructor.
virtual void setSize(int newWidth, int newHeight)
Set the new size of the widget.
Children manager that can handle one single child (rejecting any more).
Abstract base class of all UI widgets.
Definition: YWidget.h:55
bool hasChildren() const
Returns 'true' if this widget has any children.
Definition: YWidget.h:192
virtual int preferredWidth()=0
Preferred width of the widget.
YWidget * firstChild() const
Returns the first child or 0 if there is none.
Definition: YWidget.h:199
virtual void setSize(int newWidth, int newHeight)=0
Set the new size of the widget.
void setChildrenManager(YWidgetChildrenManager *manager)
Sets a new children manager for this widget.
Definition: YWidget.cc:166
virtual int preferredHeight()=0
Preferred height of the widget.
virtual bool stretchable(YUIDimension dim) const
This is a boolean value that determines whether the widget is resizable beyond its preferred size in ...
Definition: YWidget.cc:572