Project

General

Profile

5937.p

Vladimir Tsichevski, 04/06/2022 05:49 PM

Download (4.4 KB)

 
1
/**
2
 * Test issues related to SELECTION-LIST
3
 */
4
/**
5
 * Request user for an item text and append item to the end of the list
6
 */
7
DEFINE BUTTON bAddItem LABEL "Add item...".
8

    
9
/**
10
 * Reload the current item list without changing it
11
 */
12
DEFINE BUTTON bReloadItems LABEL "Reload items".
13

    
14
/**
15
 *
16
 */
17
DEFINE BUTTON bPrint LABEL "Print".
18
DEFINE VARIABLE bMultiple AS LOGICAL NO-UNDO VIEW-AS TOGGLE-BOX LABEL "Multiple selection".
19
DEFINE VARIABLE bScrollbarHorizontal AS LOGICAL NO-UNDO VIEW-AS TOGGLE-BOX LABEL "Scrollbar Horizontal".
20
DEFINE VARIABLE bScrollbarVertical AS LOGICAL NO-UNDO VIEW-AS TOGGLE-BOX LABEL "Scrollbar Vertical".
21

    
22
DEFINE VARIABLE listItems AS CHARACTER NO-UNDO.
23
listItems = "personeel,materieel,materiaal,dienst".
24

    
25
DEFINE FRAME hFrame 
26
   bAddItem AT COLUMN 5 ROW 10
27
   bMultiple AT COLUMN 5 ROW 12
28
   bPrint AT COLUMN 5 ROW 14
29
   bReloadItems AT COLUMN 5 ROW 16
30
   bScrollbarHorizontal AT COLUMN 5 ROW 18
31
   bScrollbarVertical AT COLUMN 5 ROW 20
32
   WITH
33
      FONT 4
34
      SCROLLABLE
35
      SIZE-PIXELS 600 BY 500.
36

    
37
DEFINE VARIABLE hList AS WIDGET-HANDLE NO-UNDO.
38
PROCEDURE createSelectionList .
39
   IF VALID-HANDLE(hList)
40
       THEN
41
      DELETE WIDGET hList.
42
   
43
   CREATE SELECTION-LIST hList
44
     ASSIGN FRAME                = FRAME hFrame:HANDLE
45
              X                  = 10
46
              Y                  = 10
47
              WIDTH-PIXELS       = 70
48
              SENSITIVE          = TRUE
49
              VISIBLE            = FALSE
50
              DELIMITER          = ',':U
51
              MULTIPLE           = bMultiple
52
              LIST-ITEMS         = listItems
53
              INNER-LINES        = 4
54
              SCROLLBAR-VERTICAL = bScrollbarVertical
55
              SCROLLBAR-HORIZONTAL = bScrollbarHorizontal
56
              TRIGGERS:
57
                 ON DEFAULT-ACTION
58
                    PERSISTENT RUN onDefaultActionSelectionList IN THIS-PROCEDURE.
59
                 ON LEFT-MOUSE-UP
60
                    PERSISTENT RUN onLeftMouseUpSelectionList IN THIS-PROCEDURE.
61
                 ON RIGHT-MOUSE-UP
62
                    PERSISTENT RUN onRightMouseUpSelectionList IN THIS-PROCEDURE.
63
                 ON LEFT-MOUSE-DOWN
64
                    PERSISTENT RUN onLeftMouseDownSelectionList IN THIS-PROCEDURE.
65
                 ON RIGHT-MOUSE-DOWN
66
                    PERSISTENT RUN onRightMouseDownSelectionList IN THIS-PROCEDURE.
67
                 ON LEAVE
68
                    PERSISTENT RUN onLeaveSelectionList IN THIS-PROCEDURE.
69
                 ON TAB
70
                    PERSISTENT RUN onTabSelectionList IN THIS-PROCEDURE.
71
                 ON BACK-TAB
72
                    PERSISTENT RUN onBackTabSelectionList IN THIS-PROCEDURE.
73
                 ON F7
74
                    PERSISTENT RUN onF7SelectionList IN THIS-PROCEDURE.
75
              END TRIGGERS.
76
              .
77
   hList:VISIBLE = TRUE.
78
END PROCEDURE.
79

    
80
RUN createSelectionList.
81
APPLY 'ENTRY' TO hList.
82

    
83
ENABLE ALL WITH FRAME hFrame.
84

    
85
ON CHOOSE OF bAddItem DO:
86
  DEFINE VARIABLE itemText AS CHARACTER FORMAT "x(64)" NO-UNDO.
87
  MESSAGE "New item text:" SET itemText.
88
  listItems = listItems + "," + itemText.
89
  hList:LIST-ITEMS = listItems.
90
END.
91

    
92
ON CHOOSE OF bReloadItems DO:
93
  hList:LIST-ITEMS = listItems.
94
END.
95

    
96
ON CHOOSE OF bPrint DO:
97
  MESSAGE hList:SCREEN-VALUE.
98
  MESSAGE hList:LIST-ITEMS.
99
END.
100

    
101
bMultiple:SCREEN-VALUE = "no".
102
ON VALUE-CHANGED OF bMultiple
103
DO:
104
   ASSIGN bMultiple.
105
   MESSAGE "multiple: " bMultiple.
106
   RUN createSelectionList.   
107
END.
108

    
109
bScrollbarHorizontal:SCREEN-VALUE = "no".
110
ON VALUE-CHANGED OF bScrollbarHorizontal
111
DO:
112
   ASSIGN bScrollbarHorizontal.
113
   RUN createSelectionList.   
114
END.
115

    
116
bScrollbarVertical:SCREEN-VALUE = "no".
117
ON VALUE-CHANGED OF bScrollbarVertical
118
DO:
119
   ASSIGN bScrollbarVertical.
120
   RUN createSelectionList.   
121
END.
122

    
123
PROCEDURE onDefaultActionSelectionList:
124
   MESSAGE "ON DEFAULT-ACTION".
125
END PROCEDURE.
126

    
127
PROCEDURE onLeftMouseUpSelectionList:
128
   MESSAGE "ON LEFT-MOUSE-UP".
129
END PROCEDURE.
130

    
131
PROCEDURE onRightMouseUpSelectionList:
132
   MESSAGE "ON RIGHT-MOUSE-UP".
133
END PROCEDURE.
134

    
135
PROCEDURE onLeftMouseDownSelectionList:
136
   MESSAGE "ON LEFT-MOUSE-DOWN".
137
END PROCEDURE.
138

    
139
PROCEDURE onRightMouseDownSelectionList:
140
   MESSAGE "ON RIGHT-MOUSE-DOWN".
141
END PROCEDURE.
142

    
143
PROCEDURE onLeaveSelectionList:
144
   MESSAGE "ON LEAVE".
145
END PROCEDURE.
146

    
147
PROCEDURE onTabSelectionList:
148
   MESSAGE "ON TAB".
149
END PROCEDURE.
150

    
151
PROCEDURE onBackTabSelectionList:
152
   MESSAGE "ON BACK-TAB".
153
END PROCEDURE.
154

    
155
PROCEDURE onF7SelectionList:
156
   MESSAGE "ON F7".
157
END PROCEDURE.
158

    
159
WAIT-FOR CLOSE OF THIS-PROCEDURE.