13 #include "uibasemod.h" 26 friend class i_LayoutIterator;
28 friend class uiGroupParentBody;
34 virtual ~i_LayoutItem();
37 {
return curpos(m).left(); }
38 virtual int centre(
LayoutMode m,
bool hor=
true)
const 40 if( hor )
return ( curpos(m).
left()
41 + curpos(m).
right() ) / 2;
42 return ( curpos(m).top()
43 + curpos(m).bottom() ) / 2;
46 virtual uiSize minimumsize()
const 48 mQtclass(QSize) s =qwidget()->minimumSize();
51 uiSize( s.width(), s.height());
57 {
pErrMsg(
"PrefSize already done.");}
61 const_cast<i_LayoutItem*
>(
this);
62 self->prefSzDone =
true;
63 mQtclass(QSize) ps( qlayoutItm().sizeHint() );
64 int width = ps.width();
65 if ( width==0 ) width = 1;
66 int height = ps.height();
67 if ( height==0 ) height = 1;
75 virtual
void invalidate();
79 uiSize actualsize(
bool include_border =
true)
const;
82 inline const i_LayoutMngr& mngr()
const {
return mngr_; }
85 {
return layoutpos[m];}
90 return minimum_pos_inited
91 || preferred_pos_inited;
96 bool preferred_pos_inited;
97 bool minimum_pos_inited;
101 int stretch(
bool hor )
const;
102 virtual void commitGeometrySet(
bool);
109 i_LayoutItem *other,
int margin,
110 bool reciprocal=
true);
112 virtual uiObject* objLayouted() {
return 0; }
113 inline const uiObject* objLayouted()
const 115 return const_cast<i_LayoutItem*
> 116 (
this)->objLayouted();
119 virtual uiObjectBody* bodyLayouted() {
return 0; }
120 inline const uiObjectBody* bodyLayouted()
const 122 return const_cast<i_LayoutItem*
> 123 (
this)->bodyLayouted();
126 inline mQtclass(QLayoutItem&) qlayoutItm() {
return *qlayoutitm; }
127 inline const mQtclass(QLayoutItem&) qlayoutItm()
const 128 {
return *qlayoutitm; }
132 inline mQtclass(QLayoutItem*) takeQlayoutItm()
134 mQtclass(QLayoutItem*) ret = qlayoutitm;
140 {
return qlayoutitm->widget(); }
141 virtual const mQtclass(QWidget*) managewidg_()
const 142 {
return qlayoutitm->widget(); }
146 bool isAligned()
const;
171 *new
mQtclass(QWidgetItem)(obj.qwidget()) )
178 uiSize s = uiObjBody_.minimumsize();
182 return i_LayoutItem::minimumsize();
#define mExpClass(module)
Definition: commondefs.h:157
#define mIsUdf(val)
Use mIsUdf to check for undefinedness of simple types.
Definition: undefval.h:285
Definition: uilayout.h:37
virtual uiObject * objLayouted()
Definition: i_layoutitem.h:185
#define mQtclass(cls)
Definition: commondefs.h:232
Wrapper around QLayoutItem class. Stores some dGB specific layout info.
Definition: i_layoutitem.h:166
uiObjectBody & uiObjBody_
Definition: i_layoutitem.h:191
Definition: i_layout.h:26
The base class for most UI elements.
Definition: uiobj.h:35
virtual uiSize minimumsize() const
Definition: i_layoutitem.h:176
virtual const QWidget * qwidget_() const
Definition: i_uiobjqtbody.h:27
Set of (small) copyable elements.
Definition: commontypes.h:26
i_uiLayoutItem(i_LayoutMngr &mgr, uiObjectBody &obj)
Definition: i_layoutitem.h:169
LayoutMode
Definition: i_layout.h:33
virtual uiObjectBody * bodyLayouted()
Definition: i_layoutitem.h:186
#define mFDQtclass(cls)
Definition: commondefs.h:231
constraintType
Definition: uilayout.h:17
const int nLayoutMode
Definition: i_layout.h:35
int hNrPics() const
Definition: uigeom.h:31
#define pErrMsg(msg)
Usual access point for programmer error messages.
Definition: errmsg.h:34
CallBacker object with a name. Use if you want your object to be able to send and receive CallBack's...
Definition: namedobj.h:50
dGB's layout manager
Definition: i_layout.h:68
Definition: i_layout.h:26