OpendTect  6.6
uigroup.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Lammertink
8  Date: 21/01/2000
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 #include "uiobj.h"
16 #include "uiparent.h"
17 #include "callback.h"
18 
19 
20 class uiGroupBody;
21 class uiParentBody;
22 
23 class uiGroup;
24 class uiGroupObjBody;
25 class uiGroupParentBody;
26 
27 mFDQtclass(QWidget)
28 
29 
30 mClass(uiBase) uiGroupObj : public uiObject
31 {
32 friend class uiGroup;
33 protected:
34  uiGroupObj(uiGroup*,uiParent*,const char*,bool);
35 public:
36 
37  virtual ~uiGroupObj();
38 
39  uiGroup* group() const { return uigrp_; }
40 
41  const ObjectSet<uiBaseObject>* childList() const;
42 
43 protected:
44 
46  uiGroup* uigrp_;
47 
48  void bodyDel( CallBacker* );
49  void grpDel( CallBacker* );
50 };
51 
52 
53 mExpClass(uiBase) uiGroup : public uiParent
54 {
55 friend class uiGroupObjBody;
56 friend class uiGroupParentBody;
57 friend class uiGroupObj;
58 friend class uiMainWin;
59 friend class uiTabStack;
60 public:
61  uiGroup( uiParent* , const char* nm="uiGroup",
62  bool manage=true );
63  virtual ~uiGroup();
64 
65  inline operator const uiGroupObj*() const { return grpobj_; }
66  inline operator uiGroupObj*() { return grpobj_; }
67  inline operator const uiObject&() const { return *grpobj_; }
68  inline operator uiObject&() { return *grpobj_; }
69  inline uiObject* attachObj() { return grpobj_; }
70  inline const uiObject* attachObj() const { return grpobj_; }
71  inline uiParent* parent() { return grpobj_->parent(); }
72  inline const uiParent* parent() const { return grpobj_->parent(); }
73 
74  void setHSpacing( int );
75  void setVSpacing( int );
76  void setSpacing( int s=0 )
77  { setHSpacing(s); setVSpacing(s); }
78  void setBorder( int );
79 
80  void setFrame( bool yn=true );
82 
84  void setHAlignObj( uiObject* o );
85  void setHAlignObj( uiGroup* o )
86  { setHAlignObj(o->mainObject()); }
88  void setHCenterObj( uiObject* o );
90  { setHCenterObj(o->mainObject()); }
91 
93  void setIsMain( bool );
94  virtual uiMainWin* mainwin()
95  { return mainObject() ? mainObject()->mainwin() :0;}
96 
97  static uiGroup* gtDynamicCastToGrp( mQtclass(QWidget*) );
98 
100 
102  { return mainObject()->preFinalise(); }
104  { return mainObject()->postFinalise(); }
105 
106 protected:
107 
110 
111  virtual uiObject* mainobject() { return grpobj_; }
112  virtual void attach_( constraintType, uiObject *oth, int margin=-1,
113  bool reciprocal=true);
114 
115  virtual void reDraw_( bool deep ) {}
116 
117  void setShrinkAllowed(bool);
119 
120  void bodyDel( CallBacker* );
122 
123  void setFrameStyle(int);
124 
125  void reSizeChildren(const uiObject*,float,float);
126 
127 public:
128  virtual void setSize(const uiSize&);
129 
130 };
131 
132 
uiGroup::uiGroupObjBody
friend class uiGroupObjBody
Definition: uigroup.h:55
uiGroup::grpobj_
uiGroupObj * grpobj_
Definition: uigroup.h:108
uiGroup::parent
const uiParent * parent() const
Definition: uigroup.h:72
uiTabStack
Definition: uitabstack.h:33
uiMainWin
User interface main window.
Definition: uimainwin.h:35
uiGroup::reSizeChildren
void reSizeChildren(const uiObject *, float, float)
uiGroup::parent
uiParent * parent()
Definition: uigroup.h:71
uiGroup::setShrinkAllowed
void setShrinkAllowed(bool)
ObjectSet< uiBaseObject >
uiGroup::setHSpacing
void setHSpacing(int)
uiGroup::mainwin
virtual uiMainWin * mainwin()
Definition: uigroup.h:94
uiGroup::body_
uiGroupParentBody * body_
Definition: uigroup.h:109
uiGroup::setSize
virtual void setSize(const uiSize &)
mFDQtclass
#define mFDQtclass(cls)
Definition: commondefs.h:233
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiObject::mainwin
uiMainWin * mainwin()
uiGroup::setFrameStyle
void setFrameStyle(int)
callback.h
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiGroup::setHCenterObj
void setHCenterObj(uiObject *o)
constraintType
constraintType
Definition: uilayout.h:19
uiGroup::setIsMain
void setIsMain(bool)
internal use only. Tells the layout manager it's a toplevel mngr.
uiGroup::mainobject
virtual uiObject * mainobject()
Definition: uigroup.h:111
uiParentBody
Definition: uiparentbody.h:23
uiparent.h
uiGroup::hCenterObj
uiObject * hCenterObj()
uiGroup::uiGroupObj
friend class uiGroupObj
Definition: uigroup.h:57
uiGroup::uiobjDel
void uiobjDel(CallBacker *)
uiGroup::hAlignObj
uiObject * hAlignObj()
uiGroup
Definition: uigroup.h:54
uiGroup::reDraw_
virtual void reDraw_(bool deep)
Definition: uigroup.h:115
mClass
#define mClass(module)
Definition: commondefs.h:181
uiGroup::bodyDel
void bodyDel(CallBacker *)
uiGroup::postFinalise
virtual Notifier< uiBaseObject > & postFinalise()
Definition: uigroup.h:103
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
uiGroup::attach_
virtual void attach_(constraintType, uiObject *oth, int margin=-1, bool reciprocal=true)
uiGroup::setVSpacing
void setVSpacing(int)
uiSize
Definition: uigeom.h:25
uiGroup::attachObj
const uiObject * attachObj() const
Definition: uigroup.h:70
uiGroup::setFrame
void setFrame(bool yn=true)
uiGroup::setSpacing
void setSpacing(int s=0)
Definition: uigroup.h:76
mQtclass
#define mQtclass(cls)
Definition: commondefs.h:234
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiGroup::setHAlignObj
void setHAlignObj(uiObject *o)
uiGroup::setBorder
void setBorder(int)
uiGroup::setChildrenSensitive
void setChildrenSensitive(bool)
uiGroup::uiGroupParentBody
friend class uiGroupParentBody
Definition: uigroup.h:56
uiGroup::preFinalise
virtual Notifier< uiBaseObject > & preFinalise()
Definition: uigroup.h:101
uiParent
Definition: uiparent.h:26
uiGroup::~uiGroup
virtual ~uiGroup()
uiGroup::attachObj
uiObject * attachObj()
Definition: uigroup.h:69
uiGroup::setHCenterObj
void setHCenterObj(uiGroup *o)
Definition: uigroup.h:89
uiGroup::uiGroup
uiGroup(uiParent *, const char *nm="uiGroup", bool manage=true)
uiGroup::shrinkAllowed
bool shrinkAllowed()
uiGroup::setHAlignObj
void setHAlignObj(uiGroup *o)
Definition: uigroup.h:85
uiGroup::setNoBackGround
void setNoBackGround()
uiGroup::gtDynamicCastToGrp
static uiGroup * gtDynamicCastToGrp(mQtclass(QWidget *))
uiParent::childList
const ObjectSet< uiBaseObject > * childList() const
uiParent::mainObject
uiObject * mainObject()
Definition: uiparent.h:40
uiobj.h

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021