Initial Commit
[packages] / xemacs-packages / oo-browser / tree-w32 / intf.h
1 /* ----------------------------------------------------------------------------\r
2  * File    : intf.h\r
3  * Purpose : include file for intf.c and draw.c \r
4  * ----------------------------------------------------------------------------\r
5  */\r
6 \r
7 #ifndef MSW\r
8 \r
9 #include <X11/Intrinsic.h>\r
10 #include <X11/StringDefs.h>\r
11 #define DEFAULT_FONT    "-adobe-helvetica-bold-r-normal--12-*"\r
12 #define BIG_FONT        "-adobe-helvetica-bold-r-normal--12-*"\r
13 \r
14 #define X11_APPLICATION_CLASS    "Tree"\r
15 #define X11_DEFAULT_FONT         "fixed"\r
16 #define X11_FONT_RESOURCE        "tree.font"\r
17 #define X11_FONT_CLASS_RESOURCE  "Tree.Font"\r
18 \r
19 #define HELP_FILE                 "tree.help"\r
20 \r
21 #define TREE_MENU_NEW             0\r
22 #define TREE_MENU_LOAD            1\r
23 #define TREE_MENU_SAVE            2\r
24 #define TREE_MENU_SEP1            3\r
25 #define TREE_MENU_QUIT            4\r
26 #define TREE_MENU_STATS           6\r
27 #define TREE_MENU_ITEMS           5\r
28 \r
29 #define TREE_MENU_SEP2            5\r
30 \r
31 #define LAYOUT_MENU_FIXED         0 /* not used at this time */\r
32 #define LAYOUT_MENU_VARIABLE      1\r
33 #define LAYOUT_MENU_SEP1          2\r
34 \r
35 #define LAYOUT_MENU_SPACING       3\r
36 #define LAYOUT_MENU_SEP2          4\r
37 #define LAYOUT_MENU_ALIGN_NODES   5\r
38 #define LAYOUT_MENU_ITEMS         5\r
39 \r
40 #define NODE_MENU_LABEL           0\r
41 #define NODE_MENU_SEP1            1\r
42 #define NODE_MENU_ADD_CHILD       2\r
43 #define NODE_MENU_ADD_BEFORE      3\r
44 #define NODE_MENU_ADD_AFTER       4\r
45 #define NODE_MENU_ELISION         5\r
46 #define NODE_MENU_DELETE          6\r
47 #define NODE_MENU_ITEMS           7\r
48 \r
49 #define TREE_MENU                 0\r
50 #define LAYOUT_MENU               1\r
51 #define NODE_MENU                 2\r
52 #define NUM_MENUS                 3\r
53 \r
54 #define STR_SHOW_STATS            0\r
55 #define STR_HIDE_STATS            1\r
56 #define STR_NODE_COLLAPSE         2\r
57 #define STR_NODE_EXPAND           3\r
58 #define STR_SHOW_CONTOUR          4\r
59 #define STR_HIDE_CONTOUR          5\r
60 #define STR_LOAD_FILE             6\r
61 #define STR_SAVE_FILE             7\r
62 #define NUM_MENU_STRS             8 \r
63 \r
64 #define DLG_NEW                   0\r
65 #define DLG_NODE_NAME             1\r
66 #define DLG_FILE                  2\r
67 #define DLG_INFO                  3\r
68 #define DLG_ERROR                 4\r
69 #define DLG_SPACING               5\r
70 #define NUM_DLG                   6\r
71 \r
72 extern  Widget        TreeTopLevel;\r
73 extern  Widget        TreeDrawingArea;\r
74 extern  Display      *TreeDisplay;\r
75 extern  XFontStruct  *TreeLabelFont;\r
76 \r
77 #else /* MSW */\r
78 \r
79 #define MAX_NODE_NAME_LENGHT 256\r
80 \r
81 extern HWND hwndClient;\r
82 \r
83 /* X rectangle and segment */\r
84 typedef struct {\r
85     short x, y;\r
86     unsigned short width, height;\r
87 } XRectangle;\r
88     \r
89 typedef struct {\r
90     short x1, y1, x2, y2;\r
91 } XSegment;\r
92 \r
93 #endif /* MSW */\r
94 \r
95 #define LABEL_MAT_WIDTH           3\r
96 #define LABEL_MAT_HEIGHT          3\r
97 #define BORDER_SIZE               4      /* beginning border size     */\r
98 #define MAX_BORDER_SIZE           25\r
99 #define PARENT_DISTANCE           30     /* beginning parent distance */\r
100 #define MAX_PARENT_DISTANCE       50\r
101 #define DENSITY_FACTOR            1.50\r
102 #define MAT_SIZE                  BORDER_SIZE * 2\r
103 #define ELISION_WIDTH             5\r
104 #define ANIMATION_STEP            3\r
105 #define ANIMATION_STEP_STEP       4\r
106 \r
107 #define BACKGROUND_COLOR          0\r
108 #define TREE_COLOR                1\r
109 #define CONTOUR_COLOR             2\r
110 #define HIGHLIGHT_COLOR           3\r
111 #define SPLIT_COLOR               4\r
112 #define ACTION_COLOR              5  \r
113 #ifdef MSW\r
114 #define HIGHLIGHT_BK_COLOR        6\r
115 #define NUM_COLORS                7\r
116 #else\r
117 #define NUM_COLORS                6\r
118 #endif\r
119 \r
120 /* in 1/10ths of a second */\r
121 #define ANIMATION_SPEED_FAST       1\r
122 \r
123 typedef enum {\r
124    NoContours,\r
125    OutsideContour,\r
126    AllContours,\r
127    SelectedContours\r
128 } ContourOption;\r
129 \r
130 typedef enum {\r
131    Child,\r
132    Before,\r
133    After\r
134 } NodePosition;\r
135 \r
136 typedef enum {\r
137    Fixed,\r
138    Variable\r
139 } DensityOption;\r
140 \r
141 extern  DoubleBuffer *TreeDrawingAreaDB;\r
142 extern  int           TreeScreen;\r
143 extern  int           TreeContourWidth;\r
144 extern  int           TreeBorderSize;\r
145 extern  int           TreeParentDistance;\r
146 extern  char          TreeShowSteps;\r
147 extern  ContourOption TreeShowContourOption;\r
148 extern  DensityOption TreeLayoutDensity;\r
149 extern  char          TreeAlignNodes;   \r
150 extern  char          PauseAfterStep;\r
151 \r
152 \r
153 void StatusMsg (char *msg, int urgent);\r
154 void Pause (void);\r