Mercurial > dwindows
annotate dwtest.c @ 456:935436731b41
Hybrid fix, seems the last change illiminated some important code that
dealt with varying padding sizes in the opposite direction of the box.
This readds that code but optimizes it and includes the groupbox
calculations that were already present in the previous code path.
This fix will be added to the OS/2 tree as well pending testing of this
new code path.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 25 Jun 2003 03:39:44 +0000 |
parents | e99cd6e45c0b |
children | 1a938804ef01 |
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 |
437
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
30 #ifdef __MAC__ |
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
31 int main(int argc, char *argv[]) |
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
32 { |
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
33 DWEnv env; |
443
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
34 HWND window; |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
35 |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
36 dw_init(TRUE, argc, argv); |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
37 |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
38 window = dw_window_new(HWND_DESKTOP, "Test Window", flStyle); |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
39 dw_window_set_pos_size(window, 100, 100, 300, 200); |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
40 dw_window_show(window); |
437
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
41 |
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
42 dw_environment_query(&env); |
443
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
43 dw_messagebox("Title", DW_MB_OK | DW_MB_INFORMATION, "Operating System: %s %d.%d\nBuild: %d.%d\n", |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
44 env.osName, env.MajorVersion, env.MinorVersion, env.MajorBuild, env.MinorBuild); |
e99cd6e45c0b
Need to have a application package directory for binaries to properly run
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
437
diff
changeset
|
45 |
437
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
46 return 0; |
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
47 } |
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
48 #else |
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
49 |
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
|
50 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
|
51 entryfield, |
391
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
52 cursortogglebutton, |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
53 okbutton, |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
54 cancelbutton, |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
55 lbbox, |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
56 notebookbox, |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
57 notebookbox1, |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
58 notebookbox2, |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
59 notebookbox3, |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
60 notebookbox4, |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
61 notebook, |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
62 vscrollbar, |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
63 hscrollbar, |
297
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
64 status, status1, |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
65 container_status, |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
66 tree_status, |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
67 stext, |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
68 tree, |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
69 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
|
70 container_mle, |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
71 pagebox, |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
72 treebox, |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
73 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
|
74 textbox1, textbox2, textboxA, |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
75 gap_box, |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
76 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
|
77 |
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
|
78 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
|
79 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
|
80 |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
81 int font_width = 8; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
82 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
|
83 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
|
84 char *current_file = NULL; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
85 int timerid; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
86 int num_lines=0; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
87 int max_linewidth=0; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
88 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
|
89 int cursor_arrow = 1; |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
90 |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
91 FILE *fp=NULL; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
92 char **lp; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
93 |
297
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
94 char *resolve_keyname( int vk ) |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
95 { |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
96 char *keyname; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
97 switch(vk) |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
98 { |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
99 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
|
100 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
|
101 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
|
102 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
|
103 /* 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
|
104 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
|
105 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
|
106 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
|
107 /* 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
|
108 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
|
109 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
|
110 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
|
111 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 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
|
121 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
|
122 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 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
|
129 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
|
130 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
|
131 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
|
132 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 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
|
138 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
|
139 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 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
|
145 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
|
146 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
|
147 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
|
148 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
|
149 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
|
150 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
|
151 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
|
152 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
|
153 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
|
154 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
|
155 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
|
156 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
|
157 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
|
158 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
|
159 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
|
160 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
|
161 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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 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
|
173 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
|
174 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
|
175 /* 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
|
176 /* 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
|
177 default: keyname = "<unknown>"; break; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
178 } |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
179 return keyname; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
180 } |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
181 |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
182 char *resolve_keymodifiers( int mask ) |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
183 { |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
184 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
|
185 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
|
186 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
|
187 return "KC_CTRL KC_SHIFT"; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
188 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
|
189 return "KC_CTRL KC_ALT"; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
190 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
|
191 return "KC_SHIFT KC_ALT"; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
192 else if ( (mask & KC_SHIFT) ) |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
193 return "KC_SHIFT"; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
194 else if ( (mask & KC_CTRL) ) |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
195 return "KC_CTRL"; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
196 else if ( (mask & KC_ALT) ) |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
197 return "KC_ALT"; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
198 else return "none"; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
199 } |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
200 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
201 /* 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
|
202 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
|
203 { |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
204 HPIXMAP hpm; |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
205 int width,height; |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
206 |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
207 if ( hwnd == textbox1 ) |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
208 hpm = text1pm; |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
209 else if ( hwnd == textbox2 ) |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
210 hpm = text2pm; |
266
5c5bee286d0e
Fixed some warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
257
diff
changeset
|
211 else |
5c5bee286d0e
Fixed some warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
257
diff
changeset
|
212 return TRUE; |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
213 |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
214 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
|
215 height = DW_PIXMAP_HEIGHT(hpm); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
216 |
289
0e6f09149eaa
Fixed some EMX warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
284
diff
changeset
|
217 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
|
218 dw_flush(); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
219 return TRUE; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
220 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
221 |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
222 void read_file( void ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
223 { |
219
79968cf0f3b3
Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
218
diff
changeset
|
224 int i,len; |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
225 fp = fopen( current_file, "r" ); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
226 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
|
227 /* should test for out of memory */ |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
228 max_linewidth=0; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
229 for ( i = 0; i < 1000; i++ ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
230 { |
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
|
231 lp[i] = (char *)calloc(1, 1025); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
232 if ( fgets( lp[i], 1024, fp ) == NULL ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
233 break; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
234 len = strlen( lp[i] ); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
235 if ( len > max_linewidth ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
236 max_linewidth = len; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
237 if ( lp[i][len - 1] == '\n' ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
238 lp[i][len - 1] = '\0'; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
239 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
240 num_lines = i; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
241 fclose( fp ); |
218
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
242 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
|
243 dw_scrollbar_set_pos(hscrollbar, 0); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
244 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
|
245 dw_scrollbar_set_pos(vscrollbar, 0); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
246 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
247 |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
248 void draw_file( int row, int col ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
249 { |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
250 char buf[10]; |
380
fcb52d773ed2
Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
378
diff
changeset
|
251 int i,y,fileline; |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
252 char *pLine; |
226
2aee0b23e880
Removed unnecessary fprintf() statements.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
225
diff
changeset
|
253 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
254 if ( current_file ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
255 { |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
256 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
|
257 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
|
258 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
|
259 |
229
4166c18586e5
Fixed number of lines calculation in configure_event() taking into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
227
diff
changeset
|
260 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
|
261 { |
380
fcb52d773ed2
Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
378
diff
changeset
|
262 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
|
263 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
|
264 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
|
265 dw_color_foreground_set( fileline % 16 ); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
266 sprintf( buf, "%6.6d", i+row ); |
289
0e6f09149eaa
Fixed some EMX warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
284
diff
changeset
|
267 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
|
268 pLine = lp[i+row]; |
289
0e6f09149eaa
Fixed some EMX warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
284
diff
changeset
|
269 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
|
270 } |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
271 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
|
272 text_expose( textbox2, NULL, NULL); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
273 } |
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 |
391
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
276 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
|
277 { |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
278 if(cursor_arrow) |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
279 { |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
280 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
|
281 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
|
282 cursor_arrow = 0; |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
283 } |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
284 else |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
285 { |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
286 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
|
287 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
|
288 cursor_arrow = 1; |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
289 } |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
290 return FALSE; |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
291 } |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
292 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
293 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
|
294 { |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
295 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
|
296 return TRUE; |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
297 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
298 |
267
bf8b907f8a29
Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
266
diff
changeset
|
299 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
|
300 { |
297
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
301 char tmpbuf[100]; |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
302 if ( ch ) |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
303 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
|
304 else |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
305 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
|
306 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
|
307 return 0; |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
308 } |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
309 |
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
|
310 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
|
311 { |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
312 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
|
313 exit(0); |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
314 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
|
315 } |
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
|
316 |
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
|
317 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
|
318 { |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
319 dw_window_destroy((HWND)data); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
320 if ( current_file ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
321 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
|
322 exit(0); |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
323 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
|
324 } |
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
|
325 |
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
|
326 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
|
327 { |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
328 char *tmp; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
329 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
|
330 if ( tmp ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
331 { |
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
|
332 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
|
333 { |
a3775f5b877f
Only free current_file when we have a new file selected to show.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
229
diff
changeset
|
334 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
|
335 } |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
336 current_file = tmp; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
337 dw_window_set_text( entryfield, current_file ); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
338 read_file(); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
339 draw_file(0,0); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
340 } |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
341 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
|
342 } |
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
|
343 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
344 /* 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
|
345 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
|
346 { |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
347 if(data) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
348 { |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
349 HWND stext = (HWND)data; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
350 char tmpbuf[100]; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
351 if ( hwnd == vscrollbar ) |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
352 { |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
353 current_row = value; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
354 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
355 else |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
356 { |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
357 current_col = value; |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
358 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
359 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
|
360 dw_window_set_text(stext, tmpbuf); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
361 draw_file( current_row, current_col); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
362 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
363 } |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
364 |
218
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
365 /* 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
|
366 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
|
367 { |
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
|
368 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
|
369 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
|
370 |
385
761e5fddffca
Remove font_gap to make testing of render box drawing simpler.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
380
diff
changeset
|
371 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
|
372 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
|
373 |
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
374 /* 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
|
375 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
|
376 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
|
377 |
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
378 /* 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
|
379 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
|
380 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
|
381 |
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
382 /* 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
|
383 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
|
384 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
|
385 |
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
386 /* Redraw the window */ |
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
387 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
|
388 return TRUE; |
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
diff
changeset
|
389 } |
fe0ab0040ba2
Not quite right yet but... handle resize and pixmap resizing.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
217
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 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
|
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 |
324
c13312a6b8dc
Clean up an errant printf().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
323
diff
changeset
|
396 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
|
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 |
311
24c1dfffe97e
Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
310
diff
changeset
|
401 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
|
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_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
|
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 |
311
24c1dfffe97e
Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
310
diff
changeset
|
411 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
|
412 { |
311
24c1dfffe97e
Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
310
diff
changeset
|
413 char buf[200]; |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
414 HWND statline = (HWND)data; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
415 |
313
a3dee031d27e
Cleaned up unix warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
312
diff
changeset
|
416 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
|
417 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
|
418 return 0; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
419 } |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
420 |
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
|
421 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
|
422 { |
311
24c1dfffe97e
Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
310
diff
changeset
|
423 char buf[200]; |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
424 HWND statline = (HWND)data; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
425 |
313
a3dee031d27e
Cleaned up unix warnings.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
312
diff
changeset
|
426 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
|
427 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
|
428 return 0; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
429 } |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
430 |
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
|
431 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
|
432 { |
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
|
433 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
|
434 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
|
435 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
|
436 |
349
5d3f2e2dcc6b
Add CRLF to lines displayed in MLE.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
348
diff
changeset
|
437 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
|
438 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
|
439 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
|
440 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
|
441 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
|
442 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
|
443 { |
349
5d3f2e2dcc6b
Add CRLF to lines displayed in MLE.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
348
diff
changeset
|
444 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
|
445 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
|
446 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
|
447 } |
350
2216e65ad2ae
Removed slider flags and container selection flags from the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
349
diff
changeset
|
448 /* 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
|
449 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
|
450 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
|
451 } |
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
|
452 |
346
81fae15885d7
Implemented switch-page on OS/2, and changed the signal prototype to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
336
diff
changeset
|
453 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
|
454 { |
346
81fae15885d7
Implemented switch-page on OS/2, and changed the signal prototype to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
336
diff
changeset
|
455 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
|
456 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
|
457 fclose(fp); |
333
b6491cefa512
Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
328
diff
changeset
|
458 return 0; |
b6491cefa512
Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
328
diff
changeset
|
459 } |
b6491cefa512
Add test for switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
328
diff
changeset
|
460 |
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 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
|
462 { |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
463 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
|
464 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
465 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
|
466 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
467 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
|
468 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
469 /* Archive Name */ |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
470 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
|
471 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
472 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
|
473 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
474 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
|
475 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
476 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
|
477 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
478 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
|
479 |
378
12b3980a41a2
Reverted a test change I accidentally committed.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
377
diff
changeset
|
480 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
|
481 |
308
f844a07c5915
Get it working on OS/2. :)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
305
diff
changeset
|
482 dw_entryfield_set_limit(entryfield, 260); |
f844a07c5915
Get it working on OS/2. :)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
305
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(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
|
485 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
486 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
|
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(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
|
489 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
490 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
|
491 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
|
492 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
493 /* Buttons */ |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
494 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
|
495 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
496 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
|
497 |
391
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
498 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
|
499 |
2059f18e9c20
Add extra button to test mouse cursor change.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
385
diff
changeset
|
500 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
|
501 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
502 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
|
503 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
504 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
|
505 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
506 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
|
507 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
508 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
|
509 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
510 /* 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
|
511 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
|
512 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
|
513 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
|
514 |
311
24c1dfffe97e
Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
310
diff
changeset
|
515 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
|
516 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
|
517 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
|
518 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
|
519 } |
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
|
520 |
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
|
521 |
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
|
522 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
|
523 { |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
524 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
|
525 HWND vscrollbox; |
213
f8b50901ac45
Added verticle scrollbar test to the sample.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
207
diff
changeset
|
526 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
527 /* 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
|
528 pagebox = dw_box_new(BOXHORZ, 2); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
529 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
|
530 /* now a status area under this box */ |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
531 status = dw_status_text_new("", 0); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
532 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
|
533 /* and another one */ |
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
534 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
|
535 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
|
536 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
537 /* 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
|
538 textbox1 = dw_render_new( 100 ); |
219
79968cf0f3b3
Choose a nice font. ;)
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
218
diff
changeset
|
539 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
|
540 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
|
541 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
|
542 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
|
543 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
|
544 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
|
545 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
|
546 |
380
fcb52d773ed2
Implement tests for setting background color on render boxes.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
378
diff
changeset
|
547 /* 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
|
548 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
|
549 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
550 /* create box for filecontents and horz scrollbar */ |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
551 textboxA = dw_box_new( BOXVERT,0 ); |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
552 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
|
553 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
554 /* create render box for filecontents pixmap */ |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
555 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
|
556 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
|
557 dw_window_set_font(textbox2, FIXEDFONT); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
558 /* create horizonal scrollbar */ |
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
559 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
|
560 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
|
561 |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
562 /* create vertical scrollbar */ |
252
eab1540444b2
Make an empty space where the scrollbars meet.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
232
diff
changeset
|
563 vscrollbox = dw_box_new(BOXVERT, 0); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
564 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
|
565 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
|
566 /* 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
|
567 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
|
568 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
|
569 |
385
761e5fddffca
Remove font_gap to make testing of render box drawing simpler.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
380
diff
changeset
|
570 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
|
571 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
|
572 |
398
255a31a3a1f5
Change to dw_messagebox() call
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
391
diff
changeset
|
573 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
|
574 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
|
575 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
|
576 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
|
577 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
|
578 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
|
579 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
|
580 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
|
581 |
311
24c1dfffe97e
Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
310
diff
changeset
|
582 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
|
583 } |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
584 |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
585 void tree_add(void) |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
586 { |
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
|
587 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
|
588 |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
589 /* 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
|
590 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
|
591 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
|
592 |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
593 /* 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
|
594 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
|
595 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
|
596 |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
597 /* 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
|
598 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
|
599 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
|
600 |
297
5414d3d582e4
Add icons to tree items on page three.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
293
diff
changeset
|
601 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
|
602 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
|
603 |
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
|
604 /* 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
|
605 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
|
606 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
|
607 |
312
ff8f23594b15
Make sure itemdata is NULL for container callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
311
diff
changeset
|
608 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
|
609 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
|
610 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
|
611 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
|
612 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
|
613 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
|
614 } |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
615 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
616 void container_add(void) |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
617 { |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
618 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
|
619 char *names[3]; |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
620 char buffer[100]; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
621 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
|
622 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
|
623 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
|
624 void *containerinfo; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
625 int z; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
626 CTIME time; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
627 CDATE date; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
628 unsigned long size, thisicon; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
629 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
630 /* 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
|
631 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
|
632 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
|
633 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
634 /* 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
|
635 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
|
636 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
|
637 |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
638 /* 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
|
639 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
|
640 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
|
641 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
642 titles[0] = "Size"; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
643 titles[1] = "Time"; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
644 titles[2] = "Date"; |
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 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
|
647 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
|
648 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
649 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
|
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 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
|
652 /* 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
|
653 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
|
654 size = z*100; |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
655 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
|
656 if (z == 0 ) thisicon = foldericon; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
657 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
|
658 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
|
659 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
|
660 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
661 time.seconds = z+10; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
662 time.minutes = z+10; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
663 time.hours = z+10; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
664 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
|
665 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
666 date.day = z+10; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
667 date.month = z+10; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
668 date.year = z+2000; |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
669 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
|
670 |
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
|
671 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
|
672 } |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
673 |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
674 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
|
675 dw_container_optimize(container); |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
676 |
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
|
677 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
|
678 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
|
679 |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
680 /* 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
|
681 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
|
682 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
|
683 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
|
684 } |
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
|
685 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
686 /* Beep every second */ |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
687 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
|
688 { |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
689 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
|
690 |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
691 /* 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
|
692 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
|
693 } |
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
|
694 |
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 /* |
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
|
696 * 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
|
697 */ |
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
|
698 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
|
699 { |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
700 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
|
701 ULONG notebookpage2; |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
702 ULONG notebookpage3; |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
703 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
|
704 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
705 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
|
706 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
707 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
|
708 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
709 notebookbox = dw_box_new( BOXVERT, 5 ); |
217
7112c817573d
Added test code from mark hessling.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
213
diff
changeset
|
710 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
|
711 |
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
712 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
|
713 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
|
714 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
|
715 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
716 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
|
717 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
|
718 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
|
719 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
|
720 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
|
721 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
722 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
|
723 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
|
724 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
|
725 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
|
726 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
|
727 |
254
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
728 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
|
729 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
|
730 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
|
731 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
|
732 tree_add(); |
42332e598d55
Add third notebook page - for tree example. Just starting.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
253
diff
changeset
|
733 |
304
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
734 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
|
735 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
|
736 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
|
737 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
|
738 container_add(); |
c28c0a804442
Added extra notebook page for a container example.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
300
diff
changeset
|
739 |
311
24c1dfffe97e
Unified the callback functions for tree and container widgets.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
310
diff
changeset
|
740 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
|
741 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
|
742 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
|
743 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
|
744 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
|
745 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
746 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
|
747 |
195
b023d363fc09
Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
193
diff
changeset
|
748 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
|
749 } |
437
903fb3085d42
More MacOS fixes, make install now works properly. Made special test
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
398
diff
changeset
|
750 #endif |