UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
QfBuilding.H
1 /* QfBuilding.H */
2 /* $Id: QfBuilding.H,v 1.4 2005/05/16 13:56:33 vlad Exp $ */
3 #ifndef __QfBuilding_H
4 #define __QfBuilding_H
5 
6 
7 #include <zm/qvfcdefs.h>
8 #include <zm/QfBrick.H>
9 #include <zm/QfParam.H>
10 
11 
12 /***********************************************************************
13  * Container for common form building.
14  */
15 class QfBuilding: public QfBrick
16 {
17 protected:
18 
19  BricksAr bricks; /* sequence of bricks */
20  ParamsAr params; /* sequence of parameters and their place in
21  among bricks */
22 
23 public:
24 
25  /* Destroy building and all bricks of it. */
26  virtual ~QfBuilding ();
27 
28  /*
29  * Adjustable features.
30  */
31 
32  /* Return Widget of container itself. May differ from wSelf. */
33  virtual Widget container () const;
34 
35  /* General RTTI. */
36  virtual QfType type () const;
37 
38  /* Add a brick and link it with master *this wall: Phase 2.
39  Do not pass automatically created objects to add()!!! Only
40  created by op.new. */
41  virtual void add (QfBrick* pBrick);
42 
43  /* Manage building and all bricks to display prepared GUI
44  during phase 3: Phase 4. */
45  virtual void manage ();
46 
47  /* Store entered value(s) in GUI-independent buffers for all bricks . */
48  virtual void store_gui ();
49 
50  /* Load value(s) from GUI-independent buffers for all bricks. */
51  virtual void load_gui ();
52 
53  /* Make all container be (un)editable by user. */
54  virtual void set_sensitive (Logic flag);
55 
56  /* Return TRUE if at least one subobject is sensitive. */
57  virtual Logic get_sensitive ();
58 
59  /* Return pointer to array of parameters for given brick. */
60  virtual QfParamItem* get_params (QfBrick* pBrick, unsigned& nParams);
61 
63  virtual void realized ();
64 
65  /*
66  * Quick access features.
67  */
68 
69  /* Add brick in chain and provide chain facility. It's supposed to
70  use this method the next way:
71  QfBuilding house;
72  house << new QfBrick << new QfBrick << ..;
73  */
74  QfBuilding& operator << (QfBrick* pBrick)
75  { add(pBrick); return *this; }
76 
77 };
78 
79 
80 #endif /* QfBuilding.H */
virtual void store_gui()
Definition: QfBrick.H:54
virtual QfType type() const
virtual Logic get_sensitive()
virtual void set_sensitive(Logic flag)
virtual void load_gui()
virtual void realized()
virtual void manage()
Definition: QfBuilding.H:15
Definition: QfParam.H:44