ARB
aw_base.hxx
Go to the documentation of this file.
1 // ================================================================= //
2 // //
3 // File : aw_base.hxx //
4 // Purpose : forward declare some gui types //
5 // //
6 // Coded by Ralf Westram (coder@reallysoft.de) in September 2010 //
7 // Institute of Microbiology (Technical University Munich) //
8 // http://www.arb-home.de/ //
9 // //
10 // ================================================================= //
11 
12 #ifndef AW_BASE_HXX
13 #define AW_BASE_HXX
14 
15 #ifndef CXXFORWARD_H
16 #include <cxxforward.h>
17 #endif
18 
19 class AW_root;
20 class AW_window;
21 
22 typedef long AW_CL; // client data (casted from pointer or value) // @@@ [CB] eliminate later
23 
24 typedef void (*AW_postcb_cb)(AW_window *);
25 
26 struct GBDATA;
27 typedef GBDATA *AW_default;
28 
29 typedef double AW_pos;
30 
31 struct AW_world {
32  AW_pos t, b, l, r;
33  void clear() { t = b = l = r = 0.0; }
34 };
36  int t, b, l, r;
37  void clear() { t = b = l = r = 0; }
38 };
39 
40 typedef AW_screen_area AW_borders; // not an area, but size spec at all borders
41 
42 typedef int AW_font;
43 
44 typedef long AW_bitset;
45 typedef AW_bitset AW_active; // bits to activate/inactivate buttons
46 typedef float AW_grey_level; // <0 don't fill 0.0 white 1.0 black
47 
48 typedef struct _WidgetRec *Widget;
49 
50 #define AW_NO_COLOR (-1UL)
51 typedef unsigned long AW_rgb;
52 
54  AW_NONE = 0,
55  AW_BIT = 1,
56  AW_BYTE = 2,
57  AW_INT = 3,
58  AW_FLOAT = 4,
60  AW_BITS = 6,
61  // 7 is unused
62  AW_BYTES = 8,
63  AW_INTS = 9,
64  AW_FLOATS = 10,
65  AW_STRING = 12,
66  // 13 is reserved (GB_STRING_SHRT)
67  // 14 is unused
68  AW_DB = 15,
69 
70  // keep AW_VARIABLE_TYPE consistent with GB_TYPES
71  // see ../ARBDB/arbdb.h@sync_GB_TYPES_AW_VARIABLE_TYPE
72 
74 };
75 
76 enum AW_area {
81 };
82 
92 };
93 
94 enum GcChange {
95  // value 0 is reserved (used internally in GC-manager)
96 
97  GC_COLOR_CHANGED = 1, // -> normally a refresh should do
98  GC_FONT_CHANGED, // -> display needs a resize
99  GC_COLOR_GROUP_USE_CHANGED, // -> might need extra calculations
100 
101  // Note: higher values should cover lower values,
102  // i.e. a resize (GC_FONT_CHANGED) always does a refresh (GC_COLOR_CHANGED)
103 };
104 
106 #define AW_ROOT_DEFAULT get_AW_ROOT_DEFAULT()
107 
108 #else
109 #error aw_base.hxx included twice
110 #endif // AW_BASE_HXX
long AW_bitset
Definition: aw_base.hxx:44
AW_bitset AW_active
Definition: aw_base.hxx:45
int AW_font
Definition: aw_base.hxx:42
unsigned long AW_rgb
Definition: aw_base.hxx:51
AW_color_idx
Definition: aw_base.hxx:83
long AW_CL
Definition: aw_base.hxx:20
AW_default get_AW_ROOT_DEFAULT()
Definition: aw_root.hxx:203
AW_area
Definition: aw_base.hxx:76
GcChange
Definition: aw_base.hxx:94
double AW_pos
Definition: aw_base.hxx:29
AW_VARIABLE_TYPE
Definition: aw_base.hxx:53
AW_pos l
Definition: aw_base.hxx:32
void clear()
Definition: aw_base.hxx:33
AW_screen_area AW_borders
Definition: aw_base.hxx:40
AW_pos r
Definition: aw_base.hxx:32
float AW_grey_level
Definition: aw_base.hxx:46
AW_pos b
Definition: aw_base.hxx:32
AW_pos t
Definition: aw_base.hxx:32
GBDATA * AW_default
Definition: aw_base.hxx:26
void(* AW_postcb_cb)(AW_window *)
Definition: aw_base.hxx:24
struct _WidgetRec * Widget
Definition: aw_base.hxx:48
void clear()
Definition: aw_base.hxx:37