//AB/ Project CrossMerge Engine //AB/ Object oIDE_Project is a View_Project //AB/ Set Size to 246 529 //AB/ Set ProjectName to "CrossMerge Engine" //AB/ Set ProjectFileName to "Connect.VW" //AB/ Set GenerateFileName to "NONAME4" // Project Object Structure // oConnectView is a cRDSDbView // Sncsys_DD is a DataDictionary // Snctable_DD is a DataDictionary // Sncschem_DD is a DataDictionary // Snclog_DD is a DataDictionary // oImageList is a cImageList // oSnc_td is a cRDSDbTabDialog // TP_Synchronize is a cRDSDbTabPage // oSncSchem_cf is a cRDSComboForm // oStart_bn is a cRDSButton // oSelectAll_bn is a cRDSButton // oDeselectAll_bn is a cRDSButton // oInvertSelection_bn is a cRDSButton // oSncTable_grd is a cSyncTableCheckBoxGrid // oSynchronize is a cSynchronize // TP_View_Log is a cRDSDbTabPage // oSncLog_grd is a cRDSDbList // oCurrentRecords_fm is a cRDSForm // oMaxRecords_fm is a cRDSForm // oDeleteLog_bn is a cZeroLogBn // oRunMinimized_cb is a cRDSCheckBox // oHelp_bn is a cRDSButton // oAbout_bn is a cRDSButton // Register all objects Register_Object oAbout_bn Register_Object oConnectView Register_Object oCurrentRecords_fm Register_Object oDeleteLog_bn Register_Object oDeselectAll_bn Register_Object oHelp_bn Register_Object oImageList Register_Object oInvertSelection_bn Register_Object oMaxRecords_fm Register_Object oRunMinimized_cb Register_Object oSelectAll_bn Register_Object oSnc_td Register_Object oSncLog_grd Register_Object oSncSchem_cf Register_Object oSncTable_grd Register_Object oStart_bn Register_Object oSynchronize Register_Object Snclog_DD Register_Object Sncschem_DD Register_Object Sncsys_DD Register_Object Snctable_DD Register_Object TP_Synchronize Register_Object TP_View_Log //AB-StoreTopStart Use cHtmlHelpNew.pkg Use LogDialog.dg //AB-StoreTopEnd //AB-IgnoreStart Use cRDSDbView.pkg Use DataDict.pkg Use Windows.pkg Use cRDSDbTabDialog.pkg Use cRDSDbTabPage.pkg Use cRDSComboForm.pkg Use cRDSButton.pkg Use cSyncTableCheckBoxGrid.pkg Use cSynchronize.pkg Use cRDSDbList.pkg Use cRDSForm.pkg Use cZeroLogBn.pkg Use cRDSCheckBox.pkg //AB-IgnoreEnd //AB-IgnoreStart Use SNCSYS.DD Use SNCTABLE.DD Use SNCSCHEM.DD Use SNCLOG.DD //AB-IgnoreEnd ACTIVATE_VIEW Activate_oConnectView FOR oConnectView Object oConnectView is a cRDSDbView //AB-StoreTopStart //Use LFFile.pkg // Create license object here!!! //AB-StoreTopEnd Set Border_Style to Border_None Set Caption_Bar to FALSE Set Minimize_Icon to FALSE Set Maximize_Icon to TRUE Set Help_Id to CM_Engine Set Label to "CrossMerge Engine" Set Location to 0 0 Set Size to 221 514 Set piMinSize to 221 513 Set Auto_Clear_DEO_State to FALSE //AB-DDOStart Object Sncsys_DD is a Sncsys_DataDictionary End_Object // Sncsys_DD Object Snctable_DD is a SncTable_DataDictionary //AB-StoreStart Procedure OnConstrain Forward Send OnConstrain Constrain SncTable.Hide Eq 0 End_Procedure //AB-StoreEnd End_Object // Snctable_DD Object Sncschem_DD is a Sncschem_DataDictionary End_Object // Sncschem_DD Object Snclog_DD is a Snclog_DataDictionary //AB-StoreStart //AB-StoreEnd End_Object // Snclog_DD Set Main_DD to Sncsys_DD Set Server to Sncsys_DD //AB-DDOEnd Object oImageList is a cImageList //AB/ Set Location to 1 488 //AB-StoreStart Procedure OnCreate Integer iIndex Get AddTransparentImage "CmEngine16.bmp" clFuchsia To iIndex Get AddTransparentImage "Log16.bmp" clFuchsia To iIndex End_Procedure // OnCreateEnd_Procedure // OnCreate //AB-StoreEnd End_Object // oImageList Object oSnc_td is a cRDSDbTabDialog Set Size to 196 505 Set Location to 5 5 Set Help_Id to CM_Engine Set phoImageList to oImageList Set peAnchors to anAll Set pbResetPageOnActivate to TRUE Set Pointer_only_state to TRUE Set Auto_Clear_DEO_state to FALSE Object TP_Synchronize is a cRDSDbTabPage //AB-StoreTopStart //Use LFFile.pkg // Create license object here!!! //AB-StoreTopEnd Set Label to "Connect" Set Tab_ToolTip_Value to "Connect data tables according to the selected collection name" Object oSncSchem_cf is a cRDSComboForm Set Label to "Selected Collection Name:" Set Size to 13 195 Set Location to 164 91 Set Status_Help to "Select a collection name from the list" Set peAnchors to anBottomLeft Set Form_Border to 0 Set Label_Col_Offset to 2 Set Label_Justification_Mode to jMode_Right Set Entry_State Item 0 to FALSE //AB-StoreStart // Combo_Fill_List is called when the list needs filling Procedure Combo_Fill_List Handle hoDD Move (SncSchem_DD(Self)) To hoDD Send Combo_Delete_Data Send Clear Of hoDD Send Find Of hoDD First_Record Index.1 While (Found) Send Combo_Add_Item (Trim(SncSchem.Name)) Send Find Of hoDD Next_Record Index.1 Loop Set Value Item 0 To (Trim(SncSys.Default_Scheme)) End_Procedure // Combo_fill_list Procedure OnChange Handle ho Integer iItem iItems String sValue Get Combo_Item_Count To iItems If iItems Begin Get WinCombo_Current_Item To iItem Get WinCombo_Value Item iItem To sValue Move (oSncTable_grd(Self)) To ho Send DoFillGrid Of ho Send DoDisplayScheme Of ho sValue End // If iItems Begin End_Procedure // OnChange //AB-StoreEnd End_Object // oSncSchem_cf Object oStart_bn is a cRDSButton Set Label to "&Start" Set Location to 164 289 Set Status_Help to "Start connecting selected data tables" Set peAnchors to anBottomLeft Set Default_State to TRUE //AB-StoreStart Procedure OnClick Boolean bChecked Get Checked_State Of oRunMinimized_cb To bChecked If bChecked Set View_Mode Of oMain To ViewMode_Iconize Send DoProcess Of oSynchronize (oSncTable_grd(Self)) // Proc in cSynchronize.pkg If bChecked Set View_Mode Of oMain To ViewMode_Normal End_Procedure // OnClick //AB-StoreEnd End_Object // oStart_bn Object oSelectAll_bn is a cRDSButton Set Label to "S&elect All" Set Size to 14 58 Set Location to 18 437 Set Status_Help to "Select all grid items" Set peAnchors to anTopRight //AB-StoreStart Set Enabled_State To SncSys.AllowTblChange Procedure OnClick Send DoToggleAll Of oSncTable_grd True End_Procedure // OnClick //AB-StoreEnd End_Object // oSelectAll_bn Object oDeselectAll_bn is a cRDSButton Set Label to "Select &None" Set Size to 14 58 Set Location to 34 437 Set Status_Help to "Deselect all grid items" Set peAnchors to anTopRight //AB-StoreStart Set Enabled_State To SncSys.AllowTblChange Procedure OnClick Send DoToggleAll Of oSncTable_grd (False) End_Procedure // OnClick //AB-StoreEnd End_Object // oDeselectAll_bn Object oInvertSelection_bn is a cRDSButton Set Label to "&Invert Selection" Set Size to 14 58 Set Location to 50 437 Set Status_Help to "Invert the current selection of grid items" Set peAnchors to anTopRight //AB-StoreStart Set Enabled_State To SncSys.AllowTblChange Procedure OnClick Send DoToggleAll Of oSncTable_grd -1 End_Procedure // OnClick //AB-StoreEnd End_Object // oInvertSelection_bn Object oSncTable_grd is a cSyncTableCheckBoxGrid //AB-StoreTopStart Set phoSynchGrid Of ghoApplication To Self // Program property of oMain //AB-StoreTopEnd Set Size to 151 429 Set Location to 8 3 Set peAnchors to anAll Set peResizeColumn to rcSelectedColumn Set piResizeColumn to 1 Set phoDD to (SncTable_DD(Self)) Set Line_Width to 4 0 Set Form_Width item 0 to 40 Set Header_Label item 0 to "Selected" Set Form_Width item 1 to 50 Set Header_Label item 1 to "Sort Name" Set Form_Width item 2 to 282 Set Header_Label item 2 to "Description" Set Form_Width item 3 to 50 Set Header_Label item 3 to "Auto Delete" //AB-StoreStart Set pbSynchSetup To False Procedure OnStartUp String sValue Send DoFillGrid Move (Trim(SncSys.Default_Scheme)) To sValue Send DoFillGrid Send DoDisplayScheme sValue If (Length(psOrgCollectionName(ghoApplication)) > 0) Begin Send OnClick Of oStart_bn // Reset settings prior to collection name passed on command line: Reread SncSys Move (psOrgCollectionName(ghoApplication)) To SncSys.Default_Scheme Move 0 To SncSys.AutoStart Move 0 To SncSys.RunMinimized Saverecord SncSys Unlock Abort End // If (Length(gsDefaultSchemeName) > 0) Begin End_Procedure // OnStartUp // For some reason this must be send in connect.src just after this view has been activated // to display checkboxes. (Cannot be send from here) //Send OnStartup Function Next_Object_Id Returns Integer Handle ho Move (oSncSchem_cf(TP_Synchronize(oSnc_td(Self)))) To ho Function_Return ho End_Function // Next_Object_Id Procedure Switch_Next_Area Handle ho Integer iRetval Get Next_Object_Id To ho Get Msg_Activate Of ho To iRetval // Try To Activate Object // If we fail activation we want to do what switch normally does // which is to keep trying to switch. If iRetval Send Switch Of ho // Send To Object That Didn't Activate End_Function // Next_Object_Id //AB-StoreEnd End_Object // oSncTable_grd Object oSynchronize is a cSynchronize Set Location to 90 451 Set phoPanel to (oMain(Self)) End_Object // oSynchronize //AB-StoreStart Function Next_Object_Id Returns Integer Handle ho Move (oSncSchem_cf(TP_Synchronize(oSnc_td(Self)))) To ho Function_Return ho End_Function // Next_Object_Id //AB-StoreEnd End_Object // TP_Synchronize Object TP_View_Log is a cRDSDbTabPage Set Label to "View Log" Set Tab_ToolTip_Value to "View Engine Log" Set piImageIndex to 1 Object oSncLog_grd is a cRDSDbList Set Main_File to Snclog.File_Number Set Server to Snclog_DD Set Ordering to 1 Set Size to 157 493 Set Location to 6 4 Set TextColor to clNavy Set CurrentCellColor to clYellow Set peGridLineColor to clNavy Set peDisabledTextColor to clNavy Set peAnchors to anAll Set peResizeColumn to rcSelectedColumn Set piResizeColumn to 2 Set pbHeaderTogglesDirection to TRUE Set pbReverseOrdering to TRUE Set Auto_Column_State to FALSE Set Move_Value_Out_State to FALSE Begin_Row Entry_Item Snclog.Recid Entry_Item (Snclog.Recid) Entry_Item Snclog.Statustext Entry_Item Snclog.Tablename Entry_Item Snclog.Datetime Entry_Item Snclog.Networkusername End_Row Set Form_Width item 0 to 30 Set Header_Label item 0 to "Log ID" Set Form_Width item 1 to 29 Set Header_Label item 1 to "Status" Set Column_Checkbox_State item 1 to True Set Form_Width item 2 to 166 Set Header_Label item 2 to "Status Text" Set Form_Width item 3 to 139 Set Header_Label item 3 to "Database Connection" Set Form_Width item 4 to 72 Set Header_Label item 4 to "Date and Time" Set Form_Width item 5 to 51 Set Header_Label item 5 to "User Name" //AB-StoreStart Set Status_Help Item 0 To "Double-click to better view the selected status message." Set Entry_msg To DoDisableToolbarButtons Set Exit_msg To DoEnableToolbarButtons Procedure Entry_Display Integer iFile Integer iType Integer iBase_Item iItem String sValue Forward Send Entry_Display iFile iType Get Base_Item To iBase_Item If (iBase_Item < 0) Procedure_Return Increment iBase_Item Get Value Item (iBase_Item + 1) To sValue If (Uppercase(sValue) Contains "ERROR") ; Set Form_Bitmap Item iBase_Item To "Error.bmp/t" Else If (Uppercase(sValue) Contains "WARNING") ; Set Form_Bitmap Item iBase_Item To "Warning.bmp/t" Else ; Set Form_Bitmap Item iBase_Item To "Info.bmp/t" End_Procedure // Entry_Display // Do this when reordering so the first column doesn't always take the focus: //Procedure OnBeginningofPanel // Send DoMakeColumnVisible 0 //End_Procedure Procedure DoEnableToolbarButtons Handle ho Move (oToolBar(Self)) To ho If ho Begin Get phoCut To ho If ho Set pbEnabled Of ho To True Get phoCopy To ho If ho Set pbEnabled Of ho To True Get phoPaste To ho If ho Set pbEnabled Of ho To True End // If ho Begin End_Procedure // DoEnableToolbarButtons Procedure DoDisableToolbarButtons Handle ho Move (oToolBar(Self)) To ho If ho Begin Get phoCut To ho If ho Set pbEnabled Of ho To False Get phoCopy To ho If ho Set pbEnabled Of ho To False Get phoPaste To ho If ho Set pbEnabled Of ho To False End // If ho Begin End_Procedure // DoDisableToolbarButtons Procedure Mouse_Click Integer iWin Forward Send Mouse_Click iWin Send DoPopupLogDialog End_Procedure // MouseClick Procedure DoMouseClick Send DoPopupLogDialog End_Procedure Function Private.Next_Object_Id Integer bNoDescend Returns Integer Handle ho Move (oSncTable_grd(TP_Synchronize(oSnc_td(Self)))) To ho Function_Return ho End_Function // Private.Next_Object_Id Function Next_Object_Id Integer bNoDescend Returns Integer Handle ho Move (oSncTable_grd(TP_Synchronize(oSnc_td(Self)))) To ho Function_Return ho End_Function // Next_Object_Id Procedure Switch_Next_Area Handle ho Integer iRetval Get Next_Object_Id To ho Get Msg_Activate Of ho To iRetval // Try To Activate Object // If we fail activation we want to do what switch normally does // which is to keep trying to switch. If iRetval Send Switch Of ho // Send To Object That Didn't Activate End_Function // Switch_Next_Area On_Key kEnter Send DoMouseClick // This doesn't work! On_Key kSwitch Send Switch_Next_Area On_Key kNext_Item Send Down On_Key kPrevious_Item Send Up //AB-StoreEnd End_Object // oSncLog_grd Object oCurrentRecords_fm is a cRDSForm Set Label to "Number of Log Records:" Set Size to 13 43 Set Location to 165 281 Set Status_Help to "Current number of records in the Synchronize log." Set peAnchors to anBottomRight Set Label_Col_Offset to 2 Set Label_Justification_Mode to jMode_Right //AB-StoreStart Set Form_Datatype Item 0 To Mask_Numeric_Window Set Form_Mask Item 0 To "#,###########" Set Enabled_State To False Procedure DoSetRecordCount Integer iRecords Get_Attribute DF_FILE_RECORDS_USED Of SncLog.File_Number To iRecords Set Value Item 0 To iRecords End_Procedure // DoSetRecordCount Send DoSetRecordCount //AB-StoreEnd End_Object // oCurrentRecords_fm Object oMaxRecords_fm is a cRDSForm Set Label to "Max no of Records:" Set Size to 13 43 Set Location to 165 394 Set Status_Help to "Maximum number of records the log can contain." Set peAnchors to anBottomRight Set Label_Col_Offset to 2 Set Label_Justification_Mode to jMode_Right //AB-StoreStart Set Form_Datatype Item 0 To Mask_Numeric_Window Set Form_Mask Item 0 To "#,###########" Set Enabled_State To False Procedure DoSetRecordCount Integer iRecords Get_Attribute DF_FILE_MAX_RECORDS Of SncLog.File_Number To iRecords Set Value Item 0 To iRecords End_Procedure // DoSetRecordCount Send DoSetRecordCount //AB-StoreEnd End_Object // oMaxRecords_fm Object oDeleteLog_bn is a cZeroLogBn Set Label to "&Delete Log" Set Size to 14 59 Set Location to 165 441 Set Status_Help to "Press to delete all records in the log." Set peAnchors to anBottomRight Set Bitmap to "Delete16.bmp" //AB-StoreStart Set Enabled_State To SncSys.AllowDeleteLog //AB-StoreEnd End_Object // oDeleteLog_bn //AB-StoreStart Function Next_Object_Id Integer bNoDescend Returns Integer Handle ho Forward Get Next_Object_Id bNoDescend To ho Function_Return ho End_Function // Next_Object_Id //AB-StoreEnd End_Object // TP_View_Log //AB-StoreStart Procedure Request_Switch_To_Tab Integer iPageNumber Integer iMode If (iPageNumber = 1) Begin Send Beginning_Of_Data Of oSncLog_grd Broadcast Recursive Send DoSetRecordCount // Will update SncLog counter fields. End // If (iPageNumber = 1) Begin Set Enabled_State Of oStart_bn To (iPageNumber = 0) Forward Send Request_Switch_To_Tab iPageNumber iMode End_Procedure // Request_Switch_To_Tab //AB-StoreEnd End_Object // oSnc_td Object oRunMinimized_cb is a cRDSCheckBox Set Label to "Run &Minimized" Set Size to 14 63 Set Location to 204 6 Set Status_Help to "Run program minimized while connecting data tables." Set peAnchors to anBottomLeft //AB-StoreStart Set Checked_State To SncSys.RunMinimized //AB-StoreEnd End_Object // oRunMinimized_cb Object oHelp_bn is a cRDSButton Set Label to "&Help" Set Location to 203 406 Set Status_Help to "Help on how to use this program" Set Help_Id to CM_Engine Set peAnchors to anBottomRight //AB-StoreStart Procedure OnClick Send DoShowMapID Of ghoHtmlHelp CM_Engine End_Procedure // OnClick //AB-StoreEnd End_Object // oHelp_bn Object oAbout_bn is a cRDSButton Set Label to "&About" Set Location to 203 459 Set Status_Help to "Display info about this program" Set peAnchors to anBottomRight //AB-StoreStart Procedure OnClick Send Activate_About End_Procedure // OnClick //AB-StoreEnd End_Object // oAbout_bn //AB-StoreStart Set Verify_Save_msg To msg_None Set peAnchors To anAll // This needs to be manually set in VDF9.1 -> Delegate Set piViewSize To (GuiSize(Self)) // oMain property. //Procedure Activating // Forward Send Activating // Send Activate Of (oSncSchem_cf(TP_Synchronize(oSnc_td(Self)))) //End_Procedure // Activating Procedure DoStartEngine Integer iPage Get Current_Tab Of oSnc_td To iPage If iPage Procedure_Return // Do not start if on View log tab-page. Send KeyAction Of oStart_bn End_Procedure // DoStartEngine // Do not allow to close panel: Procedure Request_Cancel End_Procedure // Request_Cancel Function RdsMain_Panel_Id Returns Integer Function_Return Self End_Function Function Item_Count Returns Integer End_Function Procedure DoChangeCheckbox Integer ho bState Move (oRunMinimized_cb(Self)) To ho Get Select_State Of ho To bState Set Select_State Of ho To (Not(bState)) End_Procedure // DoChangeCheckbox On_Key Key_Alt+Key_E Send KeyAction Of oSelectAll_bn On_Key Key_Alt+Key_N Send KeyAction Of oDeselectAll_bn On_Key Key_Alt+Key_I Send KeyAction Of oInvertSelection_bn On_Key Key_Alt+Key_D Send KeyAction Of oDeleteLog_bn On_Key Key_Alt+Key_S Send DoStartEngine On_Key Key_Alt+Key_M Send DoChangeCheckBox On_Key Key_Alt+Key_H Send KeyAction Of oHelp_bn On_Key Key_F1 Send KeyAction Of oHelp_bn On_Key Key_Alt+Key_A Send KeyAction Of oAbout_bn //AB-StoreEnd End_Object // oConnectView //AB-StoreStart //AB-StoreEnd //AB/ End_Object // oIDE_Project