Project

General

Profile

mouse.p

Igor Skornyakov, 02/25/2016 06:40 AM

Download (7.1 KB)

 
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",
25
	"Busy.cur",
26
	"blkglitwrkbgnd.ani",
27
	"Hand-Cursor.ico",
28
	"XBusy.cur".
29

    
30
DEF VAR fcur AS CHARACTER FORMAT "X(60)" NO-UNDO VIEW-AS COMBO-BOX
31
LIST-ITEMS
32
   " ",
33
	"APPSTARTING   ",
34
	"ARROW",
35
	"CROSS",
36
	"HELP",
37
	"IBEAM",
38
	"NO",
39
	"RECTANGLE",
40
	"SIZE",
41
	"SIZE-E",
42
	"SIZE-N",
43
	"SIZE-NE",
44
	"SIZE-NW",
45
	"SIZE-S",
46
	"SIZE-SE",
47
	"SIZE-SW",
48
	"SIZE-W",
49
	"UPARROW",
50
	"WAIT",
51
	"GLOVE",
52
	"COMPILER-WAIT",
53
	"Busy.cur",
54
	"Graphicloads-Colorful-Long-Shadow-Hand-thumbs-up-3.ico",
55
	"Hand-Cursor.ico",
56
	"Hand-icon.png",
57
	"Icons8-Windows-8-Very-Basic-Hand-Cursor.ico",
58
	"Iconshock-Real-Vista-Construction-Hand-driller.ico",
59
	"Iconsmind-Outline-Hand.icns",
60
	"Iconsmind-Outline-Hand.ico".
61

    
62
DEF VAR wcur AS CHARACTER FORMAT "X(20)" NO-UNDO VIEW-AS COMBO-BOX
63
LIST-ITEMS
64
   " ",
65
	"APPSTARTING   ",
66
	"ARROW",
67
	"CROSS",
68
	"HELP",
69
	"IBEAM",
70
	"NO",
71
	"RECTANGLE",
72
	"SIZE",
73
	"SIZE-E",
74
	"SIZE-N",
75
	"SIZE-NE",
76
	"SIZE-NW",
77
	"SIZE-S",
78
	"SIZE-SE",
79
	"SIZE-SW",
80
	"SIZE-W",
81
	"UPARROW",
82
	"WAIT",
83
	"GLOVE",
84
	"COMPILER-WAIT",
85
	"Busy.cur",
86
	"XBusy.cur".
87
/*
88
DEF TEMP-TABLE tt FIELD f1 AS INTEGER
89
                  FIELD f2 AS logical
90
                  FIELD f3 AS CHARACTER
91
                  FIELD f4 AS CHARACTER
92
                  FIELD f5 AS CHARACTER. 
93
                     
94
CREATE tt. tt.f1 = 1. tt.f2 = true. tt.f3 = "test-f3 1". tt.f4 = "test-f4 1". tt.f5 = "test-f5 1".
95
CREATE tt. tt.f1 = 2. tt.f2 = true. tt.f3 = "test-f3 2". tt.f4 = "test-f4 2". tt.f5 = "test-f5 2". 
96
CREATE tt. tt.f1 = 3. tt.f2 = true. tt.f3 = "test-f3 3". tt.f4 = "test-f4 3". tt.f5 = "test-f5 3". 
97
CREATE tt. tt.f1 = 4. tt.f2 = true. tt.f3 = "test-f3 4". tt.f4 = "test-f4 4". tt.f5 = "test-f5 4". 
98

    
99
DEFINE QUERY q FOR tt SCROLLING.
100

    
101

    
102
DEF BROWSE br QUERY q 
103
DISPLAY tt.f1 WIDTH 8
104
		tt.f2 /*VIEW-AS TOGGLE-BOX*/ WIDTH 8
105
		tt.f3 WIDTH 8
106
		tt.f4 WIDTH 8 /*VIEW-AS COMBO-BOX LIST-ITEMS "item1", "item2", "item3"*/
107
		tt.f5 WIDTH 8
108

    
109
ENABLE  tt.f1 
110
		tt.f2 
111
		tt.f3  
112
		tt.f4
113
WITH 4 DOWN TITLE "Static browse".
114
*/
115

    
116
DEF BUTTON btn LABEL "Button".
117

    
118
DEF VAR ed AS CHARACTER VIEW-AS EDITOR INNER-CHARS 20  INNER-LINES 4 LABEL "Editor".
119
DEF VAR fi AS CHARACTER FORMAT "X(10)" VIEW-AS FILL-IN BGCOLOR 3 LABEL "Fill-In".
120
DEF VAR fi1 AS CHARACTER FORMAT "X(10)" VIEW-AS FILL-IN LABEL "Fill-In".
121
DEF VAR tb AS LOGICAL VIEW-AS TOGGLE-BOX LABEL "toggle-box".
122

    
123
DEF VAR cb AS CHARACTER VIEW-AS COMBO-BOX
124
	SIZE 20 BY 1
