OpendTect  6.3
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 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "uiobj.h"
15 #include "uiparent.h"
16 #include "notify.h"
17 
18 
19 class uiGroupBody;
20 class uiParentBody;
21 
22 class uiGroup;
23 class uiGroupObjBody;
24 class uiGroupParentBody;
25 
26 mFDQtclass(QWidget)
27 
28 
29 mClass(uiBase) uiGroupObj : public uiObject
30 {
31 friend class uiGroup;
32 protected:
33  uiGroupObj(uiGroup*,uiParent*,const char*,bool);
34 public:
35 
36  virtual ~uiGroupObj();
37 
38  uiGroup* group() const { return uigrp_; }
39 
40  const ObjectSet<uiBaseObject>* childList() const;
41 
42 protected:
43  void translateText();
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 uiObject& asUiObject() { return *grpobj_; }
66  inline const uiObject& asUiObject() const { return *grpobj_; }
67  inline operator const uiObject&() const { return asUiObject(); }
68  inline operator uiObject&() { return asUiObject(); }
69  inline operator const uiGroupObj*() const { return grpobj_; }
70  inline operator uiGroupObj*() { return grpobj_; }
71  inline uiObject* attachObj() { return grpobj_; }
72  inline const uiObject* attachObj() const { return grpobj_; }
73  inline uiParent* parent() { return grpobj_->parent(); }
74  inline const uiParent* parent() const { return grpobj_->parent(); }
75 
76  void setHSpacing( int );
77  void setVSpacing( int );
78  void setSpacing( int s=0 )
79  { setHSpacing(s); setVSpacing(s); }
80  void setBorder( int );
81 
82  void setFrame( bool yn=true );
83  void setNoBackGround();
84 
86  void setHAlignObj( uiObject* o );
87  void setHAlignObj( uiGroup* o )
88  { setHAlignObj(o->mainObject()); }
90  void setHCenterObj( uiObject* o );
92  { setHCenterObj(o->mainObject()); }
93 
95  void setIsMain( bool );
96  virtual uiMainWin* mainwin()
97  { return mainObject() ? mainObject()->mainwin() :0;}
98 
99  static uiGroup* gtDynamicCastToGrp( mQtclass(QWidget*) );
100 
101  void setChildrenSensitive(bool);
102 
104  { return mainObject()->preFinalise(); }
106  { return mainObject()->postFinalise(); }
107 
108  int getNrWidgets() const
109  { return mainObject()->getNrWidgets(); }
110  mQtclass(QWidget*) getWidget(int idx)
111  { return mainObject()->getWidget(idx); }
112 
113 protected:
114 
117 
118  virtual uiObject* mainobject() { return grpobj_; }
119  virtual void attach_( constraintType, uiObject *oth, int margin=-1,
120  bool reciprocal=true);
121 
122  virtual void reDraw_( bool deep ) {}
123 
124  void setShrinkAllowed(bool);
125  bool shrinkAllowed();
126 
127  void bodyDel( CallBacker* );
128  void uiobjDel( CallBacker* );
129 
130  void setFrameStyle(int);
131 
132  void reSizeChildren(const uiObject*,float,float);
133 
134 public:
135  virtual void setSize(const uiSize&);
136 
137 };
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
void setHAlignObj(uiGroup *o)
Definition: uigroup.h:87
User interface main window.
Definition: uimainwin.h:34
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
virtual void attach_(constraintType, uiObject *oth, int margin=-1, bool reciprocal=true)
mQtclass(QWidget *) getWidget(int idx)
Definition: uigroup.h:110
#define mQtclass(cls)
Definition: commondefs.h:232
virtual void setSize(const uiSize &)
uiObject * attachObj()
Definition: uigroup.h:71
friend class uiGroupObjBody
Definition: uigroup.h:55
uiObject * hCenterObj()
void setShrinkAllowed(bool)
uiParent * parent()
Definition: uigroup.h:73
virtual void reDraw_(bool deep)
Definition: uigroup.h:122
The base class for most UI elements.
Definition: uiobj.h:35
Definition: uiparent.h:24
int getNrWidgets() const
Definition: uigroup.h:108
Definition: uigeom.h:23
Class to help setup a callback handling.
Definition: notify.h:121
void reSizeChildren(const uiObject *, float, float)
void setHCenterObj(uiObject *o)
void setHSpacing(int)
const uiObject * attachObj() const
Definition: uigroup.h:72
void setSpacing(int s=0)
Definition: uigroup.h:78
void setChildrenSensitive(bool)
void setIsMain(bool)
internal use only. Tells the layout manager it&#39;s a toplevel mngr.
uiGroupParentBody * body_
Definition: uigroup.h:116
const uiParent * parent() const
Definition: uigroup.h:74
void setBorder(int)
uiGroupObj * grpobj_
Definition: uigroup.h:115
Definition: uitabstack.h:31
virtual Notifier< uiBaseObject > & preFinalise()
Definition: uigroup.h:103
friend class uiGroupObj
Definition: uigroup.h:57
void setFrame(bool yn=true)
#define mFDQtclass(cls)
Definition: commondefs.h:231
uiObject & asUiObject()
Definition: uigroup.h:65
bool shrinkAllowed()
void uiobjDel(CallBacker *)
int getNrWidgets() const
Definition: uiobj.h:144
void setHAlignObj(uiObject *o)
uiObject * hAlignObj()
const ObjectSet< uiBaseObject > * childList() const
virtual Notifier< uiBaseObject > & postFinalise()
Definition: uigroup.h:105
virtual uiMainWin * mainwin()
Definition: uigroup.h:96
void setVSpacing(int)
Definition: uiparentbody.h:21
virtual uiObject * mainobject()
Definition: uigroup.h:118
uiObject * mainObject()
Definition: uiparent.h:41
virtual ~uiGroup()
constraintType
Definition: uilayout.h:17
void setHCenterObj(uiGroup *o)
Definition: uigroup.h:91
friend class uiGroupParentBody
Definition: uigroup.h:56
void setNoBackGround()
#define mClass(module)
Definition: commondefs.h:161
uiMainWin * mainwin()
static uiGroup * gtDynamicCastToGrp(mQtclass(QWidget *))
const uiObject & asUiObject() const
Definition: uigroup.h:66
void translateText()
uiGroup(uiParent *, const char *nm="uiGroup", bool manage=true)
void setFrameStyle(int)
void bodyDel(CallBacker *)

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