1
|
DEF VAR cur AS CHARACTER FORMAT "X(20)" NO-UNDO VIEW-AS COMBO-BOX
|
2
|
LIST-ITEMS
|
3
|
" ",
|
4
|
"APPSTARTING ",
|
5
|
"ARROW",
|
6
|
"CROSS",
|
7
|
"HELP",
|
8
|
"IBEAM",
|
9
|
"NO",
|
10
|
"RECTANGLE",
|
11
|
"SIZE",
|
12
|
"SIZE-E",
|
13
|
"SIZE-N",
|
14
|
"SIZE-NE",
|
15
|
"SIZE-NW",
|
16
|
"SIZE-S",
|
17
|
"SIZE-SE",
|
18
|
"SIZE-SW",
|
19
|
"SIZE-W",
|
20
|
"UPARROW",
|
21
|
"WAIT",
|
22
|
"GLOVE",
|
23
|
"COMPILER-WAIT",
|
24
|
"Busy.cur",
|
25
|
"blkglitwrkbgnd.ani",
|
26
|
"Hand-Cursor.ico",
|
27
|
"XBusy.cur".
|
28
|
|
29
|
DEF VAR fcur AS CHARACTER FORMAT "X(60)" NO-UNDO VIEW-AS COMBO-BOX
|
30
|
LIST-ITEMS
|
31
|
" ",
|
32
|
"APPSTARTING ",
|
33
|
"ARROW",
|
34
|
"CROSS",
|
35
|
"HELP",
|
36
|
"IBEAM",
|
37
|
"NO",
|
38
|
"RECTANGLE",
|
39
|
"SIZE",
|
40
|
"SIZE-E",
|
41
|
"SIZE-N",
|
42
|
"SIZE-NE",
|
43
|
"SIZE-NW",
|
44
|
"SIZE-S",
|
45
|
"SIZE-SE",
|
46
|
"SIZE-SW",
|
47
|
"SIZE-W",
|
48
|
"UPARROW",
|
49
|
"WAIT",
|
50
|
"GLOVE",
|
51
|
"COMPILER-WAIT",
|
52
|
"Busy.cur",
|
53
|
"Graphicloads-Colorful-Long-Shadow-Hand-thumbs-up-3.ico",
|
54
|
"Hand-Cursor.ico",
|
55
|
"Hand-icon.png",
|
56
|
"Icons8-Windows-8-Very-Basic-Hand-Cursor.ico",
|
57
|
"Iconshock-Real-Vista-Construction-Hand-driller.ico",
|
58
|
"Iconsmind-Outline-Hand.icns",
|
59
|
"Iconsmind-Outline-Hand.ico".
|
60
|
|
61
|
DEF VAR wcur AS CHARACTER FORMAT "X(20)" NO-UNDO VIEW-AS COMBO-BOX
|
62
|
LIST-ITEMS
|
63
|
" ",
|
64
|
"APPSTARTING ",
|
65
|
"ARROW",
|
66
|
"CROSS",
|
67
|
"HELP",
|
68
|
"IBEAM",
|
69
|
"NO",
|
70
|
"RECTANGLE",
|
71
|
"SIZE",
|
72
|
"SIZE-E",
|
73
|
"SIZE-N",
|
74
|
"SIZE-NE",
|
75
|
"SIZE-NW",
|
76
|
"SIZE-S",
|
77
|
"SIZE-SE",
|
78
|
"SIZE-SW",
|
79
|
"SIZE-W",
|
80
|
"UPARROW",
|
81
|
"WAIT",
|
82
|
"GLOVE",
|
83
|
"COMPILER-WAIT",
|
84
|
"Busy.cur",
|
85
|
"XBusy.cur".
|
86
|
/*
|
87
|
DEF TEMP-TABLE tt FIELD f1 AS INTEGER
|
88
|
FIELD f2 AS logical
|
89
|
FIELD f3 AS CHARACTER
|
90
|
FIELD f4 AS CHARACTER
|
91
|
FIELD f5 AS CHARACTER.
|
92
|
|
93
|
CREATE tt. tt.f1 = 1. tt.f2 = true. tt.f3 = "test-f3 1". tt.f4 = "test-f4 1". tt.f5 = "test-f5 1".
|
94
|
CREATE tt. tt.f1 = 2. tt.f2 = true. tt.f3 = "test-f3 2". tt.f4 = "test-f4 2". tt.f5 = "test-f5 2".
|
95
|
CREATE tt. tt.f1 = 3. tt.f2 = true. tt.f3 = "test-f3 3". tt.f4 = "test-f4 3". tt.f5 = "test-f5 3".
|
96
|
CREATE tt. tt.f1 = 4. tt.f2 = true. tt.f3 = "test-f3 4". tt.f4 = "test-f4 4". tt.f5 = "test-f5 4".
|
97
|
|
98
|
DEFINE QUERY q FOR tt SCROLLING.
|
99
|
|
100
|
DEF BROWSE br QUERY q
|
101
|
DISPLAY tt.f1
|
102
|
tt.f2 /*VIEW-AS TOGGLE-BOX*/
|
103
|
tt.f3
|
104
|
tt.f4 /*VIEW-AS COMBO-BOX LIST-ITEMS "item1", "item2", "item3"*/
|
105
|
tt.f5
|
106
|
ENABLE tt.f1
|
107
|
tt.f2
|
108
|
tt.f3
|
109
|
tt.f4
|
110
|
WITH 4 DOWN TITLE "Static browse".
|
111
|
*/
|
112
|
|
113
|
DEF BUTTON btn LABEL "Button".
|
114
|
|
115
|
DEF VAR ed AS CHARACTER VIEW-AS EDITOR INNER-CHARS 20 INNER-LINES 4 LABEL "Editor".
|
116
|
DEF VAR fi AS CHARACTER FORMAT "X(10)" VIEW-AS FILL-IN BGCOLOR 3 LABEL "Fill-In".
|
117
|
DEF VAR fi1 AS CHARACTER FORMAT "X(10)" VIEW-AS FILL-IN LABEL "Fill-In".
|
118
|
DEF VAR tb AS LOGICAL VIEW-AS TOGGLE-BOX LABEL "toggle-box".
|
119
|
|
120
|
DEF VAR cb AS CHARACTER VIEW-AS COMBO-BOX
|
121
|
SIZE 20 BY 1
|
122
|
LIST-ITEM-PAIRS "L1", "V1", "L2" ,"V2", "L3", "V3", "L4", "V4", "L5", "V5".
|
123
|
|
124
|
DEF VAR rs AS CHARACTER FORMAT "X(10)" VIEW-AS RADIO-SET
|
125
|
RADIO-BUTTONS "L1", "V1", "L2", "V2", "L3", "V3", "L4", "V4", "L5", "V5".
|
126
|
|
127
|
DEF VAR sl AS CHARACTER FORMAT "X(10)" VIEW-AS SELECTION-LIST
|
128
|
INNER-CHARS 12
|
129
|
INNER-LINES 4
|
130
|
LIST-ITEM-PAIRS "L1", "V1", "L2" ,"V2", "L3", "V3", "L4", "V4", "L5", "V5".
|
131
|
/*
|
132
|
DEF VAR sldr AS INTEGER VIEW-AS SLIDER
|
133
|
MAX-VALUE 25
|
134
|
MIN-VALUE 1
|
135
|
TIC-MARKS top
|
136
|
FREQUENCY 1.
|
137
|
|
138
|
DEF VAR hs AS HANDLE.
|
139
|
CREATE SLIDER hs ASSIGN
|
140
|
MAX-VALUE = 25
|
141
|
MIN-VALUE = 1
|
142
|
VISIBLE = TRUE
|
143
|
TIC-MARKS = "top"
|
144
|
FREQUENCY = 1
|
145
|
.
|
146
|
|
147
|
DEF VAR hfr AS HANDLE.
|
148
|
CREATE FRAME hfr ASSIGN
|
149
|
WIDTH-CHARS = 30
|
150
|
HEIGHT-CHARS = 5
|
151
|
TITLE = "Embedded frame"
|
152
|
.
|
153
|
|
154
|
hs:FRAME = hfr.
|
155
|
hs:SENSITIVE = TRUE.
|
156
|
*/
|
157
|
|
158
|
DEF FRAME fr
|
159
|
cur fcur wcur SKIP(1)
|
160
|
/* br SKIP(1) */
|
161
|
ed cb rs sl SKIP(1)
|
162
|
btn /* sldr SKIP(1) */
|
163
|
fi fi1 SKIP(1)
|
164
|
tb
|
165
|
WITH TITLE "Frame" SIDE-LABELS SIZE 100 BY 30 /*{&dlg}*/.
|
166
|
/*
|
167
|
OPEN QUERY q FOR EACH tt.
|
168
|
|
169
|
hfr:ROW = tb:ROW IN FRAME fr.
|
170
|
hfr:COLUMN = tb:ROW IN FRAME fr + 20.
|
171
|
hfr:FRAME = FRAME fr:HANDLE.
|
172
|
|
173
|
|
174
|
DEF VAR hw AS HANDLE.
|
175
|
|
176
|
CREATE WINDOW hw ASSIGN
|
177
|
WIDTH-CHARS = 120
|
178
|
HEIGHT-CHARS = 40
|
179
|
TITLE = "Window".
|
180
|
|
181
|
VIEW FRAME fr IN WINDOW hw.
|
182
|
*/
|
183
|
|
184
|
DEF VAR hcw AS HANDLE.
|
185
|
DEF VAR hcwn AS HANDLE.
|
186
|
|
187
|
ON ENTRY ANYWHERE DO:
|
188
|
hcwn = LAST-EVENT:WIDGET-ENTER.
|
189
|
IF hcwn ne ? THEN DO:
|
190
|
IF (hcwn:TYPE ne "COMBO-BOX") OR (hcwn:NAME eq "cb") THEN DO:
|
191
|
message "Entered:" hcwn:TYPE hcwn:NAME "MOUSE-POINTER: [" + hcwn:MOUSE-POINTER + "]".
|
192
|
hcw = hcwn.
|
193
|
END.
|
194
|
END.
|
195
|
END.
|
196
|
|
197
|
DEF VAR c AS CHARACTER NO-UNDO.
|
198
|
DEF VAR cf AS CHARACTER NO-UNDO.
|
199
|
DEF VAR cw AS CHARACTER NO-UNDO.
|
200
|
|
201
|
ON VALUE-CHANGED OF cur IN FRAME fr DO:
|
202
|
c = cur:SCREEN-VALUE.
|
203
|
IF hcw ne ? THEN DO:
|
204
|
message "new cursor:" c "loaded:" hcw:LOAD-MOUSE-POINTER(c) hcw:TYPE + "(" + hcw:NAME + "):MOUSE-POINTER:[" + hcw:MOUSE-POINTER + "]".
|
205
|
END.
|
206
|
END.
|
207
|
|
208
|
ON VALUE-CHANGED OF fcur IN FRAME fr DO:
|
209
|
cf = fcur:SCREEN-VALUE.
|
210
|
message "new frame cursor:" cf "loaded:" FRAME fr:LOAD-MOUSE-POINTER(cf) "FRAME fr:MOUSE-POINTER:[" + FRAME fr:MOUSE-POINTER + "]".
|
211
|
END.
|
212
|
|
213
|
ON VALUE-CHANGED OF wcur IN FRAME fr DO:
|
214
|
cw = wcur:SCREEN-VALUE.
|
215
|
message "new window cursor:" c "loaded:" DEFAULT-WINDOW:LOAD-MOUSE-POINTER(cw) "hw:MOUSE-POINTER:[" + DEFAULT-WINDOW:MOUSE-POINTER + "]".
|
216
|
END.
|
217
|
|
218
|
ON "CTRL-X" ANYWHERE DO:
|
219
|
IF hcw ne ? THEN DO:
|
220
|
message "DISABLING" hcw:TYPE + "(" + hcw:NAME + ")".
|
221
|
hcw:SENSITIVE = false.
|
222
|
END.
|
223
|
END.
|
224
|
|
225
|
ON "CTRL-Y" ANYWHERE DO:
|
226
|
IF hcw ne ? THEN DO:
|
227
|
message "ENABLING" hcw:TYPE + "(" + hcw:NAME + ")".
|
228
|
hcw:SENSITIVE = true.
|
229
|
END.
|
230
|
END.
|
231
|
|
232
|
ON "CTRL-A" ANYWHERE DO:
|
233
|
IF hcw ne ? THEN DO:
|
234
|
message hcw:TYPE "(" hcw:NAME "):MOUSE-POINTER:[" hcw:MOUSE-POINTER "]".
|
235
|
END.
|
236
|
END.
|
237
|
|
238
|
/*
|
239
|
ON "CTRL-B" ANYWHERE DO:
|
240
|
message "new embedded frame cursor:" cf "loaded:" hfr:LOAD-MOUSE-POINTER(cf) "hfr:MOUSE-POINTER:[" + hfr:MOUSE-POINTER + "]".
|
241
|
END.
|
242
|
*/
|
243
|
|
244
|
ON "CTRL-D" ANYWHERE DO:
|
245
|
IF hcw ne ? THEN DO:
|
246
|
message "new cursor:" c "loaded:" hcw:LOAD-MOUSE-POINTER(c) hcw:TYPE + "(" + hcw:NAME + "):MOUSE-POINTER:[" + hcw:MOUSE-POINTER + "]".
|
247
|
END.
|
248
|
END.
|
249
|
|
250
|
ON "CTRL-W" ANYWHERE DO:
|
251
|
SESSION:SET-WAIT-STATE("GENERAL").
|
252
|
message "10 sec pause started".
|
253
|
WAIT-FOR ENDKEY OF DEFAULT-WINDOW PAUSE 10.
|
254
|
message "10 sec pause ended".
|
255
|
SESSION:SET-WAIT-STATE("").
|
256
|
END.
|
257
|
|
258
|
ENABLE ALL WITH FRAME fr.
|
259
|
|
260
|
WAIT-FOR WINDOW-CLOSE OF DEFAULT-WINDOW.
|