// This code is part of «VDF GUIdance» // Visit us @ http://www.vdf-guidance.com // e-Mail us @ info@vdf-guidance.com // VDF GUIdance is a mutual project of // Frank Vandervelpen - Vandervelpen Systems and // Wil van Antwerpen - Antwise Solutions // All software source code should be used «AS IS» without any warranty. //************************************************************************ // // 12/15/97 WvA created the dbReportView Class // // 03-sep-99 Released as part of the project VDF GUIdance of Vandervelpen Systems // and Antwise Solutions // 20-Nov-01 Removed the "use dfgsini" for vdf8 support // 10-Jun-03 PvM Syntax changes of mixins for vdf83 support // 16-Dec-03 PvM Load_Environment and Save_Environment removed // // Partial copyright (c) 1997 Data Access Corporation, Miami Florida, // All rights reserved. // DataFlex is a registered trademark of Data Access Corporation. // //************************************************************************ Use Windows Use DfPanel Use EnClient Use DFNav_mx // Navigation changes for DF DEOs Use dfConfrm Use dfRptVw // dbReportView Support (views are mdi dialogs) // // Class inheritance structure: // // ReportView // dbReportAppClient_ // dbReportAppView_ // dbReportView Class dbReportAppClient_ is a ReportView STARTMAC ECstart Import_Class_Protocol Entry_Client_Mixin // Defeat the activating augmentation for auto-locate Procedure Activating Returns Integer Integer RVal Forward Get MSG_Activating to rVal Procedure_Return rVal End_Procedure End_Class // dbReportAppClient_ Class dbReportAppView_ is a dbReportAppClient_ Import_Class_Protocol Entry_View_Client_Mixin End_Class // dbReportAppView_ Class dbReportView is a dbReportAppView_ Procedure Construct_Object Forward Send Construct_Object No_Image Send Define_DFNavigation // GUI navigate changes // dialog views get activated as popup objects. Set View_Latch_State to False set Dso_Detach_Mode to Detach_Always Set Verify_Data_Loss_Msg TO GET_No_Confirmation Set Verify_Delete_Msg TO GET_No_Confirmation Set Verify_Save_Msg TO GET_No_Confirmation Set Verify_Exit_Msg TO GET_No_confirmation // This reportview-client will almost always be a modalpanel, therefore minimizing // is out of the question... Set Minimize_Icon To False Set Maximize_Icon To False End_Procedure // Construct_Object Procedure Request_Delete End_Procedure // request_delete Procedure Request_Save End_Procedure // request_save Function View_Changed Returns Integer // I.v.m. Verify_Exit_Application Function_Return 0 End_Function Function Exit_Application_Check Returns Integer Function_return 0 End_Function Import_Class_Protocol DFNavigate_Mixin // Returns TRUE to indicate that this is a DEO. This is used by // delegation to figure out if you are within a DEO and should therefore // send a DEO message. DEO clients set this true Function DEO_Object Returns integer Function_Return 1 End_Function // DEO_Object // // Activate message for views that: // 1. restores the view if it is minimized // 2. Maintains the current scope's focus. // Procedure Activate_current_scope If (View_mode(Current_Object)=VIEWMODE_ICONIZE ) ; Set view_mode to viewmode_normal Set Current_Scope to Current_Object End_Procedure // Activate_current_scope // Pass full object name - return the relative name // e.g., Main.View.Obj1 --> Obj1 Function Local_Object_name string nm returns string Integer ps Repeat pos "." in nm to ps If ps eq 0 function_return nm increment ps Mid Nm to Nm 255 ps Loop end_function // Take string "#1,#2" and return integer hi #1 + #2 Function Parse_Complex string sVal returns integer Integer ps Pos "," in sVal to ps if ps ; Function_Return ( integer(left(sVal,ps-1))*65536 + ; integer(mid(sVal,255,ps+1)) ) End_Function // Parse_Complex // Convert a complex integer to a string "hi,Low" // Function Complex_to_String integer i1 returns string function_return ( string(hi(i1)) - "," - String(low(i1)) ) End_function // *WvA: I don't want to save locations of a reportview noted in the registry. // These printing dialogs are centered on the panel anyway, so it doesn't make any // sense to clutter up the registry with this kind of nonsense. Procedure Load_Environment End_Procedure Procedure Notify_Exit_Application Send Save_Environment End_procedure Procedure End_Construct_Object Send Load_Environment Forward Send End_Construct_Object End_Procedure // End_Construct_Object Procedure Close_Client Send Exit_Function End_Procedure Procedure Entering_Scope returns Integer Integer rVal Forward Get MSG_Entering_Scope to rVal If not rVal send Show_View_Name (Label(Current_Object)) End_Procedure Procedure Exiting_Scope Integer iWhereTo Returns Integer Integer rVal Forward Get MSG_Exiting_Scope iWhereTo to rVal If Not rVal Send Show_View_Name "" End_Procedure Procedure Show_view_Name string sHelp Integer rVal Id Get Statusbar_id to id If Id Send Show_View_Name to Id sHelp End_Procedure Function Should_Save_Recursive returns integer Function_return (View_Changed(Current_Object)) End_Function End_Class // dbReportView