Module Dfclient.pkg
1//************************************************************************
2//
3// Copyright (c) 1997-2001 Data Access Corporation, Miami Florida,
4// All rights reserved.
5// DataFlex is a registered trademark of Data Access Corporation.
6//
7// 08/19/94 JJT - Blended Classes from CB and DAF
8// 11/12/94 Added Save_Environment / Load_Environment support in views
9// 11/16/94 JJT - Add define_sysmenu to end_construct_object
10// 02/14/95 JJT - Added DFGSINI for 3.01/3.05 dual support of .ini name
11// and section name.
12//
13//************************************************************************
14// 3.1 Changes
15// 03/28/95 JJT - Removed 0 classes. Retained layer for nav & hlp mixin
16// Added DF navigate and Help DEO support.
17// Changed name to dfclient.pkg
18//************************************************************************
19// 07/23/96 JJT - New Class names
20// 11/26/97 JJT - View_Changed now checks to see if any sub-views (tab view)
21// are changed
22//************************************************************************
23// VDF8 changes
24// 10/23/2001 JJT/SWB - Added Application object support, removed workspace and KEY support.
25// Removed internal messages Parse_complex, Complex_to_String
26// Removed ghoWorkspace support
27//
28// User Classes:
29//
30// dbGroup
31// dbContainer3d
32// dbContainer
33//
34// dbView
35//
36// dbViewToolPanel (use for EntryModalPanel)
37//
38// dbViewPanel (not fully supported)
39//
40//
41
42Use Windows.pkg
43Use DfPanel.pkg
44Use EnClient.pkg
45Use DFNav_mx.pkg // Navigation changes for DF DEOs
46Use dfConfrm.pkg
47Use Dfdbmdpn.pkg // adds obsolete pointerButton for dbModalPanel
48
49Register_Procedure DoSaveEnvironment Handle hoContainer Boolean bProgram
50Register_Procedure DoLoadEnvironment Handle hoContainer Boolean bProgram
51
52//
53// Grouping classes: Used within views to group objects
54//
55// dbContainer3d_
56// dbContainer3d
57//
58{ ClassType=Abstract }
59{ HelpTopic=dbContainer3d_ }
60Class dbContainer3d_ is a Container3d STARTMAC ECstart
61 // the startmac is used to catch old obsolete code at compiletime
62 Import_Class_Protocol Entry_Client_mixin // mixin in CM DEO behaviors
63
64 // Defeat the activating augmentation for auto-locate
65 //
66 { MethodType=Event NoDoc=True }
67 // as of 15.1 we changed all deactivating/activating signatures to not return values (see windows.pkg / ComboForm / Activating for more)
68 Procedure Activating //Returns Integer
69 integer RVal
70 forward get MSG_activating to rVal
71 Procedure_Return rVal
72 End_Procedure
73End_Class
74
75{ DataAware=True }
76{ HelpTopic=dbContainer3d }
77Class dbContainer3d is a dbContainer3d_
78 Procedure Construct_Object
79 Forward Send Construct_Object No_Image
80 Send Define_DFNavigation // GUI navigate changes
81 End_Procedure // Construct_Object
82 Import_Class_Protocol DFNavigate_Mixin
83End_Class
84
85//
86// Group Based containers
87//
88// dbGroup_
89// dbGroup
90//
91{ ClassType=Abstract }
92{ HelpTopic=dbGroup_ }
93Class dbGroup_ is a Group STARTMAC ECstart
94 // the startmac is used to catch old obsolete code at compiletime
95
96 Import_Class_protocol Entry_Client_mixin
97
98 // Defeat the activating augmentation for auto-locate
99 //
100 { MethodType=Event NoDoc=True }
101 // as of 15.1 we changed all deactivating/activating signatures to not return values (see windows.pkg / ComboForm / Activating for more)
102 Procedure Activating //Returns Integer
103 integer RVal
104 forward get MSG_activating to rVal
105 Procedure_Return rVal
106 End_Procedure
107End_Class
108
109{ DataAware=True }
110{ HelpTopic=dbGroup }
111Class dbGroup is a dbGroup_
112 Procedure Construct_Object
113 Forward Send Construct_Object No_Image
114 Send Define_DFNavigation // GUI navigate changes
115 End_Procedure // Construct_Object
116 Import_Class_Protocol DFNavigate_Mixin
117End_Class
118
119
120//
121// Invisible Grouping object
122//
123// dbContainer - invisible container
124//
125
126{ HelpTopic=dbContainer }
127{ OverrideProperty=Bitmap DesignTime=False }
128{ OverrideProperty=Bitmap_Style DesignTime=False }
129{ OverrideProperty=Border_Style DesignTime=False }
130{ OverrideProperty=Color DesignTime=False }
131{ OverrideProperty=Focus_Mode DesignTime=False }
132{ OverrideProperty=FontItalics DesignTime=False }
133{ OverrideProperty=FontSize DesignTime=False }
134{ OverrideProperty=FontUnderline DesignTime=False }
135{ OverrideProperty=FontWeight DesignTime=False }
136{ OverrideProperty=Location DesignTime=False }
137{ OverrideProperty=OEM_Translate_State DesignTime=False }
138{ OverrideProperty=peAnchors DesignTime=False }
139{ OverrideProperty=piMaxSize DesignTime=False }
140{ OverrideProperty=piMinSize DesignTime=False }
141{ OverrideProperty=Size DesignTime=False }
142{ OverrideProperty=TextColor DesignTime=False }
143{ OverrideProperty=Transparent_State DesignTime=False }
144{ OverrideProperty=View_Mode DesignTime=False }
145{ OverrideProperty=Visible_State DesignTime=False }
146Class dbContainer is an dbContainer3d
147 Import_Class_Protocol NonVisual_Container_Mixin
148End_Class
149
150//
151// View Support (views are mdi dialogs)
152//
153// dbAppClient_
154// dbAppView_
155// dbView
156//
157{ ClassType=Abstract }
158{ OverrideProperty=Changed_State InitialValue=False }
159{ HelpTopic=dbAppClient_ }
160Class dbAppClient_ is a View STARTMAC ECstart
161 // the startmac is used to catch old obsolete code at compiletime
162
163 Import_Class_Protocol Entry_Client_mixin
164
165 // Defeat the activating augmentation for auto-locate
166 //
167 { MethodType=Event NoDoc=True }
168 // as of 15.1 we changed all deactivating/activating signatures to not return values (see windows.pkg / ComboForm / Activating for more)
169 Procedure Activating //Returns Integer
170 Integer RVal
171 forward get MSG_activating to rVal
172 Procedure_Return rVal
173 End_Procedure
174End_Class
175
176{ ClassType=Abstract }
177{ HelpTopic=dbAppView_ }
178Class dbAppView_ is a dbAppClient_
179 import_Class_protocol entry_view_Client_mixin
180End_Class
181
182{ DDOHost=True }
183{ DataAware=True }
184{ HelpTopic=dbView }
185Class dbView is a dbAppView_
186
187 Procedure Construct_Object
188 Forward Send Construct_Object No_Image
189
190// { Visibility=Private }
191// property string psWindowPlacement '' // used to keep track of window placment when deactivated object is reactivated.
192
193 Send Define_DFNavigation // GUI navigate changes
194 // dialog views get activated as popup objects.
195 set Dso_Detach_Mode to Detach_Always
196
197 // set default verify messages. These are good defaults. The
198 // developer may wish to change these in their object or sub-class.
199 // Note: these messsages are defined in dfconfrm.pkg
200 Set Verify_Data_Loss_Msg to (RefFunc(Data_Loss_Confirmation))
201 Set Verify_Delete_Msg to (RefFunc(Delete_Confirmation))
202 Set Verify_Save_Msg to (RefFunc(Save_Confirmation))
203 Set Verify_Exit_Msg to (RefFunc(Exit_Loss_Confirmation))
204 //
205 End_Procedure // Construct_Object
206
207 Import_Class_Protocol DFNavigate_Mixin
208
209 // Returns TRUE to indicate that this is a DEO. This is used by
210 // delegation to figure out if you are within a DEO and should therefore
211 // send a DEO message. DEO clients set this true
212 //
213 { MethodType=Property }
214 Function DEO_Object Returns integer
215 Function_Return 1
216 End_Function // DEO_Object
217
218 //
219 // Activate message for views that:
220 // 1. restores the view if it is minimized
221 // 2. Maintains the current scope's focus.
222 //
223 { Visibility=Private }
224 Procedure Activate_current_scope
225 If ( View_mode(self)=VIEWMODE_ICONIZE ) ;
226 Set view_mode to viewmode_normal
227 Set Current_Scope to self
228 End_Procedure // Activate_current_scope
229
230 // ------------deprecated....Use Object_label.
231 // Pass full object name - return the relative name
232 // e.g., Main.View.Obj1 --> Obj1
233 { Visibility=Private Obsolete=True MethodType=Property }
234 Function Local_Object_name string nm returns string
235 integer ps
236 Repeat
237 pos "." in nm to ps
238 If ps eq 0 function_return nm
239 increment ps
240 Mid Nm to Nm 255 ps
241 Loop
242 end_function
243
244 { MethodType=Property Visibility=Private }
245 Function View_Changed returns Integer
246 Integer Changed
247 // first see if any DDOs at this level are changed.
248 Broadcast Get Data_Set_Should_Save to Changed // Ask for changes in Data-sets
249 // if no changes, see if we have any sub-views that are changed
250 // This is used to catch tab-view pages.
251 If not Changed broadcast get SubView_Changed to Changed
252 Function_Return Changed
253 End_Function
254
255// as of 15.0, these were moved to AppDialog super class
256// //
257// // Save View information to dfwin.ini file. Save as:
258// // View_ObjectName=LOC:Row,Col e.g., Cust_Ent=LOC:10,20
259// // Leaving room for growth here.
260// //
261// { Visibility=Private }
262// Procedure Save_Environment
263// String sWindowPlacement
264// Address aWindowPlacement
265// Boolean bSuccess
266// Integer eShowCmd
267// // save environment to the object, in case it is reactivated during the same run.
268// ZeroType tWindowPlacement To sWindowPlacement
269// Put tWindowPlacement_size To sWindowPlacement at tWindowPlacement.length
270// Move (AddressOf(sWindowPlacement)) To aWindowPlacement
271// Move (GetWindowPlacement(Window_Handle(self), aWindowPlacement)) To bSuccess
272// If bSuccess Begin
273// // if minimized, assume restored, as we don't want to restart minimized!
274// GetBuff from sWindowPlacement at tWindowPlacement.showCmd To eShowCmd
275// If (eShowCmd = SW_SHOWMINIMIZED) Begin
276// Put SW_SHOWNORMAL To sWindowPlacement at tWindowPlacement.showCmd
277// End
278// Set psWindowPlacement to sWindowPlacement
279// End
280// // also save environment to the application object, so it can be used when reloaded
281// If ghoApplication Send DoSaveEnvironment of ghoApplication self False
282// End_Procedure
283//
284// // Augment to check for view string in .INI. Currently, if found
285// // set the location
286// //
287// { Visibility=Private }
288// Procedure Load_Environment
289// String sWindowPlacement
290// boolean bSuccess
291// // if view has alrady been activated and deactivated use the setting from windowplacement saved in the object
292// get psWindowPlacement to sWindowPlacement // Make sure we GET here and not Move. This thing can contain zeros which will get lost in expr.
293// If (length(sWindowPlacement)) begin // if length is zer0, assume it has never been deactivated.
294// Move (SetWindowPlacement(Window_Handle(self), addressof(sWindowPlacement))) To bSuccess
295// End
296// else Begin
297// If ghoApplication Send DoLoadEnvironment of ghoApplication self False
298// end
299// End_Procedure
300
301// { MethodType=Event NoDoc=True }
302// Procedure Notify_Exit_Application
303// Send Save_Environment
304// End_procedure
305
306// { NoDoc=True }
307// Procedure Add_Focus Integer hoBase Returns Integer
308// Integer iretVal bState
309// get Visible_state to bState
310// Set Visible_state to False
311// Forward Get Msg_Add_Focus hoBase To iretVal
312// If (iRetVal=0) Send Load_Environment
313// Set Visible_state to bState
314// Procedure_Return iRetVal
315// End_Procedure
316
317 { Visibility=Private }
318 Procedure Close_Client
319 Send Exit_Function
320 End_Procedure
321
322// as of 15.0, these were moved to AppDialog super class
323//
324// { MethodType=Event NoDoc=True }
325// Procedure Entering_Scope returns Integer
326// Integer rVal
327// Forward Get MSG_Entering_Scope to rVal
328// If not rVal send Show_View_Name (Label(self))
329// End_Procedure
330//
331// { MethodType=Event NoDoc=True }
332// Procedure Exiting_Scope integer whereto returns Integer
333// Integer rVal
334// Forward Get MSG_Exiting_Scope whereto to rVal
335// If not rVal Send Show_View_Name ''
336// End_Procedure
337//
338// { Visibility=Private }
339// Procedure Show_view_Name string sHelp
340// Integer rVal Id
341// Get Statusbar_id to id
342// If Id Send Show_View_Name to Id sHelp
343// End_Procedure
344//
345// { Visibility=Private }
346// Function Should_Save_Recursive returns integer
347// Function_return (View_Changed(self))
348// End_Function
349//
350// // This is augmented to send save_environment during a view close (was in close_panel)
351// // we set view_mode to normal if it is zoomed. This is needed to make the MDI stuff work
352// // properly with the save/load environment. The Saved environment data will make it zoom if needed.
353// //
354// { NoDoc=True }
355// procedure deactivate integer eType returns integer
356// integer eArea iFail
357// Boolean bPreserveEnvironment
358// Move (if(num_arguments=0, AREA_TYPE, eType)) to eArea // in case no param is passed
359// if (eArea<>0) ;
360// Forward get msg_deactivate eArea to iFail
361// else Begin
362// send Save_environment
363// forward get msg_deactivate eArea to iFail
364// // this works around a problem where maximized MDI views get saved but don't come back
365// // correctly when loaded again without exiting. It turns out the the MDI client restores
366// // the view sometimes without telling view_mode. If view_mod is normal, it always works.
367// // This must happen after the view is deactivated!
368//
369// If ghoApplication ;
370// Get pbPreserveEnvironment of ghoApplication to bPreserveEnvironment
371// // do these checks to have as small of an effect as possible.
372// if (bPreserveEnvironment and iFail=0 and view_mode(self)=VIEWMODE_ZOOM) ;
373// set view_mode to VIEWMODE_NORMAL
374// end
375// function_return iFail
376// end_procedure
377
378
379
380End_Class
381
382
383
384//
385// ToolPanel Based Classes
386//
387// dbFloatingPanel_
388// dbFloatingPanel
389// dbViewFloatingPanel
390// dbViewToolPanel
391// dbModalPanel <---this will get used
392//
393{ ClassType=Abstract }
394{ HelpTopic=dbFloatingPanel_ }
395Class dbFloatingPanel_ is a FloatingPanel STARTMAC ECstart
396 // the startmac is used to catch old obsolete code at compiletime
397
398 Import_Class_Protocol Entry_Client_mixin
399
400 // Defeat the activating augmentation for auto-locate
401 //
402 { MethodType=Event NoDoc=True }
403 // as of 15.1 we changed all deactivating/activating signatures to not return values (see windows.pkg / ComboForm / Activating for more)
404 Procedure Activating //Returns Integer
405 integer RVal
406 forward get MSG_activating to rVal
407 Procedure_Return rVal
408 End_Procedure
409End_Class
410
411{ ClassType=Abstract }
412{ HelpTopic=dbFloatingPanel }
413Class dbFloatingPanel is a dbFloatingPanel_
414 Procedure Construct_Object
415 Forward Send Construct_Object No_Image
416 Send Define_DFNavigation // GUI navigate changes
417 Set Minimize_Icon to FALSE
418 Set Maximize_Icon to FALSE
419 End_Procedure // Construct_Object
420
421 Import_Class_Protocol DFNavigate_Mixin
422
423 // Returns TRUE to indicate that this is a DEO. This is used by
424 // delegation to figure out if you are within a DEO and should therefore
425 // send a DEO message. DEO clients set this true
426 //
427 { MethodType=Property }
428 Function DEO_Object Returns integer
429 Function_Return 1
430 End_Function // DEO_Object
431
432 // we Modify this not delegate and look for a parent verify exit msg if this msg is 0.
433 // We assume that toolpanels and dbModalPanels are self contained in terms of opening and closing
434 // and therefore should only use themselves to figure out if there is a verify exit msg. This is needed
435 // in case a db modal panel physically placed inside of another DEO.
436 { MethodType=Property NoDoc=True }
437 function Verify_Exit_msg returns integer
438 integer msg#
439 get private.verify_exit_msg to msg#
440 // don't look at parent DEOs like we do elsewhere.
441 //if (msg# = 0 AND Component_State(self)) ;
442 // delegate get verify_exit_msg to msg#
443 function_return msg#
444 end_function
445
446End_Class
447
448{ ClassType=Abstract }
449{ HelpTopic=dbViewFloatingPanel }
450Class dbViewFloatingPanel is a dbFloatingPanel
451 import_Class_protocol entry_view_Client_mixin
452End_Class
453
454{ ClassType=Abstract }
455{ HelpTopic=dbViewToolPanel }
456Class dbViewToolPanel is a dbViewFloatingPanel
457
458 Procedure Construct_Object
459 Forward Send Construct_Object No_Image
460 Set Extended_Window_Style To WS_EX_TOOLWINDOW True
461 End_Procedure // Construct_Object
462
463End_Class
464
465// EntryModalPanel
466
467{ DDOHost=True }
468{ DataAware=True }
469{ DesignerClass=cDTModalPanel }
470{ OverrideProperty=Column_Offset DesignTime=True }
471{ OverrideProperty=Row_Offset DesignTime=True }
472{ OverrideProperty=StatusBar_Id DesignTime=False }
473{ OverrideProperty=ToolBar_Id DesignTime=False }
474{ OverrideProperty=Icon DesignTime=False }
475{ ComponentType=SLClass }
476{ HelpTopic=dbModalPanel }
477Class dbModalPanel is a dbViewFloatingPanel
478 Procedure Construct_Object
479 Forward Send Construct_Object No_Image
480
481 Set Extended_Window_Style To WS_EX_DLGMODALFRAME True
482 Set Modal_State to TRUE
483
484 { Obsolete=True }
485 { DesignTime=False }
486 Property Integer List_Object 0
487
488 { Obsolete=True }
489 { DesignTime=False }
490 Property Integer Button_Height 14
491 { Obsolete=True }
492 { DesignTime=False }
493 Property Integer Button_Width 50
494
495 { Visibility=Private Obsolete=True }
496 Property Integer Max_Text_Extent 0
497
498 Object Button_Ids is an array
499 End_Object // Button_Ids
500 End_Procedure // Construct_Object
501
502 { MethodType=Property Visibility=Private Obsolete=True }
503 Function Button_Count returns integer
504 Function_Return (Item_count(Button_Ids))
505 End_Function // Button_Count
506
507 { Obsolete=True }
508 Procedure Add_Button string sLabel integer hMsg integer hoTo
509 integer hoBtn tx
510 // 8.2 - use newer syntax for creating dynamic objects
511 Get Create U_PointerButton to hoBtn
512 set peAnchors of hoBtn to anBottomRight
513 Set Value of hoBtn 0 to sLabel
514 Set Message of hoBtn 0 to hMsg
515 If (Num_Arguments>2) ;
516 Set aux_value of hoBtn 0 to hoTo
517 get Text_Extent of hoBtn sLabel to tx
518 Move (low(tx)) to tx
519 Set Array_Value of Button_Ids (Button_Count(self)) to hoBtn
520 if (tx > Max_Text_Extent(self));
521 Set Max_Text_Extent to tx
522 End_Procedure // Add_Button
523
524 { Visibility=Private Obsolete=True }
525 Procedure Size_Buttons
526 integer bheight bwidth nb obj Bobj bt mt gsiz gwd
527
528 Get button_height to bheight
529 Get button_width to bwidth
530 Get Button_count to nb
531 decrement nb
532
533 Move Button_ids to obj
534
535 For bt from 0 to nb
536 Get integer_value of obj bt to bobj // button id
537 Set Size of bobj to bheight bwidth // set dflt size
538 If bt eq 0 Begin
539 get Max_Text_Extent to mt
540 Add 8 to mt
541 get guisize of bobj to gsiz
542 Move (low(gsiz)) to gwd
543 if gwd lt mt Begin
544 set guisize of bobj to (hi(gsiz)) mt
545 send adjust_logicals to bobj
546 Move (low(size(bobj))) to bwidth
547 Set Button_width to bwidth
548 end
549 end
550 Loop
551 End_Procedure // Size_Buttons
552
553 { Visibility=Private Obsolete=True }
554 Procedure Position_Child_Objects
555 integer lsz psz wd pwd ht llc nb mt bobj obj cht col bt list_obj
556 integer rmrgn swd
557
558 If (not(pbSizeToClientArea(Self))) Begin
559 // if using old sizing, we have not changed anything for 14.0
560 If (caption_bar(Self)) ;
561 Move (Hi(Physical_fontsize(Self))+4+6) to cht
562 Else Move 0 to cht
563
564 Get GUISize to psz // size of panel
565 Get List_Object to List_obj // id of the list object
566 If list_obj Begin
567 Get GUISize of list_obj to lSz
568 Get GUIlocation of list_obj to llc
569 Move (low(llc)+low(lsz)+2) to rmrgn
570 End
571 Else Move (low(psz)-8) to rmrgn
572
573 Get Button_count to nb // number of buttons
574
575 If nb eq 0 ;
576 Move ( hi(psz) - 4 - cht - 8) to ht
577 Else Begin
578 Move Button_ids to obj
579 Get integer_value of obj 0 to bobj
580 Get guisize of bobj to ht
581 Move (low(ht)) to wd
582 Move ( hi(ht)) to ht
583 Move 8 to swd // width of each space
584 If ( (rmrgn - ((wd+swd)*nb-swd)) < 0 ) ;
585 Move 2 to swd
586 Move ( hi(psz) - ht - 4 - cht - 8) to ht
587
588 Move (rmrgn-wd) to col
589 Decrement nb
590 While nb ge 0
591 Get integer_value of obj nb to bobj
592 Set GUIlocation of bobj to ht col
593 Send Adjust_Logicals to bobj
594 Move (col - swd - wd) to col
595 Decrement nb
596 End
597 End
598
599 If list_obj Begin
600 Get GUISize of list_obj to lSz
601 //**get fx_GUISize of list_obj to lSz
602 Get GUIlocation of list_obj to llc
603 Move ( ht - Hi(llc) - 12 ) to ht
604 Set GUIsize of list_obj to ht (low(lsz))
605 Send Adjust_Logicals to list_obj
606 End
607 End
608 Else Begin
609
610 // this is still obsolete, but we will make it work with client sizing, which makes it simpler actually
611 // bote that 8 is used through out as the GUI spacing amount. This is legacy and will not be changed
612
613 Get GUISize to psz // size of panel
614 Get List_Object to List_obj // id of the list object
615 If list_obj Begin
616 Get GUISize of list_obj to lSz
617 Get GUIlocation of list_obj to llc
618 Move (low(llc)+low(lsz)) to rmrgn
619 End
620 Else Begin
621 Move (low(psz)-8) to rmrgn
622 End
623
624 Get Button_count to nb // number of buttons
625
626 If nb eq 0 ;
627 Move ( hi(psz) ) to ht
628 Else Begin
629 Move Button_ids to obj
630 Get integer_value of obj 0 to bobj
631 Get guisize of bobj to ht
632 Move (low(ht)) to wd
633 Move ( hi(ht)) to ht
634 Move 8 to swd // width of each space
635 Move ( hi(psz) - ht - 8) to ht
636
637 Move (rmrgn-wd) to col
638 Decrement nb
639 While (nb>=0)
640 Get integer_value of obj nb to bobj
641 Set GUIlocation of bobj to ht col
642 Send Adjust_Logicals to bobj
643 Move (col - swd - wd) to col
644 Decrement nb
645 End
646 End
647
648 If list_obj Begin
649 Get GUISize of list_obj to lSz
650 Get GUIlocation of list_obj to llc
651 Move ( ht - Hi(llc) - 8 ) to ht
652 Set GUIsize of list_obj to ht (low(lsz))
653 Send Adjust_Logicals of list_obj
654 End
655 End
656 End_Procedure
657
658 Procedure End_Construct_Object
659 Send Size_Buttons
660 Send Position_Child_Objects
661 Forward Send end_construct_object
662 end_Procedure
663
664 { Obsolete=True }
665 Procedure Search
666 integer Obj#
667 Get List_Object to obj#
668 If Obj# Send Search to Obj#
669 End_Procedure // Search
670
671 // created for advanced CD_popup_object support. Returns the true handle of the
672 // popup object whether it is a regular object or a CD popup object.
673 Function Popup_Handle Returns Handle
674 Function_Return Self
675 End_Function
676
677End_Class
678
679//
680// Panel Based Classes
681//
682// dbPanel_
683// dbPanel
684// dbViewPanel_
685// dbViewPanel
686//
687// None of these are likely to be used
688//
689
690{ ClassType=Abstract Visibility=Private }
691{ HelpTopic=dbPanel_ }
692Class dbPanel_ is a BasicPanel STARTMAC ECstart
693 // the startmac is used to catch old obsolete code at compiletime
694
695 Import_Class_Protocol Entry_Client_mixin
696
697 // Defeat the activating augmentation for auto-locate
698 //
699 { MethodType=Event NoDoc=True }
700 // as of 15.1 we changed all deactivating/activating signatures to not return values (see windows.pkg / ComboForm / Activating for more)
701 Procedure Activating //Returns Integer
702 integer RVal
703 forward get MSG_activating to rVal
704 Procedure_Return rVal
705 End_Procedure
706End_Class
707
708{ ClassType=Abstract Visibility=Private }
709{ HelpTopic=dbPanel }
710Class dbPanel is a dbPanel_
711 Procedure Construct_Object
712 Forward Send Construct_Object No_Image
713 Send Define_DFNavigation // GUI navigate changes
714 End_Procedure // Construct_Object
715 Import_Class_Protocol DFNavigate_Mixin
716End_Class
717
718{ ClassType=Abstract Visibility=Private }
719{ HelpTopic=dbViewPanel_ }
720Class dbViewPanel_ is a dbPanel
721 import_Class_protocol entry_view_Client_mixin
722End_Class
723
724{ Visibility=Private }
725{ HelpTopic=dbViewPanel }
726Class dbViewPanel is a dbViewPanel_
727 Procedure Construct_Object
728 Forward Send Construct_Object No_Image
729 End_Procedure // Construct_Object
730
731 // Returns TRUE to indicate that this is a DEO. This is used by
732 // delegation to figure out if you are within a DEO and should therefore
733 // send a DEO message. DEO clients set this true
734 //
735 { MethodType=Property }
736 Function DEO_Object Returns integer
737 Function_Return 1
738 End_Function // DEO_Object
739End_Class
740