125
	LIST-ITEM-PAIRS "L1", "V1", "L2" ,"V2", "L3", "V3", "L4", "V4", "L5", "V5".
126

    
127
DEF VAR cb1 AS CHARACTER VIEW-AS COMBO-BOX SIMPLE
128
	SIZE 20 BY 4
129
	LIST-ITEM-PAIRS "L1", "V1", "L2" ,"V2", "L3", "V3", "L4", "V4", "L5", "V5".
130

    
131
DEF VAR cb2 AS CHARACTER VIEW-AS COMBO-BOX DROP-DOWN
132
	SIZE 20 BY 1
133
	LIST-ITEM-PAIRS "L1", "V1", "L2" ,"V2", "L3", "V3", "L4", "V4", "L5", "V5".
134

    
135
DEF VAR rs AS CHARACTER FORMAT "X(10)" VIEW-AS RADIO-SET
136
        RADIO-BUTTONS "L1", "V1", "L2", "V2", "L3", "V3", "L4", "V4", "L5", "V5".
137

    
138
DEF VAR sl AS CHARACTER FORMAT "X(10)" VIEW-AS SELECTION-LIST
139
    INNER-CHARS 12
140
    INNER-LINES 4
141
	LIST-ITEM-PAIRS "L1", "V1", "L2" ,"V2", "L3", "V3", "L4", "V4", "L5", "V5".
142

    
143
DEF VAR sldr AS INTEGER VIEW-AS SLIDER
144
	MAX-VALUE 25
145
    MIN-VALUE 1
146
    TIC-MARKS top
147
    FREQUENCY 1.
148
/*
149
DEF VAR hs AS HANDLE.
150
CREATE SLIDER hs ASSIGN
151
	MAX-VALUE = 25
152
    MIN-VALUE = 1
153
    VISIBLE = TRUE
154
    TIC-MARKS = "top"
155
    FREQUENCY = 1
156
.
157

    
158
DEF VAR hfr AS HANDLE.
159
CREATE FRAME hfr ASSIGN
160
        WIDTH-CHARS = 30
161
        HEIGHT-CHARS = 5
162
        TITLE = "Embedded frame"
163
.
164

    
165
hs:FRAME = hfr.
166
hs:SENSITIVE = TRUE.
167
*/
168

    
169
DEF FRAME fr 
170
	cur wcur SKIP(1)
171
	fcur SKIP(1)
172
	/*br SKIP(1)*/
173
	rs sl ed SKIP(1)
174
	cb cb1 cb2 SKIP(1)
175
	btn  sldr  SKIP(1) 
176
	fi fi1 SKIP(1)
177
	tb
178
WITH TITLE "Frame" SIDE-LABELS SIZE 100 BY 25.
179

    
180
/*
181
OPEN QUERY q FOR EACH tt.
182
*/
183
/*
184
hfr:ROW = tb:ROW IN FRAME fr.
185
hfr:COLUMN = tb:ROW IN FRAME fr + 20.
186
hfr:FRAME = FRAME fr:HANDLE.
187
*/
188

    
189
DEF VAR hw AS HANDLE.
190

    
191
CREATE WINDOW hw ASSIGN 
192
	WIDTH-CHARS = 120
193
	HEIGHT-CHARS = 27
194
	TITLE = "Window".
195

    
196
VIEW FRAME fr IN WINDOW hw.
197

    
198
DEF VAR hcw AS HANDLE.
199
DEF VAR hcwn AS HANDLE.
200

    
201
ON ENTRY ANYWHERE DO:
202
	hcwn = LAST-EVENT:WIDGET-ENTER.
203
	IF hcwn ne ? THEN DO:
204
		IF (hcwn:TYPE ne "COMBO-BOX") OR (hcwn:NAME eq "cb") OR (hcwn:NAME eq "cb1") OR (hcwn:NAME eq "cb2") THEN DO:
205
			message "Entered:" hcwn:TYPE hcwn:NAME "MOUSE-POINTER: [" + hcwn:MOUSE-POINTER + "]" IN WINDOW hw.
206
			IF (hcwn:TYPE ne "WINDOW") AND (hcwn:TYPE ne "FRAME") THEN DO:
