Project

General

Profile

mouse.p

Igor Skornyakov, 12/01/2015 09:05 AM

Download (6.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.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.