source: tags/svn.1.5.4/WINDOW/aw_base.hxx

Last change on this file was 7806, checked in by westram, 14 years ago

merge from dev [7720] [7721] [7722] [7723] [7724] [7725] [7726] [7747]

  • ItemSelector
    • is now const by default (org struct is called MutableItemSelector)
    • now passed/stored as reference
    • hide MutableItemSelectors using access functions (so only const ItemSelectors can be passed around)
  • BoundItemSel
    • color_mark_data was in fact a BoundItemSel
    • BoundItemSel is now const by default (org struct is called MutableBoundItemSel)
  • renames
    • DbScanner → GB_DbScanner
    • db_scanner_data → DbScanner
  • fixes
    • skip query if querying empty set (e.g. db w/o experiments)
    • assertion failure on multiple instances of field admin menu entries (genes + experiments)
    • gene-info shows selected gene when opened 1st time
    • error no longer exported in experiment create
    • deleting current item and then selecting a new one failed to remove callback on keydata
  • added TODOs for genes/experiment UI/ItemSelectors
File size: 2.6 KB
Line 
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
15class AW_root;
16class AW_window;
17
18typedef long AW_CL; // client data (casted from pointer or value)
19
20typedef void (*AW_CB)(AW_window*, AW_CL, AW_CL);
21typedef void (*AW_CB0)(AW_window*);
22typedef void (*AW_CB1)(AW_window*, AW_CL);
23typedef void (*AW_CB2)(AW_window*, AW_CL, AW_CL);
24typedef AW_window *(*AW_Window_Creator)(AW_root*, AW_CL);
25
26class           GBDATA;
27typedef GBDATA *AW_default;
28
29typedef double AW_pos;
30
31struct AW_world {
32    AW_pos t, b, l, r;
33    void clear() { t = b = l = r = 0.0; }
34};
35struct AW_screen_area {
36    int t, b, l, r;
37    void clear() { t = b = l = r = 0; }
38};
39
40typedef AW_screen_area AW_borders; // not an area, but size spec at all borders
41
42typedef int AW_font;
43
44typedef long      AW_bitset;
45typedef AW_bitset AW_active;     // bits to activate/inactivate buttons
46typedef float     AW_grey_level; // <0 don't fill  0.0 white 1.0 black
47
48typedef struct _WidgetRec *Widget;
49
50typedef const char *AWAR;
51
52#define AW_NO_COLOR (-1UL)
53typedef unsigned long AW_rgb;
54
55enum AW_VARIABLE_TYPE {
56    AW_NONE    = 0,
57    AW_BIT     = 1,
58    AW_BYTE    = 2,
59    AW_INT     = 3,
60    AW_FLOAT   = 4,
61    AW_POINTER = 5,
62    AW_BITS    = 6,
63    // 7 is unused
64    AW_BYTES   = 8,
65    AW_INTS    = 9,
66    AW_FLOATS  = 10,
67    AW_STRING  = 12,
68    // 13 is reserved (GB_STRING_SHRT)
69    // 14 is unused
70    AW_DB      = 15,
71
72    // keep AW_VARIABLE_TYPE consistent with GB_TYPES
73    // see ../ARBDB/arbdb.h@sync_GB_TYPES_AW_VARIABLE_TYPE
74
75    AW_TYPE_MAX = 16
76};
77
78enum AW_area {
79    AW_INFO_AREA,
80    AW_MIDDLE_AREA,
81    AW_BOTTOM_AREA,
82    AW_MAX_AREA
83};
84
85enum AW_color_idx {
86    AW_WINDOW_BG,
87    AW_WINDOW_FG,
88    AW_WINDOW_C1,
89    AW_WINDOW_C2,
90    AW_WINDOW_C3,
91    AW_WINDOW_DRAG,
92    AW_DATA_BG,
93    AW_STD_COLOR_IDX_MAX
94};
95
96
97AW_default get_AW_ROOT_DEFAULT();
98#define AW_ROOT_DEFAULT get_AW_ROOT_DEFAULT()
99
100#else
101#error aw_base.hxx included twice
102#endif // AW_BASE_HXX
Note: See TracBrowser for help on using the repository browser.