├── .gitattributes ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── vfpxpoweredby_alternative.gif ├── .gitignore ├── Change Log.md ├── Docs ├── 2011 Nelson_Thor.pdf ├── 2014 Nelson_Thor.pdf ├── Images │ ├── ObjectExplorerNews43.png │ ├── Table_Favorites.png │ ├── Table_HotKeyDefinitions.png │ ├── Table_HotKeys.png │ ├── Table_MenuDefinitions.png │ ├── Table_MenuTools.png │ ├── Table_StartupTools.png │ ├── Table_TableAliases.png │ ├── Table_Thor.png │ ├── Table_ToolBarTools.png │ ├── Table_ToolHotKeyAssignments.png │ ├── Thor.png │ ├── Thor_Adding_tools_to_menus_AddTool.png │ ├── Thor_Adding_tools_to_menus_AddTool2.png │ ├── Thor_Assign_tool_hot_key.png │ ├── Thor_Assigning_hot_keys.png │ ├── Thor_Browsing_Tool_Definitions_1.png │ ├── Thor_Create_Menu_Pad_CreateMenuPad.png │ ├── Thor_Create_Menu_Pad_CreateMenuPad2.png │ ├── Thor_Create_Popup_Menu1.png │ ├── Thor_Create_Popup_Menu2.png │ ├── Thor_Creating_sub-menus_AddSubMenu.png │ ├── Thor_Duplicating_Menus_SaveAsPopUp.png │ ├── Thor_Duplicating_Menus_SaveAsTopLevel.png │ ├── Thor_Duplicating_Menus_SaveCopiedMenu.png │ ├── Thor_Edit_Existing_tools.png │ ├── Thor_Form_Usage_Notes_RefreshButton.png │ ├── Thor_Form_Usage_Notes_ThorButton.png │ ├── Thor_GoFish5.png │ ├── Thor_Hot_Key_List_AllHotKeyAssigments.png │ ├── Thor_Launcher_SNAGHTML216ae24.png │ ├── Thor_Launcher_SNAGHTML22a770e.png │ ├── Thor_Launcher_SNAGHTML22e40b2.png │ ├── Thor_Launcher_SNAGHTML239a5cb.png │ ├── Thor_Launcher_SNAGHTML2930164.png │ ├── Thor_Launcher_image_2.png │ ├── Thor_MRUs.png │ ├── Thor_MoveMenuPads.png │ ├── Thor_News_SNAGHTML1f93281e.png │ ├── Thor_News_SNAGHTMLf871ea8_thumb1_thumb_2.png │ ├── Thor_One-Cick_Update_SNAGHTML17f44631.png │ ├── Thor_One-Cick_Update_SNAGHTML1f1f7c63.png │ ├── Thor_One-Cick_Update_image_4.png │ ├── Thor_Open_Thor_Form.png │ ├── Thor_Options.png │ ├── Thor_Overview_SampleToolHeader.png │ ├── Thor_Overview_image_2.png │ ├── Thor_Repository_image_2.png │ ├── Thor_SNAGHTML39362d.png │ ├── Thor_SNAGHTMLf389404.png │ ├── Thor_SNAGHTMLf3b4e2e.png │ ├── Thor_Tools_Making_Tools_image_2.png │ ├── Thor_VFPHotKeys.png │ ├── Thor_add_plugins1.png │ ├── Thor_add_plugins2.png │ ├── Thor_add_plugins3.png │ ├── Thor_community.png │ ├── Thor_configuration.png │ ├── Thor_creating_new_tools_createtoolbutton.png │ ├── Thor_creating_new_tools_createtoolform1.png │ ├── Thor_creating_new_tools_sampletoolheader.png │ ├── Thor_forums.png │ ├── Thor_greenline.png │ ├── Thor_help_thor_form_initial.png │ ├── Thor_image.png │ ├── Thor_image_2.png │ ├── Thor_image_4.png │ ├── Thor_news.png │ ├── Thor_news_image_thumb_5.png │ ├── Thor_re-ordering_tools_MoveTools.png │ ├── VCD4PRG_image_2.png │ ├── docs │ │ └── pictures │ │ │ └── vfpxpoweredby_alternative.gif │ └── vfpxpoweredby_alternative.gif ├── Internals │ └── Tables.md ├── Media │ ├── Thor Repository_Repository.MRU.Projects.wmv │ ├── Thor_Repository_New_Repository_MRU_Projects.wmv │ └── Thor_Repository_Repository_Windows_Management.wmv ├── NewsItems │ ├── Images │ │ ├── Item_46_ExecuteSelection.png │ │ ├── Item_47_GoToDefinition.png │ │ ├── Item_47_SampleAliasTable.png │ │ ├── Item_47_crsrStar.png │ │ ├── Item_47_crsrStarSample.png │ │ ├── Item_47_goKTrack.png │ │ ├── Item_47_goKTrackExample.png │ │ ├── Item_47_loTable.png │ │ ├── Item_47_loTableSample.png │ │ ├── Item_47_loTableStarDotoData.png │ │ ├── Item_47_oAppDotoAdmin.png │ │ ├── Item_47_oAppDotoStar.png │ │ ├── Item_47_oNAVSQL.png │ │ ├── Item_47_oNAVSQLSample.png │ │ ├── Thor_News_SNAGHTML1f93281e.png │ │ ├── Thor_News_SNAGHTML3cdc777.png │ │ ├── Thor_News_SNAGHTMLf871ea8_thumb1_thumb_2.png │ │ ├── Thor_SNAGHTML39362d.png │ │ ├── Thor_SNAGHTMLf389404.png │ │ ├── Thor_SNAGHTMLf3b4e2e.png │ │ ├── Thor_community.png │ │ ├── Thor_configuration.png │ │ ├── Thor_forums.png │ │ ├── Thor_news_image_thumb_4.png │ │ ├── Thor_news_image_thumb_5.png │ │ ├── Tweet10_foxcodeplus.png │ │ ├── Tweet10a.png │ │ ├── Tweet10b.png │ │ ├── Tweet10c.png │ │ ├── Tweet10d.png │ │ ├── Tweet10e.png │ │ ├── Tweet11a.png │ │ ├── Tweet11b.png │ │ ├── Tweet11c.png │ │ ├── Tweet11d.png │ │ ├── Tweet13a.png │ │ ├── Tweet13b.png │ │ ├── Tweet13c.png │ │ ├── Tweet13d.png │ │ ├── Tweet13e.png │ │ ├── Tweet14a.png │ │ ├── Tweet14b.png │ │ ├── Tweet14c.png │ │ ├── Tweet14d.png │ │ ├── Tweet14e.png │ │ ├── Tweet14f.png │ │ ├── Tweet14g.png │ │ ├── Tweet14h.png │ │ ├── Tweet14i.png │ │ ├── Tweet15b.png │ │ ├── Tweet15c.png │ │ ├── Tweet15d.png │ │ ├── Tweet15e.png │ │ ├── Tweet15f.png │ │ ├── Tweet15g.png │ │ ├── Tweet15h.png │ │ ├── Tweet15i.png │ │ ├── Tweet15j.png │ │ ├── Tweet15k.png │ │ ├── Tweet15l.png │ │ ├── Tweet15m.png │ │ ├── Tweet15n.png │ │ ├── Tweet16a.png │ │ ├── Tweet16b.png │ │ ├── Tweet16c.png │ │ ├── Tweet18a.png │ │ ├── Tweet19a.png │ │ ├── Tweet19b.png │ │ ├── Tweet19c.png │ │ ├── Tweet19d.png │ │ ├── Tweet20a.png │ │ ├── Tweet20b.png │ │ ├── Tweet20c.png │ │ ├── Tweet20d.png │ │ ├── Tweet20e.png │ │ ├── Tweet21a.png │ │ ├── Tweet21b.png │ │ ├── Tweet21c.png │ │ ├── Tweet22a.png │ │ ├── Tweet22b.png │ │ ├── Tweet22c.png │ │ ├── Tweet22d.png │ │ ├── Tweet23a.png │ │ ├── Tweet23b.png │ │ ├── Tweet23c.png │ │ ├── Tweet24a.png │ │ ├── Tweet24b.png │ │ ├── Tweet24c.png │ │ ├── Tweet24d.png │ │ ├── Tweet24e.png │ │ ├── Tweet25a.png │ │ ├── Tweet25b.png │ │ ├── Tweet25c.png │ │ ├── Tweet25d.png │ │ ├── Tweet25e.png │ │ ├── Tweet26a.png │ │ ├── Tweet27a.png │ │ ├── Tweet2a.png │ │ ├── Tweet2b.png │ │ ├── Tweet3a.png │ │ ├── Tweet5a.png │ │ ├── Tweet6a.png │ │ ├── Tweet7a.png │ │ ├── Tweet7b.png │ │ ├── Tweet7c.png │ │ ├── Tweet8a.png │ │ ├── Tweet9_vfpxprojects.png │ │ ├── Tweet9a.png │ │ ├── Tweet9b.png │ │ ├── Tweet9c.png │ │ ├── Tweet9d.png │ │ ├── Tweet9e.png │ │ └── item_47_loStarDotData.png │ ├── Item_1.md │ ├── Item_10.md │ ├── Item_12.md │ ├── Item_13.md │ ├── Item_14.md │ ├── Item_17.md │ ├── Item_18.md │ ├── Item_3.md │ ├── Item_38.md │ ├── Item_4.md │ ├── Item_41.md │ ├── Item_42.md │ ├── Item_43.md │ ├── Item_44.md │ ├── Item_45.md │ ├── Item_46.md │ ├── Item_47.md │ ├── Item_48.md │ ├── Item_5.md │ ├── Item_6.md │ ├── Item_7.md │ ├── Item_8.md │ ├── Item_9.md │ ├── Old Items.md │ ├── ThorNewsVersion.txt │ ├── Tweet_01.md │ ├── Tweet_02.md │ ├── Tweet_03.md │ ├── Tweet_04.md │ ├── Tweet_05.md │ ├── Tweet_06.md │ ├── Tweet_07.md │ ├── Tweet_08.md │ ├── Tweet_09.md │ ├── Tweet_10.md │ ├── Tweet_11.md │ ├── Tweet_12.md │ ├── Tweet_13.md │ ├── Tweet_14.md │ ├── Tweet_15.md │ ├── Tweet_16.md │ ├── Tweet_17.md │ ├── Tweet_18.md │ ├── Tweet_19.md │ ├── Tweet_20.md │ ├── Tweet_21.md │ ├── Tweet_22.md │ ├── Tweet_23.md │ ├── Tweet_24.md │ ├── Tweet_25.md │ ├── Tweet_26.md │ └── Tweet_27.md ├── Prog │ ├── Thor Repository Uploads_Thor_Tool_Repository_MRUProjectClasses.PRG │ ├── Thor Repository Uploads_Thor_Tool_Repository_MRUProjectFiles.PRG │ ├── Thor Repository_Thor_Tool_Repository_CommentSelectedText.prg │ ├── Thor Repository_Thor_Tool_Repository_CreateSQLTableFromCursor.prg │ ├── Thor Repository_Thor_Tool_Repository_CycleDesignerWindows.PRG │ ├── Thor Repository_Thor_Tool_Repository_HackCX_MRUs.prg │ ├── Thor Repository_Thor_Tool_Repository_MRUProjectClasses.PRG │ ├── Thor Repository_Thor_Tool_Repository_MRUProjectFiles.PRG │ ├── Thor Repository_Thor_Tool_Repository_MoveDesignersToTop.PRG │ ├── Thor Repository_Thor_Tool_Repository_ResizeDesigner.prg │ ├── Thor Repository_Thor_Tool_Repository_Sample_ModifySelectedText.prg │ ├── Thor Repository_Thor_Tool_Repository_Show_Classlibs.prg │ ├── Thor Repository_Thor_Tool_Repository_Show_Path.prg │ ├── Thor Repository_Thor_Tool_Repository_TableSchema.PRG │ ├── Thor Repository_Thor_Tool_Repository_ToggleCommentColors.prg │ └── Thor Repository_Thor_Tool_Repository_WLCListFields.prg ├── TWEeTs.md ├── Thor.md ├── ThorChanges2021-12-28.md ├── Thor_Adding_tools_to_menus.md ├── Thor_Check_For_Updates.md ├── Thor_VFPx_Tools.md ├── Thor_add_plugins.md ├── Thor_assign_tool_hot_keys.md ├── Thor_assigning_hot_keys.md ├── Thor_browsing_tools.md ├── Thor_create_menu_pad.md ├── Thor_create_popup_menu.md ├── Thor_creating_new_tools.md ├── Thor_creating_sub-menus.md ├── Thor_duplicating_menus.md ├── Thor_editing_existing_tools.md ├── Thor_editorwindow_object.md ├── Thor_enhancement_requests.md ├── Thor_form_usage_notes.md ├── Thor_framework_contextmenu.md ├── Thor_framework_formsettings.md ├── Thor_help.md ├── Thor_hot_key_list.md ├── Thor_install.md ├── Thor_launcher.md ├── Thor_moving_menu_pads.md ├── Thor_news - Copy.md ├── Thor_news.md ├── Thor_one-click_update.md ├── Thor_open_form.md ├── Thor_options.md ├── Thor_overview.md ├── Thor_re-ordering tools.md ├── Thor_reinstall.md ├── Thor_repository.md ├── Thor_running.md ├── Thor_superbrowse.md ├── Thor_tools_making_tools.md ├── Thor_tools_object.md ├── Thor_videos.md ├── VCD4PRG.md └── Zip │ ├── Thor Repository Uploads_Thor Repository.zip │ ├── Thor Repository_Thor Repository.zip │ └── Thor Repository_Thor_Tool_Repository_GoToMethod.zip ├── Installed Files ├── Source │ ├── CreateDirectoryStructure.PRG │ ├── NewSessionObject.PRG │ ├── Tables │ │ ├── hotkeydefinitions.cdx │ │ ├── hotkeydefinitions.db2 │ │ ├── hotkeydefinitions.dbf │ │ ├── logfile.db2 │ │ ├── logfile.dbf │ │ ├── menudefinitions.cdx │ │ ├── menudefinitions.db2 │ │ ├── menudefinitions.dbf │ │ ├── menudefinitions.fpt │ │ ├── menutools.cdx │ │ ├── menutools.db2 │ │ ├── menutools.dbf │ │ ├── menutools.fpt │ │ ├── startuptools.cdx │ │ ├── startuptools.db2 │ │ ├── startuptools.dbf │ │ ├── thor.db2 │ │ ├── thor.dbf │ │ ├── thor.fpt │ │ ├── thor_tool_togglecommentcolors.prg │ │ ├── toolhotkeyassignments.cdx │ │ ├── toolhotkeyassignments.db2 │ │ └── toolhotkeyassignments.dbf │ ├── basecontrols.vc2 │ ├── basecontrols.vct │ ├── basecontrols.vcx │ ├── baseprojecthooks.vc2 │ ├── baseprojecthooks.vct │ ├── baseprojecthooks.vcx │ ├── buildthor.PRG │ ├── createcloudversionfile.prg │ ├── createrunthorprg.PRG │ ├── createthorrepository.prg │ ├── createthortoolcatalog.prg │ ├── createthortoolcatalogvfpx.prg │ ├── createtool.sc2 │ ├── createtool.sct │ ├── createtool.scx │ ├── deploythor.prg │ ├── down.bmp │ ├── filtertool.prg │ ├── foxresource.prg │ ├── hotkeys.cdx │ ├── hotkeys.db2 │ ├── hotkeys.dbf │ ├── lockwindow.prg │ ├── menus.ico │ ├── peme_foxresource.vc2 │ ├── peme_foxresource.vct │ ├── peme_foxresource.vcx │ ├── peme_winapisupport.prg │ ├── popup.ico │ ├── programs.ico │ ├── quotesaroundlongtext.prg │ ├── refhelp.bmp │ ├── refresh2.bmp │ ├── spelldate.prg │ ├── thor.h │ ├── thor.ico │ ├── thor.pj2 │ ├── thor.pjt │ ├── thor.pjx │ ├── thor.vc2 │ ├── thor.vct │ ├── thor.vcx │ ├── thor16.ico │ ├── thor16.png │ ├── thor_english.h │ ├── thor_foxresource.vc2 │ ├── thor_foxresource.vct │ ├── thor_foxresource.vcx │ ├── thor_left_arrow.bmp │ ├── thor_main.prg │ ├── thor_menu.vc2 │ ├── thor_menu.vct │ ├── thor_menu.vcx │ ├── thor_right_arrow.bmp │ ├── thor_run.h │ ├── thor_run.vc2 │ ├── thor_run.vct │ ├── thor_run.vcx │ ├── thor_sf_splitter.vc2 │ ├── thor_sf_splitter.vct │ ├── thor_sf_splitter.vcx │ ├── thor_sfcombotree.vc2 │ ├── thor_sfcombotree.vct │ ├── thor_sfcombotree.vcx │ ├── thor_starting_prgs.db2 │ ├── thor_starting_prgs.dbf │ ├── thor_starting_prgs.fpt │ ├── thor_tool_thor_checkforupdates.prg │ ├── thor_tool_thor_community.prg │ ├── thor_tool_thorinternalalltools.prg │ ├── thor_tool_thorinternaledit.prg │ ├── thor_tool_thorinternalframework.prg │ ├── thor_tool_thorinternalframeworkhelp.prg │ ├── thor_tool_thorinternalhelp.prg │ ├── thor_tool_thorinternalmanageplugins.prg │ ├── thor_tool_thorinternalmodifytool.prg │ ├── thor_tool_thorinternalrepository.prg │ ├── thor_tool_thorinternalrepositoryhomepage.prg │ ├── thor_tool_thorinternalruntool.prg │ ├── thor_tool_thorinternalthornews.prg │ ├── thor_tool_thorinternaltoollink.prg │ ├── thor_tool_thorinternaltweets.prg │ ├── thor_tool_thorinternalusagesummary.prg │ ├── thor_ui.h │ ├── thor_ui.vc2 │ ├── thor_ui.vct │ ├── thor_ui.vcx │ ├── thor_update_thor_repository_beta.prg │ ├── thor_utils.vc2 │ ├── thor_utils.vct │ ├── thor_utils.vcx │ ├── thorformruntool.sc2 │ ├── thorformruntool.sct │ ├── thorformruntool.scx │ ├── thorruntool.sc2 │ ├── thorruntool.sct │ ├── thorruntool.scx │ ├── thorui.sc2 │ ├── thorui.sct │ ├── thorui.scx │ ├── thorversion.h │ ├── up.bmp │ └── updatethorversionnumber.prg ├── Thor.APP └── Thor │ ├── Tables │ ├── VFPHotKeys.cdx │ ├── VFPHotKeys.db2 │ ├── VFPHotKeys.dbf │ ├── VFPHotKeys.fpt │ ├── hotkeys.cdx │ ├── hotkeys.db2 │ └── hotkeys.dbf │ └── Tools │ ├── Procs │ ├── THOR_PROC_FixThorMenuMarks.PRG │ ├── Thor_Proc_AfterComponentInstall.PRG │ ├── Thor_Proc_BeforeComponentInstall.PRG │ ├── Thor_Proc_CheckForUpdate.PRG │ ├── Thor_Proc_CheckInternetConnection.PRG │ ├── Thor_Proc_Check_For_Updates.PRG │ ├── Thor_Proc_DownloadAndExtractToPath.PRG │ ├── Thor_Proc_DownloadFileFromURL.PRG │ ├── Thor_Proc_Expand_Bitly_Url.PRG │ ├── Thor_Proc_ExtractFiles.PRG │ ├── Thor_Proc_ExtractFilesFromZip.PRG │ ├── Thor_Proc_ExtractToPath.PRG │ ├── Thor_Proc_GetAvailableVersionInfo.PRG │ ├── Thor_Proc_GetUpdaterObject.PRG │ ├── Thor_Proc_GetUpdaterObject2.PRG │ ├── Thor_Proc_MessageBox.PRG │ ├── Thor_Proc_ProcessContextMenuItem.PRG │ ├── Thor_Proc_RunExtApp.prg │ ├── Thor_Proc_SetLastCFUDate.PRG │ ├── Thor_Proc_SetLibrary.PRG │ ├── Thor_Proc_Shell.PRG │ ├── Thor_Proc_UpdateWaitWindow.PRG │ ├── Thor_Proc_WriteToCFULog.PRG │ ├── checkforupdates.sc2 │ ├── checkforupdates.sct │ ├── checkforupdates.scx │ ├── thor.ico │ ├── thor_proc_after_check_for_updates.prg │ ├── thor_proc_before_check_for_updates.prg │ ├── thor_proc_downloadandinstallupdates.prg │ ├── thor_proc_getupdatelist.prg │ ├── thor_proc_projecthomepages.sc2 │ ├── thor_proc_projecthomepages.sct │ ├── thor_proc_projecthomepages.scx │ ├── thor_proc_scopeprocessor.prg │ ├── thor_proc_scopeprocessor.vc2 │ ├── thor_proc_scopeprocessor.vct │ ├── thor_proc_scopeprocessor.vcx │ ├── thor_sfsplitter.vc2 │ ├── thor_sfsplitter.vct │ └── thor_sfsplitter.vcx │ ├── THOR_TOOL_THORINTERNALFRAMEWORK.PRG │ ├── THOR_TOOL_THORINTERNALTWEETS.PRG │ ├── THOR_TOOL_THORINTERNALUSAGESUMMARY.PRG │ ├── THOR_TOOL_ThorChangeLog.prg │ ├── Thor_Tool_ForceThorDownload.prg │ ├── Thor_Tool_ProjectHomePages.prg │ ├── Thor_Tool_ThorCFULog.PRG │ ├── Thor_Tool_ThorInternalAllTools.PRG │ ├── Thor_Tool_ThorInternalEdit.PRG │ ├── Thor_Tool_ThorInternalFrameworkHelp.PRG │ ├── Thor_Tool_ThorInternalHelp.PRG │ ├── Thor_Tool_ThorInternalManagePlugIns.PRG │ ├── Thor_Tool_ThorInternalModifyTool.PRG │ ├── Thor_Tool_ThorInternalRepository.PRG │ ├── Thor_Tool_ThorInternalRepositoryHomePage.PRG │ ├── Thor_Tool_ThorInternalRunTool.PRG │ ├── Thor_Tool_ThorInternalToolLink.PRG │ ├── Thor_Tool_Thor_CheckForUpdates.PRG │ ├── Thor_Tool_Thor_Community.PRG │ ├── Updates │ └── Thor_Update_Thor.PRG │ ├── VFPCompression.fll │ ├── VFPConnection.fll │ ├── thor.ico │ ├── thor_tool_thorinternalmanageplugins.sc2 │ ├── thor_tool_thorinternalmanageplugins.sct │ ├── thor_tool_thorinternalmanageplugins.scx │ └── thor_tool_thorinternalthornews.PRG ├── NoVFPXDeployment.txt ├── README.md ├── ThorUpdater ├── CreateThorUpdate.ps1 ├── Thor.zip ├── Updates.zip └── _ThorVersionFile.txt └── Updaters └── Updates ├── THOR_UPDATE_OBJECTINSPECTOR.PRG ├── Thor_Update_Bin2Text.prg ├── Thor_Update_ChilikatVFP.prg ├── Thor_Update_CodeAnalyst.prg ├── Thor_Update_CodeReferences.prg ├── Thor_Update_CoverageViewer.PRG ├── Thor_Update_DataExplorer.prg ├── Thor_Update_DeployFox.prg ├── Thor_Update_DesktopAlerts.prg ├── Thor_Update_DynamicForms.prg ├── Thor_Update_ErrorHandler.prg ├── Thor_Update_ExcelXML.prg ├── Thor_Update_FFC.PRG ├── Thor_Update_FRXTabs.prg ├── Thor_Update_Finder.prg ├── Thor_Update_FoxBarCode.PRG ├── Thor_Update_FoxBarCodeQR.PRG ├── Thor_Update_FoxBin2Prg.prg ├── Thor_Update_FoxCharts.PRG ├── Thor_Update_FoxGet.prg ├── Thor_Update_FoxTabs.prg ├── Thor_Update_FoxcodePlus.prg ├── Thor_Update_FoxyXLS.PRG ├── Thor_Update_GDIPlusX.prg ├── Thor_Update_Gauge.prg ├── Thor_Update_Git-Utils.prg ├── Thor_Update_GoFish.prg ├── Thor_Update_IntellisenseX.prg ├── Thor_Update_JustBehave.prg ├── Thor_Update_ListManager.prg ├── Thor_Update_OOPMenu.PRG ├── Thor_Update_OOPReports.PRG ├── Thor_Update_ObjectExplorer.prg ├── Thor_Update_OrganizationChart.prg ├── Thor_Update_PEMEditor.PRG ├── Thor_Update_ParallelFox.prg ├── Thor_Update_PopMenu.prg ├── Thor_Update_ProjectExplorer.PRG ├── Thor_Update_ProjectHookX.PRG ├── Thor_Update_RegExpTool.prg ├── Thor_Update_Ribbon.prg ├── Thor_Update_Russian.PRG ├── Thor_Update_SCCTextX.PRG ├── Thor_Update_SFMail.prg ├── Thor_Update_SFRegExp.prg ├── Thor_Update_Sidekick.prg ├── Thor_Update_StripeX.prg ├── Thor_Update_SubFox.prg ├── Thor_Update_TabMenu.prg ├── Thor_Update_TabbingNavigation.prg ├── Thor_Update_ThemedControls.prg ├── Thor_Update_ThemedTitleBar.prg ├── Thor_Update_Thor.PRG ├── Thor_Update_TwilioX.prg ├── Thor_Update_UpsizingWizard.prg ├── Thor_Update_VDP.prg ├── Thor_Update_VFP2C32.PRG ├── Thor_Update_VFPGridManyHeader.prg ├── Thor_Update_VFPRunTimeInstallers.prg ├── Thor_Update_VFPXDeployment.prg ├── Thor_Update_VFP_French.PRG ├── Thor_Update_Win7TLib.prg ├── Thor_Update_XLSXWorkbook.prg ├── Thor_Update_ctl32.prg ├── Thor_Update_nfJson.prg ├── Thor_Update_nfXML.prg ├── Thor_Update_ssClasses.PRG ├── Thor_Update_zPROC.prg ├── old_thor_update_thor_repository.prg ├── thor_update_ControlRenamer.prg ├── thor_update_FoxUnit.prg ├── thor_update_automatedbuild.prg ├── thor_update_classbrowser.prg ├── thor_update_gofishclassic.xprg ├── thor_update_gotodefinition.prg ├── thor_update_pdfium-vfp.prg ├── thor_update_thorrepository.prg └── thor_update_vfp9sp2helpfile.prg /.gitattributes: -------------------------------------------------------------------------------- 1 | #.gitattributes 2 | # disable newline conversion on checkout with no conversion on check-in for all files 3 | * -text 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## 📝 Provide detailed reproduction steps (if any) 11 | 12 | 1. … 13 | 2. … 14 | 3. … 15 | 16 | ### ✔️ Expected result 17 | 18 | What is the expected result of the above steps? 19 | 20 | ### ❌ Actual result 21 | 22 | What is the actual result of the above steps? 23 | 24 | ## 📷 Debugging Info 25 | Please add screenshots of 26 | - Error Message 27 | - Windows from the debugger 28 | - Trace window 29 | - Locals window 30 | - Call stack window 31 | 32 | ## 📷 Screenshots 33 | Are there any other useful screenshots? WinKey+Shift+S and then just paste them directly into the form. 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## 📝 Provide a description of the new feature 11 | 12 | _What is the expected behavior of the proposed feature? What is the scenario this would be used?_ 13 | 14 | --- 15 | 16 | If you'd like to see this feature implemented, add a 👍 reaction to this post. 17 | -------------------------------------------------------------------------------- /.github/vfpxpoweredby_alternative.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/.github/vfpxpoweredby_alternative.gif -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # use glob syntax. 2 | syntax: glob 3 | 4 | # VFP generated files 5 | *.err 6 | *.ERR 7 | *.mpr 8 | *.MPR 9 | 10 | # VFP compiled files 11 | *.fxp 12 | *.FXP 13 | *.mpx 14 | *.MPX 15 | *.qpx 16 | *.QPX 17 | 18 | # VFP backup files 19 | *.bak 20 | *.BAK 21 | *.tbk 22 | *.TBK 23 | 24 | # Misc backup files 25 | *.orig 26 | *.ORIG 27 | *.save 28 | *.SAVE 29 | *.zip 30 | *.ZIP 31 | -------------------------------------------------------------------------------- /Docs/2011 Nelson_Thor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/2011 Nelson_Thor.pdf -------------------------------------------------------------------------------- /Docs/2014 Nelson_Thor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/2014 Nelson_Thor.pdf -------------------------------------------------------------------------------- /Docs/Images/ObjectExplorerNews43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/ObjectExplorerNews43.png -------------------------------------------------------------------------------- /Docs/Images/Table_Favorites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_Favorites.png -------------------------------------------------------------------------------- /Docs/Images/Table_HotKeyDefinitions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_HotKeyDefinitions.png -------------------------------------------------------------------------------- /Docs/Images/Table_HotKeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_HotKeys.png -------------------------------------------------------------------------------- /Docs/Images/Table_MenuDefinitions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_MenuDefinitions.png -------------------------------------------------------------------------------- /Docs/Images/Table_MenuTools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_MenuTools.png -------------------------------------------------------------------------------- /Docs/Images/Table_StartupTools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_StartupTools.png -------------------------------------------------------------------------------- /Docs/Images/Table_TableAliases.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_TableAliases.png -------------------------------------------------------------------------------- /Docs/Images/Table_Thor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_Thor.png -------------------------------------------------------------------------------- /Docs/Images/Table_ToolBarTools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_ToolBarTools.png -------------------------------------------------------------------------------- /Docs/Images/Table_ToolHotKeyAssignments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Table_ToolHotKeyAssignments.png -------------------------------------------------------------------------------- /Docs/Images/Thor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Adding_tools_to_menus_AddTool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Adding_tools_to_menus_AddTool.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Adding_tools_to_menus_AddTool2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Adding_tools_to_menus_AddTool2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Assign_tool_hot_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Assign_tool_hot_key.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Assigning_hot_keys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Assigning_hot_keys.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Browsing_Tool_Definitions_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Browsing_Tool_Definitions_1.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Create_Menu_Pad_CreateMenuPad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Create_Menu_Pad_CreateMenuPad.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Create_Menu_Pad_CreateMenuPad2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Create_Menu_Pad_CreateMenuPad2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Create_Popup_Menu1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Create_Popup_Menu1.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Create_Popup_Menu2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Create_Popup_Menu2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Creating_sub-menus_AddSubMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Creating_sub-menus_AddSubMenu.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Duplicating_Menus_SaveAsPopUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Duplicating_Menus_SaveAsPopUp.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Duplicating_Menus_SaveAsTopLevel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Duplicating_Menus_SaveAsTopLevel.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Duplicating_Menus_SaveCopiedMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Duplicating_Menus_SaveCopiedMenu.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Edit_Existing_tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Edit_Existing_tools.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Form_Usage_Notes_RefreshButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Form_Usage_Notes_RefreshButton.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Form_Usage_Notes_ThorButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Form_Usage_Notes_ThorButton.png -------------------------------------------------------------------------------- /Docs/Images/Thor_GoFish5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_GoFish5.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Hot_Key_List_AllHotKeyAssigments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Hot_Key_List_AllHotKeyAssigments.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Launcher_SNAGHTML216ae24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Launcher_SNAGHTML216ae24.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Launcher_SNAGHTML22a770e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Launcher_SNAGHTML22a770e.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Launcher_SNAGHTML22e40b2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Launcher_SNAGHTML22e40b2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Launcher_SNAGHTML239a5cb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Launcher_SNAGHTML239a5cb.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Launcher_SNAGHTML2930164.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Launcher_SNAGHTML2930164.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Launcher_image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Launcher_image_2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_MRUs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_MRUs.png -------------------------------------------------------------------------------- /Docs/Images/Thor_MoveMenuPads.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_MoveMenuPads.png -------------------------------------------------------------------------------- /Docs/Images/Thor_News_SNAGHTML1f93281e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_News_SNAGHTML1f93281e.png -------------------------------------------------------------------------------- /Docs/Images/Thor_News_SNAGHTMLf871ea8_thumb1_thumb_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_News_SNAGHTMLf871ea8_thumb1_thumb_2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_One-Cick_Update_SNAGHTML17f44631.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_One-Cick_Update_SNAGHTML17f44631.png -------------------------------------------------------------------------------- /Docs/Images/Thor_One-Cick_Update_SNAGHTML1f1f7c63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_One-Cick_Update_SNAGHTML1f1f7c63.png -------------------------------------------------------------------------------- /Docs/Images/Thor_One-Cick_Update_image_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_One-Cick_Update_image_4.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Open_Thor_Form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Open_Thor_Form.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Options.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Overview_SampleToolHeader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Overview_SampleToolHeader.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Overview_image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Overview_image_2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Repository_image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Repository_image_2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_SNAGHTML39362d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_SNAGHTML39362d.png -------------------------------------------------------------------------------- /Docs/Images/Thor_SNAGHTMLf389404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_SNAGHTMLf389404.png -------------------------------------------------------------------------------- /Docs/Images/Thor_SNAGHTMLf3b4e2e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_SNAGHTMLf3b4e2e.png -------------------------------------------------------------------------------- /Docs/Images/Thor_Tools_Making_Tools_image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_Tools_Making_Tools_image_2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_VFPHotKeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_VFPHotKeys.png -------------------------------------------------------------------------------- /Docs/Images/Thor_add_plugins1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_add_plugins1.png -------------------------------------------------------------------------------- /Docs/Images/Thor_add_plugins2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_add_plugins2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_add_plugins3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_add_plugins3.png -------------------------------------------------------------------------------- /Docs/Images/Thor_community.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_community.png -------------------------------------------------------------------------------- /Docs/Images/Thor_configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_configuration.png -------------------------------------------------------------------------------- /Docs/Images/Thor_creating_new_tools_createtoolbutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_creating_new_tools_createtoolbutton.png -------------------------------------------------------------------------------- /Docs/Images/Thor_creating_new_tools_createtoolform1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_creating_new_tools_createtoolform1.png -------------------------------------------------------------------------------- /Docs/Images/Thor_creating_new_tools_sampletoolheader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_creating_new_tools_sampletoolheader.png -------------------------------------------------------------------------------- /Docs/Images/Thor_forums.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_forums.png -------------------------------------------------------------------------------- /Docs/Images/Thor_greenline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_greenline.png -------------------------------------------------------------------------------- /Docs/Images/Thor_help_thor_form_initial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_help_thor_form_initial.png -------------------------------------------------------------------------------- /Docs/Images/Thor_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_image.png -------------------------------------------------------------------------------- /Docs/Images/Thor_image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_image_2.png -------------------------------------------------------------------------------- /Docs/Images/Thor_image_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_image_4.png -------------------------------------------------------------------------------- /Docs/Images/Thor_news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_news.png -------------------------------------------------------------------------------- /Docs/Images/Thor_news_image_thumb_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_news_image_thumb_5.png -------------------------------------------------------------------------------- /Docs/Images/Thor_re-ordering_tools_MoveTools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/Thor_re-ordering_tools_MoveTools.png -------------------------------------------------------------------------------- /Docs/Images/VCD4PRG_image_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/VCD4PRG_image_2.png -------------------------------------------------------------------------------- /Docs/Images/docs/pictures/vfpxpoweredby_alternative.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/docs/pictures/vfpxpoweredby_alternative.gif -------------------------------------------------------------------------------- /Docs/Images/vfpxpoweredby_alternative.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Images/vfpxpoweredby_alternative.gif -------------------------------------------------------------------------------- /Docs/Media/Thor Repository_Repository.MRU.Projects.wmv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Media/Thor Repository_Repository.MRU.Projects.wmv -------------------------------------------------------------------------------- /Docs/Media/Thor_Repository_New_Repository_MRU_Projects.wmv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Media/Thor_Repository_New_Repository_MRU_Projects.wmv -------------------------------------------------------------------------------- /Docs/Media/Thor_Repository_Repository_Windows_Management.wmv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Media/Thor_Repository_Repository_Windows_Management.wmv -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_46_ExecuteSelection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_46_ExecuteSelection.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_GoToDefinition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_GoToDefinition.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_SampleAliasTable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_SampleAliasTable.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_crsrStar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_crsrStar.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_crsrStarSample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_crsrStarSample.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_goKTrack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_goKTrack.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_goKTrackExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_goKTrackExample.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_loTable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_loTable.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_loTableSample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_loTableSample.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_loTableStarDotoData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_loTableStarDotoData.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_oAppDotoAdmin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_oAppDotoAdmin.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_oAppDotoStar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_oAppDotoStar.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_oNAVSQL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_oNAVSQL.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Item_47_oNAVSQLSample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Item_47_oNAVSQLSample.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_News_SNAGHTML1f93281e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_News_SNAGHTML1f93281e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_News_SNAGHTML3cdc777.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_News_SNAGHTML3cdc777.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_News_SNAGHTMLf871ea8_thumb1_thumb_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_News_SNAGHTMLf871ea8_thumb1_thumb_2.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_SNAGHTML39362d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_SNAGHTML39362d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_SNAGHTMLf389404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_SNAGHTMLf389404.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_SNAGHTMLf3b4e2e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_SNAGHTMLf3b4e2e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_community.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_community.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_configuration.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_forums.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_forums.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_news_image_thumb_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_news_image_thumb_4.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Thor_news_image_thumb_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Thor_news_image_thumb_5.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet10_foxcodeplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet10_foxcodeplus.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet10a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet10a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet10b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet10b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet10c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet10c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet10d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet10d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet10e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet10e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet11a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet11a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet11b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet11b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet11c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet11c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet11d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet11d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet13a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet13a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet13b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet13b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet13c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet13c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet13d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet13d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet13e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet13e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14f.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14g.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14h.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet14i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet14i.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15f.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15g.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15h.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15i.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15j.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15k.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15l.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15m.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet15n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet15n.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet16a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet16a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet16b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet16b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet16c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet16c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet18a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet18a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet19a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet19a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet19b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet19b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet19c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet19c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet19d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet19d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet20a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet20a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet20b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet20b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet20c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet20c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet20d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet20d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet20e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet20e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet21a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet21a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet21b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet21b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet21c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet21c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet22a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet22a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet22b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet22b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet22c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet22c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet22d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet22d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet23a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet23a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet23b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet23b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet23c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet23c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet24a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet24a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet24b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet24b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet24c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet24c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet24d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet24d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet24e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet24e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet25a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet25a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet25b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet25b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet25c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet25c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet25d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet25d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet25e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet25e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet26a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet26a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet27a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet27a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet2a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet2a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet2b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet2b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet3a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet3a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet5a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet5a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet6a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet6a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet7a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet7a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet7b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet7b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet7c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet7c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet8a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet8a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet9_vfpxprojects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet9_vfpxprojects.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet9a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet9a.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet9b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet9b.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet9c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet9c.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet9d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet9d.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/Tweet9e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/Tweet9e.png -------------------------------------------------------------------------------- /Docs/NewsItems/Images/item_47_loStarDotData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/NewsItems/Images/item_47_loStarDotData.png -------------------------------------------------------------------------------- /Docs/NewsItems/Item_1.md: -------------------------------------------------------------------------------- 1 | 2 | Introducing Thor News. 3 | --- 4 | 5 | #### #1, 2012-08-25 6 | 7 | This is the first installment of the Thor News, which will notify you of changes and updates to Thor. It will also, from time to time, explore some of the more interesting tools found in Thor. 8 | 9 | The latest news will be brought to you: 10 | 11 | * each time that you run Check For Updates 12 | * once a week when you execute RunThor. 13 | 14 | You can change these settings in the Thor Configuration form: 15 | 16 | ![](Images/Thor_configuration.png) 17 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_10.md: -------------------------------------------------------------------------------- 1 | New VFPX Project: FoxcodePlus 2 | --- 3 | 4 | #### #10, 2012-10-14 5 | 6 | 7 | The new VFPX project [FoxcodePlus (Beta 1)](https://github.com/VFPX/FoxcodePlus) is available from Check For Updates. 8 | 9 | This project is ***not*** related to IntellisenseX, another VFPX project, although both provide Intellisense enhancements. FoxCodePlus provides a wider range of features and includes some of the features provided by IntellisenseX. Although not yet tested, it appears that the two may be used concurrently. 10 | 11 | After downloading (which includes both the code and documentation), you can use the Thor menu pad in the system menu to open the folder in which these components are installed: 12 | 13 | ![](Images/Tweet10_foxcodeplus.png) 14 | --- 15 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 16 | 17 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_12.md: -------------------------------------------------------------------------------- 1 | Thor menus provide access to Discussion Forums and Change Logs 2 | --- 3 | 4 | #### #12, 2012-11-16 5 | 6 | 7 | The Thor menu has been changed to provide access to a number of related Discussion Forums. 8 | 9 | These forums are the preferred form of communication about these tools, rather than private emails, or using the Universal Thread, Foxite, or any other on-line forums. 10 | 11 | ![](Images/Thor_forums.png) 12 | 13 | 14 | Change logs for the various tools and components of Thor are now available, as well as a link to the never ending list of Thor ERs. 15 | 16 | ![](Images/Thor_news_image_thumb_5.png) 17 | 18 | --- 19 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 20 | 21 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_13.md: -------------------------------------------------------------------------------- 1 | Thor's Tool Launcher: The one tool you *must* use 2 | --- 3 | 4 | #### #13, 2013-01-05 5 | 6 | 7 | Thor’s Tool Launcher uses a simple screen that allows you to browse through all the Thor tools by keyword, to read their descriptions or visit their home pages, to set their options, and, most importantly, to run them. It also helps you to organize the tools that you use most to make them easily accessible. 8 | 9 | Thor suffers from an over-abundance of tools – there are so many that it may seem impossible to find which tools are of interest to you. The Tool Launcher simplifies that search. 10 | 11 | Watch [this short video](http://youtu.be/2ttBR9vQqew) (7:57) to learn all about it. 12 | 13 | --- 14 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 15 | 16 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_14.md: -------------------------------------------------------------------------------- 1 | Thor videos available from Thor menu 2 | --- 3 | 4 | #### #14, 2013-01-16 5 | 6 | 7 | There are already a number of videos explaining features of Thor and there are more to come. Follow the link from the Thor menu to the list of all Thor videos. 8 | 9 | ![](Images/Thor_news_image_thumb_4.png) 10 | 11 | --- 12 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 13 | 14 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_17.md: -------------------------------------------------------------------------------- 1 | 2 | New VFPX Project: Finder 3 | --- 4 | 5 | #### #17, 2013-06-23 6 | 7 | 8 | The new VFPX project *Finder* is a powerful search tool to find forms and classes. It searches either a project or folder (with sub-folders) for names of files or classes. 9 | 10 | Files or classes can be opened by double-clicking and there are numerous other options available from the context menu for rows in the grid. 11 | 12 | When Class Search is used, the classes found can be dragged/dropped onto forms or classes being edited. 13 | 14 | See the [Finder Home Page](https://github.com/VFPX/Finder) and watch the [Finder introductory video](https://www.youtube.com/watch?v=uL4a9gsCLlk) (11:25). 15 | 16 | ![](Images/Thor_News_SNAGHTML3cdc777.png) 17 | 18 | --- 19 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 20 | 21 | 22 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_18.md: -------------------------------------------------------------------------------- 1 | 2 | Thor Version 1.40 released: Thor ToolBar 3 | --- 4 | 5 | #### #18, 2013-08-26 6 | 7 | 8 | Added the Thor ToolBar. Tools may be added to the Toolbar may using the checkbox shown in the Thor Configuration form, below (and also available in the Tool Launcher.) TBL 9 | 10 | ![](Images/Thor_SNAGHTMLf389404.png) 11 | 12 | When you add a tool to the Thor Toolbar, you can select a caption for the tool or select an image to represent it. In the sample below, abbreviated captions are used. 13 | 14 | ![](Images/Thor_SNAGHTMLf3b4e2e.png) 15 | 16 | The toolbar’s size, positioning, and docking, persist from one session to the next. (Truth be told, persisting the docking has been problematic.) 17 | 18 | --- 19 | 20 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 21 | 22 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_3.md: -------------------------------------------------------------------------------- 1 | New VFPX Projects: Dynamic Forms & Data Explorer 2 | --- 3 | 4 | #### #3, 2012-09-04 5 | Two new VFPX projects have been created in the last few days and are available from Check For Updates: 6 | 7 | * [Dynamic Forms](https://github.com/mattslay/DynamicForms) 8 | * [Data Explorer 3](https://github.com/rschummer/DataExplorer) 9 | 10 | After downloading, you can use the Thor menu pad in the system menu to open the folder in which these components are installed: 11 | 12 | ![](Images/Tweet10_foxcodeplus.png) 13 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_38.md: -------------------------------------------------------------------------------- 1 | New VFPX Projects - VFP Runtime Installers and StripeX 2 | --- 3 | 4 | #### #38, 2014-12-17 5 | 6 | 7 | Two new projects have been added to VFPX and are available from Check For Updates. 8 | 9 | * [VFP Runtime Installers](https://github.com/VFPX/VFPRuntimeInstallers) contains the runtime installers for VFP versions 6 thru 9 (since they are no longer available from Microsoft’s website) 10 | * [StripeX](http://github.com/VFPX/StripeX) is a wrapper class for working with Stripe.com. 11 | 12 | --- 13 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 14 | 15 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_4.md: -------------------------------------------------------------------------------- 1 | 2 | Data Explorer is now a Thor tool 3 | --- 4 | 5 | #### #4, 2012-09-09 6 | Data Explorer 3 is now available as a Thor Tool. This means that you can choose to access it by hot key by assigning the hot key in the Thor configuration form. 7 | 8 | ![](Images/Thor_News_SNAGHTML1f93281e.png) 9 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_41.md: -------------------------------------------------------------------------------- 1 | New VFPX Projects - ThemedTitleBar and VFP 9 SP2 Hotfix 3 Download] 2 | --- 3 | 4 | #### #41, 2015-01-12 5 | 6 | 7 | Two new projects have been added to VFPX and are available from Check For Updates. 8 | 9 | * [ThemedTitleBar](https://github.com/VFPX/ThemedTitleBar) -- The TitleBar of a VFP form displayed ‘In Screen’ or ‘In Top-Level Form’ looks a bit outdated nowadays, at least running in Win8 and compared to Office 2013 or Visual Studio 2013. The goal of this project is to provide a modern drop-in replacement for the default TitleBar, requiring no code changes to existing forms. 10 | * [VFP 9 SP2 Hotfix 3 Download](https://github.com/VFPX/VFP9SP2Hotfix3) is the most recent hotfix for VFP 9 SP2. The hotfix includes all three hotfixes released for VFP 9 SP2 11 | 12 | --- 13 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 14 | 15 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_44.md: -------------------------------------------------------------------------------- 1 | **FoxTabs Enhancements** 2 | --- 3 | 4 | ### #44, 2023-01-06 5 | 6 | There are some recent enhancements to [FoxTabs](https://github.com/VFPX/FoxTabs). 7 | 8 | * BindWinEvent was extracted to a separate repository, and some fixes were applied. 9 | * Fixed compatibility issues with PEM Editor (some tabs had no label). 10 | * Improved window type detection and tab icons. 11 | 12 | 13 | --- 14 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 15 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_45.md: -------------------------------------------------------------------------------- 1 | **Class Browser Enhancements** 2 | --- 3 | 4 | ### #45, 2023-01-13 5 | 6 | There are two recent enhancements to [Class Browser](https://github.com/VFPX/ClassBrowser). 7 | 8 | * If Thor is active, adds classes and class libraries opened into VFP's MRU lists 9 | * Thor tool "Install Class Browser" installs/uninstalls this new version of Class Browser. 10 | 11 | Many Thor tools, including PEMEditor, GoFish and Go To Definitions, update VFP's native MRU lists. 12 | 13 | To get to the MRU lists without going to the command window, use the Thor tool "MRUs", best accessed if assigned to a hot key. 14 | 15 | ![](../Images/Thor_MRUs.png) 16 | 17 | 18 | --- 19 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 20 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_5.md: -------------------------------------------------------------------------------- 1 | IntellisenseX released 2 | --- 3 | 4 | #### #5, 2012-09-10 5 | *IntellisenseX* refers to a suite of Thor Tools that provide functionality similar to native Intellisense. These tools display lists of available variable names, field names, or members (properties, events, methods, and objects) while you type code, just like Intellisense. However, they cover those areas that Intellisense forgot (such as the list of field names in a table when editing in a code window) and provide new capabilities, available through customization, such as displaying the list of field names in an SQL table, as shown below. For a full description, see the [IntellisenseX Home Page.](https://github.com/VFPX/IntelliSenseX) 6 | 7 | ![](Images/Thor_News_SNAGHTMLf871ea8_thumb1_thumb_2.png) 8 | 9 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_6.md: -------------------------------------------------------------------------------- 1 | Use the Thor discussion group for comments, suggestions, bug reports, etc. 2 | --- 3 | 4 | #### #6, 2012-09-16 5 | 6 | Use the “Community / Discussions” menu item in the Thor menu pad to send comments, suggestions, bug reports, and so on to the [Thor Discussion Group](http://groups.google.com/group/FoxProThor). You are invited to become a member of the group so that you can see what is going on in the land of Thor. 7 | 8 | ![](Images/Thor_community.png) 9 | 10 | Two things of note: 11 | 12 | * You can email discussion questions (with screenshots) directly to: 13 | 14 | [foxproThor@googlegroups.com](mailto:foxproThor@googlegroups.com) 15 | 16 | *When reporting bugs, please provide as much information as possible, including screenshots. Any information you can provide (such as an image of the debugger, etc.) will be greatly appreciated. 17 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_7.md: -------------------------------------------------------------------------------- 1 | All VFPX projects can be downloaded from Thor 2 | --- 3 | 4 | ### #7, 2012-09-19 5 | 6 | The current version of all VFPX projects can now be downloaded directly from Check For Updates. 7 | 8 | The projects listed in Check For Updates are listed alphabetically within these five groups: 9 | 1. Projects that you have already downloaded for which there is a more current version. (see #4) 10 | 1. Projects that you have not downloaded which have had updates in the last three months 11 | 1. All other projects that you have not downloaded 12 | 1. Projects that you have already downloaded and which are current 13 | 1. All projects marked as “never update”. This takes precedence over any of the categories above. 14 | 15 | --- 16 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_8.md: -------------------------------------------------------------------------------- 1 | New VFPX project: IntellisenseX 2 | --- 3 | 4 | #### #8, 2012-09-30 5 | 6 | IntellisenseX has been released as a VFPX project. 7 | 8 | *IntellisenseX* refers to a suite of Thor Tools that provide functionality similar to native Intellisense. These tools display lists of available variable names, field names, or members (properties, events, methods, and objects) while you type code, just like Intellisense. However, they cover those areas that Intellisense forgot (such as the list of field names in a table when editing in a code window) and provide8ew capabilities, available through customization, such as displaying the list of field names in an SQL table. 9 | 10 | Visit the [IntellisenseX home page](https://github.com/VFPX/IntelliSenseX) and also watch the [Intellisense training videos](https://github.com/VFPX/IntelliSenseX#videos). 11 | 12 | IntellisenseX is available from Check For Updates. 13 | 14 | All VFPX projects can be downloaded from Thor. 15 | 16 | --- 17 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 18 | 19 | -------------------------------------------------------------------------------- /Docs/NewsItems/Item_9.md: -------------------------------------------------------------------------------- 1 | Easy access to all VFPX home pages 2 | --- 3 | 4 | ### #9, 2012-10-06 5 | 6 | 7 | Thor now provides ready access to the home pages for all VFPX projects, available from the Thor menu pad. 8 | 9 | ![](Images/Tweet9_vfpxprojects.png) 10 | --- 11 | See also [Thor News](../Thor_news.md) and the [Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 12 | 13 | -------------------------------------------------------------------------------- /Docs/NewsItems/ThorNewsVersion.txt: -------------------------------------------------------------------------------- 1 | Thor News Version = 48 -------------------------------------------------------------------------------- /Docs/NewsItems/Tweet_02.md: -------------------------------------------------------------------------------- 1 | Thor TWEeT #2: Set Object Size and Position 2 | === 3 | 4 | This week's Thor TWEeT is **Set Object Size and Position.** 5 | 6 | This tool provides enhanced capabilities to the Format menu pad in the FoxPro system menu, shown here: 7 | 8 | ![](Images/Tweet2a.png) 9 | 10 | **Set Object Size and Position** displays a form that includes all of the features from the Format menu, except for Snap to Grid and Set Grid Scale. In addition, 11 | 12 | * there are controls to change the top/left/height/width of the currently selected control(s), either one pixel at a time or by a specified step size. 13 | * vertical and horizontal spacing may be changed either one pixel at a time or by a specified step size. 14 | * there's an un-do button to reverse any changes made since the form received focus. 15 | 16 | The form's size and position is persistent from one use to another. The form is also dockable, and the six containers re-arrange themselves as the width of the form changes, allowing for various desirable docking combinations.  17 | 18 | ![](Images/Tweet2b.png) 19 | 20 | Thanks to Cathy Knight for the concept and design. 21 | 22 | See also [History of all Thor TWEeTs](../TWEeTs.md) and [the Thor Forum](https://groups.google.com/forum/?fromgroups#!forum/FoxProThor). 23 | -------------------------------------------------------------------------------- /Docs/Prog/Thor Repository_Thor_Tool_Repository_Show_Classlibs.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | 14 | * Required 15 | .Prompt = 'Display Classlibs' && used when tool appears in a menu 16 | .Description = 'Display current Classlibs in a dialog box.' && may be lengthy, including CRs, etc 17 | 18 | * For public tools, such as PEM Editor, etc. 19 | .Source = 'Thor Repository' 20 | .Category = 'Misc.' 21 | .Author = 'Matt Slay' 22 | Endwith 23 | 24 | Return lxParam1 25 | Endif 26 | 27 | **************************************************************** 28 | **************************************************************** 29 | * Normal processing for this tool begins here. 30 | 31 | crlf = Chr(13) 32 | lcClassLibs = ' '+ Proper(Set('Classlib')) 33 | lcClassLibs = Strtran(lcClassLibs , ',', crlf) 34 | 35 | Messagebox(' ' + lcClassLibs , 0, 'Current Classlibs:') 36 | -------------------------------------------------------------------------------- /Docs/Prog/Thor Repository_Thor_Tool_Repository_Show_Path.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | Local lcPath 9 | Local crlf 10 | If Pcount() = 1 ; 11 | And 'O' = Vartype (lxParam1) ; 12 | And 'thorinfo' = Lower (lxParam1.Class) 13 | 14 | With lxParam1 15 | 16 | * Required 17 | .Prompt = 'Display Path' && used when tool appears in a menu 18 | .Description = 'Display current path with line breaks in a dialog box.' && may be lengthy, including CRs, etc 19 | 20 | * For public tools, such as PEM Editor, etc. 21 | .Source = 'Thor Repository' 22 | .Category = 'Misc.' 23 | .Author = 'Matt Slay' 24 | Endwith 25 | 26 | Return lxParam1 27 | Endif 28 | 29 | **************************************************************** 30 | **************************************************************** 31 | * Normal processing for this tool begins here. 32 | 33 | crlf = Chr(13) 34 | lcPath = Strtran (Set ('PATH'), ';', crlf + ' ', 1) 35 | lcPath = Strtran (lcPath, ',', crlf + ' ', 1) 36 | 37 | Messagebox (' ' + lcPath, 0, 'Current Path:') 38 | -------------------------------------------------------------------------------- /Docs/Prog/Thor Repository_Thor_Tool_Repository_ToggleCommentColors.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Prog/Thor Repository_Thor_Tool_Repository_ToggleCommentColors.prg -------------------------------------------------------------------------------- /Docs/Prog/Thor Repository_Thor_Tool_Repository_WLCListFields.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Prog/Thor Repository_Thor_Tool_Repository_WLCListFields.prg -------------------------------------------------------------------------------- /Docs/Thor_Adding_tools_to_menus.md: -------------------------------------------------------------------------------- 1 | Adding tools to menus 2 | === 3 | 4 | To add a tool to any of the various kinds of menus: 5 | 6 | 1. Click on the menu to which you want to add the tool. 7 | 2. Click on 'Add Tool' 8 | 9 | ![](Images/Thor_Adding_tools_to_menus_AddTool.png) 10 | 11 | Then, drop-down the combobox to see the TreeView of all tools (organized by Source, Category, and sub-Category) 12 | 13 | ![](Images/Thor_Adding_tools_to_menus_AddTool2.png) 14 | 15 | 16 | You can then change the prompt for the tool, if desired, and the status bar text. -------------------------------------------------------------------------------- /Docs/Thor_assign_tool_hot_keys.md: -------------------------------------------------------------------------------- 1 | Assigning hot keys to tools 2 | === 3 | 4 | You can assign hot keys to tools on the second page (**Tool Definitions**) of the Thor form. 5 | 6 | When you click on a tool, the hot key currently assigned to it appears in the control at the top right of the form. (If there is one already assigned, you can remove it by using the 'Clear' button.) 7 | 8 | You can then click on the '...' button to be prompted for the new hot key. A small form will appear, requesting that you press the key combination to be used as the hot key. You can use any combination of Shift, Ctrl, and Alt. 9 | 10 | Note that not all key combinations can be captured, and some of them will not be accepted because they are pre-empted by Windows or FoxPro itself (Alt-F10, for instance.) 11 | 12 | You also are protected from assigning the same hot key to more than one tool. 13 | 14 | To review all hot key assignments, including keyboard macros and On Key Label definitions, see the third page of the form ([Hot Key Assignments](Thor_hot_key_list.md)). You can also change hot key assignments on that page. 15 | 16 | ![](Images/Thor_Assign_tool_hot_key.png) 17 | 18 | ### See also: 19 | * [Browsing the list of tools](Thor_browsing_tools.md) 20 | * [Editing existing tools](Thor_editing_existing_tools.md) 21 | * [Creating new tools](Thor_creating_new_tools.md) 22 | * [Tools to make tools](Thor_tools_making_tools.md) 23 | -------------------------------------------------------------------------------- /Docs/Thor_assigning_hot_keys.md: -------------------------------------------------------------------------------- 1 | Assigning hot keys for popup menus 2 | === 3 | 4 | When you click on one of the popup menus, you can assign a hot key to it by using the controls on the right. 5 | 6 | The hot key currently assigned to it appears in the disabled textbox. (If there is one already assigned, you can remove it by using the 'Clear' button.) 7 | 8 | You can then click on the '...' button to be prompted for the new hot key. A small form will appear, requesting that you press the key combination to be used as the hot key. You can use any combination of Shift, Ctrl, and Alt. 9 | 10 | Note that not all key combinations can be captured, and some of them will not be accepted because they are pre-empted by Windows or FoxPro itself (Alt-F10, for instance.) 11 | 12 | You also are protected from assigning the same hot key to more than one tool. 13 | 14 | To review all hot key assignments, including keyboard macros and On Key Label definitions, see the third page of the form ([Hot Key Assignments](Thor-Hot-Key-List)). You can also change hot key assignments on that page. 15 | 16 | ![](Images/Thor_Assigning_hot_keys.png) -------------------------------------------------------------------------------- /Docs/Thor_create_menu_pad.md: -------------------------------------------------------------------------------- 1 | Creating New Menu Pads 2 | === 3 | To create a new pad in the VFP system menu bar: 4 | * Click on the **VFP System Menu** node at the top of the TreeView 5 | * Click on the Add Menu commandbutton 6 | ![](Images/Thor_Create_Menu_Pad_CreateMenuPad.png) 7 | 8 | You can now: 9 | 10 | * Assign the prompt for the new menu 11 | * Assign the text that will appear in the status bar 12 | 9 Move the new menu up to where you want it to be displayed. See [Moving menu pads](Thor_moving_menu_pads.md). 13 | 14 | ![](Images/Thor_Create_Menu_Pad_CreateMenuPad2.png) 15 | 16 | You can also take an existing menu (either a pop-up menu or a sub-menu) and add it to the VFP system menu bar. See [Duplicating menus](Thor_duplicating_menus.md). -------------------------------------------------------------------------------- /Docs/Thor_create_popup_menu.md: -------------------------------------------------------------------------------- 1 | Creating Popup Menus 2 | === 3 | To create a new popup menu 4 | * Click on the **Popup Menus** node in the TreeView 5 | * Click on the Add Menu commandbutton 6 | 7 | ![](Images/Thor_Create_Popup_Menu1.png) 8 | 9 | You can now: 10 | * Assign the prompt for the new menu 11 | * Assign the text that will appear in the status bar 12 | 13 | ![](Images/Thor_Create_Popup_Menu2.png) 14 | 15 | You can also take an existing menu (either a VFP system menu bar or a sub-menu) and make it available as a popup menu. See [Duplicating menus](Thor_duplicating_menus.md). 16 | 17 | 18 | -------------------------------------------------------------------------------- /Docs/Thor_creating_sub-menus.md: -------------------------------------------------------------------------------- 1 | Creating sub-menus 2 | === 3 | 4 | To add a new sub-menu to any VFP system menu pad (including VFP's default menu pads), popup menu, or sub-menu: 5 | 6 | * Click on the menu to which you want to add the sub-menu 7 | * Click on 'Add Sub-Menu' 8 | 9 | ![](Images/Thor_Creating_sub-menus_AddSubMenu.png) -------------------------------------------------------------------------------- /Docs/Thor_duplicating_menus.md: -------------------------------------------------------------------------------- 1 | Duplicating menus 2 | === 3 | 4 | There are three different types of menus (VFP system menu pads, pop-up menus), and any menu you create can be used multiple times, as one or more of these three types. 5 | 6 | Just to be clear, this means that the ***same*** menu can appear in multiple places. Internally, it will be the same menu, and any change made to it in one place will be replicated in all the other places as well. 7 | 8 | ### To make a popup menu or sub-menu into a menu pad on the VFP system menu bar 9 | 1. Click on the menu (in the example below, a popup menu is chosen; it works the same for any sub-menu.) 10 | 1. Click on 'Add as Top Level' 11 | 12 | ![](Images/Thor_Duplicating_Menus_SaveAsTopLevel.png) 13 | 14 | 15 | ### To make a VFP system menu or sub-menu into a Popup Menu 16 | 1. Click on the menu 17 | 1. Click on 'Add as Popup' 18 | 19 | ![](Images/Thor_Duplicating_Menus_SaveAsPopUp.png) 20 | 21 | ### To make ***any*** menu into a sub-meu 22 | 1. Click on the menu you want to make into a sub-menu 23 | 1. Click on 'Copy Menu' 24 | 1. Click on the menu that you want to add the sub-menu 25 | 1. Click on 'Add Copied Menu' 26 | 27 | ![](Images/Thor_Duplicating_Menus_SaveCopiedMenu.png) -------------------------------------------------------------------------------- /Docs/Thor_editing_existing_tools.md: -------------------------------------------------------------------------------- 1 | Editing Existing Tools 2 | === 3 | 4 | You can edit existing tools by using the second page (**Tool Definitions**) of the Thor form. 5 | 6 | You can open a tool for editing either by double-clicking its row in the grid, or by selecting the row and then clicking the 'Edit Tool' button. 7 | 8 | Note that changes made to the 'header' of the tool's PRG are not automatically reflected in the form's display; see [General Usage Notes](Thor_form_usage_notes.md) 9 | 10 | ![](Images/Thor_Edit_Existing_tools.png) 11 | 12 | 13 | **See also** 14 | * [Browsing the list of tools](Thor_browsing_tools.md) 15 | * [Assigning hot keys to tools](Thor_assign_tool_hot_keys.md) 16 | * [Creating new tools](Thor_creating_new_tools.md) 17 | * [Tools to make tools](Thor_tools_making_tools.md) 18 | -------------------------------------------------------------------------------- /Docs/Thor_form_usage_notes.md: -------------------------------------------------------------------------------- 1 | Thor Form Usage Notes 2 | === 3 | 4 | There are a few very important considerations to keep in mind when using the Thor form: 5 | 6 | * There are no 'Save', 'Cancel', or 'Undo' buttons on the form. Any changes made on the form are posted to the underlying tables immediately, and there is no provision for canceling or un-doing any changes. 7 | 8 | * When the form is opened, it reads the catalog of all tools and uses that catalog from there on. Thus, changes made to tools, or tools that are added while the form is opened, are not automatically included in the catalog. To synchronize the form with the catalog of all tools, use the Refresh button: 9 | 10 | ![](Images/Thor_Form_Usage_Notes_RefreshButton.png) 11 | 12 | * Any updates made to the VFP system menu, pop-up menus, or hot key assignments are not applied until the form is closed. To synchronize the VFP system menu, etc, with the form, use the Thor button: 13 | 14 | ![](Images/Thor_Form_Usage_Notes_ThorButton.png) -------------------------------------------------------------------------------- /Docs/Thor_hot_key_list.md: -------------------------------------------------------------------------------- 1 | Table of all hot keys, macros, and On Key Label assignments 2 | === 3 | 4 | The third page of the Thor form (**Tool Definitions**) displays a grid of all hot keys that have been assigned in Thor for popup menus and tools as well as all keyboard macros and On Key Label definitions. (While Thor does not manage the keyboard macros or On Key Label definitions, it is very handy to see all of these different definitions in one place.) 5 | 6 | Clicking on a column header will sort by that column. Note that there are ***two*** different sorts available for the first column; consecutive clicks on the column heading will alternate between these two sorts. 7 | 8 | For rows that are controlled by Thor (the bold rows), double-clicking on a row will allow you to re-define the hot key assigned. To remove the hot key assignment, use the right-click context menu on the row. 9 | 10 | ![](Images/Thor_Hot_Key_List_AllHotKeyAssigments.png) -------------------------------------------------------------------------------- /Docs/Thor_moving_menu_pads.md: -------------------------------------------------------------------------------- 1 | Moving Menu Pads 2 | === 3 | 4 | You can move menu pads that you have created in the VFP system menu bar by: 5 | 1. clicking on the menu pad you want to move 6 | 1. then clicking on the up and down arrows 7 | 8 | ![](Images/Thor_MoveMenuPads.png) 9 | 10 | Notes: 11 | 12 | 1. You ***can not*** move the VFP-defined menu pads. 13 | 1. The changes you made do not take effect immediately. See [General Usage Notes](Thor_form_usage_notes.md). -------------------------------------------------------------------------------- /Docs/Thor_open_form.md: -------------------------------------------------------------------------------- 1 | Opening the Thor form 2 | === 3 | 4 | The Thor form can be opened a number of different ways: 5 | 6 | * From the VFP system menu: 7 | 8 | ![](Images/Thor_Open_Thor_Form.png) 9 | * By using the dedicated hot key. By default, this is **Alt+F12**, but it can be changed on the Options page 10 | 11 | * By executing `Do Thor.App with 'Edit'` -------------------------------------------------------------------------------- /Docs/Thor_options.md: -------------------------------------------------------------------------------- 1 | Options 2 | === 3 | 4 | The fourth page (**Options**) of the Thor form provides for a few option settings. To change a setting, click on the row on the left, and the appropriate controls will appear on the right. 5 | 6 | The first options bears some explanation. 7 | 8 | The mechanism used by Thor to provide hot keys that use two or more shift keys (Shift, Ctrl, and Alt) requires the use of one dedicated key that is created by On Key Label. The default for this key is Alt+F12. 9 | 10 | The first option allows you to change that hot key. Be aware that it must be a key that can be defined by On Key Label, so it can use only one of Shift, Ctrl, and Alt. Furthermore, the On Key Label definition of the previous hot key will not have been removed, so it is recommended that you close your VFP session immediately after changing the dedicated hot key. 11 | 12 | ![](Images/Thor_Options.png) -------------------------------------------------------------------------------- /Docs/Thor_re-ordering tools.md: -------------------------------------------------------------------------------- 1 | Re-ordering tools and sub-menus within a menu 2 | === 3 | 4 | You can re-order the tools and sub-menus within a menu as follows: 5 | * click on the tool or sub-menu 6 | * use the up and down arrows 7 | 8 | ![](Images/Thor_re-ordering_tools_MoveTools.png) 9 | 10 | -------------------------------------------------------------------------------- /Docs/Thor_reinstall.md: -------------------------------------------------------------------------------- 1 | Installing an updated version of Thor 2 | === 3 | 4 | To install an updated version of Thor, simply unzip the installation zip file on top of the current version of Thor. 5 | 6 | Do ***not*** install Thor in a new folder or erase the Thor sub-folder, as you will lose any menus, hot keys, etc, that you have created. 7 | 8 | This will replace Thor.APP, and will not modify or delete any of the settings and tools that you have installed. 9 | 10 | Any updates necessary for the new version will be automatically installed the first time that you run Thor thereafter, 11 | 12 | **[Click here to download the latest release of Thor I](https://github.com/VFPX/Thor/archive/master.zip) 13 | 14 | 15 | -------------------------------------------------------------------------------- /Docs/Zip/Thor Repository Uploads_Thor Repository.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Zip/Thor Repository Uploads_Thor Repository.zip -------------------------------------------------------------------------------- /Docs/Zip/Thor Repository_Thor Repository.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Zip/Thor Repository_Thor Repository.zip -------------------------------------------------------------------------------- /Docs/Zip/Thor Repository_Thor_Tool_Repository_GoToMethod.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Docs/Zip/Thor Repository_Thor_Tool_Repository_GoToMethod.zip -------------------------------------------------------------------------------- /Installed Files/Source/CreateDirectoryStructure.PRG: -------------------------------------------------------------------------------- 1 | * Create the Thor directory structure if it doesn't already exist. 2 | 3 | Lparameters tcFolder 4 | 5 | #include Thor_UI.H 6 | 7 | CreateThorFolder(m.tcFolder + 'Thor') 8 | CreateThorFolder(m.tcFolder + 'Thor\Tables') 9 | CreateThorFolder(m.tcFolder + 'Thor\Tools') 10 | CreateThorFolder(m.tcFolder + 'Thor\Tools\Samples') 11 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccMyTools) 12 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccMySettings) 13 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccProcs) 14 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccUpdates) 15 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccUpdates + '\My Updates') 16 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccUpdates + '\Never Update') 17 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccUpdates + '\Removed') 18 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccApps) 19 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccComponents) 20 | CreateThorFolder(m.tcFolder + 'Thor\Tools\' + ccMyTemplates) 21 | 22 | 23 | Procedure CreateThorFolder(tcFolder) 24 | If Not Directory (m.tcFolder) 25 | Md (m.tcFolder) 26 | Endif 27 | Endproc 28 | 29 | 30 | -------------------------------------------------------------------------------- /Installed Files/Source/NewSessionObject.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lcClassName, lcClassLib, lxParam1, lxParam2, lxParam3 2 | 3 | * Creates a session object -- which then creates (and contains) the actual business object 4 | * This business object is returned, and has the data session associated with the original session object (its parent) 5 | 6 | * The session object is discarded, and the custom object is returned -- with its own data session 7 | 8 | Local loObject 9 | loObject = CreateObject ('LocalSessionClass', ; 10 | lcClassName, lcClassLib, Pcount() - 2, lxParam1, lxParam2, lxParam3) 11 | Return loObject.GetCustom() 12 | 13 | 14 | 15 | Define Class LocalSessionClass As Session 16 | 17 | oCustom = .Null. 18 | 19 | Procedure Init (lcClassName, lcModule, lnParams, lxParam1, lxParam2, lxParam3) 20 | Do Case 21 | Case lnParams = 0 22 | This.oCustom = Newobject(lcClassName, lcModule) 23 | Case lnParams = 1 24 | This.oCustom = Newobject(lcClassName, lcModule, '', lxParam1) 25 | Case lnParams = 2 26 | This.oCustom = Newobject(lcClassName, lcModule, '', lxParam1, lxParam2) 27 | Case lnParams = 3 28 | This.oCustom = Newobject(lcClassName, lcModule, '', lxParam1, lxParam2, lxParam3) 29 | Endcase 30 | Endproc 31 | 32 | Procedure GetCustom 33 | Return This.oCustom 34 | Endproc 35 | 36 | Enddefine 37 | -------------------------------------------------------------------------------- /Installed Files/Source/Tables/hotkeydefinitions.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/hotkeydefinitions.cdx -------------------------------------------------------------------------------- /Installed Files/Source/Tables/hotkeydefinitions.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/hotkeydefinitions.db2 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/hotkeydefinitions.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/hotkeydefinitions.dbf -------------------------------------------------------------------------------- /Installed Files/Source/Tables/logfile.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/logfile.db2 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/logfile.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/logfile.dbf -------------------------------------------------------------------------------- /Installed Files/Source/Tables/menudefinitions.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/menudefinitions.cdx -------------------------------------------------------------------------------- /Installed Files/Source/Tables/menudefinitions.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/menudefinitions.db2 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/menudefinitions.fpt: -------------------------------------------------------------------------------- 1 | @ abc 2 | def 3 | eee -------------------------------------------------------------------------------- /Installed Files/Source/Tables/menutools.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/menutools.cdx -------------------------------------------------------------------------------- /Installed Files/Source/Tables/menutools.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/menutools.db2 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/menutools.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/menutools.dbf -------------------------------------------------------------------------------- /Installed Files/Source/Tables/menutools.fpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/menutools.fpt -------------------------------------------------------------------------------- /Installed Files/Source/Tables/startuptools.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/startuptools.cdx -------------------------------------------------------------------------------- /Installed Files/Source/Tables/startuptools.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/startuptools.db2 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/startuptools.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/startuptools.dbf -------------------------------------------------------------------------------- /Installed Files/Source/Tables/thor.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/thor.db2 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/thor.dbf: -------------------------------------------------------------------------------- 1 | 0 (XKEYCCAPTIONMVALUEM#DISPLAYM'TYPEC+VALIDM,CLASSC0LIBRARYCD ThorHotKey CThorHotKey Thor_UI.vcx UpdateMessage L FontSize N  -------------------------------------------------------------------------------- /Installed Files/Source/Tables/thor.fpt: -------------------------------------------------------------------------------- 1 | @Dedicated hotkey for Thor's useAlt+F12Alt+F122Display message when hotkeys and menus are updatedYYesNNoAlt-F12Alt-F12 2 | Font Size:8899 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/thor_tool_togglecommentcolors.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/thor_tool_togglecommentcolors.prg -------------------------------------------------------------------------------- /Installed Files/Source/Tables/toolhotkeyassignments.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/toolhotkeyassignments.cdx -------------------------------------------------------------------------------- /Installed Files/Source/Tables/toolhotkeyassignments.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/toolhotkeyassignments.db2 -------------------------------------------------------------------------------- /Installed Files/Source/Tables/toolhotkeyassignments.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/Tables/toolhotkeyassignments.dbf -------------------------------------------------------------------------------- /Installed Files/Source/basecontrols.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/basecontrols.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/basecontrols.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/basecontrols.vct -------------------------------------------------------------------------------- /Installed Files/Source/basecontrols.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/basecontrols.vcx -------------------------------------------------------------------------------- /Installed Files/Source/baseprojecthooks.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/baseprojecthooks.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/baseprojecthooks.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/baseprojecthooks.vct -------------------------------------------------------------------------------- /Installed Files/Source/baseprojecthooks.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/baseprojecthooks.vcx -------------------------------------------------------------------------------- /Installed Files/Source/buildthor.PRG: -------------------------------------------------------------------------------- 1 | Local lcFullAppName 2 | 3 | lcFullAppName = '..\Thor.app' 4 | Build App (m.lcFullAppName) From ('Thor.PJX') 5 | -------------------------------------------------------------------------------- /Installed Files/Source/createcloudversionfile.prg: -------------------------------------------------------------------------------- 1 | Lparameters lcPrefix, lcVersion, lcSourceURL, lcUpdateVersionFile, lcLinkPrompt, lcLink, tcNote, lcAltSourceUTL 2 | 3 | ********************************************************* 4 | Local lcNewVersion, lcText 5 | lcNewVersion = lcPrefix + ' - ' + Alltrim (lcVersion) + [ - ] + SpellDate() + ' - ' + Dtoc(Date(),1) 6 | 7 | Text To lcText Noshow Textmerge 8 | Lparameters toUpdateInfo 9 | 10 | Local lcNote 11 | AddProperty(toUpdateInfo, 'AvailableVersion', '<>') 12 | AddProperty(toUpdateInfo, 'SourceFileUrl', '<>') 13 | AddProperty(toUpdateInfo, 'AltSourceFileUrl', '<>') 14 | AddProperty(toUpdateInfo, 'LinkPrompt', '<>') 15 | AddProperty(toUpdateInfo, 'Link', '<>') 16 | 17 | ###Text to lcNote NoShow 18 | <> 19 | ###EndText 20 | 21 | AddProperty(toUpdateInfo, 'Notes', lcNote) 22 | 23 | Execscript (_Screen.cThorDispatcher, 'Result=', toUpdateInfo) 24 | Return toUpdateInfo 25 | 26 | Endtext 27 | 28 | lcText = Strtran(lcText, '###', '') 29 | 30 | Erase (lcUpdateVersionFile) 31 | Strtofile (lcText, lcUpdateVersionFile, 0) 32 | ********************************************************* 33 | 34 | Return lcNewVersion 35 | -------------------------------------------------------------------------------- /Installed Files/Source/createthorrepository.prg: -------------------------------------------------------------------------------- 1 | Erase xxx.html 2 | StrToFile(CreateThorToolCatalogVFPx('thor repository,ide tools'), 'xxx.html') 3 | loLink = Newobject ('_ShellExecute', Home() + 'FFC\_Environ.vcx') 4 | loLink.ShellExecute ('xxx.html') 5 | -------------------------------------------------------------------------------- /Installed Files/Source/createtool.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/createtool.sc2 -------------------------------------------------------------------------------- /Installed Files/Source/createtool.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/createtool.sct -------------------------------------------------------------------------------- /Installed Files/Source/createtool.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/createtool.scx -------------------------------------------------------------------------------- /Installed Files/Source/deploythor.prg: -------------------------------------------------------------------------------- 1 | lcFolder = Curdir() 2 | lcFileName = ["] + Sys(5) + Addbs(lcFolder) + 'DeployThor.ps1' + ["] 3 | Run /N &lcFilename -------------------------------------------------------------------------------- /Installed Files/Source/down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/down.bmp -------------------------------------------------------------------------------- /Installed Files/Source/filtertool.prg: -------------------------------------------------------------------------------- 1 | Lparameters tcFilter, toTool 2 | 3 | Local laLines[1], lcText, lnI 4 | 5 | If Empty(tcFilter) 6 | Return .T. 7 | Endif 8 | 9 | lcText = toTool.Prompt + ' ' + ; 10 | toTool.Summary + ' ' + ; 11 | toTool.Description + ' ' + ; 12 | toTool.Category + ' ' + ; 13 | toTool.Source + ' ' + ; 14 | toTool.Author 15 | 16 | For lnI = 1 To Alines(laLines, tcFilter, 5, ' ') 17 | If 0 = Atc(laLines[lnI], lcText) 18 | Return .F. 19 | Endif 20 | Endfor 21 | Return .T. 22 | 23 | -------------------------------------------------------------------------------- /Installed Files/Source/hotkeys.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/hotkeys.cdx -------------------------------------------------------------------------------- /Installed Files/Source/hotkeys.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/hotkeys.db2 -------------------------------------------------------------------------------- /Installed Files/Source/hotkeys.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/hotkeys.dbf -------------------------------------------------------------------------------- /Installed Files/Source/lockwindow.prg: -------------------------------------------------------------------------------- 1 | * From Doug Hennig's Win32API session at SW Fox 2012 2 | 3 | Lparameters tlLock, ; 4 | tnHWnd 5 | Local lnHWnd 6 | Declare Integer LockWindowUpdate In Win32API ; 7 | Integer nHandle 8 | Do Case 9 | Case Not tlLock 10 | lnHWnd = 0 11 | Case Pcount() = 1 12 | Declare Integer GetDesktopWindow In Win32API 13 | lnHWnd = GetDesktopWindow() 14 | Otherwise 15 | lnHWnd = tnHWnd 16 | Endcase 17 | LockWindowUpdate(lnHWnd) 18 | Return -------------------------------------------------------------------------------- /Installed Files/Source/menus.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/menus.ico -------------------------------------------------------------------------------- /Installed Files/Source/peme_foxresource.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/peme_foxresource.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/peme_foxresource.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/peme_foxresource.vct -------------------------------------------------------------------------------- /Installed Files/Source/peme_foxresource.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/peme_foxresource.vcx -------------------------------------------------------------------------------- /Installed Files/Source/popup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/popup.ico -------------------------------------------------------------------------------- /Installed Files/Source/programs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/programs.ico -------------------------------------------------------------------------------- /Installed Files/Source/quotesaroundlongtext.prg: -------------------------------------------------------------------------------- 1 | #Define CR Chr(13) 2 | 3 | Lparameters lcText 4 | 5 | If 250 < Len(lcText) 6 | lcText = QuotesAroundLongText(Left(lcText, 250)) + ';' + Chr(13) + Space(8) + '+' + QuotesAroundLongText(substr(lcText, 251)) 7 | Return lcText 8 | EndIf 9 | 10 | lcText = Strtran(lcText, ['], [' + "'" + ']) 11 | lcText = Strtran(lcText, CR, [' + Chr(13) + ']) 12 | Return ['] + lcText + ['] 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Installed Files/Source/refhelp.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/refhelp.bmp -------------------------------------------------------------------------------- /Installed Files/Source/refresh2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/refresh2.bmp -------------------------------------------------------------------------------- /Installed Files/Source/spelldate.prg: -------------------------------------------------------------------------------- 1 | Lparameters tdDate, tlAbbreviate 2 | 3 | Local lcMonth, ldDate 4 | ldDate = Evl (tdDate, Date()) 5 | lcMonth = Cmonth (ldDate) 6 | If tlAbbreviate And Len (lcMonth) > 4 7 | lcMonth = Left (lcMonth, 3) + '.' 8 | Endif 9 | 10 | Return lcMonth + ' ' + Transform (Day (ldDate)) + ', ' + Transform (Year (ldDate)) 11 | -------------------------------------------------------------------------------- /Installed Files/Source/thor.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor.ico -------------------------------------------------------------------------------- /Installed Files/Source/thor.pj2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor.pj2 -------------------------------------------------------------------------------- /Installed Files/Source/thor.pjt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor.pjt -------------------------------------------------------------------------------- /Installed Files/Source/thor.pjx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor.pjx -------------------------------------------------------------------------------- /Installed Files/Source/thor.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thor16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor16.ico -------------------------------------------------------------------------------- /Installed Files/Source/thor16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor16.png -------------------------------------------------------------------------------- /Installed Files/Source/thor_foxresource.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_foxresource.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_foxresource.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_foxresource.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor_foxresource.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_foxresource.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thor_left_arrow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_left_arrow.bmp -------------------------------------------------------------------------------- /Installed Files/Source/thor_menu.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_menu.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_menu.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_menu.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor_menu.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_menu.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thor_right_arrow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_right_arrow.bmp -------------------------------------------------------------------------------- /Installed Files/Source/thor_run.h: -------------------------------------------------------------------------------- 1 | #include Thor_UI.H 2 | 3 | #Define ccRUN 'Run' 4 | 5 | #Define ccPOPUPID 'PopupID=' 6 | 7 | #Define ccTOOLFOLDER 'Tool Folder=' 8 | 9 | #Define ccGETVERSION 'Version=' 10 | 11 | #Define ccTHORENGINE 'Thor Engine=' 12 | 13 | #Define ccThorRegister 'Thor Register=' 14 | 15 | #Define ccTOOLTEMPLATE 'Thor Template Code=' 16 | 17 | #Define ccThorClearHotKeys 'Clear HotKeys' 18 | 19 | #Define ccClass 'Class=' 20 | 21 | #Define ccLink 'Link=' 22 | 23 | #Define ccModify 'Edit=' 24 | 25 | #Define ccResult 'Result=' 26 | 27 | #Define ccToolInfo 'ToolInfo=' 28 | 29 | #Define ccDoDefault 'DoDefault()' 30 | 31 | #Define ccFullPath 'Full Path=' 32 | 33 | #Define ccThorMemberData '' 34 | 35 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_run.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_run.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_run.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_run.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor_run.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_run.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thor_sf_splitter.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_sf_splitter.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_sf_splitter.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_sf_splitter.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor_sf_splitter.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_sf_splitter.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thor_sfcombotree.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_sfcombotree.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_sfcombotree.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_sfcombotree.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor_sfcombotree.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_sfcombotree.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thor_starting_prgs.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_starting_prgs.db2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_starting_prgs.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_starting_prgs.dbf -------------------------------------------------------------------------------- /Installed Files/Source/thor_starting_prgs.fpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_starting_prgs.fpt -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thor_checkforupdates.prg: -------------------------------------------------------------------------------- 1 | Lparameters tlInstallAllUpdates 2 | 3 | If Vartype (tlInstallAllUpdates) # 'L' 4 | Return 5 | Endif 6 | 7 | Execscript (_Screen.cThorDispatcher, 'Thor_Proc_Check_For_Updates') 8 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thor_community.prg: -------------------------------------------------------------------------------- 1 | #Define ThorCommunityURL 'http://groups.google.com/group/FoxProThor' 2 | 3 | Lparameters lxParam1 4 | 5 | **************************************************************** 6 | **************************************************************** 7 | * Standard prefix for all tools for Thor, allowing this tool to 8 | * tell Thor about itself. 9 | 10 | If Pcount() = 1 ; 11 | And 'O' = Vartype (lxParam1) ; 12 | And 'thorinfo' = Lower (lxParam1.Class) 13 | 14 | With lxParam1 15 | .Prompt = 'Community / Discussions' 16 | .Description = 'Link to home page for discussions about Thor' 17 | .Source = 'Thor' 18 | .Version = 'Thor 1.02 - Sept. 23, 2011' 19 | .Sort = 30 20 | Endwith 21 | 22 | Return lxParam1 23 | 24 | Endif 25 | 26 | Do ToolCode 27 | 28 | Return 29 | 30 | 31 | **************************************************************** 32 | **************************************************************** 33 | * Normal processing for this tool begins here. 34 | Procedure ToolCode 35 | Local loLink 36 | loLink = Newobject ('_ShellExecute', Home() + 'FFC\_Environ.vcx') 37 | loLink.ShellExecute (ThorCommunityURL) 38 | EndProc 39 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternalalltools.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'All Thor Tools' 14 | .Description = 'Menu of all tools registered with Thor' 15 | .Source = 'Thor' 16 | .Version = 'Thor 1.065 - Oct. 14, 2011' 17 | .Sort = 30 18 | Endwith 19 | 20 | Return lxParam1 21 | Endif 22 | 23 | Do ToolCode 24 | 25 | Return 26 | 27 | **************************************************************** 28 | **************************************************************** 29 | * Normal processing for this tool begins here. 30 | Procedure ToolCode 31 | Do '<>Thor.APP' with 'All Tools' 32 | EndProc 33 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternaledit.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Edit Thor' 14 | .Summary = 'Form for Thor' 15 | .Description = 'Opens main Thor form: assign hot keys to tools, create popup menus and assign hot keys to them,'; 16 | + ' modify VFP system menus, etc.' 17 | .FolderName = '<>' 18 | .Source = 'Thor' 19 | .Version = 'Thor 1 - Oct. 14, 2011' 20 | .Sort = 10 21 | Endwith 22 | 23 | Return lxParam1 24 | Endif 25 | 26 | Do ToolCode 27 | 28 | Return 29 | 30 | **************************************************************** 31 | **************************************************************** 32 | * Normal processing for this tool begins here. 33 | Procedure ToolCode 34 | Do '<>Thor.APP' with 'Edit' 35 | EndProc 36 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternalframeworkhelp.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Help for Thor Framework' 14 | .Description = 'Follows link to Thor Home Page' 15 | .Source = 'Thor' 16 | .Version = 'Thor 1.065 - Oct. 14, 2011' 17 | .Sort = 20 18 | .Link = 'http://vfpx.codeplex.com/wikipage?title=Thor%20Help' 19 | Endwith 20 | 21 | Return lxParam1 22 | Endif 23 | 24 | Do ToolCode 25 | 26 | Return 27 | 28 | **************************************************************** 29 | **************************************************************** 30 | * Normal processing for this tool begins here. 31 | Procedure ToolCode 32 | Do '<>Thor.APP' with 'Help' 33 | EndProc 34 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternalhelp.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Help for Thor' 14 | .Description = 'Follows link to Thor Home Page' 15 | .Source = 'Thor' 16 | .Version = 'Thor - 1.30.13 - October 3, 2012' 17 | .Sort = 20 18 | .Link = 'http://vfpx.codeplex.com/wikipage?title=Thor%20Help' 19 | Endwith 20 | 21 | Return lxParam1 22 | Endif 23 | 24 | Do ToolCode 25 | 26 | Return 27 | 28 | **************************************************************** 29 | **************************************************************** 30 | * Normal processing for this tool begins here. 31 | Procedure ToolCode 32 | lcFormFileName = Execscript (_Screen.cThorDispatcher, 'Full Path=Thor_Proc_ProjectHomePages.SCX') 33 | Do Form (lcFormFileName) 34 | EndProc 35 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternalmodifytool.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Modify Tool' 14 | .Description = 'Menu to open Thor tools for modification with Modify Command' 15 | .Source = 'Thor' 16 | .Version = 'Thor 1.065 - Oct. 14, 2011' 17 | .Sort = 30 18 | Endwith 19 | 20 | Return lxParam1 21 | Endif 22 | 23 | Do ToolCode 24 | 25 | Return 26 | 27 | **************************************************************** 28 | **************************************************************** 29 | * Normal processing for this tool begins here. 30 | Procedure ToolCode 31 | Do '<>Thor.APP' with 'All Tools' 32 | EndProc 33 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternalrepository.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'All Thor Repository Tools' 14 | .Description = 'Menu of all tools registered in the Thor Repository' 15 | .Source = 'Thor' 16 | .FolderName = '<>Thor\Tools\' 17 | .Version = 'Thor 1.065 - Oct. 14, 2011' 18 | .Sort = 40 19 | Endwith 20 | 21 | Return lxParam1 22 | Endif 23 | 24 | Do ToolCode 25 | 26 | Return 27 | 28 | **************************************************************** 29 | **************************************************************** 30 | * Normal processing for this tool begins here. 31 | Procedure ToolCode 32 | Do '<>Thor.APP' with 'Thor Repository' 33 | EndProc 34 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternalrepositoryhomepage.prg: -------------------------------------------------------------------------------- 1 | #Define ThorFrameworkURL 'http://vfpx.codeplex.com/wikipage?title=Thor%20Repository' 2 | 3 | Lparameters lxParam1 4 | 5 | **************************************************************** 6 | **************************************************************** 7 | * Standard prefix for all tools for Thor, allowing this tool to 8 | * tell Thor about itself. 9 | 10 | If Pcount() = 1 ; 11 | And 'O' = Vartype (lxParam1) ; 12 | And 'thorinfo' = Lower (lxParam1.Class) 13 | 14 | With lxParam1 15 | .Prompt = 'Link to Thor Repository' 16 | .Description = 'Link to Home Page for Thor Repository' 17 | .Source = 'Thor' 18 | .Version = 'Thor 1.065 - Oct. 14, 2011' 19 | .Sort = 20 20 | .Link = ThorFrameworkURL 21 | Endwith 22 | 23 | Return lxParam1 24 | Endif 25 | 26 | Do ToolCode 27 | 28 | Return 29 | 30 | **************************************************************** 31 | **************************************************************** 32 | * Normal processing for this tool begins here. 33 | Procedure ToolCode 34 | Local loLink 35 | loLink = Newobject ('_ShellExecute', Home() + 'FFC\_Environ.vcx') 36 | loLink.ShellExecute (ThorFrameworkURL) 37 | EndProc 38 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternalruntool.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' == Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | 14 | .Prompt = 'Tool Launcher' 15 | .Description = 'Find and run tools, browse descriptions, set options, ...' 16 | .Source = 'Thor' 17 | .Version = 'Thor - 1.41.01 - November 4, 2013' 18 | .Sort = 20 19 | .CanRunAtStartUp = .T. 20 | .VideoLink = 'http://youtu.be/2ttBR9vQqew' 21 | 22 | Endwith 23 | 24 | Return lxParam1 25 | Endif 26 | 27 | If Pcount() = 0 28 | Do ToolCode 29 | Else 30 | Do ToolCode With lxParam1 31 | Endif 32 | 33 | Return 34 | 35 | **************************************************************** 36 | **************************************************************** 37 | * Normal processing for this tool begins here. 38 | Procedure ToolCode 39 | Lparameters lxParam1 40 | 41 | Execscript (_Screen.cThorDispatcher, 'FORMRUNTOOL') 42 | 43 | Endproc 44 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_tool_thorinternaltoollink.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Tool Home Page' 14 | .Description = 'Menu to access home page (or description) for any tool' 15 | .Source = 'Thor' 16 | .Version = 'Thor 1.065 - Oct. 14, 2011' 17 | .Sort = 30 18 | Endwith 19 | 20 | Return lxParam1 21 | Endif 22 | 23 | Do ToolCode 24 | 25 | Return 26 | 27 | **************************************************************** 28 | **************************************************************** 29 | * Normal processing for this tool begins here. 30 | Procedure ToolCode 31 | Do '<>Thor.APP' with 'All Tools' 32 | EndProc 33 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_ui.h: -------------------------------------------------------------------------------- 1 | #include Thor.H 2 | #include Thor_English.H 3 | 4 | * Windows event handling constants. 5 | 6 | #define WM_KEYUP 0x0101 7 | #define WM_SYSKEYUP 0x0105 8 | 9 | * TreeView constants. 10 | 11 | #define cnROOT_NODE 0 12 | #define cnCHILD_NODE 4 13 | 14 | * Menu constants. 15 | 16 | #define ccKEY_ROOT_SYSTEM_MENU 'VFP' 17 | #define ccKEY_ROOT_POPUP_MENU 'POPUP' 18 | 19 | * Other constants. 20 | 21 | #define ccSEPARATOR_PROMPT '----------------------' 22 | #define ccKEY_MENU 'M' 23 | #define ccKEY_TOOL 'T' 24 | #define ccKEY_SEPARATOR '\' 25 | #define ccIMAGE_MENU 'Menu' 26 | #define ccIMAGE_TOOL 'Tool' 27 | #define ccIMAGE_POPUP 'Popup' 28 | 29 | *** DH 2018-04-10: new URLS 30 | #Define ThorHelpURL 'https://github.com/VFPX/Thor/blob/master/Docs/Thor_help.md' 31 | #Define ThorFrameworkURL 'https://github.com/VFPX/Thor/blob/master/Docs/Thor_repository.md' 32 | 33 | #Define ccRunAllTools 'Thor_Run_Tools' 34 | 35 | #Define cnDefaultMissingBackColor RGB(255,0,0) 36 | #Define cnDefaultMissingForeColor RGB(255,255,255) 37 | 38 | #Define cnDefaultPrivateBackColor RGB(255,255,0) 39 | #Define cnDefaultPrivateForeColor RGB(255,0,0) 40 | 41 | #Define cnDefaultPersonalBackColor RGB(255,255,0) 42 | #Define cnDefaultPersonalForeColor RGB(0,0,0) 43 | 44 | #Define ccThorIcon 'Thor16.png' 45 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_ui.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_ui.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_ui.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_ui.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor_ui.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_ui.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thor_update_thor_repository_beta.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | With loUpdateObject 4 | .ApplicationName = 'ThorRepository Beta' 5 | .ToolName = 'Thor_Tool_ThorInternalRepository' 6 | .VersionFileURL = 'http://foxpro.mattslay.com/JRN/Thor_Repository/Beta/ThorRepositoryVersionFileBeta.txt' 7 | .VersionLocalFilename = 'ThorRepositoryVersionFileBeta.txt' 8 | .RegisterWithThor = '' 9 | Endwith 10 | 11 | Return loUpdateObject 12 | 13 | -------------------------------------------------------------------------------- /Installed Files/Source/thor_utils.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_utils.vc2 -------------------------------------------------------------------------------- /Installed Files/Source/thor_utils.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_utils.vct -------------------------------------------------------------------------------- /Installed Files/Source/thor_utils.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thor_utils.vcx -------------------------------------------------------------------------------- /Installed Files/Source/thorformruntool.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorformruntool.sc2 -------------------------------------------------------------------------------- /Installed Files/Source/thorformruntool.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorformruntool.sct -------------------------------------------------------------------------------- /Installed Files/Source/thorformruntool.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorformruntool.scx -------------------------------------------------------------------------------- /Installed Files/Source/thorruntool.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorruntool.sc2 -------------------------------------------------------------------------------- /Installed Files/Source/thorruntool.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorruntool.sct -------------------------------------------------------------------------------- /Installed Files/Source/thorruntool.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorruntool.scx -------------------------------------------------------------------------------- /Installed Files/Source/thorui.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorui.sc2 -------------------------------------------------------------------------------- /Installed Files/Source/thorui.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorui.sct -------------------------------------------------------------------------------- /Installed Files/Source/thorui.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/thorui.scx -------------------------------------------------------------------------------- /Installed Files/Source/thorversion.h: -------------------------------------------------------------------------------- 1 | #Define cnVersion 1.47.04 2 | #Define cdVersionDate December 4, 2024 3 | #Define ccThorInternalVERSION 'Thor - 1.47.04 - December 4, 2024 - 20241204' 4 | #Define ccThorVERSION [Thor - 1.47.04 - December 4, 2024] 5 | #Define ccThorVERSIONFILE [ThorVersion.txt] -------------------------------------------------------------------------------- /Installed Files/Source/up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Source/up.bmp -------------------------------------------------------------------------------- /Installed Files/Thor.APP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor.APP -------------------------------------------------------------------------------- /Installed Files/Thor/Tables/VFPHotKeys.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tables/VFPHotKeys.cdx -------------------------------------------------------------------------------- /Installed Files/Thor/Tables/VFPHotKeys.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tables/VFPHotKeys.db2 -------------------------------------------------------------------------------- /Installed Files/Thor/Tables/VFPHotKeys.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tables/VFPHotKeys.dbf -------------------------------------------------------------------------------- /Installed Files/Thor/Tables/VFPHotKeys.fpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tables/VFPHotKeys.fpt -------------------------------------------------------------------------------- /Installed Files/Thor/Tables/hotkeys.cdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tables/hotkeys.cdx -------------------------------------------------------------------------------- /Installed Files/Thor/Tables/hotkeys.db2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tables/hotkeys.db2 -------------------------------------------------------------------------------- /Installed Files/Thor/Tables/hotkeys.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tables/hotkeys.dbf -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/THOR_PROC_FixThorMenuMarks.PRG: -------------------------------------------------------------------------------- 1 | #Define CRLF Chr[13] + Chr[10] 2 | 3 | Local lcEX, lcExecMenuMarks, lcMark, lnI 4 | 5 | If Pemstatus(_Screen, 'aThorMenuMarks', 5) = .F. 6 | Return 7 | Endif 8 | 9 | 10 | For lnI = 1 To Alen(_Screen.aThorMenuMarks) 11 | lcMark = _Screen.aThorMenuMarks[m.lnI] 12 | If Not Empty(m.lcMark) 13 | Try 14 | Execscript(m.lcMark) 15 | Catch 16 | Endtry 17 | Endif 18 | Endfor 19 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_AfterComponentInstall.PRG: -------------------------------------------------------------------------------- 1 | Lparameters tcApplicationName, tcInstallationFolder, tcZipFile 2 | 3 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_BeforeComponentInstall.PRG: -------------------------------------------------------------------------------- 1 | Lparameters tcApplicationName, tcInstallationFolder 2 | 3 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_CheckForUpdate.PRG: -------------------------------------------------------------------------------- 1 | Lparameters toUpdateInfo 2 | 3 | *-- Get the available version from the cloud. (2011-11-07 M. Slay - Revised to pass in UpdateInfo object 4 | toUpdateInfo = Execscript (_Screen.cThorDispatcher, 'Thor_Proc_GetAvailableVersionInfo', toUpdateInfo) 5 | 6 | Execscript (_Screen.cThorDispatcher, 'Result=', toUpdateInfo) 7 | Return toUpdateInfo -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_CheckInternetConnection.PRG: -------------------------------------------------------------------------------- 1 | * Thanks for the fox wiki http://fox.wikis.com/wc.dll?Wiki~IsSystemConnectedToInternet it was easy to modify the prg 2 | 3 | #Define FLAG_ICC_FORCE_CONNECTION 1 4 | 5 | Local lcUrl, llResult 6 | *Declare Long InternetCheckConnection In Wininet.Dll String Url, Long dwFlags, Long Reserved 7 | Declare SHORT InternetGetConnectedState IN wininet; 8 | INTEGER @ lpdwFlags,; 9 | INTEGER dwReserved 10 | 11 | *!* Fast and reliable web site 12 | *!* lcUrl = 'http://www.google.com' && or maybe better to check for the in this case correct web site? 13 | *!* Execscript (_Screen.cThorDispatcher, 'Thor_Proc_WriteToCFULog', 'Checking internet connection by contacting ' + lcUrl) 14 | 15 | *!*If InternetCheckConnection (lcUrl, FLAG_ICC_FORCE_CONNECTION, 0) # 0 16 | Local lnFlags 17 | lnFlags = 0 18 | 19 | If InternetGetConnectedState(@lnFlags, 0) = 1 20 | llResult = .T. 21 | Execscript (_Screen.cThorDispatcher, 'Thor_Proc_WriteToCFULog', 'Internet connection test passed.') 22 | Else 23 | llResult = .F. 24 | Execscript (_Screen.cThorDispatcher, 'Thor_Proc_WriteToCFULog', 'Internet connection test FAILED!!!') 25 | EndIf 26 | 27 | Return ExecScript(_Screen.cThorDispatcher, 'Result=', llResult) 28 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_DownloadAndExtractToPath.PRG: -------------------------------------------------------------------------------- 1 | Lparameters tcSourceFileURL, tcInstallPath, tlShowCopyErrorDialog, tcAppName 2 | 3 | #Define ERROR_DOWNLOADING_FILE -1 4 | #Define ERROR_EXTRACTING_FILE -2 5 | #Define ERROR_INSTALLING_FILES -3 6 | 7 | Local lcDownloadDestinationFile, lcDownloadPath, lcTempName, llReturn, lnReturn 8 | 9 | *--- Download the file to temp folder --------------------------- 10 | _Screen.AddProperty ('cThorLastZipFile', '') 11 | 12 | *** JRN 2023-08-06 : missing property 13 | If PemStatus(_Screen, 'cThorCFUFolder', 5) = .F. 14 | _Screen.AddProperty('cThorCFUFolder', Addbs(Sys(2023))) 15 | EndIf 16 | 17 | lcDownloadPath = _Screen.cThorCFUFolder && Store ZIP file to user's Temp folder 18 | lcTempName = 'Download_' + Evl (tcAppName, 'X') + Sys(2015) 19 | lcDownloadDestinationFile = Addbs (lcDownloadPath) + lcTempName + '.zip' && create a random name for the ZIP file 20 | 21 | llReturn = Execscript (_Screen.cThorDispatcher, 'Thor_Proc_DownloadFileFromURL', tcSourceFileURL, lcDownloadDestinationFile) 22 | 23 | If Not llReturn 24 | Return Execscript (_Screen.cThorDispatcher, 'Result=', ERROR_DOWNLOADING_FILE) 25 | Endif 26 | 27 | _Screen.AddProperty ('cThorLastZipFile', lcDownloadDestinationFile) 28 | 29 | *-- Extract to temp folder and then to target install folder ---------- 30 | lnReturn = Execscript (_Screen.cThorDispatcher, 'Thor_Proc_ExtractToPath' ; 31 | , lcDownloadDestinationFile, lcTempName, tcAppName, tcInstallPath, tlShowCopyErrorDialog) 32 | 33 | Return Execscript (_Screen.cThorDispatcher, 'Result=', lnReturn) 34 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_Expand_Bitly_Url.PRG: -------------------------------------------------------------------------------- 1 | Lparameters tcBitlyShortUrl 2 | 3 | Local lcVersionFileResponse, lcVersionFileUrl 4 | 5 | llReturn = Execscript (_Screen.cThorDispatcher, 'Thor_Proc_SetLibrary', 'VFPConnection.fll') 6 | 7 | If !llReturn 8 | Execscript (_Screen.cThorDispatcher, 'Result=', .f.) 9 | Return .f. 10 | Endif 11 | 12 | Try 13 | lcVersionFileResponse = HTTPSToStr(tcBitlyShortUrl) 14 | Catch 15 | lcVersionFileResponse = '' 16 | Endtry 17 | 18 | If !Empty(lcVersionFileResponse) 19 | lcVersionFileUrl = GetWordNum(lcVersionFileResponse, 2, '"') 20 | Else 21 | lcVersionFileUrl = '' 22 | EndIf 23 | 24 | Execscript (_Screen.cThorDispatcher, 'Result=', lcVersionFileUrl) 25 | Return lcVersionFileUrl 26 | 27 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_SetLastCFUDate.PRG: -------------------------------------------------------------------------------- 1 | * Sets the date the last time CFU has been run today 2 | 3 | Local lcTableName, lnSelect 4 | 5 | lcTableName = _Screen.cThorFolder + 'Tables\LastCheckForUpdatesDate.DBF' 6 | 7 | lnSelect = Select() 8 | Select 0 9 | If File (m.lcTableName) 10 | Use (m.lcTableName) Shared Again 11 | Else 12 | Create Table (m.lcTableName) Free (LastDate D) 13 | Endif 14 | 15 | If Reccount() = 0 16 | Append Blank 17 | Endif 18 | 19 | Goto Top 20 | Replace LastDate With Date() 21 | 22 | Use 23 | 24 | Select(m.lnSelect) 25 | 26 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_SetLibrary.PRG: -------------------------------------------------------------------------------- 1 | Lparameters tcLibrary 2 | 3 | Local lcFileUrl, lcLocalFilename, lcToolFolder, lcUrlFolder, llReturn 4 | 5 | lcToolFolder = Execscript (_Screen.cThorDispatcher, 'Tool Folder=') 6 | lcLocalFilename = lcToolFolder + tcLibrary 7 | lcUrlFolder = 'http://foxpro.mattslay.com/Common/' 8 | lcFileUrl = lcUrlFolder + tcLibrary 9 | llReturn = .t. 10 | 11 | *-- Download the file if it is not present... 12 | If !File(lcLocalFilename) 13 | llReturn = Execscript (_Screen.cThorDispatcher, 'Thor_Proc_DownloadFileFromURL', lcFileUrl, lcLocalFilename) 14 | EndIf 15 | 16 | If llReturn and File(lcLocalFilename) 17 | Set Library To (lcLocalFilename) Additive 18 | Else 19 | llReturn = .f. 20 | Endif 21 | 22 | Execscript (_Screen.cThorDispatcher, 'Result=', llReturn) 23 | Return llReturn 24 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_Shell.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lcFileURL 2 | 3 | Local oShell As 'wscript.shell' 4 | oShell = Createobject ('wscript.shell') 5 | oShell.Run (lcFileURL) 6 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/Thor_Proc_UpdateWaitWindow.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lcText, lxParam2, lxParam3, lxParam4 2 | 3 | If Vartype(glQuiet) = 'L' And glQuiet 4 | Return 5 | Endif 6 | 7 | Wait Window (lcText) at 20, 30 Nowait -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/checkforupdates.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/checkforupdates.sc2 -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/checkforupdates.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/checkforupdates.sct -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/checkforupdates.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/checkforupdates.scx -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor.ico -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_after_check_for_updates.prg: -------------------------------------------------------------------------------- 1 | Local lcProject, llVisible, lnI, loException 2 | 3 | If Type('Alen(_Screen.aThorCFUProjects)') = 'N' 4 | 5 | For lnI = 1 To Alen(_Screen.aThorCFUProjects, 1) 6 | lcProject = _Screen.aThorCFUProjects(m.lnI, 1) 7 | llVisible = _Screen.aThorCFUProjects(m.lnI, 2) 8 | 9 | Try 10 | If m.llVisible 11 | Modify Project (m.lcProject) Nowait 12 | Else 13 | Modify Project (m.lcProject) Nowait Noshow 14 | Endif 15 | Catch To m.loException 16 | 17 | Endtry 18 | 19 | Endfor 20 | 21 | Removeproperty(_Screen, 'aThorCFUProjects') 22 | Endif && Type("Alen(_Screen.aThorCFUProjects)") = 'N' 23 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_before_check_for_updates.prg: -------------------------------------------------------------------------------- 1 | Local lnCount, lnI, loActiveProject, loActiveProjectName, loProject 2 | 3 | lnCount = _vfp.Projects.Count 4 | If m.lnCount > 0 5 | 6 | _Screen.AddProperty('aThorCFUProjects(lnCount, 3)') 7 | 8 | loActiveProjectName = Upper(_vfp.ActiveProject.Name) 9 | 10 | For lnI = 1 To m.lnCount 11 | loProject = _vfp.Projects[m.lnI] 12 | 13 | _Screen.aThorCFUProjects(m.lnI, 1) = m.loProject.Name 14 | _Screen.aThorCFUProjects(m.lnI, 2) = m.loProject.Visible 15 | _Screen.aThorCFUProjects(m.lnI, 3) = Upper(m.loProject.Name) == m.loActiveProjectName 16 | Endfor 17 | 18 | Asort(_Screen.aThorCFUProjects, 3) 19 | 20 | loActiveProject = Null 21 | loProject = Null 22 | 23 | Else 24 | 25 | Removeproperty(_Screen, 'aThorCFUProjects') 26 | 27 | Endif 28 | 29 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_projecthomepages.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_proc_projecthomepages.sc2 -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_projecthomepages.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_proc_projecthomepages.sct -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_projecthomepages.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_proc_projecthomepages.scx -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_scopeprocessor.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_proc_scopeprocessor.vc2 -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_scopeprocessor.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_proc_scopeprocessor.vct -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_proc_scopeprocessor.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_proc_scopeprocessor.vcx -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_sfsplitter.vc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_sfsplitter.vc2 -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_sfsplitter.vct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_sfsplitter.vct -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Procs/thor_sfsplitter.vcx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/Procs/thor_sfsplitter.vcx -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/THOR_TOOL_ThorChangeLog.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = "Whats new in Thor" 14 | .AppID = 'Thor' 15 | .Description = "Open Change Log for Thor (What's new)" 16 | .Source = 'Thor' 17 | .Sort = 20 18 | Endwith 19 | 20 | Return lxParam1 21 | Endif 22 | 23 | Do ToolCode 24 | 25 | Return 26 | 27 | **************************************************************** 28 | **************************************************************** 29 | * Normal processing for this tool begins here. 30 | Procedure ToolCode 31 | Local lcURL, loThorUtils 32 | 33 | lcURL = 'https://github.com/VFPX/Thor/blob/master/Change%20Log.md' 34 | loThorUtils = Execscript(_Screen.cThorDispatcher, 'thor_proc_utils') 35 | m.loThorUtils.GoURL(m.lcURL) 36 | 37 | Endproc -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ForceThorDownload.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Force Thor Update' 14 | .AppID = 'Thor' 15 | .Description = 'Force update to most current version of Thor' 16 | .Source = 'Thor' 17 | .Sort = 20 18 | Endwith 19 | 20 | Return lxParam1 21 | Endif 22 | 23 | Do ToolCode 24 | 25 | Return 26 | 27 | **************************************************************** 28 | **************************************************************** 29 | * Normal processing for this tool begins here. 30 | Procedure ToolCode 31 | StrToFile(' Force CFU ', _screen.cThorFolder + 'Thorversion.txt', 1) 32 | MessageBox('Running "Check For Updates" now will force an update of Thor.') 33 | EndProc -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ProjectHomePages.prg: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' == Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | 14 | .Prompt = 'Project Home Pages' 15 | .AppID = 'Thor' 16 | .Description = 'List of Project and links to their home pages' 17 | .Source = 'Thor' 18 | .Version = 'Thor - 1.45.16.003 - April 2, 2023' 19 | .Sort = 20 20 | 21 | Endwith 22 | 23 | Return lxParam1 24 | Endif 25 | 26 | If Pcount() = 0 27 | Do ToolCode 28 | Else 29 | Do ToolCode With lxParam1 30 | Endif 31 | 32 | Return 33 | 34 | **************************************************************** 35 | **************************************************************** 36 | * Normal processing for this tool begins here. 37 | Procedure ToolCode 38 | Lparameters lxParam1 39 | 40 | lcFormFileName = Execscript (_Screen.cThorDispatcher, 'Full Path=Thor_Proc_ProjectHomePages.SCX') 41 | Do Form (lcFormFileName) 42 | 43 | Endproc 44 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorCFULog.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (m.lxParam1) ; 10 | And 'thorinfo' = Lower (m.lxParam1.Class) 11 | 12 | With m.lxParam1 13 | .Prompt = 'CFU Log folder' 14 | .AppID = 'Thor' 15 | .Description = 'Open folder for most recent Check For Updates' 16 | .Source = 'Thor' 17 | Endwith 18 | 19 | Return m.lxParam1 20 | Endif 21 | 22 | Do ToolCode 23 | 24 | Return 25 | 26 | **************************************************************** 27 | **************************************************************** 28 | * Normal processing for this tool begins here. 29 | Procedure ToolCode 30 | Local laFileName[1], lcTempFolder, loUtils 31 | 32 | loUtils = Execscript(_Screen.cThorDispatcher, 'thor_proc_utils') 33 | lcTempFolder = Addbs(Sys(2023)) 34 | 35 | m.loUtils.ADirCursor (m.lcTempFolder + 'Thor.CheckForUpdates.*', 'CFULogs', 'D') 36 | If Reccount('CFULogs') > 0 37 | Select Trim(Max(FileName)) From cfulogs Into Array laFileName 38 | Execscript (_Screen.cThorDispatcher, 'Thor_Proc_Shell', m.lcTempFolder + m.laFileName) 39 | Else 40 | Messagebox('No CFU logs found Found!', 16) 41 | Endif 42 | 43 | Endproc 44 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalAllTools.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'All Thor Tools' 14 | .AppID = 'Thor' 15 | .Description = 'Menu of all tools registered with Thor' 16 | .Source = 'Thor' 17 | .Version = 'Thor - 1.45.26 - June 21, 2023' 18 | .Sort = 30 19 | Endwith 20 | 21 | Return lxParam1 22 | Endif 23 | 24 | Do ToolCode 25 | 26 | Return 27 | 28 | **************************************************************** 29 | **************************************************************** 30 | * Normal processing for this tool begins here. 31 | Procedure ToolCode 32 | Do _Screen.cThorFolder + '..\Thor.APP' with 'All Tools' 33 | EndProc 34 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalEdit.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Edit Thor' 14 | .AppID = 'Thor' 15 | .Summary = 'Form for Thor' 16 | .Description = 'Opens main Thor form: assign hot keys to tools, create popup menus and assign hot keys to them,'; 17 | + ' modify VFP system menus, etc.' 18 | .Source = 'Thor' 19 | .Version = 'Thor - 1.45.26 - June 21, 2023' 20 | .Sort = 10 21 | Endwith 22 | 23 | Return lxParam1 24 | Endif 25 | 26 | Do ToolCode 27 | 28 | Return 29 | 30 | **************************************************************** 31 | **************************************************************** 32 | * Normal processing for this tool begins here. 33 | Procedure ToolCode 34 | Do _Screen.cThorFolder + '..\Thor.APP' with 'Edit' 35 | EndProc 36 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalFrameworkHelp.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Help for Thor Framework' 14 | .AppID = 'Thor' 15 | .Description = 'Follows link to Thor Home Page' 16 | .Source = 'Thor' 17 | .Version = 'Thor - 1.45.26 - June 21, 2023' 18 | .Sort = 20 19 | .Link = 'https://github.com/VFPX/Thor/blob/master/Docs/Thor_help.md' 20 | Endwith 21 | 22 | Return lxParam1 23 | Endif 24 | 25 | Do ToolCode 26 | 27 | Return 28 | 29 | **************************************************************** 30 | **************************************************************** 31 | * Normal processing for this tool begins here. 32 | Procedure ToolCode 33 | Do _Screen.cThorFolder + '..\Thor.APP' with 'Help' 34 | EndProc 35 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalHelp.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Help for Thor' 14 | .AppID = 'Thor' 15 | .Description = 'Follows link to Thor Home Page' 16 | .Source = 'Thor' 17 | .Version = 'Thor - 1.45.26 - June 21, 2023' 18 | .Sort = 20 19 | .Link = 'https://github.com/VFPX/Thor/blob/master/Docs/Thor_help.md' 20 | Endwith 21 | 22 | Return lxParam1 23 | Endif 24 | 25 | Do ToolCode 26 | 27 | Return 28 | 29 | **************************************************************** 30 | **************************************************************** 31 | * Normal processing for this tool begins here. 32 | Procedure ToolCode 33 | ExecScript(_Screen.cThorDispatcher, 'Thor_Proc_Shell', 'http://vfpx.org') -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalModifyTool.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Modify Tool' 14 | .AppID = 'Thor' 15 | .Description = 'Menu to open Thor tools for modification with Modify Command' 16 | .Source = 'Thor' 17 | .Version = 'Thor - 1.45.26 - June 21, 2023' 18 | .Sort = 30 19 | Endwith 20 | 21 | Return lxParam1 22 | Endif 23 | 24 | Do ToolCode 25 | 26 | Return 27 | 28 | **************************************************************** 29 | **************************************************************** 30 | * Normal processing for this tool begins here. 31 | Procedure ToolCode 32 | Do _Screen.cThorFolder + '..\Thor.APP' with 'All Tools' 33 | EndProc 34 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalRepository.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'All Thor Repository Tools' 14 | .AppID = 'Thor' 15 | .Description = 'Menu of all tools registered in the Thor Repository' 16 | .Source = 'Thor' 17 | .Version = 'Thor - 1.45.26 - June 21, 2023' 18 | .Sort = 40 19 | Endwith 20 | 21 | Return lxParam1 22 | Endif 23 | 24 | Do ToolCode 25 | 26 | Return 27 | 28 | **************************************************************** 29 | **************************************************************** 30 | * Normal processing for this tool begins here. 31 | Procedure ToolCode 32 | Do _Screen.cThorFolder + '..\Thor.APP' with 'Thor Repository' 33 | EndProc 34 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalRepositoryHomePage.PRG: -------------------------------------------------------------------------------- 1 | #Define ThorFrameworkURL 'https://github.com/VFPX/Thor/blob/master/Docs/Thor_repository.md' 2 | 3 | Lparameters lxParam1 4 | 5 | **************************************************************** 6 | **************************************************************** 7 | * Standard prefix for all tools for Thor, allowing this tool to 8 | * tell Thor about itself. 9 | 10 | If Pcount() = 1 ; 11 | And 'O' = Vartype (lxParam1) ; 12 | And 'thorinfo' = Lower (lxParam1.Class) 13 | 14 | With lxParam1 15 | .Prompt = 'Link to Thor Repository' 16 | .AppID = 'Thor' 17 | .Description = 'Link to Home Page for Thor Repository' 18 | .Source = 'Thor' 19 | .Version = 'Thor - 1.45.26 - June 21, 2023' 20 | .Sort = 20 21 | .Link = 'https://github.com/VFPX/Thor/blob/master/Docs/Thor_repository.md' 22 | Endwith 23 | 24 | Return lxParam1 25 | Endif 26 | 27 | Do ToolCode 28 | 29 | Return 30 | 31 | **************************************************************** 32 | **************************************************************** 33 | * Normal processing for this tool begins here. 34 | Procedure ToolCode 35 | Local loLink 36 | loLink = Newobject ('_ShellExecute', Home() + 'FFC\_Environ.vcx') 37 | loLink.ShellExecute ('https://github.com/VFPX/Thor/blob/master/Docs/Thor_repository.md') 38 | EndProc 39 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalRunTool.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' == Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | 14 | .Prompt = 'Tool Launcher' 15 | .AppID = 'Thor' 16 | .Description = 'Find and run tools, browse descriptions, set options, ...' 17 | .Source = 'Thor' 18 | .Version = 'Thor - 1.45.26 - June 21, 2023' 19 | .Sort = 20 20 | .CanRunAtStartUp = .T. 21 | .VideoLink = 'http://youtu.be/2ttBR9vQqew' 22 | 23 | Endwith 24 | 25 | Return lxParam1 26 | Endif 27 | 28 | If Pcount() = 0 29 | Do ToolCode 30 | Else 31 | Do ToolCode With lxParam1 32 | Endif 33 | 34 | Return 35 | 36 | **************************************************************** 37 | **************************************************************** 38 | * Normal processing for this tool begins here. 39 | Procedure ToolCode 40 | Lparameters lxParam1 41 | 42 | Execscript (_Screen.cThorDispatcher, 'FORMRUNTOOL') 43 | 44 | Endproc 45 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_ThorInternalToolLink.PRG: -------------------------------------------------------------------------------- 1 | Lparameters lxParam1 2 | 3 | **************************************************************** 4 | **************************************************************** 5 | * Standard prefix for all tools for Thor, allowing this tool to 6 | * tell Thor about itself. 7 | 8 | If Pcount() = 1 ; 9 | And 'O' = Vartype (lxParam1) ; 10 | And 'thorinfo' = Lower (lxParam1.Class) 11 | 12 | With lxParam1 13 | .Prompt = 'Tool Home Page' 14 | .AppID = 'Thor' 15 | .Description = 'Menu to access home page (or description) for any tool' 16 | .Source = 'Thor' 17 | .Version = 'Thor - 1.45.26 - June 21, 2023' 18 | .Sort = 30 19 | Endwith 20 | 21 | Return lxParam1 22 | Endif 23 | 24 | Do ToolCode 25 | 26 | Return 27 | 28 | **************************************************************** 29 | **************************************************************** 30 | * Normal processing for this tool begins here. 31 | Procedure ToolCode 32 | Do _Screen.cThorFolder + '..\Thor.APP' with 'All Tools' 33 | EndProc 34 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_Thor_CheckForUpdates.PRG: -------------------------------------------------------------------------------- 1 | Lparameters tlInstallAllUpdates 2 | 3 | If Vartype (tlInstallAllUpdates) # 'L' 4 | Return 5 | Endif 6 | 7 | * default, does nothing, but customizable ... see https://github.com/VFPX/Thor/issues/96 8 | Execscript (_Screen.cThorDispatcher, 'Thor_Proc_Before_Check_For_Updates') 9 | 10 | * the real work horse 11 | Execscript (_Screen.cThorDispatcher, 'Thor_Proc_Check_For_Updates') 12 | 13 | * default, does nothing, but customizable ... see https://github.com/VFPX/Thor/issues/96 14 | Execscript (_Screen.cThorDispatcher, 'Thor_Proc_After_Check_For_Updates') 15 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Thor_Tool_Thor_Community.PRG: -------------------------------------------------------------------------------- 1 | #Define ThorCommunityURL 'http://groups.google.com/group/FoxProThor' 2 | 3 | Lparameters lxParam1 4 | 5 | **************************************************************** 6 | **************************************************************** 7 | * Standard prefix for all tools for Thor, allowing this tool to 8 | * tell Thor about itself. 9 | 10 | If Pcount() = 1 ; 11 | And 'O' = Vartype (lxParam1) ; 12 | And 'thorinfo' = Lower (lxParam1.Class) 13 | 14 | With lxParam1 15 | .Prompt = 'Community / Discussions' 16 | .AppID = 'Thor' 17 | .Description = 'Link to home page for discussions about Thor' 18 | .Source = 'Thor' 19 | .Version = 'Thor - 1.45.26 - June 21, 2023' 20 | .Sort = 30 21 | Endwith 22 | 23 | Return lxParam1 24 | 25 | Endif 26 | 27 | Do ToolCode 28 | 29 | Return 30 | 31 | 32 | **************************************************************** 33 | **************************************************************** 34 | * Normal processing for this tool begins here. 35 | Procedure ToolCode 36 | Local loLink 37 | loLink = Newobject ('_ShellExecute', Home() + 'FFC\_Environ.vcx') 38 | loLink.ShellExecute (ThorCommunityURL) 39 | EndProc 40 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/Updates/Thor_Update_Thor.PRG: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | With loUpdateObject 4 | .AppName = 'Thor.App' 5 | .ApplicationName = 'Thor' 6 | .ToolName = 'Thor_Tool_ThorInternalEdit' 7 | .VersionFileURL = 'https://raw.githubusercontent.com/VFPX/Thor/master/ThorUpdater/_ThorVersionFile.txt' 8 | .VersionLocalFilename = 'Thor\ThorVersion.txt' 9 | .RegisterWithThor = 'Do "##InstallFolder##Thor.APP" with "Install"' 10 | .SourceFileURL = 'Thor_Source.Zip = https://raw.githubusercontent.com/VFPX/Thor/master/ThorUpdater/Thor.zip' 11 | .Link = 'https://github.com/VFPX/Thor' 12 | .LinkPrompt = 'Thor Home Page' 13 | Endwith 14 | 15 | AddProperty(loUpdateObject, 'UnzipAfterDownload', 'Yes') 16 | 17 | Return loUpdateObject 18 | -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/VFPCompression.fll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/VFPCompression.fll -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/VFPConnection.fll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/VFPConnection.fll -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/thor.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/thor.ico -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/thor_tool_thorinternalmanageplugins.sc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/thor_tool_thorinternalmanageplugins.sc2 -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/thor_tool_thorinternalmanageplugins.sct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/thor_tool_thorinternalmanageplugins.sct -------------------------------------------------------------------------------- /Installed Files/Thor/Tools/thor_tool_thorinternalmanageplugins.scx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Installed Files/Thor/Tools/thor_tool_thorinternalmanageplugins.scx -------------------------------------------------------------------------------- /NoVFPXDeployment.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/NoVFPXDeployment.txt -------------------------------------------------------------------------------- /ThorUpdater/CreateThorUpdate.ps1: -------------------------------------------------------------------------------- 1 | # Creates two files in ThorUpdater folder: 2 | # Thor.Zip -- installed version of Thor 3 | # Updates.Zip -- the collection of updaters for all projects supported by CFU 4 | 5 | $SourceFolder = $pwd 6 | 7 | ##################################### 8 | # First, the installed files 9 | cd '..\Installed Files' 10 | 11 | # Get the name of the zip file. 12 | $zipFileName = "..\ThorUpdater\Thor.zip" 13 | 14 | # Delete the zip file if it exists. 15 | $exists = Test-Path ($zipFileName) 16 | if ($exists) 17 | { 18 | del ($zipFileName) 19 | } 20 | 21 | Compress-Archive -Path * -DestinationPath $zipFileName 22 | cd $SourceFolder 23 | 24 | ##################################### 25 | # Then the updaters 26 | cd '..\Updaters' 27 | 28 | # Get the name of the zip file. 29 | $zipFileName = "..\ThorUpdater\Updates.zip" 30 | 31 | # Delete the zip file if it exists. 32 | $exists = Test-Path ($zipFileName) 33 | if ($exists) 34 | { 35 | del ($zipFileName) 36 | } 37 | 38 | Compress-Archive -Path * -DestinationPath $zipFileName 39 | cd $SourceFolder 40 | 41 | Write-Host "Update creation successful" 42 | -------------------------------------------------------------------------------- /ThorUpdater/Thor.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/ThorUpdater/Thor.zip -------------------------------------------------------------------------------- /ThorUpdater/Updates.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/ThorUpdater/Updates.zip -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_DesktopAlerts.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"DesktopAlerts installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'DesktopAlerts' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'DesktopAlertsVersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .AvailableVersion = 'DesktopAlerts - 1.0.2 - Sept. 15, 2012 - 20120915' 18 | .SourceFileUrl = 'https://github.com/VFPX/DesktopAlerts/archive/refs/heads/master.zip' 19 | .Link = 'https://github.com/VFPX/DesktopAlerts' 20 | .LinkPrompt = 'DesktopAlerts Home Page' 21 | .Notes = GetNotes() 22 | Endwith 23 | 24 | Return loUpdateObject 25 | 26 | 27 | Procedure GetNotes 28 | 29 | Local lcNotes 30 | Text to lcNotes NoShow 31 | Outlook-style Desktop Alerts for VFP applications. 32 | 33 | The Desktop Alerts project, managed by Kevin Ragsdale, provides VFP developers with a reliable mechanism to 34 | add Outlook-style Desktop Alerts to VFP applications. 35 | 36 | If you are interested in helping Kevin on this project, please contact him at kevinragsdale@charter.net. 37 | EndText 38 | Return lcNotes 39 | EndProc 40 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_DynamicForms.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"Dynamic Form downloaded...", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .AppName = '' 13 | .ApplicationName = 'Dynamic Forms' 14 | .Component = 'Yes' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .Link = 'https://github.com/VFPX/DynamicForms' 18 | .LinkPrompt = 'Dynamic Form Home Page' 19 | .Notes = GetNotes() 20 | 21 | .ToolName = '' && This is not a "tool", it's a "component". 22 | .VersionFileURL = 'https://raw.githubusercontent.com/VFPX/DynamicForms/master/_DynamicFormVersionFile.txt' 23 | .VersionLocalFilename = 'DynamicFormVersionFile.txt' 24 | 25 | Endwith 26 | 27 | Return loUpdateObject 28 | 29 | 30 | Procedure GetNotes 31 | 32 | Local lcNotes 33 | 34 | Text to lcNotes NoShow 35 | Dynamic Forms is a new way to create forms based on a "markup syntax" similar to HTML and XAML, in which you specify both the layout and ControlSources for the various controls to be displayed on the form. 36 | 37 | The result will be a dynamically constructed form, specified in code, rather than manually creating in the Form Designer. 38 | EndText 39 | Return lcNotes 40 | EndProc 41 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_ErrorHandler.prg: -------------------------------------------------------------------------------- 1 | lparameters toUpdateObject 2 | local lcRepositoryURL, ; 3 | lcDownloadsURL, ; 4 | lcVersionFileURL, ; 5 | lcZIPFileURL, ; 6 | lcRegisterWithThor 7 | 8 | * Get the URL for the version and ZIP files. 9 | 10 | lcRepositoryURL = 'https://github.com/DougHennig/ErrorHandler' 11 | && the URL for the project's repository 12 | lcDownloadsURL = strtran(lcRepositoryURL, 'github.com', ; 13 | 'raw.githubusercontent.com') + '/master/ThorUpdater/' 14 | lcVersionFileURL = lcDownloadsURL + 'ErrorHandlerVersion.txt' 15 | && the URL for the file containing code to get the available version number 16 | lcZIPFileURL = lcDownloadsURL + 'ErrorHandler.zip' 17 | && the URL for the zip file containing the project 18 | 19 | * Set the properties of the passed updater object. 20 | 21 | with toUpdateObject 22 | .ApplicationName = 'ErrorHandler' 23 | .VersionLocalFilename = 'ErrorHandlerVersionFile.txt' 24 | .VersionFileURL = lcVersionFileURL 25 | .SourceFileUrl = lcZIPFileURL 26 | .Component = 'Yes' 27 | .Link = lcRepositoryURL 28 | .LinkPrompt = 'ErrorHandler Home Page' 29 | .ProjectCreationDate = date(2021, 7, 20) 30 | endwith 31 | return toUpdateObject 32 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_FFC.PRG: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"FFC installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'FFC' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'FFCVersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = '1' 18 | .VersionDate = Date(2014, 7, 4) 19 | .SourceFileUrl = 'https://github.com/VFPX/FFC/archive/refs/heads/master.zip' 20 | .Link = 'https://github.com/VFPX/FFC' 21 | .LinkPrompt = 'FFC Home Page' 22 | .Notes = GetNotes() 23 | Endwith 24 | 25 | Return loUpdateObject 26 | 27 | 28 | Procedure GetNotes 29 | 30 | Local lcNotes 31 | Text to lcNotes NoShow 32 | Microsoft Visual FoxPro 9.0 Foundation Classes 33 | 34 | The Visual FoxPro visual class (.vcx) libraries located in the Visual FoxPro ...\FFC directory. They contain a variety of foundation classes for enhancing Visual FoxPro applications with little or no programming. You can freely distribute the foundation classes with your applications. The license governing the FFC source is contained in release (see FFC_EULA.txt). 35 | EndText 36 | Return lcNotes 37 | EndProc 38 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_FRXTabs.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_FRXTabs.prg -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_Finder.prg: -------------------------------------------------------------------------------- 1 | #Define VersionFileName 'FinderVersionFile.txt' 2 | Lparameters loUpdateObject 3 | 4 | Text to lcRegisterWithThor NoShow TextMerge 5 | Messagebox('Tool "Finder" installed', 0 ,"Finder...", 3000) 6 | EndText 7 | 8 | With loUpdateObject 9 | .ApplicationName = 'Finder' 10 | .InstallInTools = .T. 11 | .VersionNumber = '1.1.20' 12 | .VersionDate = Date(2024, 12, 01) 13 | .SourceFileUrl = 'https://raw.githubusercontent.com/VFPX/Finder/master/Finder.zip' 14 | .LinkPrompt = 'Finder Home Page' 15 | .Link = 'https://github.com/VFPX/Finder' 16 | .VersionLocalFilename = VersionFileName 17 | .RegisterWithThor = lcRegisterWithThor 18 | .Notes = GetNotes() 19 | Endwith 20 | 21 | Return loUpdateObject 22 | 23 | 24 | Procedure GetNotes 25 | 26 | Local lcNotes 27 | 28 | Text to lcNotes NoShow TextMerge 29 | EndText 30 | 31 | Return lcNotes 32 | EndProc 33 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_FoxyXLS.PRG: -------------------------------------------------------------------------------- 1 | lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"FoxyXLS installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'FoxyXLS' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'FoxyXLSVersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | .Link = 'https://github.com/MJindrova/FOXYXLS' 17 | 18 | .VersionNumber = '0.10 Alpha' 19 | .VersionDate = Date(2013,5,20) 20 | .SourceFileUrl = 'https://github.com/MJindrova/FOXYXLS/archive/refs/heads/master.zip' 21 | .Notes = GetNotes() 22 | Endwith 23 | 24 | Return loUpdateObject 25 | 26 | 27 | Procedure GetNotes 28 | 29 | Local lcNotes 30 | Text to lcNotes NoShow 31 | 32 | EndText 33 | Return lcNotes 34 | EndProc 35 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_Git-Utils.prg: -------------------------------------------------------------------------------- 1 | lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor Launcher, see "Applications -> Git Utilities"', 0 ,"Git Utilities installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@', '') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'Git Utilities' 13 | .Component = 'No' 14 | .ToolName = 'Thor_Tool_ThorInternalRepository' 15 | .VersionLocalFilename = 'GitUtilitiesVersionFile.txt' 16 | .RegisterWithThor = lcRegisterWithThor 17 | 18 | .VersionFileURL = 'https://raw.githubusercontent.com/mikepotjer/vfp-git-utils/master/ThorUpdater/GitUtilitiesVersionFile.txt' 19 | Endwith 20 | 21 | Return loUpdateObject 22 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_IntellisenseX.prg: -------------------------------------------------------------------------------- 1 | lparameters toUpdateObject 2 | local lcRepositoryURL, ; 3 | lcDownloadsURL, ; 4 | lcVersionFileURL, ; 5 | lcZIPFileURL, ; 6 | lcRegisterWithThor 7 | 8 | * Get the URL for the version and ZIP files. 9 | 10 | lcRepositoryURL = 'https://github.com/VFPX/IntellisenseX' 11 | && the URL for the project's repository 12 | lcDownloadsURL = strtran(lcRepositoryURL, 'github.com', ; 13 | 'raw.githubusercontent.com') + '/master/ThorUpdater/' 14 | lcVersionFileURL = lcDownloadsURL + 'IntellisenseXVersion.txt' 15 | && the URL for the file containing code to get the available version number 16 | lcZIPFileURL = lcDownloadsURL + 'IntellisenseX.zip' 17 | && the URL for the zip file containing the project 18 | 19 | * Set the properties of the passed updater object. 20 | 21 | with toUpdateObject 22 | .ApplicationName = 'IntellisenseX' 23 | .VersionLocalFilename = 'IntellisenseXVersionFile.txt' 24 | .VersionFileURL = lcVersionFileURL 25 | .SourceFileUrl = lcZIPFileURL 26 | .Link = lcRepositoryURL 27 | .LinkPrompt = 'IntellisenseX Home Page' 28 | .InstallInTools = .T. 29 | .Dependencies = 'GoToDefinition' 30 | endwith 31 | return toUpdateObject 32 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_JustBehave.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_JustBehave.prg -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_ListManager.prg: -------------------------------------------------------------------------------- 1 | lparameters toUpdateObject 2 | local lcRepositoryURL, ; 3 | lcDownloadsURL, ; 4 | lcVersionFileURL, ; 5 | lcZIPFileURL, ; 6 | lcRegisterWithThor 7 | 8 | * Get the URL for the version and ZIP files. 9 | 10 | lcRepositoryURL = 'https://github.com/DougHennig/ListManager' 11 | && the URL for the project's repository 12 | lcDownloadsURL = strtran(lcRepositoryURL, 'github.com', ; 13 | 'raw.githubusercontent.com') + '/master/ThorUpdater/' 14 | lcVersionFileURL = lcDownloadsURL + 'ListManagerVersion.txt' 15 | && the URL for the file containing code to get the available version number 16 | lcZIPFileURL = lcDownloadsURL + 'ListManager.zip' 17 | && the URL for the zip file containing the project 18 | 19 | * Set the properties of the passed updater object. 20 | 21 | with toUpdateObject 22 | .ApplicationName = 'List Manager' 23 | .VersionLocalFilename = 'ListManagerVersionFile.txt' 24 | .VersionFileURL = lcVersionFileURL 25 | .SourceFileUrl = lcZIPFileURL 26 | .Component = 'Yes' 27 | .Link = lcRepositoryURL 28 | .LinkPrompt = 'List Manager Home Page' 29 | .ProjectCreationDate = date(2023, 4, 1) 30 | endwith 31 | return toUpdateObject 32 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_OrganizationChart.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_OrganizationChart.prg -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_PEMEditor.PRG: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | With loUpdateObject 4 | .AppName = 'PEMEditor.APP' 5 | .ApplicationName = 'PEM Editor' 6 | .ToolName = 'Thor_Tool_PEMEditor' 7 | .VersionFileURL = 'https://raw.githubusercontent.com/VFPX/PEMEditor/master/ThorUpdater/PEMEditorVersion.txt' 8 | .VersionLocalFilename = 'PEMEditorVersion.txt' 9 | .RegisterWithThor = 'Do "##InstallFolder##PEMEditor.APP" with "Thor"' 10 | .ShowErrorMessage = 'No' 11 | .SourceFileURL = 'https://raw.githubusercontent.com/VFPX/PEMEditor/master/ThorUpdater/PEMEditor.zip' 12 | .Link = 'https://github.com/VFPX/PEMEditor' 13 | .LinkPrompt = 'PEM Editor Home Page' 14 | Endwith 15 | 16 | AddProperty(loUpdateObject, 'UpdateNowIfNotInstalled', 'Yes') 17 | 18 | Return loUpdateObject 19 | 20 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_RegExpTool.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"VFPRegExpTester installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'VFPRegExpTool' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'nfJson VersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = '1' 18 | .VersionDate = Date(2016, 8, 23) 19 | .ProjectCreationDate = Date(2016, 7, 30) 20 | 21 | 22 | .SourceFileUrl = 'https://github.com/VFPX/VFPRegExTool/archive/refs/heads/master.zip' 23 | .Link = 'https://github.com/VFPX/VFPRegExTool' 24 | .LinkPrompt = 'VFP RegEx Tool Home Page' 25 | .Notes = GetNotes() 26 | Endwith 27 | 28 | Return loUpdateObject 29 | 30 | 31 | Procedure GetNotes 32 | 33 | Local lcNotes 34 | Text to lcNotes NoShow 35 | Provides a testing tool so Visual FoxPro developers can simply verify regular expression within the Visual FoxPro IDE. It is based on vbScript.regexp. 36 | EndText 37 | Return lcNotes 38 | EndProc 39 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_Ribbon.prg: -------------------------------------------------------------------------------- 1 | lparameters toUpdateObject 2 | local lcRepositoryURL, ; 3 | lcDownloadsURL, ; 4 | lcVersionFileURL, ; 5 | lcZIPFileURL, ; 6 | lcRegisterWithThor 7 | 8 | * Get the URL for the version and ZIP files. 9 | 10 | lcRepositoryURL = 'https://github.com/DougHennig/Ribbon' 11 | && the URL for the project's repository 12 | lcDownloadsURL = strtran(lcRepositoryURL, 'github.com', ; 13 | 'raw.githubusercontent.com') + '/master/ThorUpdater/' 14 | lcVersionFileURL = lcDownloadsURL + 'RibbonVersion.txt' 15 | && the URL for the file containing code to get the available version number 16 | lcZIPFileURL = lcDownloadsURL + 'Ribbon.zip' 17 | && the URL for the zip file containing the project 18 | 19 | * Set the properties of the passed updater object. 20 | 21 | with toUpdateObject 22 | .ApplicationName = 'Ribbon' 23 | .VersionLocalFilename = 'RibbonVersionFile.txt' 24 | .VersionFileURL = lcVersionFileURL 25 | .SourceFileUrl = lcZIPFileURL 26 | .Component = 'Yes' 27 | .Link = lcRepositoryURL 28 | .LinkPrompt = 'Ribbon Home Page' 29 | .ProjectCreationDate = date(2023, 7, 8) 30 | endwith 31 | return toUpdateObject 32 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_Russian.PRG: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"VFP 9.0 Localization in Russian installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'VFP 9.0 Localization in Russian' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'VFP9RussianVersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .AvailableVersion = 'VFP 9.0 Localization in Russian - 1 - June 23, 2009 - 20090623' 18 | .SourceFileUrl = 'https://github.com/VFPX/RussianLocalization/archive/refs/heads/master.zip' 19 | .Link = 'https://github.com/VFPX/RussianLocalization' 20 | .LinkPrompt = 'VFP 9.0 Localization in Russian Home Page' 21 | .Notes = GetNotes() 22 | Endwith 23 | 24 | Return loUpdateObject 25 | 26 | 27 | Procedure GetNotes 28 | 29 | Local lcNotes 30 | Text to lcNotes NoShow 31 | Seeks to provide a Russian-localized IDE and help for Visual FoxPro 9.0. 32 | EndText 33 | Return lcNotes 34 | EndProc 35 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_SFMail.prg: -------------------------------------------------------------------------------- 1 | lparameters toUpdateObject 2 | local lcRepositoryURL, ; 3 | lcDownloadsURL, ; 4 | lcVersionFileURL, ; 5 | lcZIPFileURL, ; 6 | lcRegisterWithThor 7 | 8 | * Get the URL for the version and ZIP files. 9 | 10 | lcRepositoryURL = 'https://github.com/DougHennig/SFMail' 11 | && the URL for the project's repository 12 | lcDownloadsURL = strtran(lcRepositoryURL, 'github.com', ; 13 | 'raw.githubusercontent.com') + '/master/ThorUpdater/' 14 | lcVersionFileURL = lcDownloadsURL + 'SFMailVersion.txt' 15 | && the URL for the file containing code to get the available version number 16 | lcZIPFileURL = lcDownloadsURL + 'SFMail.zip' 17 | && the URL for the zip file containing the project 18 | 19 | * Set the properties of the passed updater object. 20 | 21 | with toUpdateObject 22 | .ApplicationName = 'SFMail' 23 | .VersionLocalFilename = 'SFMailVersionFile.txt' 24 | .VersionFileURL = lcVersionFileURL 25 | .SourceFileUrl = lcZIPFileURL 26 | .Component = 'Yes' 27 | .Link = lcRepositoryURL 28 | .LinkPrompt = 'SFMail Home Page' 29 | .ProjectCreationDate = date(2021, 2, 4) 30 | endwith 31 | return toUpdateObject 32 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_SFRegExp.prg: -------------------------------------------------------------------------------- 1 | lparameters; 2 | toUpdateObject 3 | local; 4 | lcRepositoryURL as string, ; 5 | lcDownloadsURL as string, ; 6 | lcVersionFileURL as string, ; 7 | lcZIPFileURL as string, ; 8 | lcRegisterWithThor as string 9 | 10 | * Get the URL for the version and ZIP files. 11 | *SET STEP ON 12 | lcRepositoryURL = 'https://github.com/lscheffler/sf_regexp' 13 | && the URL for the project's repository 14 | lcDownloadsURL = strtran(m.lcRepositoryURL, 'github.com', ; 15 | 'raw.githubusercontent.com') + '/main/ThorUpdater/' 16 | lcVersionFileURL = m.lcDownloadsURL + 'SFRegExpVersion.txt' 17 | && the URL for the file containing code to get the available version number 18 | lcZIPFileURL = m.lcDownloadsURL + 'SFRegExp.zip' 19 | && the URL for the zip file containing the project 20 | 21 | * Set the properties of the passed updater object. 22 | 23 | with m.toUpdateObject 24 | .ApplicationName = 'SF RegExp' 25 | .VersionLocalFilename = 'SFRegExpVersionFile.txt' 26 | .VersionFileURL = m.lcVersionFileURL 27 | .SourceFileUrl = m.lcZIPFileURL 28 | .Component = 'Yes' 29 | .Link = m.lcRepositoryURL 30 | .LinkPrompt = 'SF RegExp Home Page' 31 | .ProjectCreationDate = date(2023, 5, 18) 32 | endwith 33 | 34 | return m.toUpdateObject 35 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_SubFox.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_SubFox.prg -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_TabbingNavigation.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_TabbingNavigation.prg -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_ThemedControls.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_ThemedControls.prg -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_ThemedTitleBar.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"Latest release of ThemedTitleBar installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'ThemedTitleBar' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'ThemedTitleBar Download.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = 'V2015.2.24' 18 | .VersionDate = Date(2015, 2, 24) 19 | .ProjectCreationDate = Date(2015, 1, 8) 20 | 21 | 22 | .SourceFileUrl = 'https://github.com/VFPX/ThemedTitleBar/archive/refs/heads/master.zip' 23 | .Link = 'https://github.com/VFPX/ThemedTitleBar' 24 | .LinkPrompt = 'ThemedTitleBar Download' 25 | .Notes = GetNotes() 26 | Endwith 27 | 28 | Return loUpdateObject 29 | 30 | 31 | Procedure GetNotes 32 | 33 | Local lcNotes 34 | Text to lcNotes NoShow 35 | The TitleBar of a VFP form displayed 'In Screen' or 'In Top-Level Form' looks a bit outdated nowadays. At least running in Win8 and compared to Office 2013 or Visual Studio 2013. The goal of this project is to provide a modern drop-in replacement for the default TitleBar, requiring no code changes to existing forms. 36 | EndText 37 | Return lcNotes 38 | EndProc 39 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_Thor.PRG: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | With loUpdateObject 4 | .AppName = 'Thor.App' 5 | .ApplicationName = 'Thor' 6 | .ToolName = 'Thor_Tool_ThorInternalEdit' 7 | .VersionFileURL = 'https://raw.githubusercontent.com/VFPX/Thor/master/ThorUpdater/_ThorVersionFile.txt' 8 | .VersionLocalFilename = 'Thor\ThorVersion.txt' 9 | .RegisterWithThor = 'Do "##InstallFolder##Thor.APP" with "Install"' 10 | .SourceFileURL = 'Thor_Source.Zip = https://raw.githubusercontent.com/VFPX/Thor/master/ThorUpdater/Thor.zip' 11 | .Link = 'https://github.com/VFPX/Thor' 12 | .LinkPrompt = 'Thor Home Page' 13 | Endwith 14 | 15 | AddProperty(loUpdateObject, 'UnzipAfterDownload', 'Yes') 16 | 17 | Return loUpdateObject 18 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_TwilioX.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"TwilioX installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'TwilioX' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'TwilioX VersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = '1' 18 | .VersionDate = Date(2015, 10, 27) 19 | .ProjectCreationDate = Date(2015, 10, 27) 20 | 21 | 22 | .SourceFileUrl = 'https://github.com/VFPX/TwilioX/archive/refs/heads/master.zip' 23 | .Link = 'https://github.com/VFPX/TwilioX' 24 | .LinkPrompt = 'TwilioX Home Page' 25 | .Notes = GetNotes() 26 | Endwith 27 | 28 | Return loUpdateObject 29 | 30 | 31 | Procedure GetNotes 32 | 33 | Local lcNotes 34 | Text to lcNotes NoShow 35 | Provides a wrapper class for calling Twilio.com to send texts. 36 | EndText 37 | Return lcNotes 38 | EndProc 39 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_VFP2C32.PRG: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"VFP2C32 installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'VFP2C32' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'VFP2C32VersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = '2.0.0.12' 18 | .VersionDate = Date(2013, 2, 2) 19 | 20 | .SourceFileUrl = 'https://github.com/ChristianEhlscheid/vfp2c32/archive/refs/heads/master.zip' 21 | .Link = 'https://github.com/ChristianEhlscheid/vfp2c32' 22 | .LinkPrompt = 'VFP2C32 Home Page' 23 | .Notes = GetNotes() 24 | Endwith 25 | 26 | Return loUpdateObject 27 | 28 | 29 | Procedure GetNotes 30 | 31 | Local lcNotes 32 | Text to lcNotes NoShow 33 | FLL with wrappers for many WinAPI functions, and C Struct/Enum converter 34 | 35 | 36 | Provide functionality contained in the WinAPI to Visual FoxPro developers in easy to use functions. 37 | Enable Visual FoxPro developers to more easily write their own wrappers around C style libraries. 38 | 39 | The project manager, Christian Ehlscheid, can be reached at c.ehlscheid@gmx.de. 40 | EndText 41 | Return lcNotes 42 | EndProc 43 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_VFPGridManyHeader.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_VFPGridManyHeader.prg -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_VFPRunTimeInstallers.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"VFP RunTime Installers installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'VFP RunTime Installers' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'VFP RunTime Installers VersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = 1 18 | .VersionDate = Date(2014, 12, 17) 19 | .ProjectCreationDate = Date(2014, 12, 17) 20 | 21 | 22 | .SourceFileUrl = 'https://github.com/VFPX/VFPRuntimeInstallers/archive/refs/heads/master.zip' 23 | .Link = 'https://github.com/VFPX/VFPRuntimeInstallers' 24 | .LinkPrompt = 'VFP Runtime Installers Home Page' 25 | .Notes = GetNotes() 26 | Endwith 27 | 28 | Return loUpdateObject 29 | 30 | 31 | Procedure GetNotes 32 | 33 | Local lcNotes 34 | Text to lcNotes NoShow 35 | The VFP runtime installers are no longer available for download from Microsoft's web site, so we've made them available on VFPX. 36 | EndText 37 | Return lcNotes 38 | EndProc 39 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_VFP_French.PRG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/Thor_Update_VFP_French.PRG -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_Win7TLib.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"Win7TLib installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'Win7TLib' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'Win7TLibVersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .AvailableVersion = 'Win7TLib - 0.80 Alpha - Oct. 16, 2010 - 20101016' 18 | .SourceFileUrl = 'https://github.com/VFPX/Win7TLib/archive/refs/heads/master.zip' 19 | .Link = 'https://github.com/VFPX/Win7TLib' 20 | .LinkPrompt = 'Win7TLib Home Page' 21 | .Notes = GetNotes() 22 | Endwith 23 | 24 | Return loUpdateObject 25 | 26 | 27 | Procedure GetNotes 28 | 29 | Local lcNotes 30 | Text to lcNotes NoShow 31 | Integrate Windows 7 Taskbar Functionality into your VFP Applications 32 | 33 | Project Manager: Steve Ellenoff 34 | 35 | The Win7TLib project was created to allow VFP developers full integration of all the new Windows 7 Taskbar 36 | functionality into applications with minimal effort. 37 | EndText 38 | Return lcNotes 39 | EndProc 40 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_ctl32.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"ctl32 Projects installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'ctl32' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'TabMenuVersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .AvailableVersion = 'ctl32 Projects - 1 - Sept. 3, 2008 - 20080903' 18 | .SourceFileUrl = 'https://github.com/VFPX/ctl32_StatusBar/archive/refs/heads/master.zip' 19 | .Link = 'https://github.com/VFPX/ctl32_StatusBar' 20 | .LinkPrompt = 'ctl32 Projects Home Page' 21 | .Notes = GetNotes() 22 | Endwith 23 | 24 | Return loUpdateObject 25 | 26 | 27 | Procedure GetNotes 28 | 29 | Local lcNotes 30 | Text to lcNotes NoShow 31 | EndText 32 | Return lcNotes 33 | EndProc 34 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_nfJson.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"nfJson installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'nfJson' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'nfJson VersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = '1' 18 | .VersionDate = Date(2016, 7, 22) 19 | .ProjectCreationDate = Date(2016, 2, 24) 20 | 21 | 22 | .SourceFileUrl = 'https://github.com/VFPX/nfJson/archive/refs/heads/master.zip' 23 | .Link = 'https://github.com/VFPX/nfJson' 24 | .LinkPrompt = 'nfJson Home Page' 25 | .Notes = GetNotes() 26 | Endwith 27 | 28 | Return loUpdateObject 29 | 30 | 31 | Procedure GetNotes 32 | 33 | Local lcNotes 34 | Text to lcNotes NoShow 35 | Provides a set of fast performance, reliable and easy to use Json functions using pure VFP. 36 | EndText 37 | Return lcNotes 38 | EndProc 39 | -------------------------------------------------------------------------------- /Updaters/Updates/Thor_Update_nfXML.prg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | Text to lcRegisterWithThor NoShow TextMerge 4 | 5 | Messagebox('From the Thor menu, see "More -> Open Folder -> Components"', 0 ,"nfXML installed", 5000) 6 | 7 | EndText 8 | 9 | lcRegisterWithThor = Strtran(lcRegisterWithThor, '@@@') 10 | 11 | With loUpdateObject 12 | .ApplicationName = 'nfXML' 13 | .Component = 'Yes' 14 | .VersionLocalFilename = 'nfJson VersionFile.txt' 15 | .RegisterWithThor = lcRegisterWithThor 16 | 17 | .VersionNumber = '1' 18 | .VersionDate = Date(2016, 8, 9) 19 | .ProjectCreationDate = Date(2016, 8, 1) 20 | 21 | 22 | .SourceFileUrl = 'https://github.com/VFPX/nfXML/archive/refs/heads/master.zip' 23 | .Link = 'https://github.com/VFPX/nfXML' 24 | .LinkPrompt = 'nfXML Home Page' 25 | .Notes = GetNotes() 26 | Endwith 27 | 28 | Return loUpdateObject 29 | 30 | 31 | Procedure GetNotes 32 | 33 | Local lcNotes 34 | Text to lcNotes NoShow 35 | Provides two simple to use functions to convert complex XML into a VFP (empty-based) object and vice versa. 36 | 37 | Project includes... 38 | nfXmlRead.prg: standalone function, receives valid XML string, returns VFP empty-based object. 39 | nfXmlCreate.prg: receives VFP object , returns XML string. 40 | test.prg: turns sample file test.xml into VFP object. 41 | test.xml: sample XML file 42 | EndText 43 | Return lcNotes 44 | EndProc 45 | -------------------------------------------------------------------------------- /Updaters/Updates/old_thor_update_thor_repository.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/old_thor_update_thor_repository.prg -------------------------------------------------------------------------------- /Updaters/Updates/thor_update_automatedbuild.prg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VFPX/Thor/a937b4c6786017c205de8912a004f01f81ce26a6/Updaters/Updates/thor_update_automatedbuild.prg -------------------------------------------------------------------------------- /Updaters/Updates/thor_update_gofishclassic.xprg: -------------------------------------------------------------------------------- 1 | Lparameters loUpdateObject 2 | 3 | 4 | 5 | With loUpdateObject 6 | 7 | .AppName = 'GoFish5.APP' 8 | 9 | .ApplicationName = 'GoFishClassic' 10 | 11 | .ToolName = 'Thor_Tool_GoFishClassic' 12 | 13 | .SourceFileUrl = 'https://raw.githubusercontent.com/VFPX/GoFishClassic/master/InstalledFiles.zip' 14 | 15 | .Component = 'No' 16 | 17 | .VersionLocalFilename = 'GoFishClassicVersionFile.txt' 18 | 19 | .RegisterWithThor = 'Do "##InstallFolder##GoFishClassic.APP" with "Thor", .T.' 20 | 21 | .Link = 'https://github.com/VFPX/GoFishClassic' 22 | 23 | .VersionFileURL = 'https://raw.githubusercontent.com/VFPX/GoFishClassic/master/_GoFishClassicVersionFile.txt' 24 | 25 | .ProjectCreationDate = Date(2023, 1, 31) 26 | 27 | 28 | 29 | Endwith 30 | 31 | Return loUpdateObject 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /Updaters/Updates/thor_update_gotodefinition.prg: -------------------------------------------------------------------------------- 1 | lparameters toUpdateObject 2 | local lcRepositoryURL, ; 3 | lcDownloadsURL, ; 4 | lcVersionFileURL, ; 5 | lcZIPFileURL, ; 6 | lcRegisterWithThor 7 | 8 | * Get the URL for the version and ZIP files. 9 | 10 | lcRepositoryURL = 'https://github.com/VFPX/GoToDefinition' 11 | && the URL for the project's repository 12 | lcDownloadsURL = strtran(lcRepositoryURL, 'github.com', ; 13 | 'raw.githubusercontent.com') + '/master/ThorUpdater/' 14 | lcVersionFileURL = lcDownloadsURL + 'GoToDefinitionVersion.txt' 15 | && the URL for the file containing code to get the available version number 16 | lcZIPFileURL = lcDownloadsURL + 'GoToDefinition.zip' 17 | && the URL for the zip file containing the project 18 | 19 | * Set the properties of the passed updater object. 20 | 21 | with toUpdateObject 22 | .ApplicationName = 'GoToDefinition' 23 | .VersionLocalFilename = 'GoToDefinitionVersionFile.txt' 24 | .VersionFileURL = lcVersionFileURL 25 | .SourceFileUrl = lcZIPFileURL 26 | .Link = lcRepositoryURL 27 | .LinkPrompt = 'GoToDefinition Home Page' 28 | .ProjectCreationDate = date(2023, 1, 27) 29 | .InstallInTools = .T. 30 | .Dependencies = 'IntellisenseX' 31 | endwith 32 | return toUpdateObject 33 | -------------------------------------------------------------------------------- /Updaters/Updates/thor_update_thorrepository.prg: -------------------------------------------------------------------------------- 1 | lparameters toUpdateObject 2 | local lcRepositoryURL, ; 3 | lcDownloadsURL, ; 4 | lcVersionFileURL, ; 5 | lcZIPFileURL, ; 6 | lcRegisterWithThor 7 | 8 | * Get the URL for the version and ZIP files. 9 | 10 | lcRepositoryURL = 'https://github.com/VFPX/ThorRepository' 11 | && the URL for the project's repository 12 | lcDownloadsURL = strtran(lcRepositoryURL, 'github.com', ; 13 | 'raw.githubusercontent.com') + '/master/ThorUpdater/' 14 | lcVersionFileURL = lcDownloadsURL + 'ThorRepositoryVersion.txt' 15 | && the URL for the file containing code to get the available version number 16 | lcZIPFileURL = lcDownloadsURL + 'ThorRepository.zip' 17 | && the URL for the zip file containing the project 18 | 19 | * Set the properties of the passed updater object. 20 | 21 | with toUpdateObject 22 | .ApplicationName = 'Thor Repository' 23 | .VersionLocalFilename = 'ThorRepositoryVersionFile.txt' 24 | .VersionFileURL = lcVersionFileURL 25 | .SourceFileUrl = lcZIPFileURL 26 | .Link = lcRepositoryURL 27 | .LinkPrompt = 'Thor Repository Home Page' 28 | .InstallInTools = .T. 29 | endwith 30 | return toUpdateObject 31 | --------------------------------------------------------------------------------