OpendTect  6.6
uiparent.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: 16/05/2001
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 #include "uiobj.h"
16 #include "uilayout.h"
17 
18 class MouseCursor;
19 class uiObjectBody;
20 class uiObject;
21 class uiMainWin;
22 class uiParentBody;
23 
24 
25 mExpClass(uiBase) uiParent : public uiBaseObject
26 {
27 friend class uiParentBody;
28 friend class uiObjectBody;
29 public:
30  void addChild(uiBaseObject&);
31  void manageChld(uiBaseObject&,uiObjectBody&);
33  uiObject* other,int margin,
34  bool reciprocal);
35 
37 
38  virtual uiMainWin* mainwin() { return 0; }
39 
40  uiObject* mainObject() { return mainobject(); }
41  const uiObject* mainObject() const
42  { return const_cast<uiParent*>(this)->mainobject();}
43 
45  const uiParentBody* pbody() const
46  { return const_cast<uiParent*>(this)->pbody(); }
47 
48 
49 #define mIfMO() if ( mainObject() ) mainObject()
50 #define mRetMO(fn,val) return mainObject() ? mainObject()->fn() : val;
51 
52  void attach( constraintType t, int margin=-1 )
53  { mIfMO()->attach(t,margin); }
54  void attach( constraintType t, uiParent* oth, int margin=-1,
55  bool reciprocal=true)
56  { attach(t,oth->mainObject(),margin,reciprocal); }
57  void attach( constraintType t, uiObject* oth, int margin=-1,
58  bool reciprocal=true)
59  { attach_(t,oth,margin,reciprocal); }
60 
61 
62  virtual void display( bool yn, bool shrk=false,
63  bool maximize=false )
64  { finalise(); mIfMO()->display(yn,shrk,maximize); }
65  bool isDisplayed() const { mRetMO(isDisplayed,false); }
66 
67  void setFocus() { mIfMO()->setFocus(); }
68  bool hasFocus() const { mRetMO(hasFocus,false); }
69 
70  void setSensitive(bool yn=true){ mIfMO()->setSensitive(yn); }
71  bool sensitive() const { mRetMO(sensitive,false); }
72 
73  const uiFont* font() const { mRetMO(font,0); }
74  void setFont( const uiFont& f) { mIfMO()->setFont(f); }
75  void setCaption(const uiString& c) { mIfMO()->setCaption(c);}
76  void setCursor(const MouseCursor& c) {mIfMO()->setCursor(c);}
77 
78  uiSize actualSize( bool include_border) const
79  {
80  if ( mainObject() )
81  return mainObject()->actualSize(include_border);
82  return uiSize();
83  }
84 
85  int prefHNrPics() const { mRetMO(prefHNrPics, -1 ); }
86  int prefVNrPics() const { mRetMO(prefVNrPics,-1); }
87  void setPrefHeight( int h ) { mIfMO()->setPrefHeight(h); }
88  void setPrefWidth( int w ) { mIfMO()->setPrefWidth(w); }
89  void setPrefHeightInChar( int h )
90  { mIfMO()->setPrefWidthInChar(h); }
91  void setPrefHeightInChar( float h )
92  { mIfMO()->setPrefHeightInChar(h); }
93  void setPrefWidthInChar( float w )
94  { mIfMO()->setPrefWidthInChar(w); }
95  void setPrefWidthInChar( int w )
96  { mIfMO()->setPrefWidthInChar(w); }
97 
98  virtual void reDraw( bool deep ) { mIfMO()->reDraw( deep ); }
99  void shallowRedraw( CallBacker* =0 ) {reDraw(false);}
100  void deepRedraw( CallBacker* =0 ) {reDraw(true); }
101 
102  void setStretch( int h, int v ){ mIfMO()->setStretch(h,v); }
103 
106  void setBackgroundColor( const Color& c )
107  { mIfMO()->setBackgroundColor(c); }
108 
110 
111 protected:
112  uiParent(const char* nm,uiParentBody*);
113 
114  virtual void attach_(constraintType t, uiObject* oth, int margin=-1,
115  bool reciprocal=true)
116  { mIfMO()->attach(t,oth,margin,reciprocal); }
117 
118 #undef mIfMO
119 #undef mRetMO
120 
121  virtual uiObject* mainobject() { return 0; }
122 
123 public:
124  mDeprecated("Use actualSize")
125  uiSize actualsize(bool inclborder=true) const
126  { return actualSize(inclborder); }
127 };
uiParent::setFont
void setFont(const uiFont &f)
Definition: uiparent.h:74
uiParent::isDisplayed
bool isDisplayed() const
Definition: uiparent.h:65
uiParent::setPrefHeightInChar
void setPrefHeightInChar(float h)
Definition: uiparent.h:91
uiParent::setFocus
void setFocus()
Definition: uiparent.h:67
uiMainWin
User interface main window.
Definition: uimainwin.h:35
uiParent::prefHNrPics
int prefHNrPics() const
Definition: uiparent.h:85
uiParent::setPrefHeightInChar
void setPrefHeightInChar(int h)
Definition: uiparent.h:89
uiParent::setPrefWidthInChar
void setPrefWidthInChar(int w)
Definition: uiparent.h:95
ObjectSet< uiBaseObject >
uiParent::backgroundColor
Color backgroundColor() const
uiParent::deepRedraw
void deepRedraw(CallBacker *=0)
Definition: uiparent.h:100
uiParent::setStretch
void setStretch(int h, int v)
Definition: uiparent.h:102
uiParent::mainwin
virtual uiMainWin * mainwin()
Definition: uiparent.h:38
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiParent::setCursor
void setCursor(const MouseCursor &c)
Definition: uiparent.h:76
uiParent::setPrefWidthInChar
void setPrefWidthInChar(float w)
Definition: uiparent.h:93
uiParent::manageChld
void manageChld(uiBaseObject &, uiObjectBody &)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiFont
Definition: uifont.h:39
constraintType
constraintType
Definition: uilayout.h:19
mIfMO
#define mIfMO()
Definition: uiparent.h:49
uiParent::actualSize
uiSize actualSize(bool include_border) const
Definition: uiparent.h:78
uiParent::display
virtual void display(bool yn, bool shrk=false, bool maximize=false)
Definition: uiparent.h:62
uiParentBody
Definition: uiparentbody.h:23
uiParent::roBackgroundColor
Color roBackgroundColor() const
uiParent::addChild
void addChild(uiBaseObject &)
uiParent::prefVNrPics
int prefVNrPics() const
Definition: uiparent.h:86
mRetMO
#define mRetMO(fn, val)
Definition: uiparent.h:50
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
uiParent::reDraw
virtual void reDraw(bool deep)
Definition: uiparent.h:98
uiParent::setSensitive
void setSensitive(bool yn=true)
Definition: uiparent.h:70
uiParent::pbody
uiParentBody * pbody()
uiSize
Definition: uigeom.h:25
uiParent::hasFocus
bool hasFocus() const
Definition: uiparent.h:68
uiParent::translateText
void translateText()
uiParent::font
const uiFont * font() const
Definition: uiparent.h:73
uiParent::uiParent
uiParent(const char *nm, uiParentBody *)
uiParent::shallowRedraw
void shallowRedraw(CallBacker *=0)
Definition: uiparent.h:99
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiParent::attach
void attach(constraintType t, uiParent *oth, int margin=-1, bool reciprocal=true)
Definition: uiparent.h:54
uiParent::mainobject
virtual uiObject * mainobject()
Definition: uiparent.h:121
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiParent::attachChild
void attachChild(constraintType tp, uiObject *child, uiObject *other, int margin, bool reciprocal)
uilayout.h
MouseCursor
Definition of a mouse cursor, can be either a predefined shape (from the enum, or a file....
Definition: mousecursor.h:26
uiParent::setPrefWidth
void setPrefWidth(int w)
Definition: uiparent.h:88
uiParent::mainObject
const uiObject * mainObject() const
Definition: uiparent.h:41
uiParent::attach
void attach(constraintType t, uiObject *oth, int margin=-1, bool reciprocal=true)
Definition: uiparent.h:57
uiParent::setCaption
void setCaption(const uiString &c)
Definition: uiparent.h:75
uiParent::pbody
const uiParentBody * pbody() const
Definition: uiparent.h:45
uiParent::attach_
virtual void attach_(constraintType t, uiObject *oth, int margin=-1, bool reciprocal=true)
Definition: uiparent.h:114
uiParent
Definition: uiparent.h:26
uiParent::setPrefHeight
void setPrefHeight(int h)
Definition: uiparent.h:87
uiParent::sensitive
bool sensitive() const
Definition: uiparent.h:71
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
uiParent::setBackgroundColor
void setBackgroundColor(const Color &c)
Definition: uiparent.h:106
uiParent::childList
const ObjectSet< uiBaseObject > * childList() const
uiParent::mainObject
uiObject * mainObject()
Definition: uiparent.h:40
uiParent::attach
void attach(constraintType t, int margin=-1)
Definition: uiparent.h:52
uiobj.h

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