207
				hcw = hcwn.
208
			END.
209
		END. 
210
	END.
211
END.
212

    
213
DEF VAR c AS CHARACTER NO-UNDO.
214
DEF VAR cf AS CHARACTER NO-UNDO.
215
DEF VAR cw AS CHARACTER NO-UNDO.
216

    
217
ON  VALUE-CHANGED OF cur IN FRAME fr DO:
218
	c = cur:SCREEN-VALUE.
219
	IF hcw ne ? THEN DO:
220
		message "new cursor:" c "loaded:" hcw:LOAD-MOUSE-POINTER(c) hcw:TYPE + "(" + hcw:NAME + "):MOUSE-POINTER:[" + hcw:MOUSE-POINTER + "]" IN WINDOW hw.
221
	END.
222
END.
223

    
224
ON  VALUE-CHANGED OF fcur IN FRAME fr DO:
225
	cf = fcur:SCREEN-VALUE.
226
	message "new frame cursor:" cf "loaded:" FRAME fr:LOAD-MOUSE-POINTER(cf) "FRAME fr:MOUSE-POINTER:[" + FRAME fr:MOUSE-POINTER + "]" IN WINDOW hw.
227
END.
228

    
229
ON  VALUE-CHANGED OF wcur IN FRAME fr DO:
230
	cw = wcur:SCREEN-VALUE.
231
	message "new window cursor:" cw "loaded:" hw:LOAD-MOUSE-POINTER(cw) "hw:MOUSE-POINTER:[" + hw:MOUSE-POINTER + "]" IN WINDOW hw.
232
END.
233

    
234
ON "CTRL-X" ANYWHERE DO: 
235
	IF hcw ne ? THEN DO:
236
		message "DISABLING" hcw:TYPE + "(" + hcw:NAME + ")" IN WINDOW hw.
237
		hcw:SENSITIVE = false.
238
	END.
239
END.
240

    
241
ON "CTRL-Y" ANYWHERE DO: 
242
	IF hcw ne ? THEN DO:
243
		message "ENABLING" hcw:TYPE + "(" + hcw:NAME + ")" IN WINDOW hw.
244
		hcw:SENSITIVE = true.
245
	END.
246
END.
247

    
248
ON "CTRL-A" ANYWHERE DO: 
249
	IF hcw ne ? THEN DO:
250
		message hcw:TYPE  "("  hcw:NAME  "):MOUSE-POINTER:["  hcw:MOUSE-POINTER  "]" IN WINDOW hw.
251
	END.
252
END.
253

    
254
/*
255
ON "CTRL-B" ANYWHERE DO: 
256
	message "new embedded frame cursor:" cf "loaded:" hfr:LOAD-MOUSE-POINTER(cf) "hfr:MOUSE-POINTER:[" + hfr:MOUSE-POINTER + "]" IN WINDOW hw.
257
END.
258
*/
259

    
260
ON "CTRL-D" ANYWHERE DO: 
261
	IF hcw ne ? THEN DO:
262
		message "new cursor:" c "loaded:" hcw:LOAD-MOUSE-POINTER(c) hcw:TYPE + "(" + hcw:NAME + "):MOUSE-POINTER:[" + hcw:MOUSE-POINTER + "]" IN WINDOW hw.
263
	END.
264
END.
265

    
266
DEF VAR mptr AS CHARACTER.
267
mptr = "GENERal".
268

    
269
ON "CTRL-W" ANYWHERE DO: 
270
/*
271
        message "SET-WAIT-STATE will be initiated in 5 seconds" IN WINDOW hw.
272
        WAIT-FOR ENDKEY OF hw PAUSE 5.
273
*/
274
        message "10 sec pause started" mptr SESSION:SET-WAIT-STATE(mptr) SESSION:GET-WAIT-STATE() IN WINDOW hw.
275
        WAIT-FOR ENDKEY OF hw PAUSE 10.
276
        message "10 sec pause ended" SESSION:SET-WAIT-STATE("") IN WINDOW hw.
277
END.
278

    
279
ON "CTRL-U" ANYWHERE DO: 
280
	ENABLE fi WITH FRAME fr IN WINDOW hw.
281
    message "fi enabled" IN WINDOW hw.
282
END.
283

    
284
ON "CTRL-V" ANYWHERE DO: 
285
	DISABLE fi WITH FRAME fr.
286
   	message "fi diabled" IN WINDOW hw.
287
END.
288

    
289
ENABLE ALL WITH FRAME fr IN WINDOW hw.
290
WAIT-FOR WINDOW-CLOSE OF hw.