Module Calendar_Resources.vw
1Use DfAllEnt.pkg
2
3Use Cal_Res.DD
4Use Cal_Sch.DD
5Use Cal_Lay.DD
6Use Cal_SRL.DD
7Use cSigCJPushButton.pkg
8
9Activate_View Activate_oCalendar_Resources for oCalendar_Resources
10Object oCalendar_Resources is a dbView
11 Set Label to "Calendar Resource Tables"
12 Set Size to 137 291
13 Set Location to 7 9
14
15 Object oOrder_BusinessProcess is a BusinessProcess
16 Property Integer piLayout_no
17 Property Integer piOrder
18
19 Object oCal_Lay_DD is a Cal_Lay_DataDictionary
20
21 Property Integer pCDD_Layout_no
22
23 Procedure OnConstrain
24 If (pCDD_Layout_no(Self) > 0) Constrain Cal_Lay.Id eq (pCDD_Layout_no(Self))
25 End_Procedure
26
27 End_Object // oCal_Lay_DD
28
29 Object oCal_Srl_DD is a Cal_Srl_DataDictionary
30 Set DDO_Server to oCal_Lay_DD
31 Set Constrain_File to Cal_Lay.File_Number
32 End_Object // oCal_Srl_DD
33
34
35 //Debugging
36 Set Display_Error_State to True
37
38
39 // After deleting check we have the correct Order numbers
40 Procedure DoProcess_Order
41 Integer iCount
42 String sValue
43
44 Set pCDD_Layout_no of oCal_Lay_DD to (piLayout_no(Self))
45
46 Send Clear of oCal_Lay_DD
47 Send Clear of oCal_Srl_DD
48
49 Send Rebuild_Constraints of oCal_Lay_DD
50 Send Rebuild_Constraints of oCal_Srl_DD
51
52 Send Find of oCal_Lay_DD Ge 1
53
54 Move 0 to Cal_Srl.Order
55 Send Find of oCal_Srl_DD Gt 1
56 While (Found)
57 Increment iCount
58 If (Cal_Srl.Order <> iCount) Begin
59 Set Field_Changed_Value of oCal_Srl_DD Field Cal_Srl.Order to iCount
60 Send Request_Save of oCal_Srl_DD
61 End
62 Send Find of oCal_Srl_DD Gt 1
63 Loop
64 End_Procedure
65
66 Procedure DoProcess_Up
67 Integer iCount iOrder iUpTo
68 String sValue
69
70 If (piOrder(Self) <= 1) Procedure_Return
71
72 Set pCDD_Layout_no of oCal_Lay_DD to (piLayout_no(Self))
73
74 Send Clear of oCal_Lay_DD
75 Send Clear of oCal_Srl_DD
76
77 Send Rebuild_Constraints of oCal_Lay_DD
78 Send Rebuild_Constraints of oCal_Srl_DD
79
80 Send Find of oCal_Lay_DD Ge 1
81
82 Move 9999 to Cal_Srl.Order
83 Send Find of oCal_Srl_DD Lt 1
84 Get Field_Current_Value of oCal_Srl_DD Field Cal_Srl.Order to iOrder
85
86 Move (piOrder(Self)-2) to iUpTo
87 If (iUpTo < 0) Move 0 to iUpTo
88
89 Repeat
90 Move iOrder to Cal_Srl.Order
91 Send Find of oCal_Srl_DD Eq 1
92 If (Found) Begin
93 Set Field_Changed_Value of oCal_Srl_DD Field Cal_Srl.Order to (iOrder +1)
94 Send Request_Save of oCal_Srl_DD
95 End
96 Decrement iOrder
97 Until (iUpTo = iOrder)
98
99 Move (piOrder(Self)+1) to Cal_Srl.Order
100 Send Find of oCal_Srl_DD Eq 1
101 If (Found) Begin
102 Get Field_Current_Value of oCal_Srl_DD Field Cal_Srl.Order to iOrder
103 Set Field_Changed_Value of oCal_Srl_DD Field Cal_Srl.Order to (iOrder -2)
104 Send Request_Save of oCal_Srl_DD
105 End
106
107 Send DoProcess_Order
108 End_Procedure
109
110 Procedure DoProcess_Down
111 Integer iCount iOrder iUpTo
112 String sValue
113
114 Set pCDD_Layout_no of oCal_Lay_DD to (piLayout_no(Self))
115
116 Send Clear of oCal_Lay_DD
117 Send Clear of oCal_Srl_DD
118
119 Send Rebuild_Constraints of oCal_Lay_DD
120 Send Rebuild_Constraints of oCal_Srl_DD
121
122 Send Find of oCal_Lay_DD Ge 1
123
124 Move (piOrder(Self)) to iUpTo
125
126 Move 9999 to Cal_Srl.Order
127 Send Find of oCal_Srl_DD Lt 1
128 Get Field_Current_Value of oCal_Srl_DD Field Cal_Srl.Order to iOrder
129
130 // Stop if on last record
131 If (iOrder = iUpTo) Procedure_Return
132
133 If ((iUpTo+1) <> iOrder) Begin
134 Repeat
135 Move iOrder to Cal_Srl.Order
136 Send Find of oCal_Srl_DD Eq 1
137 If (Found) Begin
138 Set Field_Changed_Value of oCal_Srl_DD Field Cal_Srl.Order to (iOrder +1)
139 Send Request_Save of oCal_Srl_DD
140 End
141 Decrement iOrder
142 Until ((iUpTo+1) = iOrder)
143 End
144
145 Move (piOrder(Self)) to Cal_Srl.Order
146 Send Find of oCal_Srl_DD Eq 1
147 If (Found) Begin
148 Get Field_Current_Value of oCal_Srl_DD Field Cal_Srl.Order to iOrder
149 Set Field_Changed_Value of oCal_Srl_DD Field Cal_Srl.Order to (iOrder +2)
150 Send Request_Save of oCal_Srl_DD
151 End
152
153 Send DoProcess_Order
154 End_Procedure
155
156 End_Object
157
158 Object oNewTabDialog is a dbTabDialogView
159
160 Set Size to 128 282
161 Set Location to 5 5
162 Set Rotate_Mode to RM_Rotate
163
164 Object oResources_TabPage is a dbTabView
165 Object oCal_Res_DD is a Cal_Res_DataDictionary
166 End_Object
167
168 Set Main_DD to oCal_Res_DD
169 Set Server to oCal_Res_DD
170
171 Set Label to "Resources"
172
173 Object oResource_ID is a dbForm
174 Set Location to 10 50
175 Entry_Item Cal_Res.ID
176 Set Size to 13 54
177 Set Label to "ID:"
178 Set Label_Col_Offset to 2
179 Set Label_Justification_Mode to JMode_Right
180 End_Object
181
182 Object oResource_Title is a dbForm
183 Entry_Item Cal_Res.Title
184 Set Location to 26 50
185 Set Size to 13 200
186 Set Label to "Title:"
187 Set Label_Col_Offset to 2
188 Set Label_Justification_Mode to JMode_Right
189 End_Object
190
191 Object oCal_Res_DataType is a dbComboForm
192 Entry_Item Cal_Res.DataType
193 Set Location to 42 50
194 Set Size to 13 80
195 Set Label to "Data Type:"
196 Set Label_Col_Offset to 2
197 Set Label_Justification_Mode to JMode_Right
198 End_Object
199
200 Object oCal_Res_DataSource is a dbForm
201 Entry_Item Cal_Res.DataSource
202 Set Location to 58 50
203 Set Size to 13 200
204 Set Label to "Data Source:"
205 Set Label_Col_Offset to 2
206 Set Label_Justification_Mode to JMode_Right
207 End_Object
208
209 End_Object
210
211 Object oSchedules_TabPage is a dbTabView
212 Object oCal_Sch_DD is a Cal_Sch_DataDictionary
213 End_Object
214
215 Set Main_DD to oCal_Sch_DD
216 Set Server to oCal_Sch_DD
217
218 Set Label to "Schedules"
219
220 Object oSchedule_ID is a dbForm
221 Entry_Item CAl_Sch.ID
222 Set Location to 10 50
223 Set Size to 13 54
224 Set Label to "ID:"
225 Set Label_Col_Offset to 2
226 Set Label_Justification_Mode to JMode_Right
227 End_Object
228
229 Object oSchedule_Title is a dbForm
230 Entry_Item Cal_Sch.Title
231 Set Location to 26 50
232 Set Size to 13 198
233 Set Label to "Title:"
234 Set Label_Col_Offset to 2
235 Set Label_Justification_Mode to JMode_Right
236 End_Object
237 End_Object
238
239 Object oLayouts_TabPage is a dbTabView
240 Object oCal_Lay_DD is a Cal_Lay_DataDictionary
241 End_Object
242
243 Set Main_DD to oCal_Lay_DD
244 Set Server to oCal_Lay_DD
245
246 Set Label to "Layouts"
247
248 Object oLayouts_ID is a dbForm
249 Entry_Item Cal_Lay.ID
250 Set Location to 10 50
251 Set Size to 13 54
252 Set Label to "ID:"
253 Set Label_Col_Offset to 2
254 Set Label_Justification_Mode to JMode_Right
255 End_Object
256
257 Object oLayouts_Title is a dbForm
258 Entry_Item Cal_Lay.Title
259 Set Location to 26 50
260 Set Size to 13 198
261 Set Label to "Title:"
262 Set Label_Col_Offset to 2
263 Set Label_Justification_Mode to JMode_Right
264 End_Object
265
266 Object oCal_Lay_Category_Set is a dbComboForm
267 Entry_Item Cal_Lay.Category_Set
268 Set Location to 42 50
269 Set Size to 13 120
270 Set Label to "Category Set:"
271 Set Label_Col_Offset to 2
272 Set Label_Justification_Mode to JMode_Right
273 End_Object
274 End_Object
275
276 Object oResourceSetup_TabPage is a dbTabView
277 Object oCal_Lay_DD is a Cal_Lay_DataDictionary
278 End_Object // oCal_Lay_DD
279
280 Object oCal_Srl_DD is a Cal_Srl_DataDictionary
281 Set DDO_Server to oCal_Lay_DD
282 Set Constrain_File to Cal_Lay.File_Number
283
284 Procedure Delete_Main_File
285 Set piLayout_no of oOrder_BusinessProcess to Cal_Lay.id
286 Forward Send Delete_Main_File
287 End_Procedure
288
289 Procedure mAfter_Delete
290 Send DoProcess_Order of oOrder_BusinessProcess
291 End_Procedure
292
293 End_Object // oCal_Srl_DD
294
295 Set Main_DD to oCal_Lay_DD
296 Set Server to oCal_Lay_DD
297
298 Set Label to "Resource Setup"
299
300 Object oCal_LayTitle is a dbForm
301 Entry_Item Cal_Lay.Title
302 Set Size to 13 198
303 Set Location to 10 50
304 Set peAnchors to anLeftRight
305 Set Label to "Title:"
306 Set Label_Justification_mode to jMode_right
307 Set Label_Col_Offset to 2
308 Set Label_row_Offset to 0
309 End_Object // oCal_LayTitle
310
311 Object oDetailGrid is a dbGrid
312 Set Size to 77 197
313 Set Location to 27 50
314
315 Set Main_file to Cal_Srl.File_number
316 Set Server to oCal_Srl_DD
317 Set Ordering to 1
318 Set peResizeColumn to rcAll
319 Set peAnchors to anAll
320 Set Wrap_State to True
321
322 Begin_Row
323 Entry_Item (Cal_Srl.Order)
324 Entry_Item Cal_Srl.Resource
325 Entry_Item Cal_Srl.Schedule
326 End_Row
327
328 Set Form_Width 0 to 40
329 Set Header_Label 0 to "Order"
330
331 Set Form_Width 1 to 83
332 Set Header_Label 1 to "Resource"
333 Set Column_Combo_State 1 to True
334
335 Set Form_Width 2 to 70
336 Set Header_Label 2 to "Schedule"
337 Set Column_Combo_State 2 to True
338
339 Set Child_Table_State to True
340 Set GridLine_Mode to Grid_Visible_Horz
341 Set CurrentRowColor to clHighlight
342
343 Procedure Update_Objects
344 Send Clear of oCal_Lay_DD
345 Send Column_Combo_Fill_List 1
346 Send Column_Combo_Fill_List 2
347 End_Procedure
348
349 Function Child_Entering Returns Integer
350 Boolean bFail
351 // Check with header to see if it is saved.
352 Delegate Get SaveHeader to bFail
353 Function_Return bFail // if non-zero do not enter
354 End_Function // Child_Entering
355
356 On_Key kAdd_Mode Send Append_a_Row // Hot Key for KAdd_Mode = Shift+F10
357
358 Procedure Append_a_Row
359 Send End_Of_Data
360 Send Down
361 End_Procedure // Append_a_Row
362
363 // Add new record to the end of the table.
364 Function Row_Save Returns Integer
365 Integer iRetval
366 Boolean bHasRecord
367
368 Get HasRecord of oCal_Srl_DD to bHasRecord
369 If (not(bHasRecord)) Set Field_Changed_Value of oCal_Srl_DD Field Cal_SRL.Order to (Cal_Lay.Count +1)
370 Forward Get Row_Save to iRetval
371 Function_Return iRetval
372 End_Function // Row_Save
373
374 End_Object // oDetailGrid
375
376 Function ConfirmDeleteHeader Returns Boolean
377 Boolean bFail
378 Get Confirm "Delete Entire Header and all detail?" to bFail
379 Function_Return bFail
380 End_Function // ConfirmDeleteHeader
381
382 Function ConfirmSaveHeader Returns Boolean
383 Boolean bNoSave bHasRecord
384 Handle hoSrvr
385 Get Server to hoSrvr
386 Get HasRecord of hoSrvr to bHasRecord
387 If not bHasRecord Begin
388 Get Confirm "Save this NEW header?" to bNoSave
389 End
390 Function_Return bNoSave
391 End_Function // ConfirmSaveOrder
392
393 Set Verify_Save_MSG to GET_ConfirmSaveHeader
394 Set Verify_Delete_MSG to GET_ConfirmDeleteHeader
395
396 Function SaveHeader Returns Boolean
397 Integer iRec
398 Boolean bChanged bHasRecord
399 Handle hoSrvr
400
401 Get Server to hoSrvr // The Header DDO.
402 Get HasRecord of hoSrvr to bHasRecord // Is there a record?
403 Get Should_Save to bChanged // Are there any current changes?
404
405 // If there is no record and no changes we have an error.
406 If (not(bHasRecord) and not(bChanged) ) Begin // no rec
407 Error DfErr_Operator "You must First Create & Save the Header"
408 Function_Return True
409 End
410
411 Send Request_Save_No_Clear
412
413 Get Should_Save to bChanged // is a save still needed
414 Get HasRecord of hoSrvr to bHasRecord // is there a record after the save?
415 // if no record or changes still exist, return an error code of 1
416 If (not(bHasRecord) or (bChanged)) Begin
417 Function_Return True
418 End
419 End_Function // SaveHeader
420
421 Procedure Activate Returns Integer
422 Integer iRetval
423 Forward Get msg_Activate to iRetval
424 // Reset Combo as we may have changed the data
425 Send Update_Objects of oDetailGrid
426 Procedure_Return iRetval
427 End_Procedure
428
429 Object oOrder_Up_bn is a cSigCJPushButton
430 Set Size to 15 15
431 Set Location to 50 30
432 Set psImage to "Up16.bmp"
433 Set pbPointer_Only to True
434
435 Procedure OnClick
436 Integer iLayout_no iOrder
437
438 Get Field_Current_Value of oCal_Lay_DD Field Cal_Lay.ID to iLayout_no
439 Get Field_Current_Value of oCal_Srl_DD Field Cal_SRL.Order to iOrder
440
441 Set piLayout_no of oOrder_BusinessProcess to iLayout_no
442 Set piOrder of oOrder_BusinessProcess to iOrder
443
444 If ((iLayout_no > 0) and (iOrder > 0)) Begin
445 Send DoProcess_Up of oOrder_BusinessProcess
446 Send Beginning_of_Data of oDetailGrid
447 End
448 End_Procedure
449
450 End_Object
451
452 Object oOrder_Down_bn is a cSigCJPushButton
453 Set Size to 15 15
454 Set Location to 70 30
455 Set psImage to "Down16.bmp"
456 Set pbPointer_Only to True
457
458 Procedure OnClick
459 Integer iLayout_no iOrder
460
461 Get Field_Current_Value of oCal_Lay_DD Field Cal_Lay.ID to iLayout_no
462 Get Field_Current_Value of oCal_Srl_DD Field Cal_SRL.Order to iOrder
463
464 Set piLayout_no of oOrder_BusinessProcess to iLayout_no
465 Set piOrder of oOrder_BusinessProcess to iOrder
466
467 If ((iLayout_no > 0) and (iOrder > 0)) Begin
468 Send DoProcess_Down of oOrder_BusinessProcess
469 Send Beginning_of_Data of oDetailGrid
470 End
471 End_Procedure
472
473 End_Object
474
475 End_Object
476
477 End_Object
478
479End_Object
480
481