Project

General

Profile

mouse.p

Igor Skornyakov, 12/01/2015 06:52 AM

Download (6.06 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.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
DEF VAR hcw AS HANDLE.
184
DEF VAR hcwn AS HANDLE.
185

    
186
ON ENTRY ANYWHERE DO:
187
	hcwn = LAST-EVENT:WIDGET-ENTER.
188
	IF hcwn ne ? THEN DO:
189
		IF (hcwn:TYPE ne "COMBO-BOX") OR (hcwn:NAME eq "cb") THEN DO:
190
			message "Entered:" hcwn:TYPE hcwn:NAME "MOUSE-POINTER: [" + hcwn:MOUSE-POINTER + "]".
191
			hcw = hcwn.
192
		END. 
193
	END.
194
END.
195

    
196
DEF VAR c AS CHARACTER NO-UNDO.
197
DEF VAR cf AS CHARACTER NO-UNDO.
198
DEF VAR cw AS CHARACTER NO-UNDO.
199

    
200
ON  VALUE-CHANGED OF cur IN FRAME fr DO:
201
	c = cur:SCREEN-VALUE.
202
	IF hcw ne ? THEN DO:
203
		message "new cursor:" c "loaded:" hcw:LOAD-MOUSE-POINTER(c) hcw:TYPE + "(" + hcw:NAME + "):MOUSE-POINTER:[" + hcw:MOUSE-POINTER + "]".
204
	END.
205
END.
206

    
207
ON  VALUE-CHANGED OF fcur IN FRAME fr DO:
208
	cf = fcur:SCREEN-VALUE.
209
	message "new frame cursor:" cf "loaded:" FRAME fr:LOAD-MOUSE-POINTER(cf) "FRAME fr:MOUSE-POINTER:[" + FRAME fr:MOUSE-POINTER + "]".
210
END.
211

    
212
ON  VALUE-CHANGED OF wcur IN FRAME fr DO:
213
	cw = wcur:SCREEN-VALUE.
214
	message "new window cursor:" c "loaded:" hw:LOAD-MOUSE-POINTER(cw) "hw:MOUSE-POINTER:[" + hw:MOUSE-POINTER + "]".
215
END.
216

    
217
ON "CTRL-X" ANYWHERE DO: 
218
	IF hcw ne ? THEN DO:
219
		message "DISABLING" hcw:TYPE + "(" + hcw:NAME + ")".
220
		hcw:SENSITIVE = false.
221
	END.
222
END.
223

    
224
ON "CTRL-Y" ANYWHERE DO: 
225
	IF hcw ne ? THEN DO:
226
		message "ENABLING" hcw:TYPE + "(" + hcw:NAME + ")".
227
		hcw:SENSITIVE = true.
228
	END.
229
END.
230

    
231
ON "CTRL-A" ANYWHERE DO: 
232
	IF hcw ne ? THEN DO:
233
		message 
234
		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 hw 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 hw.