annotate dwtest.c @ 404:720e61df8cf6

An even better combobox drawing fix. Only add 100 pixels to the size of the combobox when the list needs to be shown. This way it won't screw up clipping of items below it in the box. So OS/2 comboboxes can now be safely used in vertical boxes without worries.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 10 May 2003 10:33:54 +0000
parents 255a31a3a1f5
children 903fb3085d42
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 #include <stdlib.h>
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2 #include <string.h>
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3 #include <stdio.h>
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4 #include "dw.h"
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
6 /* Select a fixed width font for our platform */
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
7 #ifdef __OS2__
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
8 #define FIXEDFONT "5.System VIO"
305
32ad8a0dc06b Escape backslashes so icons under Windows and OS/2 can be found.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 304
diff changeset
9 #define FOLDER_ICON_NAME "os2\\folder"
32ad8a0dc06b Escape backslashes so icons under Windows and OS/2 can be found.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 304
diff changeset
10 #define FILE_ICON_NAME "os2\\file"
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
11 #elif defined(__WIN32__)
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
12 #define FIXEDFONT "10.Terminal"
305
32ad8a0dc06b Escape backslashes so icons under Windows and OS/2 can be found.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 304
diff changeset
13 #define FOLDER_ICON_NAME "win\\folder"
32ad8a0dc06b Escape backslashes so icons under Windows and OS/2 can be found.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 304
diff changeset
14 #define FILE_ICON_NAME "win\\file"
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
15 #elif GTK_MAJOR_VERSION > 1
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
16 #define FIXEDFONT "monospace 10"
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
17 #define FOLDER_ICON_NAME "gtk/folder"
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
18 #define FILE_ICON_NAME "gtk/file"
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
19 #else
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
20 #define FIXEDFONT "fixed"
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
21 #define FOLDER_ICON_NAME "gtk/folder"
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
22 #define FILE_ICON_NAME "gtk/file"
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
23 #endif
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
24
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
25 #define SCROLLBARWIDTH 14
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
26
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
27 unsigned long flStyle = DW_FCF_SYSMENU | DW_FCF_TITLEBAR |
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
28 DW_FCF_SHELLPOSITION | DW_FCF_TASKLIST | DW_FCF_DLGBORDER;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
29
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
30 HWND mainwindow,
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
31 entryfield,
391
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
32 cursortogglebutton,
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
33 okbutton,
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
34 cancelbutton,
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
35 lbbox,
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
36 notebookbox,
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
37 notebookbox1,
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
38 notebookbox2,
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
39 notebookbox3,
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
40 notebookbox4,
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
41 notebook,
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
42 vscrollbar,
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
43 hscrollbar,
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
44 status, status1,
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
45 container_status,
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
46 tree_status,
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
47 stext,
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
48 tree,
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
49 container,
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
50 container_mle,
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
51 pagebox,
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
52 treebox,
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
53 containerbox,
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
54 textbox1, textbox2, textboxA,
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
55 gap_box,
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
56 buttonbox;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
57
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
58 HPIXMAP text1pm,text2pm;
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
59 unsigned long fileicon,foldericon,mle_point=-1;
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
60
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
61 int font_width = 8;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
62 int font_height=12;
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
63 int rows=100,width1=6,cols=80;
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
64 char *current_file = NULL;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
65 int timerid;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
66 int num_lines=0;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
67 int max_linewidth=0;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
68 int current_row=0,current_col=0;
391
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
69 int cursor_arrow = 1;
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
70
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
71 FILE *fp=NULL;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
72 char **lp;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
73
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
74 char *resolve_keyname( int vk )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
75 {
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
76 char *keyname;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
77 switch(vk)
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
78 {
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
79 case VK_LBUTTON : keyname = "VK_LBUTTON"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
80 case VK_RBUTTON : keyname = "VK_RBUTTON"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
81 case VK_CANCEL : keyname = "VK_CANCEL"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
82 case VK_MBUTTON : keyname = "VK_MBUTTON"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
83 /* case VK_BACK : keyname = "VK_BACK"; break;*/
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
84 case VK_TAB : keyname = "VK_TAB"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
85 case VK_CLEAR : keyname = "VK_CLEAR"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
86 case VK_RETURN : keyname = "VK_RETURN"; break;
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 297
diff changeset
87 /* case VK_MENU : keyname = "VK_MENU"; break;*/
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
88 case VK_PAUSE : keyname = "VK_PAUSE"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
89 case VK_CAPITAL : keyname = "VK_CAPITAL"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
90 case VK_ESCAPE : keyname = "VK_ESCAPE"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
91 case VK_SPACE : keyname = "VK_SPACE"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
92 case VK_PRIOR : keyname = "VK_PRIOR"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
93 case VK_NEXT : keyname = "VK_NEXT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
94 case VK_END : keyname = "VK_END"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
95 case VK_HOME : keyname = "VK_HOME"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
96 case VK_LEFT : keyname = "VK_LEFT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
97 case VK_UP : keyname = "VK_UP"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
98 case VK_RIGHT : keyname = "VK_RIGHT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
99 case VK_DOWN : keyname = "VK_DOWN"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
100 case VK_SELECT : keyname = "VK_SELECT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
101 case VK_PRINT : keyname = "VK_PRINT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
102 case VK_EXECUTE : keyname = "VK_EXECUTE"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
103 case VK_SNAPSHOT: keyname = "VK_SNAPSHOT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
104 case VK_INSERT : keyname = "VK_INSERT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
105 case VK_DELETE : keyname = "VK_DELETE"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
106 case VK_HELP : keyname = "VK_HELP"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
107 case VK_LWIN : keyname = "VK_LWIN"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
108 case VK_RWIN : keyname = "VK_RWIN"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
109 case VK_NUMPAD0 : keyname = "VK_NUMPAD0"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
110 case VK_NUMPAD1 : keyname = "VK_NUMPAD1"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
111 case VK_NUMPAD2 : keyname = "VK_NUMPAD2"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
112 case VK_NUMPAD3 : keyname = "VK_NUMPAD3"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
113 case VK_NUMPAD4 : keyname = "VK_NUMPAD4"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
114 case VK_NUMPAD5 : keyname = "VK_NUMPAD5"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
115 case VK_NUMPAD6 : keyname = "VK_NUMPAD6"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
116 case VK_NUMPAD7 : keyname = "VK_NUMPAD7"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
117 case VK_NUMPAD8 : keyname = "VK_NUMPAD8"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
118 case VK_NUMPAD9 : keyname = "VK_NUMPAD9"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
119 case VK_MULTIPLY: keyname = "VK_MULTIPLY"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
120 case VK_ADD : keyname = "VK_ADD"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
121 case VK_SEPARATOR: keyname = "VK_SEPARATOR"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
122 case VK_SUBTRACT: keyname = "VK_SUBTRACT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
123 case VK_DECIMAL : keyname = "VK_DECIMAL"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
124 case VK_DIVIDE : keyname = "VK_DIVIDE"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
125 case VK_F1 : keyname = "VK_F1"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
126 case VK_F2 : keyname = "VK_F2"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
127 case VK_F3 : keyname = "VK_F3"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
128 case VK_F4 : keyname = "VK_F4"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
129 case VK_F5 : keyname = "VK_F5"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
130 case VK_F6 : keyname = "VK_F6"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
131 case VK_F7 : keyname = "VK_F7"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
132 case VK_F8 : keyname = "VK_F8"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
133 case VK_F9 : keyname = "VK_F9"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
134 case VK_F10 : keyname = "VK_F10"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
135 case VK_F11 : keyname = "VK_F11"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
136 case VK_F12 : keyname = "VK_F12"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
137 case VK_F13 : keyname = "VK_F13"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
138 case VK_F14 : keyname = "VK_F14"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
139 case VK_F15 : keyname = "VK_F15"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
140 case VK_F16 : keyname = "VK_F16"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
141 case VK_F17 : keyname = "VK_F17"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
142 case VK_F18 : keyname = "VK_F18"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
143 case VK_F19 : keyname = "VK_F19"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
144 case VK_F20 : keyname = "VK_F20"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
145 case VK_F21 : keyname = "VK_F21"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
146 case VK_F22 : keyname = "VK_F22"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
147 case VK_F23 : keyname = "VK_F23"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
148 case VK_F24 : keyname = "VK_F24"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
149 case VK_NUMLOCK : keyname = "VK_NUMLOCK"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
150 case VK_SCROLL : keyname = "VK_SCROLL"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
151 case VK_LSHIFT : keyname = "VK_LSHIFT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
152 case VK_RSHIFT : keyname = "VK_RSHIFT"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
153 case VK_LCONTROL: keyname = "VK_LCONTROL"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
154 case VK_RCONTROL: keyname = "VK_RCONTROL"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
155 /* case VK_LMENU : keyname = "VK_LMENU"; break; */
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
156 /* case VK_RMENU : keyname = "VK_RMENU"; break;*/
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
157 default: keyname = "<unknown>"; break;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
158 }
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
159 return keyname;
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
160 }
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
161
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
162 char *resolve_keymodifiers( int mask )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
163 {
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
164 if ( (mask & KC_CTRL) && (mask & KC_SHIFT) && (mask && KC_ALT) )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
165 return "KC_CTRL KC_SHIFT KC_ALT";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
166 else if ( (mask & KC_CTRL) && (mask & KC_SHIFT) )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
167 return "KC_CTRL KC_SHIFT";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
168 else if ( (mask & KC_CTRL) && (mask & KC_ALT) )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
169 return "KC_CTRL KC_ALT";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
170 else if ( (mask & KC_SHIFT) && (mask & KC_ALT) )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
171 return "KC_SHIFT KC_ALT";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
172 else if ( (mask & KC_SHIFT) )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
173 return "KC_SHIFT";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
174 else if ( (mask & KC_CTRL) )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
175 return "KC_CTRL";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
176 else if ( (mask & KC_ALT) )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
177 return "KC_ALT";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
178 else return "none";
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
179 }
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
180
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
181 /* This gets called when a part of the graph needs to be repainted. */
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
182 int DWSIGNAL text_expose(HWND hwnd, DWExpose *exp, void *data)
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
183 {
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
184 HPIXMAP hpm;
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
185 int width,height;
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
186
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
187 if ( hwnd == textbox1 )
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
188 hpm = text1pm;
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
189 else if ( hwnd == textbox2 )
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
190 hpm = text2pm;
266
5c5bee286d0e Fixed some warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
191 else
5c5bee286d0e Fixed some warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
192 return TRUE;
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
193
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
194 width = DW_PIXMAP_WIDTH(hpm);
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
195 height = DW_PIXMAP_HEIGHT(hpm);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
196
289
0e6f09149eaa Fixed some EMX warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 284
diff changeset
197 dw_pixmap_bitblt(hwnd, NULL, 0, 0, width, height, 0, hpm, 0, 0 );
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
198 dw_flush();
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
199 return TRUE;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
200 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
201
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
202 void read_file( void )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
203 {
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
204 int i,len;
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
205 fp = fopen( current_file, "r" );
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
206 lp = (char **)calloc( 1000,sizeof(char *));
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
207 /* should test for out of memory */
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
208 max_linewidth=0;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
209 for ( i = 0; i < 1000; i++ )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
210 {
227
5e6d8e024214 Use calloc instead of malloc so line buffers aren't filled with garbage.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 226
diff changeset
211 lp[i] = (char *)calloc(1, 1025);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
212 if ( fgets( lp[i], 1024, fp ) == NULL )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
213 break;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
214 len = strlen( lp[i] );
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
215 if ( len > max_linewidth )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
216 max_linewidth = len;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
217 if ( lp[i][len - 1] == '\n' )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
218 lp[i][len - 1] = '\0';
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
219 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
220 num_lines = i;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
221 fclose( fp );
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
222 dw_scrollbar_set_range(hscrollbar, max_linewidth, cols);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
223 dw_scrollbar_set_pos(hscrollbar, 0);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
224 dw_scrollbar_set_range(vscrollbar, num_lines, rows);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
225 dw_scrollbar_set_pos(vscrollbar, 0);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
226 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
227
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
228 void draw_file( int row, int col )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
229 {
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
230 char buf[10];
380
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
231 int i,y,fileline;
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
232 char *pLine;
226
2aee0b23e880 Removed unnecessary fprintf() statements.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 225
diff changeset
233
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
234 if ( current_file )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
235 {
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
236 dw_color_foreground_set(DW_CLR_WHITE);
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
237 dw_draw_rect(0, text1pm, TRUE, 0, 0, DW_PIXMAP_WIDTH(text1pm), DW_PIXMAP_HEIGHT(text1pm));
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
238 dw_draw_rect(0, text2pm, TRUE, 0, 0, DW_PIXMAP_WIDTH(text2pm), DW_PIXMAP_HEIGHT(text2pm));
380
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
239
229
4166c18586e5 Fixed number of lines calculation in configure_event() taking into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 227
diff changeset
240 for ( i = 0;(i < rows) && (i+row < num_lines); i++)
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
241 {
380
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
242 fileline = i + row - 1;
385
761e5fddffca Remove font_gap to make testing of render box drawing simpler.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 380
diff changeset
243 y = i*font_height;
380
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
244 dw_color_background_set( 1 + (fileline % 15) );
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
245 dw_color_foreground_set( fileline % 16 );
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
246 sprintf( buf, "%6.6d", i+row );
289
0e6f09149eaa Fixed some EMX warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 284
diff changeset
247 dw_draw_text( 0, text1pm, 0, y, buf);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
248 pLine = lp[i+row];
289
0e6f09149eaa Fixed some EMX warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 284
diff changeset
249 dw_draw_text( 0, text2pm, 0, y, pLine+col );
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
250 }
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
251 text_expose( textbox1, NULL, NULL);
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
252 text_expose( textbox2, NULL, NULL);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
253 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
254 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
255
391
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
256 int DWSIGNAL cursortoggle_callback(HWND window, void *data)
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
257 {
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
258 if(cursor_arrow)
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
259 {
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
260 dw_window_set_text((HWND)cursortogglebutton,"Set Cursor pointer - ARROW");
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
261 dw_window_pointer((HWND)data,DW_POINTER_CLOCK);
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
262 cursor_arrow = 0;
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
263 }
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
264 else
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
265 {
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
266 dw_window_set_text((HWND)cursortogglebutton,"Set Cursor pointer - CLOCK");
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
267 dw_window_pointer((HWND)data,DW_POINTER_ARROW);
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
268 cursor_arrow = 1;
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
269 }
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
270 return FALSE;
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
271 }
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
272
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
273 int DWSIGNAL beep_callback(HWND window, void *data)
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
274 {
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
275 dw_timer_disconnect( timerid );
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
276 return TRUE;
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
277 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
278
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 266
diff changeset
279 int DWSIGNAL keypress_callback(HWND window, char ch, int vk, int state, void *data)
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
280 {
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
281 char tmpbuf[100];
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
282 if ( ch )
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
283 sprintf( tmpbuf, "Key: %c(%d) Modifiers: %s(%d)", ch, ch, resolve_keymodifiers(state), state );
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
284 else
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
285 sprintf( tmpbuf, "Key: %s(%d) Modifiers: %s(%d)", resolve_keyname(vk), vk, resolve_keymodifiers(state), state );
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
286 dw_window_set_text( status1, tmpbuf);
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
287 return 0;
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
288 }
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
289
192
d946e329670c Added test application for OS/2, and allow dw_color_xxx_set() to use OS/2
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 191
diff changeset
290 int DWSIGNAL exit_callback(HWND window, void *data)
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
291 {
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
292 dw_window_destroy((HWND)data);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
293 exit(0);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
294 return -1;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
295 }
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
296
192
d946e329670c Added test application for OS/2, and allow dw_color_xxx_set() to use OS/2
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 191
diff changeset
297 int DWSIGNAL test_callback(HWND window, void *data)
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
298 {
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
299 dw_window_destroy((HWND)data);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
300 if ( current_file )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
301 dw_free( current_file );
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
302 exit(0);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
303 return -1;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
304 }
192
d946e329670c Added test application for OS/2, and allow dw_color_xxx_set() to use OS/2
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 191
diff changeset
305
d946e329670c Added test application for OS/2, and allow dw_color_xxx_set() to use OS/2
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 191
diff changeset
306 int DWSIGNAL browse_callback(HWND window, void *data)
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
307 {
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
308 char *tmp;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
309 tmp = dw_file_browse("test string", NULL, "c", DW_FILE_OPEN );
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
310 if ( tmp )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
311 {
231
a3775f5b877f Only free current_file when we have a new file selected to show.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 229
diff changeset
312 if ( current_file )
a3775f5b877f Only free current_file when we have a new file selected to show.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 229
diff changeset
313 {
a3775f5b877f Only free current_file when we have a new file selected to show.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 229
diff changeset
314 dw_free( current_file );
a3775f5b877f Only free current_file when we have a new file selected to show.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 229
diff changeset
315 }
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
316 current_file = tmp;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
317 dw_window_set_text( entryfield, current_file );
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
318 read_file();
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
319 draw_file(0,0);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
320 }
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
321 return 0;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
322 }
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
323
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
324 /* Callback to handle user selection of the scrollbar position */
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
325 void DWSIGNAL scrollbar_valuechanged(HWND hwnd, int value, void *data)
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
326 {
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
327 if(data)
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
328 {
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
329 HWND stext = (HWND)data;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
330 char tmpbuf[100];
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
331 if ( hwnd == vscrollbar )
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
332 {
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
333 current_row = value;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
334 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
335 else
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
336 {
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
337 current_col = value;
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
338 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
339 sprintf(tmpbuf, "Row:%d Col:%d Lines:%d Cols:%d", current_row,current_col,num_lines,max_linewidth);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
340 dw_window_set_text(stext, tmpbuf);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
341 draw_file( current_row, current_col);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
342 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
343 }
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
344
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
345 /* Handle size change of the main render window */
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
346 int DWSIGNAL configure_event(HWND hwnd, int width, int height, void *data)
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
347 {
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
348 HPIXMAP old1 = text1pm, old2 = text2pm;
222
7bb6cb6f612c Another minor change... create the first pixmap to the correct window
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 221
diff changeset
349 int depth = dw_color_depth();
7bb6cb6f612c Another minor change... create the first pixmap to the correct window
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 221
diff changeset
350
385
761e5fddffca Remove font_gap to make testing of render box drawing simpler.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 380
diff changeset
351 rows = height / font_height;
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
352 cols = width / font_width;
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
353
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
354 /* Create new pixmaps with the current sizes */
380
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
355 text1pm = dw_pixmap_new(textbox1, (font_width*(width1)), height, depth);
222
7bb6cb6f612c Another minor change... create the first pixmap to the correct window
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 221
diff changeset
356 text2pm = dw_pixmap_new(textbox2, width, height, depth);
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
357
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
358 /* Destroy the old pixmaps */
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
359 dw_pixmap_destroy(old1);
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
360 dw_pixmap_destroy(old2);
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
361
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
362 /* Update scrollbar ranges with new values */
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
363 dw_scrollbar_set_range(hscrollbar, max_linewidth, cols);
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
364 dw_scrollbar_set_range(vscrollbar, num_lines, rows);
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
365
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
366 /* Redraw the window */
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
367 draw_file( current_row, current_col);
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
368 return TRUE;
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
369 }
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
370
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
371 int DWSIGNAL item_enter_cb( HWND window, char *text, void *data )
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
372 {
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
373 char buf[200];
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
374 HWND statline = (HWND)data;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
375
324
c13312a6b8dc Clean up an errant printf().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 323
diff changeset
376 sprintf(buf,"DW_SIGNAL_ITEM_ENTER: Window: %x Text: %s", (unsigned int)window, text );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
377 dw_window_set_text( statline, buf);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
378 return 0;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
379 }
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
380
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
381 int DWSIGNAL item_context_cb( HWND window, char *text, int x, int y, void *data, void *itemdata )
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
382 {
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
383 char buf[200];
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
384 HWND statline = (HWND)data;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
385
313
a3dee031d27e Cleaned up unix warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 312
diff changeset
386 sprintf(buf,"DW_SIGNAL_ITEM_CONTEXT: Window: %x Text: %s x: %d y: %d Itemdata: %x", (unsigned int)window, text, x, y, (unsigned int)itemdata );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
387 dw_window_set_text( statline, buf);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
388 return 0;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
389 }
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
390
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
391 int DWSIGNAL list_select_cb( HWND window, int item, void *data )
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
392 {
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
393 char buf[200];
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
394 HWND statline = (HWND)data;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
395
313
a3dee031d27e Cleaned up unix warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 312
diff changeset
396 sprintf(buf,"DW_SIGNAL_LIST_SELECT: Window: %d Item: %d", (unsigned int)window, item );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
397 dw_window_set_text( statline, buf);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
398 return 0;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
399 }
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
400
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 327
diff changeset
401 int DWSIGNAL item_select_cb( HWND window, HTREEITEM item, char *text, void *data, void *itemdata )
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
402 {
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
403 char buf[200];
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
404 HWND statline = (HWND)data;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
405
313
a3dee031d27e Cleaned up unix warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 312
diff changeset
406 sprintf(buf,"DW_SIGNAL_ITEM_SELECT: Window: %x Item: %x Text: %s Itemdata: %x", (unsigned int)window, (unsigned int)item, text, (unsigned int)itemdata );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
407 dw_window_set_text( statline, buf);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
408 return 0;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
409 }
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
410
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
411 int DWSIGNAL container_select_cb( HWND window, HTREEITEM item, char *text, void *data, void *itemdata )
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
412 {
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
413 char buf[200];
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
414 char *str;
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
415 HWND statline = (HWND)data;
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
416
349
5d3f2e2dcc6b Add CRLF to lines displayed in MLE.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 348
diff changeset
417 sprintf(buf,"DW_SIGNAL_ITEM_SELECT: Window: %x Item: %x Text: %s Itemdata: %x", (unsigned int)window, (unsigned int)item, text, (unsigned int)itemdata );
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
418 dw_window_set_text( statline, buf);
349
5d3f2e2dcc6b Add CRLF to lines displayed in MLE.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 348
diff changeset
419 sprintf(buf,"\r\nDW_SIGNAL_ITEM_SELECT: Window: %x Item: %x Text: %s Itemdata: %x\r\n", (unsigned int)window, (unsigned int)item, text, (unsigned int)itemdata );
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
420 mle_point = dw_mle_import( container_mle, buf, mle_point);
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
421 str = dw_container_query_start(container, DW_CRA_SELECTED);
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
422 while(str)
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
423 {
349
5d3f2e2dcc6b Add CRLF to lines displayed in MLE.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 348
diff changeset
424 sprintf(buf,"Selected: %s\r\n", str);
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
425 mle_point = dw_mle_import( container_mle, buf, mle_point);
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
426 str = dw_container_query_next(container, DW_CRA_SELECTED);
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
427 }
350
2216e65ad2ae Removed slider flags and container selection flags from the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 349
diff changeset
428 /* Make the last inserted point the cursor location */
2216e65ad2ae Removed slider flags and container selection flags from the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 349
diff changeset
429 dw_mle_set(container_mle, mle_point);
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
430 return 0;
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
431 }
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
432
346
81fae15885d7 Implemented switch-page on OS/2, and changed the signal prototype to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 336
diff changeset
433 int DWSIGNAL switch_page_cb( HWND window, unsigned long page_num, void *itemdata )
333
b6491cefa512 Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
434 {
346
81fae15885d7 Implemented switch-page on OS/2, and changed the signal prototype to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 336
diff changeset
435 FILE *fp=fopen("log","a");
81fae15885d7 Implemented switch-page on OS/2, and changed the signal prototype to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 336
diff changeset
436 fprintf(fp,"DW_SIGNAL_SWITCH_PAGE: Window: %x PageNum: %u Itemdata: %x\n", (unsigned int)window, (unsigned int)page_num, (unsigned int)itemdata );
81fae15885d7 Implemented switch-page on OS/2, and changed the signal prototype to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 336
diff changeset
437 fclose(fp);
333
b6491cefa512 Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
438 return 0;
b6491cefa512 Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
439 }
b6491cefa512 Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
440
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
441 void archive_add(void)
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
442 {
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
443 HWND browsebutton, browsebox;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
444
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
445 lbbox = dw_box_new(BOXVERT, 10);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
446
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
447 dw_box_pack_start(notebookbox1, lbbox, 150, 70, TRUE, TRUE, 0);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
448
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
449 /* Archive Name */
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
450 stext = dw_text_new("File to browse", 0);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
451
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
452 dw_window_set_style(stext, DW_DT_VCENTER, DW_DT_VCENTER);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
453
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
454 dw_box_pack_start(lbbox, stext, 130, 15, TRUE, TRUE, 2);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
455
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
456 browsebox = dw_box_new(BOXHORZ, 0);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
457
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
458 dw_box_pack_start(lbbox, browsebox, 0, 0, TRUE, TRUE, 0);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
459
378
12b3980a41a2 Reverted a test change I accidentally committed.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 377
diff changeset
460 entryfield = dw_entryfield_new("", 100L);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
461
308
f844a07c5915 Get it working on OS/2. :)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 305
diff changeset
462 dw_entryfield_set_limit(entryfield, 260);
f844a07c5915 Get it working on OS/2. :)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 305
diff changeset
463
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
464 dw_box_pack_start(browsebox, entryfield, 100, 15, TRUE, TRUE, 4);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
465
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
466 browsebutton = dw_button_new("Browse", 1001L);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
467
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
468 dw_box_pack_start(browsebox, browsebutton, 30, 15, TRUE, TRUE, 0);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
469
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
470 dw_window_set_color(browsebox, DW_CLR_PALEGRAY, DW_CLR_PALEGRAY);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
471 dw_window_set_color(stext, DW_CLR_BLACK, DW_CLR_PALEGRAY);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
472
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
473 /* Buttons */
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
474 buttonbox = dw_box_new(BOXHORZ, 10);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
475
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
476 dw_box_pack_start(lbbox, buttonbox, 0, 0, TRUE, TRUE, 0);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
477
391
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
478 cursortogglebutton = dw_button_new("Set Cursor pointer - CLOCK", 1003L);
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
479
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
480 dw_box_pack_start(buttonbox, cursortogglebutton, 130, 30, TRUE, TRUE, 2);
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
481
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
482 okbutton = dw_button_new("Turn Off Annoying Beep!", 1001L);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
483
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
484 dw_box_pack_start(buttonbox, okbutton, 130, 30, TRUE, TRUE, 2);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
485
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
486 cancelbutton = dw_button_new("Exit", 1002L);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
487
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
488 dw_box_pack_start(buttonbox, cancelbutton, 130, 30, TRUE, TRUE, 2);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
489
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
490 /* Set some nice fonts and colors */
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
491 dw_window_set_color(lbbox, DW_CLR_DARKCYAN, DW_CLR_PALEGRAY);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
492 dw_window_set_color(buttonbox, DW_CLR_DARKCYAN, DW_CLR_PALEGRAY);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
493 dw_window_set_color(okbutton, DW_CLR_PALEGRAY, DW_CLR_DARKCYAN);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
494
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
495 dw_signal_connect(browsebutton, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(browse_callback), (void *)notebookbox1);
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
496 dw_signal_connect(okbutton, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(beep_callback), (void *)notebookbox1);
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
497 dw_signal_connect(cancelbutton, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(exit_callback), (void *)mainwindow);
391
2059f18e9c20 Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 385
diff changeset
498 dw_signal_connect(cursortogglebutton, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(cursortoggle_callback), (void *)mainwindow);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
499 }
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
500
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
501
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
502 void text_add(void)
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
503 {
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
504 int depth = dw_color_depth();
252
eab1540444b2 Make an empty space where the scrollbars meet.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 232
diff changeset
505 HWND vscrollbox;
213
f8b50901ac45 Added verticle scrollbar test to the sample.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 207
diff changeset
506
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
507 /* create a box to pack into the notebook page */
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
508 pagebox = dw_box_new(BOXHORZ, 2);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
509 dw_box_pack_start( notebookbox2, pagebox, 0, 0, TRUE, TRUE, 0);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
510 /* now a status area under this box */
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
511 status = dw_status_text_new("", 0);
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
512 dw_box_pack_start( notebookbox2, status, 100, 20, TRUE, FALSE, 1);
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
513 /* and another one */
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
514 status1 = dw_status_text_new("", 0);
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
515 dw_box_pack_start( notebookbox2, status1, 100, 20, TRUE, FALSE, 1);
213
f8b50901ac45 Added verticle scrollbar test to the sample.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 207
diff changeset
516
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
517 /* create render box for number pixmap */
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
518 textbox1 = dw_render_new( 100 );
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
519 dw_window_set_font(textbox1, FIXEDFONT);
385
761e5fddffca Remove font_gap to make testing of render box drawing simpler.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 380
diff changeset
520 dw_font_text_extents(textbox1, NULL, "(g", &font_width, &font_height);
380
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
521 font_width = font_width / 2;
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
522 vscrollbox = dw_box_new(BOXVERT, 0);
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
523 dw_box_pack_start(vscrollbox, textbox1, font_width*width1, font_height*rows, FALSE, TRUE, 0);
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
524 dw_box_pack_start(vscrollbox, 0, (font_width*(width1+1)), SCROLLBARWIDTH, FALSE, FALSE, 0);
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
525 dw_box_pack_start(pagebox, vscrollbox, 0, 0, FALSE, TRUE, 0);
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
526
380
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
527 /* pack empty space 1 character wide */
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
528 dw_box_pack_start(pagebox, 0, font_width, 0, FALSE, TRUE, 0);
fcb52d773ed2 Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 378
diff changeset
529
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
530 /* create box for filecontents and horz scrollbar */
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
531 textboxA = dw_box_new( BOXVERT,0 );
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
532 dw_box_pack_start( pagebox, textboxA, 0, 0, TRUE, TRUE, 0);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
533
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
534 /* create render box for filecontents pixmap */
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
535 textbox2 = dw_render_new( 101 );
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
536 dw_box_pack_start( textboxA, textbox2, 10, 10, TRUE, TRUE, 0);
219
79968cf0f3b3 Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 218
diff changeset
537 dw_window_set_font(textbox2, FIXEDFONT);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
538 /* create horizonal scrollbar */
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
539 hscrollbar = dw_scrollbar_new(FALSE, 100, 50);
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
540 dw_box_pack_start( textboxA, hscrollbar, 100, SCROLLBARWIDTH, TRUE, FALSE, 0);
197
f3718165f0b2 Implemented scrollbars and timers on Windows, and added scrollbar to the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 195
diff changeset
541
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
542 /* create vertical scrollbar */
252
eab1540444b2 Make an empty space where the scrollbars meet.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 232
diff changeset
543 vscrollbox = dw_box_new(BOXVERT, 0);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
544 vscrollbar = dw_scrollbar_new(TRUE, 100, 50);
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
545 dw_box_pack_start(vscrollbox, vscrollbar, SCROLLBARWIDTH, 100, FALSE, TRUE, 0);
253
e041ce42659a Added a comment describing how it works.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 252
diff changeset
546 /* Pack an area of empty space 14x14 pixels */
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 254
diff changeset
547 dw_box_pack_start(vscrollbox, 0, SCROLLBARWIDTH, SCROLLBARWIDTH, FALSE, FALSE, 0);
252
eab1540444b2 Make an empty space where the scrollbars meet.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 232
diff changeset
548 dw_box_pack_start(pagebox, vscrollbox, 0, 0, FALSE, TRUE, 0);
206
f7911991c5df Show info about the scrollbar in a status text control.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 203
diff changeset
549
385
761e5fddffca Remove font_gap to make testing of render box drawing simpler.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 380
diff changeset
550 text1pm = dw_pixmap_new( textbox1, font_width*width1, font_height*rows, depth );
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
551 text2pm = dw_pixmap_new( textbox2, font_width*cols, font_height*rows, depth );
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
552
398
255a31a3a1f5 Change to dw_messagebox() call
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 391
diff changeset
553 dw_messagebox("DWTest", DW_MB_OK|DW_MB_INFORMATION, "Width: %d Height: %d\n", font_width, font_height);
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
554 dw_draw_rect(0, text1pm, TRUE, 0, 0, font_width*width1, font_height*rows);
218
fe0ab0040ba2 Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 217
diff changeset
555 dw_draw_rect(0, text2pm, TRUE, 0, 0, font_width*cols, font_height*rows);
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
556 dw_signal_connect(textbox1, DW_SIGNAL_EXPOSE, DW_SIGNAL_FUNC(text_expose), NULL);
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
557 dw_signal_connect(textbox2, DW_SIGNAL_EXPOSE, DW_SIGNAL_FUNC(text_expose), NULL);
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
558 dw_signal_connect(textbox2, DW_SIGNAL_CONFIGURE, DW_SIGNAL_FUNC(configure_event), text2pm);
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
559 dw_signal_connect(hscrollbar, DW_SIGNAL_VALUE_CHANGED, DW_SIGNAL_FUNC(scrollbar_valuechanged), (void *)status);
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
560 dw_signal_connect(vscrollbar, DW_SIGNAL_VALUE_CHANGED, DW_SIGNAL_FUNC(scrollbar_valuechanged), (void *)status);
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
561
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
562 dw_signal_connect(mainwindow, DW_SIGNAL_KEY_PRESS, DW_SIGNAL_FUNC(keypress_callback), NULL);
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
563 }
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
564
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
565 void tree_add(void)
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
566 {
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 327
diff changeset
567 HTREEITEM t1,t2,t3,t4,t5,t6;
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
568
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
569 /* create a box to pack into the notebook page */
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
570 treebox = dw_box_new(BOXHORZ, 2);
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
571 dw_box_pack_start( notebookbox3, treebox, 500, 200, TRUE, TRUE, 0);
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
572
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
573 /* now a tree area under this box */
308
f844a07c5915 Get it working on OS/2. :)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 305
diff changeset
574 tree = dw_tree_new(101);
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
575 dw_box_pack_start( notebookbox3, tree, 500, 200, TRUE, FALSE, 1);
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
576
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
577 /* and a status area to see whats going on */
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
578 tree_status = dw_status_text_new("", 0);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
579 dw_box_pack_start( notebookbox3, tree_status, 100, 20, TRUE, FALSE, 1);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
580
297
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
581 foldericon = dw_icon_load_from_file( FOLDER_ICON_NAME );
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
582 fileicon = dw_icon_load_from_file( FILE_ICON_NAME );
5414d3d582e4 Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 293
diff changeset
583
323
3dab9f31aeff Mark, we must connect signal handlers before populating the tree on GTK 1.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 313
diff changeset
584 /* set up our signal trappers... */
3dab9f31aeff Mark, we must connect signal handlers before populating the tree on GTK 1.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 313
diff changeset
585 dw_signal_connect(tree, DW_SIGNAL_ITEM_CONTEXT, DW_SIGNAL_FUNC(item_context_cb), (void *)tree_status);
3dab9f31aeff Mark, we must connect signal handlers before populating the tree on GTK 1.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 313
diff changeset
586 dw_signal_connect(tree, DW_SIGNAL_ITEM_SELECT, DW_SIGNAL_FUNC(item_select_cb), (void *)tree_status);
3dab9f31aeff Mark, we must connect signal handlers before populating the tree on GTK 1.x.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 313
diff changeset
587
312
ff8f23594b15 Make sure itemdata is NULL for container callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 311
diff changeset
588 t1 = dw_tree_insert(tree, "tree folder 1", foldericon, NULL, (void *)1 );
ff8f23594b15 Make sure itemdata is NULL for container callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 311
diff changeset
589 t2 = dw_tree_insert(tree, "tree folder 2", foldericon, NULL, (void *)2 );
ff8f23594b15 Make sure itemdata is NULL for container callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 311
diff changeset
590 t3 = dw_tree_insert(tree, "tree file 1", fileicon, t1, (void *)3 );
ff8f23594b15 Make sure itemdata is NULL for container callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 311
diff changeset
591 t4 = dw_tree_insert(tree, "tree file 2", fileicon, t1, (void *)4 );
ff8f23594b15 Make sure itemdata is NULL for container callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 311
diff changeset
592 t5 = dw_tree_insert(tree, "tree file 3", fileicon, t2, (void *)5 );
ff8f23594b15 Make sure itemdata is NULL for container callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 311
diff changeset
593 t6 = dw_tree_insert(tree, "tree file 4", fileicon, t2, (void *)6 );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
594 }
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
595
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
596 void container_add(void)
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
597 {
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
598 char *titles[3];
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
599 char *names[3];
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
600 char buffer[100];
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
601 unsigned long flags[3] = { DW_CFA_ULONG | DW_CFA_RIGHT | DW_CFA_HORZSEPARATOR | DW_CFA_SEPARATOR,
335
97029f1f29de Minor change to container page to show right justification on ULONGS doesn't work.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 333
diff changeset
602 DW_CFA_TIME | DW_CFA_CENTER | DW_CFA_HORZSEPARATOR | DW_CFA_SEPARATOR,
97029f1f29de Minor change to container page to show right justification on ULONGS doesn't work.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 333
diff changeset
603 DW_CFA_DATE | DW_CFA_LEFT | DW_CFA_HORZSEPARATOR | DW_CFA_SEPARATOR };
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
604 void *containerinfo;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
605 int z;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
606 CTIME time;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
607 CDATE date;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
608 unsigned long size, thisicon;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
609
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
610 /* create a box to pack into the notebook page */
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
611 containerbox = dw_box_new(BOXHORZ, 2);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
612 dw_box_pack_start( notebookbox4, containerbox, 500, 200, TRUE, TRUE, 0);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
613
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
614 /* now a container area under this box */
350
2216e65ad2ae Removed slider flags and container selection flags from the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 349
diff changeset
615 container = dw_container_new(100, TRUE);
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
616 dw_box_pack_start( notebookbox4, container, 500, 200, TRUE, FALSE, 1);
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
617
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
618 /* and a status area to see whats going on */
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
619 container_status = dw_status_text_new("", 0);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
620 dw_box_pack_start( notebookbox4, container_status, 100, 20, TRUE, FALSE, 1);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
621
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
622 titles[0] = "Size";
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
623 titles[1] = "Time";
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
624 titles[2] = "Date";
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
625
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
626 dw_filesystem_setup(container, flags, titles, 3);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
627 containerinfo = dw_container_alloc(container, 3);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
628
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
629 for(z=0;z<3;z++)
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
630 {
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
631 names[z] = (char *)malloc( 100 );
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
632 /* yes, there is a memory leak here */
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
633 sprintf(names[z],"Don't allocate from stack: Item: %d",z);
335
97029f1f29de Minor change to container page to show right justification on ULONGS doesn't work.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 333
diff changeset
634 size = z*100;
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
635 sprintf(buffer, "Filename %d",z+1);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
636 if (z == 0 ) thisicon = foldericon;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
637 else thisicon = fileicon;
327
3204b978e077 Removed strdup() since new container code on OS/2 no longer requires it.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 324
diff changeset
638 dw_filesystem_set_file(container, containerinfo, z, buffer, thisicon);
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
639 dw_filesystem_set_item(container, containerinfo, 0, z, &size);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
640
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
641 time.seconds = z+10;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
642 time.minutes = z+10;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
643 time.hours = z+10;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
644 dw_filesystem_set_item(container, containerinfo, 1, z, &time);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
645
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
646 date.day = z+10;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
647 date.month = z+10;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
648 date.year = z+2000;
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
649 dw_filesystem_set_item(container, containerinfo, 2, z, &date);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
650
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
651 dw_container_set_row_title(containerinfo, z, names[z]);
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
652 }
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
653
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
654 dw_container_insert(container, containerinfo, 3);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
655 dw_container_optimize(container);
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
656
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
657 container_mle = dw_mle_new( 111 );
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
658 dw_box_pack_start( containerbox, container_mle, 500, 200, TRUE, TRUE, 0);
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
659
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
660 /* connect our event trappers... */
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
661 dw_signal_connect(container, DW_SIGNAL_ITEM_ENTER, DW_SIGNAL_FUNC(item_enter_cb), (void *)container_status);
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
662 dw_signal_connect(container, DW_SIGNAL_ITEM_CONTEXT, DW_SIGNAL_FUNC(item_context_cb), (void *)container_status);
348
fa6aeb52d51a Added MLE for the container page to show what is going on in the item-select
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
663 dw_signal_connect(container, DW_SIGNAL_ITEM_SELECT, DW_SIGNAL_FUNC(container_select_cb), (void *)container_status);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
664 }
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
665
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
666 /* Beep every second */
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
667 int DWSIGNAL timer_callback(void *data)
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
668 {
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
669 dw_beep(200, 200);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
670
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
671 /* Return TRUE so we get called again */
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
672 return TRUE;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
673 }
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
674
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
675 /*
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
676 * Let's demonstrate the functionality of this library. :)
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
677 */
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
678 int main(int argc, char *argv[])
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
679 {
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
680 ULONG notebookpage1;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
681 ULONG notebookpage2;
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
682 ULONG notebookpage3;
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
683 ULONG notebookpage4;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
684
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
685 dw_init(TRUE, argc, argv);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
686
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
687 mainwindow = dw_window_new( HWND_DESKTOP, "dwindows test", flStyle | DW_FCF_SIZEBORDER | DW_FCF_MINMAX );
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
688
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
689 notebookbox = dw_box_new( BOXVERT, 5 );
217
7112c817573d Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 213
diff changeset
690 dw_box_pack_start( mainwindow, notebookbox, 0, 0, TRUE, TRUE, 0);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
691
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
692 notebook = dw_notebook_new( 1, TRUE );
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
693 dw_box_pack_start( notebookbox, notebook, 100, 100, TRUE, TRUE, 0);
333
b6491cefa512 Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
694 dw_signal_connect(notebook, DW_SIGNAL_SWITCH_PAGE, DW_SIGNAL_FUNC(switch_page_cb), NULL);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
695
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
696 notebookbox1 = dw_box_new( BOXVERT, 5 );
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
697 notebookpage1 = dw_notebook_page_new( notebook, 0, TRUE );
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
698 dw_notebook_pack( notebook, notebookpage1, notebookbox1 );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
699 dw_notebook_page_set_text( notebook, notebookpage1, "buttons and entry");
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
700 archive_add();
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
701
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
702 notebookbox2 = dw_box_new( BOXVERT, 5 );
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
703 notebookpage2 = dw_notebook_page_new( notebook, 1, FALSE );
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
704 dw_notebook_pack( notebook, notebookpage2, notebookbox2 );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
705 dw_notebook_page_set_text( notebook, notebookpage2, "render");
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
706 text_add();
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
707
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
708 notebookbox3 = dw_box_new( BOXVERT, 5 );
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
709 notebookpage3 = dw_notebook_page_new( notebook, 1, FALSE );
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
710 dw_notebook_pack( notebook, notebookpage3, notebookbox3 );
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
711 dw_notebook_page_set_text( notebook, notebookpage3, "tree");
254
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
712 tree_add();
42332e598d55 Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 253
diff changeset
713
304
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
714 notebookbox4 = dw_box_new( BOXVERT, 5 );
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
715 notebookpage4 = dw_notebook_page_new( notebook, 1, FALSE );
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
716 dw_notebook_pack( notebook, notebookpage4, notebookbox4 );
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
717 dw_notebook_page_set_text( notebook, notebookpage4, "container");
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
718 container_add();
c28c0a804442 Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
719
311
24c1dfffe97e Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 310
diff changeset
720 dw_signal_connect(mainwindow, DW_SIGNAL_DELETE, DW_SIGNAL_FUNC(exit_callback), (void *)mainwindow);
199
b955228477b3 Removed the window parameter to dw_timer_connect() it was no needed.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 198
diff changeset
721 timerid = dw_timer_connect(1000, DW_SIGNAL_FUNC(timer_callback), 0);
336
a2f72b5d5d0a Minor change to dw_window_set_icon() on OS/2 and Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 335
diff changeset
722 dw_window_set_icon(mainwindow, fileicon);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
723 dw_window_set_usize(mainwindow, 640, 480);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
724 dw_window_show(mainwindow);
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
725
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
726 dw_main();
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
727
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 193
diff changeset
728 return 0;
191
634625c3239d Fixes for dw_color_xxxx_set() to accept OS/2 style colors, and fixed a
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
729 }