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