UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Qmisc.H
1 /* misc.H */
2 /* $Id: Qmisc.H,v 1.7 2003/11/14 11:57:22 vlad Exp $ */
3 #ifndef __Qmisc_H
4 #define __Qmisc_H
5 
6 #include <Xm/Xm.h>
7 
8 #include <zm/RadioGroup.H>
9 #include <zm/qvfcdefs.h>
10 
11 
12 /* Различные вспомогательные классы. К сожалению, они живут не только
13  здесь. */
14 class QfBrick;
15 
16 
17 /* Класс для передачи данных в callback'и, используемые объектами qvfc */
18 struct QUserData
19 {
20  QfBrick *qControl; /* Объект qvfc, на который * регистрируется callback */ void *pUserData; /* Произвольный указатель, заполняемый * пользователем */ }; /* Описатель именованного callback'а */ struct QCBDescr { char szNameCB[100]; /* Xt name of the callback */ XtCallbackProc pProc; /* Xt callback procedure */ QUserData rUserData; /* Data to pass to callback */ }; #define AnyType QCBDescr #define AnyAr QCBDescrAr /* Array of named callbacks */ #define AnyFormatSpec "\nCallback[%d] '%s' proc=%p, q=%p, userdata=%p" #define AnyPrintList i, item.szNameCB, item.pProc, \ item.rUserData.qControl, item.rUserData.pUserData #include <mix/AnyAr.H> /*********************************************************************** * Данные, необходимые для QfBrick, чтобы CB в себя прописать */ class QCallback : public QCBDescr { public: /* Создать объект для управления */ QCallback (const char* szName, XtCallbackProc pCB, void* pData); }; /*********************************************************************** * Надстройка над RadioGroup для того, чтобы можно было еще лучше * интегрировать всякие state-dependent объекты из арсенала Qvfc */ class QRadioGroup : public RadioGroup { public: QRadioGroup () {}; }; /*********************************************************************** * Говорит, что данный объект надо сделать радио-активным. Если не * указано, то объект сам знает, какой у него идентификатор состояния */ class QRadioActive : public RadioGroup { public: RadioGroup *rg; /* master of radio group */ int state; /* state identifier */ int meaning; /* QfSTATE_MEANS_ON or QfSTATE_MEANS_OFF */ QRadioActive (const QRadioActive& qra); QRadioActive (RadioGroup* pMasterRG, int iState, int eMeaning = QfSTATE_MEANS_ON); virtual ~QRadioActive (); }; #endif /* Qmisc.H */
21  * регистрируется callback */
22  void *pUserData; /* Произвольный указатель, заполняемый * пользователем */ }; /* Описатель именованного callback'а */ struct QCBDescr { char szNameCB[100]; /* Xt name of the callback */ XtCallbackProc pProc; /* Xt callback procedure */ QUserData rUserData; /* Data to pass to callback */ }; #define AnyType QCBDescr #define AnyAr QCBDescrAr /* Array of named callbacks */ #define AnyFormatSpec "\nCallback[%d] '%s' proc=%p, q=%p, userdata=%p" #define AnyPrintList i, item.szNameCB, item.pProc, \ item.rUserData.qControl, item.rUserData.pUserData #include <mix/AnyAr.H> /*********************************************************************** * Данные, необходимые для QfBrick, чтобы CB в себя прописать */ class QCallback : public QCBDescr { public: /* Создать объект для управления */ QCallback (const char* szName, XtCallbackProc pCB, void* pData); }; /*********************************************************************** * Надстройка над RadioGroup для того, чтобы можно было еще лучше * интегрировать всякие state-dependent объекты из арсенала Qvfc */ class QRadioGroup : public RadioGroup { public: QRadioGroup () {}; }; /*********************************************************************** * Говорит, что данный объект надо сделать радио-активным. Если не * указано, то объект сам знает, какой у него идентификатор состояния */ class QRadioActive : public RadioGroup { public: RadioGroup *rg; /* master of radio group */ int state; /* state identifier */ int meaning; /* QfSTATE_MEANS_ON or QfSTATE_MEANS_OFF */ QRadioActive (const QRadioActive& qra); QRadioActive (RadioGroup* pMasterRG, int iState, int eMeaning = QfSTATE_MEANS_ON); virtual ~QRadioActive (); }; #endif /* Qmisc.H */
23  * пользователем */
24 };
25 
26 /* Описатель именованного callback'а */
27 struct QCBDescr
28 {
29  char szNameCB[100]; /* Xt name of the callback */
30  XtCallbackProc pProc; /* Xt callback procedure */
31  QUserData rUserData; /* Data to pass to callback */
32 };
33 
34 #define AnyType QCBDescr
35 #define AnyAr QCBDescrAr /* Array of named callbacks */
36 #define AnyFormatSpec "\nCallback[%d] '%s' proc=%p, q=%p, userdata=%p"
37 #define AnyPrintList i, item.szNameCB, item.pProc, \
38  item.rUserData.qControl, item.rUserData.pUserData
39 #include <mix/AnyAr.H>
40 
41 /***********************************************************************
42  * Данные, необходимые для QfBrick, чтобы CB в себя прописать */ class QCallback : public QCBDescr { public: /* Создать объект для управления */ QCallback (const char* szName, XtCallbackProc pCB, void* pData); }; /*********************************************************************** * Надстройка над RadioGroup для того, чтобы можно было еще лучше * интегрировать всякие state-dependent объекты из арсенала Qvfc */ class QRadioGroup : public RadioGroup { public: QRadioGroup () {}; }; /*********************************************************************** * Говорит, что данный объект надо сделать радио-активным. Если не * указано, то объект сам знает, какой у него идентификатор состояния */ class QRadioActive : public RadioGroup { public: RadioGroup *rg; /* master of radio group */ int state; /* state identifier */ int meaning; /* QfSTATE_MEANS_ON or QfSTATE_MEANS_OFF */ QRadioActive (const QRadioActive& qra); QRadioActive (RadioGroup* pMasterRG, int iState, int eMeaning = QfSTATE_MEANS_ON); virtual ~QRadioActive (); }; #endif /* Qmisc.H */
43  */
44 class QCallback : public QCBDescr
45 {
46 public:
47 
48  /* Создать объект для управления */
49  QCallback (const char* szName, XtCallbackProc pCB, void* pData);
50 };
51 
52 
53 /***********************************************************************
54  * Надстройка над RadioGroup для того, чтобы можно было еще лучше
55  * интегрировать всякие state-dependent объекты из арсенала Qvfc
56  */
57 class QRadioGroup : public RadioGroup
58 {
59 public:
60  QRadioGroup () {};
61 };
62 
63 
64 /***********************************************************************
65  * Говорит, что данный объект надо сделать радио-активным. Если не
66  * указано, то объект сам знает, какой у него идентификатор состояния */ class QRadioActive : public RadioGroup { public: RadioGroup *rg; /* master of radio group */ int state; /* state identifier */ int meaning; /* QfSTATE_MEANS_ON or QfSTATE_MEANS_OFF */ QRadioActive (const QRadioActive& qra); QRadioActive (RadioGroup* pMasterRG, int iState, int eMeaning = QfSTATE_MEANS_ON); virtual ~QRadioActive (); }; #endif /* Qmisc.H */
67  */
68 class QRadioActive : public RadioGroup
69 {
70 public:
71 
72  RadioGroup *rg; /* master of radio group */
73  int state; /* state identifier */
74  int meaning; /* QfSTATE_MEANS_ON or QfSTATE_MEANS_OFF */
75 
76  QRadioActive (const QRadioActive& qra);
77  QRadioActive (RadioGroup* pMasterRG, int iState,
78  int eMeaning = QfSTATE_MEANS_ON);
79  virtual ~QRadioActive ();
80 
81 };
82 
83 
84 #endif /* Qmisc.H */
Definition: Qmisc.H:18
Definition: QfBrick.H:54
Definition: Qmisc.H:44
Definition: Qmisc.H:27
Definition: RadioGroup.H:60
Definition: Qmisc.H:68
Definition: Qmisc.H:57