YAlignment.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013   File:       YAlignment.h
00014 
00015   Author:     Mathias Kettner <kettner@suse.de>
00016   Maintainer: Stefan Hundhammer <sh@suse.de>
00017 
00018 /-*/
00019 
00020 #ifndef YAlignment_h
00021 #define YAlignment_h
00022 
00023 #include "YContainerWidget.h"
00024 
00025 using std::string;
00026 
00027 enum YAlignmentType
00028 {
00029     YAlignUnchanged,
00030     YAlignBegin,
00031     YAlignEnd,
00032     YAlignCenter
00033 };
00034 
00035 
00040 class YAlignment : public YContainerWidget
00041 {
00042 public:
00055     YAlignment( const YWidgetOpt & opt, YAlignmentType halign, YAlignmentType valign );
00056 
00061     virtual char *widgetClass() { return "YAlignment"; }
00062 
00066     virtual void moveChild( YWidget *child, long newx, long newy ) = 0;
00067 
00073     bool stretchable( YUIDimension dim ) const;
00074 
00081     void setSize( long newwidth, long newheight );
00082 
00089     long nicesize( YUIDimension dim );
00090 
00095     long leftMargin()   const   { return _leftMargin;   }
00096 
00101     long rightMargin()  const   { return _rightMargin;  }
00102 
00107     long topMargin()    const   { return _topMargin;    }
00108 
00113     long bottomMargin() const   { return _bottomMargin; }
00114 
00118     long totalMargins( YUIDimension dim ) const;
00119 
00123     void setLeftMargin( long margin ) { _leftMargin = margin; }
00124 
00128     void setRightMargin( long margin ) { _rightMargin = margin; }
00129 
00133     void setTopMargin( long margin ) { _topMargin = margin; }
00134 
00138     void setBottomMargin( long margin ) { _bottomMargin = margin; }
00139 
00144     long minWidth() const { return _minWidth; }
00145 
00150     long minHeight() const { return _minHeight; }
00151 
00155     void setMinWidth( long width ) { _minWidth = width; }
00156 
00160     void setMinHeight( long height ) { _minHeight = height; }
00161 
00172     virtual void setBackgroundPixmap( string px );
00173 
00178     string backgroundPixmap() const { return _backgroundPixmap; }
00179 
00180 
00181 protected:
00182 
00183 
00184     // Data members
00185 
00186     YAlignmentType align[ YUIAllDimensions ];
00187 
00188     long _leftMargin;
00189     long _rightMargin;
00190     long _topMargin;
00191     long _bottomMargin;
00192 
00193     long _minWidth;
00194     long _minHeight;
00195 
00196     string _backgroundPixmap;
00197 };
00198 
00199 
00200 #endif // YAlignment_h
00201 

Generated on Fri Jun 16 18:07:45 2006 for yast2-core by  doxygen 1.4.6