From 74cf1450aaab1804adb1de84bf74c69ba4bba0ba Mon Sep 17 00:00:00 2001 From: Fabrice Foray Date: Sun, 11 Jan 2026 19:00:03 +0100 Subject: [PATCH] Added new Templates for SDK-Style Recreated all templates items and projects for dotnet new and Visual Studio --- .../console/.template.config/template.json | 16 - .../content/console/.vscode/launch.json | 14 - .../content/console/.vscode/tasks.json | 25 - .../working/content/console/Program.prg | 17 - .../content/console/XSharp.Console.xsproj | 10 - .../.template.config/template.json | 16 - .../working/content/consoleCore/Program.prg | 17 - .../consoleCore/XSharp.ConsoleCore.xsproj | 15 - .../consoleFox/.template.config/template.json | 16 - .../working/content/consoleFox/Program.prg | 19 - .../.template.config/template.json | 16 - .../content/consoleHarbour/Program.prg | 19 - .../consoleVFP/.template.config/template.json | 16 - .../content/consoleVFP/.vscode/launch.json | 14 - .../content/consoleVFP/.vscode/tasks.json | 25 - .../working/content/consoleVFP/Program.prg | 19 - .../consoleVFP/XSharp.ConsoleVFP.xsproj | 22 - .../consoleVO/.template.config/template.json | 16 - .../working/content/consoleVO/Program.prg | 19 - .../consoleXPP/.template.config/template.json | 16 - .../working/content/consoleXPP/Program.prg | 19 - .../.template.config/template.json | 16 + .../i_appmanifestinternal/app.manifest | 76 ++ .../i_bitmap/.template.config/Bitmap.PNG | Bin 0 -> 2501 bytes .../i_bitmap/.template.config/template.json | 18 + .../working/content/i_bitmap/Bitmap.bmp | Bin 0 -> 9270 bytes .../i_class/.template.config/Class.png | Bin 0 -> 2595 bytes .../i_class/.template.config/template.json | 28 + .../working/content/i_class/Class1.prg | 19 + .../i_classfox/.template.config/ClassFox.png | Bin 0 -> 9777 bytes .../i_classfox/.template.config/template.json | 43 + .../working/content/i_classfox/ClassFox1.prg | 28 + .../i_classxpp/.template.config/ClassXpp.png | Bin 0 -> 2976 bytes .../i_classxpp/.template.config/template.json | 43 + .../working/content/i_classxpp/ClassXpp.prg | 38 + .../i_codefile/.template.config/Code.png | Bin 0 -> 1416 bytes .../i_codefile/.template.config/template.json | 18 + .../working/content/i_codefile/CodeFile.prg | 9 + .../i_cursor/.template.config/Cursor.PNG | Bin 0 -> 4052 bytes .../i_cursor/.template.config/template.json | 18 + .../working/content/i_cursor/cursor.cur | Bin 0 -> 326 bytes .../.template.config/WPFFlowDocument.png | Bin 0 -> 4259 bytes .../.template.config/template.json | 18 + .../content/i_flowdocument/FlowDocument1.xaml | 7 + .../content/i_form/.template.config/Form.png | Bin 0 -> 1698 bytes .../i_form/.template.config/template.json | 28 + .../Form1.designer.prg} | 15 +- .../working/content/i_form/Form1.prg | 22 + .../i_formsimple/.template.config/Form.png | Bin 0 -> 1698 bytes .../.template.config/template.json | 28 + .../content/i_formsimple/SimpleForm1.prg | 53 + .../i_header/.template.config/Header.png | Bin 0 -> 2394 bytes .../i_header/.template.config/template.json | 18 + .../working/content/i_header/Header1.xh | 3 + .../content/i_icon/.template.config/Icon.PNG | Bin 0 -> 4023 bytes .../i_icon/.template.config/template.json | 18 + src/Templates/working/content/i_icon/Icon.ico | Bin 0 -> 45451 bytes .../.template.config/Interface.png | Bin 0 -> 4210 bytes .../.template.config/template.json | 28 + .../content/i_interface/Interface1.prg | 17 + .../i_internal/.template.config/template.json | 16 + .../working/content/i_internal/Resource.resX | 101 ++ .../content/i_internal/Settings.settings | 6 + .../i_nativeresource/.template.config/Rc.PNG | Bin 0 -> 2441 bytes .../.template.config/template.json | 18 + .../i_nativeresource/NativeResources1.rc | 0 .../i_page/.template.config/WPFPage.png | Bin 0 -> 2285 bytes .../i_page/.template.config/template.json | 28 + .../working/content/i_page/Page1.xaml | 14 + .../Page1.xaml.prg} | 25 +- .../.template.config/WPFPageFunction.png | Bin 0 -> 4333 bytes .../.template.config/template.json | 18 + .../content/i_pagefunction/PageFunction1.xaml | 16 + .../i_pagefunction/PageFunction1.xaml.prg | 27 + .../i_resource/.template.config/Resource.PNG | Bin 0 -> 3457 bytes .../i_resource/.template.config/template.json | 18 + .../working/content/i_resource/Resource1.resX | 101 ++ .../WPFResourceDictionary.png | Bin 0 -> 2361 bytes .../.template.config/template.json | 18 + .../ResourceDictionary1.xaml | 5 + .../.template.config/Structure.png | Bin 0 -> 1288 bytes .../.template.config/template.json | 28 + .../content/i_structure/Structure1.prg | 19 + .../i_t4/.template.config/TextTemplate.png | Bin 0 -> 2298 bytes .../i_t4/.template.config/template.json | 18 + .../working/content/i_t4/TextTemplate1.tt | Bin 0 -> 530 bytes .../i_textfile/.template.config/Textfile.png | Bin 0 -> 1267 bytes .../i_textfile/.template.config/template.json | 18 + .../working/content/i_textfile/TextFile1.txt | 1 + .../.template.config/UserControl.png | Bin 0 -> 4217 bytes .../.template.config/template.json | 28 + .../i_usercontrol/UserControl1.designer.prg | 31 + .../content/i_usercontrol/UserControl1.prg | 24 + .../.template.config/WPFUserControl.png | Bin 0 -> 2891 bytes .../.template.config/template.json | 28 + .../UserControl1.xaml | 6 +- .../i_usercontrolwpf/UserControl1.xaml.prg | 29 + .../.template.config/VODBServer.PNG | Bin 0 -> 1227 bytes .../.template.config/template.json | 43 + .../content/i_vodbserver/VODBServer1.prg | 211 ++++ .../content/i_vodbserver/VODBServer1.xsdbs | 21 + .../.template.config/VOFieldSpec.PNG | Bin 0 -> 1329 bytes .../.template.config/template.json | 18 + .../content/i_vofieldspec/VOFieldSpec.prg | 0 .../content/i_vofieldspec/VOFieldSpec.xsfs | 5 + .../i_vomenu/.template.config/VOMenu.PNG | Bin 0 -> 1488 bytes .../i_vomenu/.template.config/template.json | 43 + .../working/content/i_vomenu/VOMenu.prg | 21 + .../working/content/i_vomenu/VOMenu.rc | 6 + .../working/content/i_vomenu/VOMenu.xsmnu | 36 + .../content/i_vomenu/VOMenu_Accelerator.rc | 5 + .../i_vowindow/.template.config/VOWindow.PNG | Bin 0 -> 1431 bytes .../i_vowindow/.template.config/template.json | 43 + .../working/content/i_vowindow/VOWindow.prg | 14 + .../working/content/i_vowindow/VOWindow.rc | 9 + .../working/content/i_vowindow/VOWindow.xsfrm | 5 + .../i_wcfitem/.template.config/WCF.png | Bin 0 -> 6822 bytes .../i_wcfitem/.template.config/template.json | 28 + .../content/i_wcfitem/IWCFService1.prg | 17 + .../working/content/i_wcfitem/WCFService1.prg | 15 + .../i_webroute/.template.config/Class.png | Bin 0 -> 2595 bytes .../i_webroute/.template.config/template.json | 28 + .../content/i_webroute/APIController.prg | 34 + .../i_window/.template.config/WPFWindow.png | Bin 0 -> 2361 bytes .../i_window/.template.config/template.json | 28 + .../working/content/i_window/WPFWindow1.xaml | 9 + .../content/i_window/WPFWindow1.xaml.prg | 29 + .../.template.config/ClassLibrary.png | Bin 0 -> 8304 bytes .../.template.config/template.json | 50 + .../p_classlibrary/XSharp.ClassLibrary.prg | 13 + .../p_classlibrary/XSharp.ClassLibrary.xsproj | 12 + .../.template.config/CoreClassLibrary.png | Bin 0 -> 8304 bytes .../.template.config/template.json | 50 + .../XSharp.ClassLibraryCore.prg | 13 + .../XSharp.ClassLibraryCore.xsproj | 16 + .../.template.config/FoxClassLibrary.png | Bin 0 -> 17193 bytes .../.template.config/template.json | 51 + .../XSharp.ClassLibraryFox.prg | 28 + .../XSharp.ClassLibraryFox.xsproj | 35 + .../.template.config/HarbourClassLibrary.png | Bin 0 -> 13604 bytes .../.template.config/template.json | 51 + .../XSharp.ClassLibraryHarbour.prg | 13 + .../XSharp.ClassLibraryHarbour.xsproj | 28 + .../.template.config/VOClassLibrary.png | Bin 0 -> 8002 bytes .../.template.config/template.json | 51 + .../XSharp.ClassLibraryVO.prg | 13 + .../XSharp.ClassLibraryVO.xsproj | 29 + .../.template.config/VulcanClassLibrary.png | Bin 0 -> 8273 bytes .../.template.config/template.json | 51 + .../XSharp.ClassLibraryVulcan.prg | 13 + .../XSharp.ClassLibraryVulcan.xsproj | 28 + .../.template.config/XPPClassLibrary.png | Bin 0 -> 8556 bytes .../.template.config/template.json | 51 + .../XSharp.ClassLibraryXPP.prg | 48 + .../XSharp.ClassLibraryXPP.xsproj | 28 + .../.template.config/ConsoleApplication.png | Bin 0 -> 7056 bytes .../.template.config/template.json | 50 + .../content/p_consoleapplication/Program.prg | 12 + .../XSharp.ConsoleApplication.xsproj | 7 + .../.template.config/HarbourConsole.png | Bin 0 -> 13266 bytes .../.template.config/template.json | 51 + .../XSharp.HarbourConsole.prg | 11 + .../XSharp.HarbourConsole.xsproj} | 15 +- .../.template.config/MsTestClassLibrary.png | Bin 0 -> 8894 bytes .../.template.config/template.json | 50 + .../XSharp.Test.MsClassLibrary.prg | 24 + .../XSharp.Test.MsClassLibrary.xsproj | 17 + .../.template.config/ConsoleApplication.png | Bin 0 -> 7056 bytes .../p_netcore/.template.config/template.json | 50 + .../XSharp.ConsoleApplication.NetCore.prg | 8 + .../XSharp.ConsoleApplication.NetCore.xsproj | 7 + .../NUnitTestClassLibrary.png | Bin 0 -> 12399 bytes .../.template.config/template.json | 50 + .../XSharp.Test.NUnitClassLibrary.prg | 30 + .../XSharp.Test.NUnitClassLibrary.xsproj | 12 + .../.template.config/VFPConsole.png | Bin 0 -> 15295 bytes .../.template.config/template.json | 51 + .../p_vfpconsole/XSharp.VFPConsole.prg | 11 + .../XSharp.VFPConsole.xsproj} | 15 +- .../.template.config/VOConsole.png | Bin 0 -> 7757 bytes .../.template.config/template.json | 51 + .../content/p_voconsole/XSharp.VOConsole.prg | 12 + .../XSharp.VOConsole.xsproj} | 15 +- .../.template.config/VOMDIApp.png | Bin 0 -> 7602 bytes .../.template.config/template.json | 51 + .../Help About.HELPABOUT.xsfrm | 89 ++ .../Help About.HelpAbout.rc | 37 + .../Help About.POWXSHARPBMP.rc | 2 + .../content/p_vomdiapplication/Help About.prg | 89 ++ .../content/p_vomdiapplication/HelpAbt.BMP | Bin 0 -> 48654 bytes .../content/p_vomdiapplication/Readme.txt | 9 + .../Standard Menus.EmptyShellMenu.rc | 40 + .../Standard Menus.EmptyShellMenu.xsmnu | 223 ++++ ...andard Menus.EmptyShellMenu_Accelerator.rc | 27 + .../Standard Menus.StandardShellMenu.rc | 88 ++ .../Standard Menus.StandardShellMenu.xsmnu | 611 +++++++++++ ...ard Menus.StandardShellMenu_Accelerator.rc | 55 + .../Standard Menus.VS_VERSION_INFO.rc | 31 + .../p_vomdiapplication/Standard Menus.prg | 257 +++++ .../Standard Shell.IDI_STANDARDICON.rc | 1 + .../Standard Shell.Manifest.rc | 4 + .../p_vomdiapplication/Standard Shell.prg | 169 ++++ .../content/p_vomdiapplication/Start.prg | 20 + .../content/p_vomdiapplication/XSharp.ICO | Bin 0 -> 9662 bytes .../XSharp.VOMDIApplication.xsproj | 37 + .../content/p_vomdiapplication/cavoded.tpl | 225 +++++ .../content/p_vomdiapplication/cavofed.tpl | 33 + .../content/p_vomdiapplication/cavowed.inf | 954 +++++++++++++++++ .../content/p_vomdiapplication/cavowed.tpl | 464 +++++++++ .../content/p_vomdiapplication/cctl6.man | 23 + .../.template.config/VOSdiApp.png | Bin 0 -> 7602 bytes .../.template.config/template.json | 51 + .../Help About.HELPABOUT.xsfrm | 89 ++ .../Help About.HelpAbout.rc | 37 + .../Help About.POWXSHARPBMP.rc | 2 + .../content/p_vosdiapplication/Help About.prg | 89 ++ .../content/p_vosdiapplication/HelpAbt.BMP | Bin 0 -> 48654 bytes .../content/p_vosdiapplication/Readme.txt | 9 + .../SDI Menus.EmptySDIMenu.rc | 40 + .../SDI Menus.EmptySDIMenu.xsmnu | 226 +++++ .../SDI Menus.EmptySDIMenu_Accelerator.rc | 27 + .../SDI Menus.StandardSDIMenu.rc | 76 ++ .../SDI Menus.StandardSDIMenu.xsmnu | 515 ++++++++++ .../SDI Menus.StandardSDIMenu_Accelerator.rc | 50 + .../SDI Menus.VS_VERSION_INFO.rc | 31 + .../content/p_vosdiapplication/SDI Menus.prg | 240 +++++ .../Standard SDI.IDI_STANDARDICON.rc | 1 + .../Standard SDI.Manifest.rc | 4 + .../p_vosdiapplication/Standard SDI.prg | 118 +++ .../content/p_vosdiapplication/Start.prg | 24 + .../XSharp.VOSDIApplication.xsproj | 37 + .../content/p_vosdiapplication/XSharp.ico | Bin 0 -> 9662 bytes .../content/p_vosdiapplication/cavoded.tpl | 225 +++++ .../content/p_vosdiapplication/cavofed.tpl | 33 + .../content/p_vosdiapplication/cavowed.inf | 955 ++++++++++++++++++ .../content/p_vosdiapplication/cavowed.tpl | 464 +++++++++ .../content/p_vosdiapplication/cctl6.man | 23 + .../.template.config/VulcanConsole.png | Bin 0 -> 7177 bytes .../.template.config/template.json | 51 + .../content/p_vulcanconsole/Readme.txt | 5 + .../p_vulcanconsole/XSharp.VulcanConsole.prg | 18 + .../XSharp.VulcanConsole.xsproj | 18 + .../.template.config/template.json | 0 .../content/{webmap => p_webmap}/DataId.prg | 0 .../content/{webmap => p_webmap}/DataUser.prg | 0 .../content/{webmap => p_webmap}/Program.prg | 0 .../Properties/launchSettings.json | 0 .../content/{webmap => p_webmap}/RESTful.prg | 0 .../content/{webmap => p_webmap}/Readme.md | 0 .../content/{webmap => p_webmap}/RouteId.prg | 0 .../{webmap => p_webmap}/RouteUsers.prg | 0 .../{webmap => p_webmap}/XSharp.WebMap.xsproj | 0 .../{webmap => p_webmap}/testRest/Readme.md | 0 .../testRest/getUsers.http | 0 .../{webmap => p_webmap}/testRest/postId.http | 0 .../testRest/updateUser.http | 0 .../.template.config/template.json | 0 .../{webroute => p_webroute}/Customer.prg | 0 .../CustomersController.prg | 0 .../LowerCasePolicy.prg | 0 .../{webroute => p_webroute}/Program.prg | 0 .../Properties/launchSettings.json | 0 .../{webroute => p_webroute}/RESTful.prg | 0 .../content/{webroute => p_webroute}/Reame.md | 0 .../XSharp.WebRoute.xsproj | 3 +- .../testRest/Readme.md | 0 .../testRest/getCustomers.http | 0 .../testRest/postCustomer.http | 0 .../testRest/postCustomers.http | 0 .../.template.config/WinFormApp.png | Bin 0 -> 6798 bytes .../.template.config/template.json | 50 + .../Form1.designer.prg | 2 +- .../Form1.prg | 7 +- .../Program.prg | 6 +- .../p_windowsformsapplication/Resources.resx | 117 +++ .../Settings.settings | 7 + .../XSharp.WindowsFormsApplication.xsproj | 11 + .../.template.config/WPFApplication.png | Bin 0 -> 7489 bytes .../.template.config/template.json | 50 + .../working/content/p_wpfapplication/App.xaml | 8 + .../content/p_wpfapplication/App.xaml.prg | 19 + .../content/p_wpfapplication/MainWindow.xaml | 9 + .../p_wpfapplication/MainWindow.xaml.prg | 29 + .../content/p_wpfapplication/Resources.resx | 117 +++ .../p_wpfapplication/Settings.settings | 7 + .../XSharp.WPFApplication.xsproj | 14 + .../.template.config/XPPConsole.png | Bin 0 -> 7661 bytes .../.template.config/template.json | 51 + .../p_xppconsole/XSharp.XPPConsole.prg | 12 + .../XSharp.XPPConsole.xsproj} | 15 +- .../XUnitTestClassLibrary.png | Bin 0 -> 17563 bytes .../.template.config/template.json | 50 + .../XSharp.Test.XUnitClassLibrary.prg | 29 + .../XSharp.Test.XUnitClassLibrary.xsproj | 11 + .../content/webmap/.vscode/launch.json | 14 - .../working/content/webmap/.vscode/tasks.json | 25 - .../webmap/appsettings.Development.json | 8 - .../working/content/webmap/appsettings.json | 9 - .../content/webroute/.vscode/launch.json | 14 - .../content/webroute/.vscode/tasks.json | 25 - .../working/content/webroute/Helpers.prg | 63 -- .../webroute/appsettings.Development.json | 8 - .../working/content/webroute/appsettings.json | 9 - .../working/content/webroute/customer.dbf | Bin 2303 -> 0 bytes .../winform/.template.config/template.json | 16 - .../winform/XSharp.WinFormsCore.xsproj | 15 - .../.template.config/template.json | 24 - .../winformcctrli/CustomControl1.designer.prg | 35 - .../content/winformcctrli/CustomControl1.prg | 27 - .../.template.config/template.json | 24 - .../content/winformctrli/UserControl1.prg | 21 - .../winformlib/.template.config/template.json | 16 - .../working/content/winformlib/Class1.prg | 21 - .../winformlib/XSharp.WinFormsLib.xsproj | 15 - .../wpfapp/.template.config/template.json | 20 - src/Templates/working/content/wpfapp/App.xaml | 9 - .../working/content/wpfapp/App.xaml.prg | 13 - .../working/content/wpfapp/AssemblyInfo.prg | 10 - .../working/content/wpfapp/MainWindow.xaml | 12 - .../content/wpfapp/XSharp.WpfCore.xsproj | 17 - .../.template.config/template.json | 20 - .../content/wpfcctrllib/CustomControl1.prg | 51 - .../wpfcctrllib/XSharp.WpfCCtrlLib.xsproj | 15 - .../wpfctrl/.template.config/template.json | 20 - .../working/content/wpfctrl/AssemblyInfo.prg | 10 - .../content/wpfctrl/UserControl1.xaml.prg | 26 - .../content/wpfctrl/XSharp.WpfCtrl.xsproj | 17 - .../wpflib/.template.config/template.json | 20 - .../working/content/wpflib/Class1.prg | 22 - .../content/wpflib/XSharp.WpfLib.xsproj | 15 - 330 files changed, 10700 insertions(+), 1112 deletions(-) delete mode 100644 src/Templates/working/content/console/.template.config/template.json delete mode 100644 src/Templates/working/content/console/.vscode/launch.json delete mode 100644 src/Templates/working/content/console/.vscode/tasks.json delete mode 100644 src/Templates/working/content/console/Program.prg delete mode 100644 src/Templates/working/content/console/XSharp.Console.xsproj delete mode 100644 src/Templates/working/content/consoleCore/.template.config/template.json delete mode 100644 src/Templates/working/content/consoleCore/Program.prg delete mode 100644 src/Templates/working/content/consoleCore/XSharp.ConsoleCore.xsproj delete mode 100644 src/Templates/working/content/consoleFox/.template.config/template.json delete mode 100644 src/Templates/working/content/consoleFox/Program.prg delete mode 100644 src/Templates/working/content/consoleHarbour/.template.config/template.json delete mode 100644 src/Templates/working/content/consoleHarbour/Program.prg delete mode 100644 src/Templates/working/content/consoleVFP/.template.config/template.json delete mode 100644 src/Templates/working/content/consoleVFP/.vscode/launch.json delete mode 100644 src/Templates/working/content/consoleVFP/.vscode/tasks.json delete mode 100644 src/Templates/working/content/consoleVFP/Program.prg delete mode 100644 src/Templates/working/content/consoleVFP/XSharp.ConsoleVFP.xsproj delete mode 100644 src/Templates/working/content/consoleVO/.template.config/template.json delete mode 100644 src/Templates/working/content/consoleVO/Program.prg delete mode 100644 src/Templates/working/content/consoleXPP/.template.config/template.json delete mode 100644 src/Templates/working/content/consoleXPP/Program.prg create mode 100644 src/Templates/working/content/i_appmanifestinternal/.template.config/template.json create mode 100644 src/Templates/working/content/i_appmanifestinternal/app.manifest create mode 100644 src/Templates/working/content/i_bitmap/.template.config/Bitmap.PNG create mode 100644 src/Templates/working/content/i_bitmap/.template.config/template.json create mode 100644 src/Templates/working/content/i_bitmap/Bitmap.bmp create mode 100644 src/Templates/working/content/i_class/.template.config/Class.png create mode 100644 src/Templates/working/content/i_class/.template.config/template.json create mode 100644 src/Templates/working/content/i_class/Class1.prg create mode 100644 src/Templates/working/content/i_classfox/.template.config/ClassFox.png create mode 100644 src/Templates/working/content/i_classfox/.template.config/template.json create mode 100644 src/Templates/working/content/i_classfox/ClassFox1.prg create mode 100644 src/Templates/working/content/i_classxpp/.template.config/ClassXpp.png create mode 100644 src/Templates/working/content/i_classxpp/.template.config/template.json create mode 100644 src/Templates/working/content/i_classxpp/ClassXpp.prg create mode 100644 src/Templates/working/content/i_codefile/.template.config/Code.png create mode 100644 src/Templates/working/content/i_codefile/.template.config/template.json create mode 100644 src/Templates/working/content/i_codefile/CodeFile.prg create mode 100644 src/Templates/working/content/i_cursor/.template.config/Cursor.PNG create mode 100644 src/Templates/working/content/i_cursor/.template.config/template.json create mode 100644 src/Templates/working/content/i_cursor/cursor.cur create mode 100644 src/Templates/working/content/i_flowdocument/.template.config/WPFFlowDocument.png create mode 100644 src/Templates/working/content/i_flowdocument/.template.config/template.json create mode 100644 src/Templates/working/content/i_flowdocument/FlowDocument1.xaml create mode 100644 src/Templates/working/content/i_form/.template.config/Form.png create mode 100644 src/Templates/working/content/i_form/.template.config/template.json rename src/Templates/working/content/{winformctrli/UserControl1.designer.prg => i_form/Form1.designer.prg} (74%) create mode 100644 src/Templates/working/content/i_form/Form1.prg create mode 100644 src/Templates/working/content/i_formsimple/.template.config/Form.png create mode 100644 src/Templates/working/content/i_formsimple/.template.config/template.json create mode 100644 src/Templates/working/content/i_formsimple/SimpleForm1.prg create mode 100644 src/Templates/working/content/i_header/.template.config/Header.png create mode 100644 src/Templates/working/content/i_header/.template.config/template.json create mode 100644 src/Templates/working/content/i_header/Header1.xh create mode 100644 src/Templates/working/content/i_icon/.template.config/Icon.PNG create mode 100644 src/Templates/working/content/i_icon/.template.config/template.json create mode 100644 src/Templates/working/content/i_icon/Icon.ico create mode 100644 src/Templates/working/content/i_interface/.template.config/Interface.png create mode 100644 src/Templates/working/content/i_interface/.template.config/template.json create mode 100644 src/Templates/working/content/i_interface/Interface1.prg create mode 100644 src/Templates/working/content/i_internal/.template.config/template.json create mode 100644 src/Templates/working/content/i_internal/Resource.resX create mode 100644 src/Templates/working/content/i_internal/Settings.settings create mode 100644 src/Templates/working/content/i_nativeresource/.template.config/Rc.PNG create mode 100644 src/Templates/working/content/i_nativeresource/.template.config/template.json create mode 100644 src/Templates/working/content/i_nativeresource/NativeResources1.rc create mode 100644 src/Templates/working/content/i_page/.template.config/WPFPage.png create mode 100644 src/Templates/working/content/i_page/.template.config/template.json create mode 100644 src/Templates/working/content/i_page/Page1.xaml rename src/Templates/working/content/{wpfapp/MainWindow.xaml.prg => i_page/Page1.xaml.prg} (51%) create mode 100644 src/Templates/working/content/i_pagefunction/.template.config/WPFPageFunction.png create mode 100644 src/Templates/working/content/i_pagefunction/.template.config/template.json create mode 100644 src/Templates/working/content/i_pagefunction/PageFunction1.xaml create mode 100644 src/Templates/working/content/i_pagefunction/PageFunction1.xaml.prg create mode 100644 src/Templates/working/content/i_resource/.template.config/Resource.PNG create mode 100644 src/Templates/working/content/i_resource/.template.config/template.json create mode 100644 src/Templates/working/content/i_resource/Resource1.resX create mode 100644 src/Templates/working/content/i_resourcedictionary/.template.config/WPFResourceDictionary.png create mode 100644 src/Templates/working/content/i_resourcedictionary/.template.config/template.json create mode 100644 src/Templates/working/content/i_resourcedictionary/ResourceDictionary1.xaml create mode 100644 src/Templates/working/content/i_structure/.template.config/Structure.png create mode 100644 src/Templates/working/content/i_structure/.template.config/template.json create mode 100644 src/Templates/working/content/i_structure/Structure1.prg create mode 100644 src/Templates/working/content/i_t4/.template.config/TextTemplate.png create mode 100644 src/Templates/working/content/i_t4/.template.config/template.json create mode 100644 src/Templates/working/content/i_t4/TextTemplate1.tt create mode 100644 src/Templates/working/content/i_textfile/.template.config/Textfile.png create mode 100644 src/Templates/working/content/i_textfile/.template.config/template.json create mode 100644 src/Templates/working/content/i_textfile/TextFile1.txt create mode 100644 src/Templates/working/content/i_usercontrol/.template.config/UserControl.png create mode 100644 src/Templates/working/content/i_usercontrol/.template.config/template.json create mode 100644 src/Templates/working/content/i_usercontrol/UserControl1.designer.prg create mode 100644 src/Templates/working/content/i_usercontrol/UserControl1.prg create mode 100644 src/Templates/working/content/i_usercontrolwpf/.template.config/WPFUserControl.png create mode 100644 src/Templates/working/content/i_usercontrolwpf/.template.config/template.json rename src/Templates/working/content/{wpfctrl => i_usercontrolwpf}/UserControl1.xaml (69%) create mode 100644 src/Templates/working/content/i_usercontrolwpf/UserControl1.xaml.prg create mode 100644 src/Templates/working/content/i_vodbserver/.template.config/VODBServer.PNG create mode 100644 src/Templates/working/content/i_vodbserver/.template.config/template.json create mode 100644 src/Templates/working/content/i_vodbserver/VODBServer1.prg create mode 100644 src/Templates/working/content/i_vodbserver/VODBServer1.xsdbs create mode 100644 src/Templates/working/content/i_vofieldspec/.template.config/VOFieldSpec.PNG create mode 100644 src/Templates/working/content/i_vofieldspec/.template.config/template.json create mode 100644 src/Templates/working/content/i_vofieldspec/VOFieldSpec.prg create mode 100644 src/Templates/working/content/i_vofieldspec/VOFieldSpec.xsfs create mode 100644 src/Templates/working/content/i_vomenu/.template.config/VOMenu.PNG create mode 100644 src/Templates/working/content/i_vomenu/.template.config/template.json create mode 100644 src/Templates/working/content/i_vomenu/VOMenu.prg create mode 100644 src/Templates/working/content/i_vomenu/VOMenu.rc create mode 100644 src/Templates/working/content/i_vomenu/VOMenu.xsmnu create mode 100644 src/Templates/working/content/i_vomenu/VOMenu_Accelerator.rc create mode 100644 src/Templates/working/content/i_vowindow/.template.config/VOWindow.PNG create mode 100644 src/Templates/working/content/i_vowindow/.template.config/template.json create mode 100644 src/Templates/working/content/i_vowindow/VOWindow.prg create mode 100644 src/Templates/working/content/i_vowindow/VOWindow.rc create mode 100644 src/Templates/working/content/i_vowindow/VOWindow.xsfrm create mode 100644 src/Templates/working/content/i_wcfitem/.template.config/WCF.png create mode 100644 src/Templates/working/content/i_wcfitem/.template.config/template.json create mode 100644 src/Templates/working/content/i_wcfitem/IWCFService1.prg create mode 100644 src/Templates/working/content/i_wcfitem/WCFService1.prg create mode 100644 src/Templates/working/content/i_webroute/.template.config/Class.png create mode 100644 src/Templates/working/content/i_webroute/.template.config/template.json create mode 100644 src/Templates/working/content/i_webroute/APIController.prg create mode 100644 src/Templates/working/content/i_window/.template.config/WPFWindow.png create mode 100644 src/Templates/working/content/i_window/.template.config/template.json create mode 100644 src/Templates/working/content/i_window/WPFWindow1.xaml create mode 100644 src/Templates/working/content/i_window/WPFWindow1.xaml.prg create mode 100644 src/Templates/working/content/p_classlibrary/.template.config/ClassLibrary.png create mode 100644 src/Templates/working/content/p_classlibrary/.template.config/template.json create mode 100644 src/Templates/working/content/p_classlibrary/XSharp.ClassLibrary.prg create mode 100644 src/Templates/working/content/p_classlibrary/XSharp.ClassLibrary.xsproj create mode 100644 src/Templates/working/content/p_classlibrarycore/.template.config/CoreClassLibrary.png create mode 100644 src/Templates/working/content/p_classlibrarycore/.template.config/template.json create mode 100644 src/Templates/working/content/p_classlibrarycore/XSharp.ClassLibraryCore.prg create mode 100644 src/Templates/working/content/p_classlibrarycore/XSharp.ClassLibraryCore.xsproj create mode 100644 src/Templates/working/content/p_classlibraryfox/.template.config/FoxClassLibrary.png create mode 100644 src/Templates/working/content/p_classlibraryfox/.template.config/template.json create mode 100644 src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.prg create mode 100644 src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.xsproj create mode 100644 src/Templates/working/content/p_classlibraryharbour/.template.config/HarbourClassLibrary.png create mode 100644 src/Templates/working/content/p_classlibraryharbour/.template.config/template.json create mode 100644 src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.prg create mode 100644 src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.xsproj create mode 100644 src/Templates/working/content/p_classlibraryvo/.template.config/VOClassLibrary.png create mode 100644 src/Templates/working/content/p_classlibraryvo/.template.config/template.json create mode 100644 src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.prg create mode 100644 src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.xsproj create mode 100644 src/Templates/working/content/p_classlibraryvulcan/.template.config/VulcanClassLibrary.png create mode 100644 src/Templates/working/content/p_classlibraryvulcan/.template.config/template.json create mode 100644 src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.prg create mode 100644 src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.xsproj create mode 100644 src/Templates/working/content/p_classlibraryxpp/.template.config/XPPClassLibrary.png create mode 100644 src/Templates/working/content/p_classlibraryxpp/.template.config/template.json create mode 100644 src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.prg create mode 100644 src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.xsproj create mode 100644 src/Templates/working/content/p_consoleapplication/.template.config/ConsoleApplication.png create mode 100644 src/Templates/working/content/p_consoleapplication/.template.config/template.json create mode 100644 src/Templates/working/content/p_consoleapplication/Program.prg create mode 100644 src/Templates/working/content/p_consoleapplication/XSharp.ConsoleApplication.xsproj create mode 100644 src/Templates/working/content/p_harbourconsole/.template.config/HarbourConsole.png create mode 100644 src/Templates/working/content/p_harbourconsole/.template.config/template.json create mode 100644 src/Templates/working/content/p_harbourconsole/XSharp.HarbourConsole.prg rename src/Templates/working/content/{consoleHarbour/XSharp.ConsoleHarbour.xsproj => p_harbourconsole/XSharp.HarbourConsole.xsproj} (51%) create mode 100644 src/Templates/working/content/p_msclasslibrary/.template.config/MsTestClassLibrary.png create mode 100644 src/Templates/working/content/p_msclasslibrary/.template.config/template.json create mode 100644 src/Templates/working/content/p_msclasslibrary/XSharp.Test.MsClassLibrary.prg create mode 100644 src/Templates/working/content/p_msclasslibrary/XSharp.Test.MsClassLibrary.xsproj create mode 100644 src/Templates/working/content/p_netcore/.template.config/ConsoleApplication.png create mode 100644 src/Templates/working/content/p_netcore/.template.config/template.json create mode 100644 src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.prg create mode 100644 src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.xsproj create mode 100644 src/Templates/working/content/p_nunitclasslibrary/.template.config/NUnitTestClassLibrary.png create mode 100644 src/Templates/working/content/p_nunitclasslibrary/.template.config/template.json create mode 100644 src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.prg create mode 100644 src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.xsproj create mode 100644 src/Templates/working/content/p_vfpconsole/.template.config/VFPConsole.png create mode 100644 src/Templates/working/content/p_vfpconsole/.template.config/template.json create mode 100644 src/Templates/working/content/p_vfpconsole/XSharp.VFPConsole.prg rename src/Templates/working/content/{consoleFox/XSharp.ConsoleFox.xsproj => p_vfpconsole/XSharp.VFPConsole.xsproj} (77%) create mode 100644 src/Templates/working/content/p_voconsole/.template.config/VOConsole.png create mode 100644 src/Templates/working/content/p_voconsole/.template.config/template.json create mode 100644 src/Templates/working/content/p_voconsole/XSharp.VOConsole.prg rename src/Templates/working/content/{consoleVO/XSharp.ConsoleVO.xsproj => p_voconsole/XSharp.VOConsole.xsproj} (52%) create mode 100644 src/Templates/working/content/p_vomdiapplication/.template.config/VOMDIApp.png create mode 100644 src/Templates/working/content/p_vomdiapplication/.template.config/template.json create mode 100644 src/Templates/working/content/p_vomdiapplication/Help About.HELPABOUT.xsfrm create mode 100644 src/Templates/working/content/p_vomdiapplication/Help About.HelpAbout.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Help About.POWXSHARPBMP.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Help About.prg create mode 100644 src/Templates/working/content/p_vomdiapplication/HelpAbt.BMP create mode 100644 src/Templates/working/content/p_vomdiapplication/Readme.txt create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.xsmnu create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu_Accelerator.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.xsmnu create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu_Accelerator.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.VS_VERSION_INFO.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Menus.prg create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Shell.IDI_STANDARDICON.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Shell.Manifest.rc create mode 100644 src/Templates/working/content/p_vomdiapplication/Standard Shell.prg create mode 100644 src/Templates/working/content/p_vomdiapplication/Start.prg create mode 100644 src/Templates/working/content/p_vomdiapplication/XSharp.ICO create mode 100644 src/Templates/working/content/p_vomdiapplication/XSharp.VOMDIApplication.xsproj create mode 100644 src/Templates/working/content/p_vomdiapplication/cavoded.tpl create mode 100644 src/Templates/working/content/p_vomdiapplication/cavofed.tpl create mode 100644 src/Templates/working/content/p_vomdiapplication/cavowed.inf create mode 100644 src/Templates/working/content/p_vomdiapplication/cavowed.tpl create mode 100644 src/Templates/working/content/p_vomdiapplication/cctl6.man create mode 100644 src/Templates/working/content/p_vosdiapplication/.template.config/VOSdiApp.png create mode 100644 src/Templates/working/content/p_vosdiapplication/.template.config/template.json create mode 100644 src/Templates/working/content/p_vosdiapplication/Help About.HELPABOUT.xsfrm create mode 100644 src/Templates/working/content/p_vosdiapplication/Help About.HelpAbout.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/Help About.POWXSHARPBMP.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/Help About.prg create mode 100644 src/Templates/working/content/p_vosdiapplication/HelpAbt.BMP create mode 100644 src/Templates/working/content/p_vosdiapplication/Readme.txt create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.xsmnu create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu_Accelerator.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.xsmnu create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu_Accelerator.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.VS_VERSION_INFO.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/SDI Menus.prg create mode 100644 src/Templates/working/content/p_vosdiapplication/Standard SDI.IDI_STANDARDICON.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/Standard SDI.Manifest.rc create mode 100644 src/Templates/working/content/p_vosdiapplication/Standard SDI.prg create mode 100644 src/Templates/working/content/p_vosdiapplication/Start.prg create mode 100644 src/Templates/working/content/p_vosdiapplication/XSharp.VOSDIApplication.xsproj create mode 100644 src/Templates/working/content/p_vosdiapplication/XSharp.ico create mode 100644 src/Templates/working/content/p_vosdiapplication/cavoded.tpl create mode 100644 src/Templates/working/content/p_vosdiapplication/cavofed.tpl create mode 100644 src/Templates/working/content/p_vosdiapplication/cavowed.inf create mode 100644 src/Templates/working/content/p_vosdiapplication/cavowed.tpl create mode 100644 src/Templates/working/content/p_vosdiapplication/cctl6.man create mode 100644 src/Templates/working/content/p_vulcanconsole/.template.config/VulcanConsole.png create mode 100644 src/Templates/working/content/p_vulcanconsole/.template.config/template.json create mode 100644 src/Templates/working/content/p_vulcanconsole/Readme.txt create mode 100644 src/Templates/working/content/p_vulcanconsole/XSharp.VulcanConsole.prg create mode 100644 src/Templates/working/content/p_vulcanconsole/XSharp.VulcanConsole.xsproj rename src/Templates/working/content/{webmap => p_webmap}/.template.config/template.json (100%) rename src/Templates/working/content/{webmap => p_webmap}/DataId.prg (100%) rename src/Templates/working/content/{webmap => p_webmap}/DataUser.prg (100%) rename src/Templates/working/content/{webmap => p_webmap}/Program.prg (100%) rename src/Templates/working/content/{webmap => p_webmap}/Properties/launchSettings.json (100%) rename src/Templates/working/content/{webmap => p_webmap}/RESTful.prg (100%) rename src/Templates/working/content/{webmap => p_webmap}/Readme.md (100%) rename src/Templates/working/content/{webmap => p_webmap}/RouteId.prg (100%) rename src/Templates/working/content/{webmap => p_webmap}/RouteUsers.prg (100%) rename src/Templates/working/content/{webmap => p_webmap}/XSharp.WebMap.xsproj (100%) rename src/Templates/working/content/{webmap => p_webmap}/testRest/Readme.md (100%) rename src/Templates/working/content/{webmap => p_webmap}/testRest/getUsers.http (100%) rename src/Templates/working/content/{webmap => p_webmap}/testRest/postId.http (100%) rename src/Templates/working/content/{webmap => p_webmap}/testRest/updateUser.http (100%) rename src/Templates/working/content/{webroute => p_webroute}/.template.config/template.json (100%) rename src/Templates/working/content/{webroute => p_webroute}/Customer.prg (100%) rename src/Templates/working/content/{webroute => p_webroute}/CustomersController.prg (100%) rename src/Templates/working/content/{webroute => p_webroute}/LowerCasePolicy.prg (100%) rename src/Templates/working/content/{webroute => p_webroute}/Program.prg (100%) rename src/Templates/working/content/{webroute => p_webroute}/Properties/launchSettings.json (100%) rename src/Templates/working/content/{webroute => p_webroute}/RESTful.prg (100%) rename src/Templates/working/content/{webroute => p_webroute}/Reame.md (100%) rename src/Templates/working/content/{webroute => p_webroute}/XSharp.WebRoute.xsproj (71%) rename src/Templates/working/content/{webroute => p_webroute}/testRest/Readme.md (100%) rename src/Templates/working/content/{webroute => p_webroute}/testRest/getCustomers.http (100%) rename src/Templates/working/content/{webroute => p_webroute}/testRest/postCustomer.http (100%) rename src/Templates/working/content/{webroute => p_webroute}/testRest/postCustomers.http (100%) create mode 100644 src/Templates/working/content/p_windowsformsapplication/.template.config/WinFormApp.png create mode 100644 src/Templates/working/content/p_windowsformsapplication/.template.config/template.json rename src/Templates/working/content/{winform => p_windowsformsapplication}/Form1.designer.prg (96%) rename src/Templates/working/content/{winform => p_windowsformsapplication}/Form1.prg (75%) rename src/Templates/working/content/{winform => p_windowsformsapplication}/Program.prg (75%) create mode 100644 src/Templates/working/content/p_windowsformsapplication/Resources.resx create mode 100644 src/Templates/working/content/p_windowsformsapplication/Settings.settings create mode 100644 src/Templates/working/content/p_windowsformsapplication/XSharp.WindowsFormsApplication.xsproj create mode 100644 src/Templates/working/content/p_wpfapplication/.template.config/WPFApplication.png create mode 100644 src/Templates/working/content/p_wpfapplication/.template.config/template.json create mode 100644 src/Templates/working/content/p_wpfapplication/App.xaml create mode 100644 src/Templates/working/content/p_wpfapplication/App.xaml.prg create mode 100644 src/Templates/working/content/p_wpfapplication/MainWindow.xaml create mode 100644 src/Templates/working/content/p_wpfapplication/MainWindow.xaml.prg create mode 100644 src/Templates/working/content/p_wpfapplication/Resources.resx create mode 100644 src/Templates/working/content/p_wpfapplication/Settings.settings create mode 100644 src/Templates/working/content/p_wpfapplication/XSharp.WPFApplication.xsproj create mode 100644 src/Templates/working/content/p_xppconsole/.template.config/XPPConsole.png create mode 100644 src/Templates/working/content/p_xppconsole/.template.config/template.json create mode 100644 src/Templates/working/content/p_xppconsole/XSharp.XPPConsole.prg rename src/Templates/working/content/{consoleXPP/XSharp.ConsoleXPP.xsproj => p_xppconsole/XSharp.XPPConsole.xsproj} (74%) create mode 100644 src/Templates/working/content/p_xunitclasslibrary/.template.config/XUnitTestClassLibrary.png create mode 100644 src/Templates/working/content/p_xunitclasslibrary/.template.config/template.json create mode 100644 src/Templates/working/content/p_xunitclasslibrary/XSharp.Test.XUnitClassLibrary.prg create mode 100644 src/Templates/working/content/p_xunitclasslibrary/XSharp.Test.XUnitClassLibrary.xsproj delete mode 100644 src/Templates/working/content/webmap/.vscode/launch.json delete mode 100644 src/Templates/working/content/webmap/.vscode/tasks.json delete mode 100644 src/Templates/working/content/webmap/appsettings.Development.json delete mode 100644 src/Templates/working/content/webmap/appsettings.json delete mode 100644 src/Templates/working/content/webroute/.vscode/launch.json delete mode 100644 src/Templates/working/content/webroute/.vscode/tasks.json delete mode 100644 src/Templates/working/content/webroute/Helpers.prg delete mode 100644 src/Templates/working/content/webroute/appsettings.Development.json delete mode 100644 src/Templates/working/content/webroute/appsettings.json delete mode 100644 src/Templates/working/content/webroute/customer.dbf delete mode 100644 src/Templates/working/content/winform/.template.config/template.json delete mode 100644 src/Templates/working/content/winform/XSharp.WinFormsCore.xsproj delete mode 100644 src/Templates/working/content/winformcctrli/.template.config/template.json delete mode 100644 src/Templates/working/content/winformcctrli/CustomControl1.designer.prg delete mode 100644 src/Templates/working/content/winformcctrli/CustomControl1.prg delete mode 100644 src/Templates/working/content/winformctrli/.template.config/template.json delete mode 100644 src/Templates/working/content/winformctrli/UserControl1.prg delete mode 100644 src/Templates/working/content/winformlib/.template.config/template.json delete mode 100644 src/Templates/working/content/winformlib/Class1.prg delete mode 100644 src/Templates/working/content/winformlib/XSharp.WinFormsLib.xsproj delete mode 100644 src/Templates/working/content/wpfapp/.template.config/template.json delete mode 100644 src/Templates/working/content/wpfapp/App.xaml delete mode 100644 src/Templates/working/content/wpfapp/App.xaml.prg delete mode 100644 src/Templates/working/content/wpfapp/AssemblyInfo.prg delete mode 100644 src/Templates/working/content/wpfapp/MainWindow.xaml delete mode 100644 src/Templates/working/content/wpfapp/XSharp.WpfCore.xsproj delete mode 100644 src/Templates/working/content/wpfcctrllib/.template.config/template.json delete mode 100644 src/Templates/working/content/wpfcctrllib/CustomControl1.prg delete mode 100644 src/Templates/working/content/wpfcctrllib/XSharp.WpfCCtrlLib.xsproj delete mode 100644 src/Templates/working/content/wpfctrl/.template.config/template.json delete mode 100644 src/Templates/working/content/wpfctrl/AssemblyInfo.prg delete mode 100644 src/Templates/working/content/wpfctrl/UserControl1.xaml.prg delete mode 100644 src/Templates/working/content/wpfctrl/XSharp.WpfCtrl.xsproj delete mode 100644 src/Templates/working/content/wpflib/.template.config/template.json delete mode 100644 src/Templates/working/content/wpflib/Class1.prg delete mode 100644 src/Templates/working/content/wpflib/XSharp.WpfLib.xsproj diff --git a/src/Templates/working/content/console/.template.config/template.json b/src/Templates/working/content/console/.template.config/template.json deleted file mode 100644 index fd228115a7..0000000000 --- a/src/Templates/working/content/console/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "Console" ], - "identity": "XSharpBV.ConsoleTemplate.XSharp", - "name": "XSharp Language Console Application", - "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS", - "sourceName":"XSharp.Console", - "shortName": "xsconsole", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "ConsoleApp1" -} diff --git a/src/Templates/working/content/console/.vscode/launch.json b/src/Templates/working/content/console/.vscode/launch.json deleted file mode 100644 index 26ef66dce7..0000000000 --- a/src/Templates/working/content/console/.vscode/launch.json +++ /dev/null @@ -1,14 +0,0 @@ -{ -"version": "0.2.0", - "configurations": [ - { - "name": "X# Launch", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "${workspaceFolder}/bin/net8.0/${workspaceFolderBasename}.dll", - "console": "integratedTerminal", - "stopAtEntry": false - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/console/.vscode/tasks.json b/src/Templates/working/content/console/.vscode/tasks.json deleted file mode 100644 index 7e91fa7ebf..0000000000 --- a/src/Templates/working/content/console/.vscode/tasks.json +++ /dev/null @@ -1,25 +0,0 @@ -{ -"version": "2.0.0", - "tasks": [ - { - "label": "build", - "command": "dotnet", - "type": "process", - "args": [ - "build", - "${workspaceFolder}/${workspaceFolderBasename}.xsproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary" - ], - "problemMatcher": "$msCompile", - "group": { - "kind": "build", - "isDefault": true // Optionnal but useful to execute "build" with Ctrl+Shift+B - }, - "presentation": { - "reveal": "always", // Always show Terminal for the task - "panel": "new" // Always open in a new panel - } - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/console/Program.prg b/src/Templates/working/content/console/Program.prg deleted file mode 100644 index ebe7b6ab3c..0000000000 --- a/src/Templates/working/content/console/Program.prg +++ /dev/null @@ -1,17 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.Linq -USING System.Text - -FUNCTION Start() AS VOID STRICT - Console.WriteLine("Hello World!") - // - VAR os := Environment.OSVersion - Console.WriteLine("You are running on :") - Console.WriteLine( "OS Version: " + os:Version:ToString() ) - Console.WriteLine( "OS Platform: " + os:Platform:ToString() ) - Console.WriteLine("Press any key to continue...") - Console.ReadKey() - - - diff --git a/src/Templates/working/content/console/XSharp.Console.xsproj b/src/Templates/working/content/console/XSharp.Console.xsproj deleted file mode 100644 index 2150e3797b..0000000000 --- a/src/Templates/working/content/console/XSharp.Console.xsproj +++ /dev/null @@ -1,10 +0,0 @@ - - - - Exe - net8.0 - enable - enable - - - diff --git a/src/Templates/working/content/consoleCore/.template.config/template.json b/src/Templates/working/content/consoleCore/.template.config/template.json deleted file mode 100644 index f0733495da..0000000000 --- a/src/Templates/working/content/consoleCore/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "Console", "X#" ], - "identity": "XSharpBV.ConsoleCoreTemplate.XSharp", - "name": "Console Application - Core Dialect", - "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS, with the X# Core dialect.", - "sourceName":"XSharp.ConsoleCore", - "shortName": "xsconsolecore", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "ConsoleApp1" -} diff --git a/src/Templates/working/content/consoleCore/Program.prg b/src/Templates/working/content/consoleCore/Program.prg deleted file mode 100644 index ebe7b6ab3c..0000000000 --- a/src/Templates/working/content/consoleCore/Program.prg +++ /dev/null @@ -1,17 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.Linq -USING System.Text - -FUNCTION Start() AS VOID STRICT - Console.WriteLine("Hello World!") - // - VAR os := Environment.OSVersion - Console.WriteLine("You are running on :") - Console.WriteLine( "OS Version: " + os:Version:ToString() ) - Console.WriteLine( "OS Platform: " + os:Platform:ToString() ) - Console.WriteLine("Press any key to continue...") - Console.ReadKey() - - - diff --git a/src/Templates/working/content/consoleCore/XSharp.ConsoleCore.xsproj b/src/Templates/working/content/consoleCore/XSharp.ConsoleCore.xsproj deleted file mode 100644 index bd8bff3f4f..0000000000 --- a/src/Templates/working/content/consoleCore/XSharp.ConsoleCore.xsproj +++ /dev/null @@ -1,15 +0,0 @@ - - - Exe - net8.0 - enable - Core - enable - True - false - false - false - false - true - - diff --git a/src/Templates/working/content/consoleFox/.template.config/template.json b/src/Templates/working/content/consoleFox/.template.config/template.json deleted file mode 100644 index 49fcb5e75d..0000000000 --- a/src/Templates/working/content/consoleFox/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "Console", "X#" ], - "identity": "XSharpBV.ConsoleFoxTemplate.XSharp", - "name": "Console Application - VFP Dialect", - "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS, with the X# VFP dialect.", - "sourceName":"XSharp.ConsoleFox", - "shortName": "xsconsolefox", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "ConsoleApp1" -} diff --git a/src/Templates/working/content/consoleFox/Program.prg b/src/Templates/working/content/consoleFox/Program.prg deleted file mode 100644 index af18a912ad..0000000000 --- a/src/Templates/working/content/consoleFox/Program.prg +++ /dev/null @@ -1,19 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.Linq -USING System.Text - -FUNCTION Start() AS VOID STRICT - ? "Hello World! Today is ",Date() - // - os = Environment.OSVersion - ? "You are running on :" - ? "OS Version: " + os.Version.ToString() - ? "OS Platform: " + os.Platform.ToString() - ? "Press any key to continue..." - WAIT - RETURN - - - - diff --git a/src/Templates/working/content/consoleHarbour/.template.config/template.json b/src/Templates/working/content/consoleHarbour/.template.config/template.json deleted file mode 100644 index 0814d74d85..0000000000 --- a/src/Templates/working/content/consoleHarbour/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "Console", "X#" ], - "identity": "XSharpBV.ConsoleHarbourTemplate.XSharp", - "name": "Console Application - Harbour Dialect", - "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS, with the X# Harbour dialect.", - "sourceName":"XSharp.ConsoleHarbour", - "shortName": "xsconsoleharbour", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "ConsoleApp1" -} diff --git a/src/Templates/working/content/consoleHarbour/Program.prg b/src/Templates/working/content/consoleHarbour/Program.prg deleted file mode 100644 index b471690363..0000000000 --- a/src/Templates/working/content/consoleHarbour/Program.prg +++ /dev/null @@ -1,19 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.Linq -USING System.Text - -FUNCTION Start() AS VOID STRICT - ? "Hello World! Today is ",Today() - // - os = Environment.OSVersion - ? "You are running on :" - ? "OS Version: " + os.Version.ToString() - ? "OS Platform: " + os.Platform.ToString() - ? "Press any key to continue..." - WAIT - RETURN - - - - diff --git a/src/Templates/working/content/consoleVFP/.template.config/template.json b/src/Templates/working/content/consoleVFP/.template.config/template.json deleted file mode 100644 index 0f392517f6..0000000000 --- a/src/Templates/working/content/consoleVFP/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "Console" ], - "identity": "XSharpBV.ConsoleVFPTemplate.XSharp", - "name": "XSharp Language Console Application - VFP Dialect", - "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS, with the X# VFP dialect.", - "sourceName":"XSharp.ConsoleVFP", - "shortName": "xsconsolevfp", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "ConsoleApp1" -} diff --git a/src/Templates/working/content/consoleVFP/.vscode/launch.json b/src/Templates/working/content/consoleVFP/.vscode/launch.json deleted file mode 100644 index 26ef66dce7..0000000000 --- a/src/Templates/working/content/consoleVFP/.vscode/launch.json +++ /dev/null @@ -1,14 +0,0 @@ -{ -"version": "0.2.0", - "configurations": [ - { - "name": "X# Launch", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "${workspaceFolder}/bin/net8.0/${workspaceFolderBasename}.dll", - "console": "integratedTerminal", - "stopAtEntry": false - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/consoleVFP/.vscode/tasks.json b/src/Templates/working/content/consoleVFP/.vscode/tasks.json deleted file mode 100644 index 7e91fa7ebf..0000000000 --- a/src/Templates/working/content/consoleVFP/.vscode/tasks.json +++ /dev/null @@ -1,25 +0,0 @@ -{ -"version": "2.0.0", - "tasks": [ - { - "label": "build", - "command": "dotnet", - "type": "process", - "args": [ - "build", - "${workspaceFolder}/${workspaceFolderBasename}.xsproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary" - ], - "problemMatcher": "$msCompile", - "group": { - "kind": "build", - "isDefault": true // Optionnal but useful to execute "build" with Ctrl+Shift+B - }, - "presentation": { - "reveal": "always", // Always show Terminal for the task - "panel": "new" // Always open in a new panel - } - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/consoleVFP/Program.prg b/src/Templates/working/content/consoleVFP/Program.prg deleted file mode 100644 index af18a912ad..0000000000 --- a/src/Templates/working/content/consoleVFP/Program.prg +++ /dev/null @@ -1,19 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.Linq -USING System.Text - -FUNCTION Start() AS VOID STRICT - ? "Hello World! Today is ",Date() - // - os = Environment.OSVersion - ? "You are running on :" - ? "OS Version: " + os.Version.ToString() - ? "OS Platform: " + os.Platform.ToString() - ? "Press any key to continue..." - WAIT - RETURN - - - - diff --git a/src/Templates/working/content/consoleVFP/XSharp.ConsoleVFP.xsproj b/src/Templates/working/content/consoleVFP/XSharp.ConsoleVFP.xsproj deleted file mode 100644 index e3ce7b24ce..0000000000 --- a/src/Templates/working/content/consoleVFP/XSharp.ConsoleVFP.xsproj +++ /dev/null @@ -1,22 +0,0 @@ - - - - Exe - net8.0 - enable - enable - FoxPro - true - true - true - true - true - true - True - - - - - - - diff --git a/src/Templates/working/content/consoleVO/.template.config/template.json b/src/Templates/working/content/consoleVO/.template.config/template.json deleted file mode 100644 index 918786092a..0000000000 --- a/src/Templates/working/content/consoleVO/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "Console", "X#" ], - "identity": "XSharpBV.ConsoleVOTemplate.XSharp", - "name": "Console Application - Visual Objects Dialect", - "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS, with the X# Visual Objects dialect.", - "sourceName":"XSharp.ConsoleVO", - "shortName": "xsconsolevo", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "ConsoleApp1" -} diff --git a/src/Templates/working/content/consoleVO/Program.prg b/src/Templates/working/content/consoleVO/Program.prg deleted file mode 100644 index b471690363..0000000000 --- a/src/Templates/working/content/consoleVO/Program.prg +++ /dev/null @@ -1,19 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.Linq -USING System.Text - -FUNCTION Start() AS VOID STRICT - ? "Hello World! Today is ",Today() - // - os = Environment.OSVersion - ? "You are running on :" - ? "OS Version: " + os.Version.ToString() - ? "OS Platform: " + os.Platform.ToString() - ? "Press any key to continue..." - WAIT - RETURN - - - - diff --git a/src/Templates/working/content/consoleXPP/.template.config/template.json b/src/Templates/working/content/consoleXPP/.template.config/template.json deleted file mode 100644 index 29ff76c53f..0000000000 --- a/src/Templates/working/content/consoleXPP/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "Console", "X#" ], - "identity": "XSharpBV.ConsoleXPPTemplate.XSharp", - "name": "Console Application - Xbase++ Dialect", - "description": "A project for creating a command-line application that can run on .NET on Windows, Linux and macOS, with the X# Xbase++ dialect.", - "sourceName":"XSharp.ConsoleXPP", - "shortName": "xsconsolexpp", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "ConsoleApp1" -} diff --git a/src/Templates/working/content/consoleXPP/Program.prg b/src/Templates/working/content/consoleXPP/Program.prg deleted file mode 100644 index af18a912ad..0000000000 --- a/src/Templates/working/content/consoleXPP/Program.prg +++ /dev/null @@ -1,19 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.Linq -USING System.Text - -FUNCTION Start() AS VOID STRICT - ? "Hello World! Today is ",Date() - // - os = Environment.OSVersion - ? "You are running on :" - ? "OS Version: " + os.Version.ToString() - ? "OS Platform: " + os.Platform.ToString() - ? "Press any key to continue..." - WAIT - RETURN - - - - diff --git a/src/Templates/working/content/i_appmanifestinternal/.template.config/template.json b/src/Templates/working/content/i_appmanifestinternal/.template.config/template.json new file mode 100644 index 0000000000..0c572d1f13 --- /dev/null +++ b/src/Templates/working/content/i_appmanifestinternal/.template.config/template.json @@ -0,0 +1,16 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.AppManifestInternal", + "Name": "AppManifestInternal", + "Description": "A hidden app.manifest", + "SourceName": "AppManifestInternal", + "ShortName": "xsappmanifestinternali", + "Tags": { + "language": "X#", + "type": "item" + }, + "PreferNameDirectory": true, + "DefaultName": "app.manifest" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_appmanifestinternal/app.manifest b/src/Templates/working/content/i_appmanifestinternal/app.manifest new file mode 100644 index 0000000000..a6b46bb755 --- /dev/null +++ b/src/Templates/working/content/i_appmanifestinternal/app.manifest @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Templates/working/content/i_bitmap/.template.config/Bitmap.PNG b/src/Templates/working/content/i_bitmap/.template.config/Bitmap.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2332d23430855f57266deafb81f19f6c2a2b63c5 GIT binary patch literal 2501 zcmb7Gdpy&B7vD(D77fj9=e*D7oY(7p&g*kIY5RTLm7v;C5D28? zvDd{jsdaWY#5h;Rguo#&LB{E7VOty1sPT(>^&3*0x37I z2sp=787cGGdbl_Tkn!I>Q%?rYZfp}zLBG)lqfg9E8$^AyH?cVwbi2Y7Jd&jEE%SAx!6hJ&EBH;k=}0wmo62-w2|mw$_v3+WbT#I5;7G zOieU3`LkEfHIgvrsI9gEbrhSvrGyMnmM+LWvUq&oW>2Dqa>tnlK0+M+Lkggl*yFJ-e{J5+vLmP>V_arFj+UVgR_k|6N{@z|p!rX)a)qq%U-bmkaS;>|FKs4^H zH~Py-ya~s-+f9=%*F}B1 z5|u2}G&y*0+Y8v91pU{VV=)Es^(j8Hx(~~*KLZS<-={g4;)Uw*S4)vm9EpVzb4+`A z(EEPVa+2=E^WGhylz3EED3GrHo?SfsMEin)4mn=4L{f(Cm$tF{Cc~)N%A}JIBi2;; zFW0PbgtHC{>zGNsqNLB+%P%(imKLkI?~?Y6I04YSC~sO)OvoPe@?c9y@#K8IdEZb{ zm5pwl9k3VLEP8pqX31-Lez8mnYO)e6e-$HVlC-ixV#>s;rQKJjP$7=QAb2aILDDK2 z7PYRkJ2$Of3uhNs+gJ6}Y1Fw!L~I5O?S+y=($CK~(bKB2J&IyV$<#M0@q0@Oxni>} z;pb;*M@+Cje%)e>B&&4d%-cw1{kchQt}zwPj;xlTJ!;$LrjHicsq|CkX=Jq3*>f~y zVBW%a5|}GqLw*Pwo_*CL|F-Wt1J4|=G$;P3pV9WE=;5NsE0kIqjY+5gc zqUx3$P1v|sSze`QebCg>6A_NT9`0N;t2g#l9Vo(D#?{mP7h{F|$kmjnlRuIqyh3Y9 z@az7>*ZDzblJN7_Is^Hm<|GEY8X*~F>*TTHNnL55I`EL+*Ye>~Ue!#7Gv!I#a7}0b z8=s!qqWmVc=7#r{?7zw0+@bpAGfbn(;Y@b-o|w^@RV=~fZw~%S{IU72XFqu7LUl#S zSNyeNuMrgFd~`@+byb!Vul=6MpoIXss$fI(aK!7JUf?4mT|}G@$^fGFUVmC_~f{jiEa^{D9s!#Z$7^ zNIx76#7Fq77ikt{Ai~`KR$bY=8Fx}aZ6xzu5c*#>xr{ZPK(yH!`pN;#h9ZwS*E_< zHhDJyZifYL#&a57d8rzu*J+*|$z;#xaPy#Ja?D%1TKr|^|NDX8%E_wJ{gaq&#aQdR zf1=`}*}GGWmcEfoi9bH?13>gfD)P=2z2C#Y#o=#*iMO$!p6$j9j|0++ufW#FhJ+yH zR-1Zp%gV|wviua%tIEq&zI#o7?f zMhKFnGKQ#xjf+J0aogI|c>Q@#p@)YsaC9ZD)|Ehfl}` nE0Bk)j|&SEeyQOIu{74qe=InZ${{2{~qx#<4eFU literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_bitmap/.template.config/template.json b/src/Templates/working/content/i_bitmap/.template.config/template.json new file mode 100644 index 0000000000..eff7ded178 --- /dev/null +++ b/src/Templates/working/content/i_bitmap/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.Bitmap", + "Name": "Bitmap", + "Description": "A Bitmap file", + "SourceName": "Bitmap", + "ShortName": "xsbitmapi", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Bitmap.PNG", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "Bitmap.bmp" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_bitmap/Bitmap.bmp b/src/Templates/working/content/i_bitmap/Bitmap.bmp new file mode 100644 index 0000000000000000000000000000000000000000..912b1c1e987da9daf340e0589e62bd2752a2a689 GIT binary patch literal 9270 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 + /// The Class class. + /// + CLASS Class1 + + CONSTRUCTOR() + RETURN + + END CLASS +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/i_classfox/.template.config/ClassFox.png b/src/Templates/working/content/i_classfox/.template.config/ClassFox.png new file mode 100644 index 0000000000000000000000000000000000000000..50e570d94a413ffe86a64f6ebb8559f2e85223b5 GIT binary patch literal 9777 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 + /// The ClassFox class. + /// + DEFINE CLASS ClassFox + PROTECTED prop1 AS STRING // X# allows types + HIDDEN hiddenprop1 AS DATE + // This gets called from the (generated) constructor + PROCEDURE Init(p1 as STRING, p2 AS DATE) // X# allows to type the parameters + prop1 := p1 + hiddenprop1 := p2 + + + FUNCTION Compare (p1 as STRING, p2 as DATE) AS LOGIC + ? p1, p2 + RETURN p1 == prop1 AND p2 == hiddenprop1 + + + ENDDEFINE +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/i_classxpp/.template.config/ClassXpp.png b/src/Templates/working/content/i_classxpp/.template.config/ClassXpp.png new file mode 100644 index 0000000000000000000000000000000000000000..ead8c6557960e3469abba05e43daac19749bc0c1 GIT binary patch literal 2976 zcmX|Ddpwiv8-GTKk#cB`_0~&5HgDyy)=_zD78N3yDPD@yp2(UUT8iEzN@-3@-Yn^0 zkr+lpQqGASHuj80Wn<2A+V5F^{Qh{J`?|l^;rsnu&wXE?=hjh|gBofEY5)Le;13;e zg;$pRS*Z-aZ>J=M!wVwJ^`HY#&|>rh-mEyY&v_pJ6ec4VPb@Y_#Tt7T{rKTG@o9y!;S}cx=iD{jCOyBp6dop=el8z5s?E8~a@_G`(|L5Tr z9Ixdl{;k2-3pdTo^~)o8oFV^>p|3Keu<-9vWw=co!DpP$9O}3=D^^c+wHzvD#w z2oIC~G`WK{Abl#&AnC^0>5LAdWW76=m;zq9FOYSl4laf(j&ih7hA8eUNO-mpK=+-Y z+CZTIk>WMjc>~TX3%G5k3^O%uA#nZ@!VXf8&>2Bjgo+x}$WHPMH(P4hZ%qN$?95O;$2%0?;z1-j`ZqCkY*@qJW;ozdvmZ3iVQ z%ZBctz*^z*_rx`mzbs35`k~E84Aj7_{5GU@Li4@c#B)U^h}qvLzDAS_V7PKL2u6X{+TUi4$N`c4L2lN;nLvTG zYS%VZHqBdC8$FC<*F?fct@FK^T&FN~*&A5TMXu^5D!_#6esv@_n|UTH@2VYE>o&wd z3h0BN=gV@o0mh5sv7Os5?@E3dSayO|IUZj%usMK+%Ty+!m7&MG$hT;S%eKz!EL-Rg zjyoRSl<0w2XRdC4YIgro=O{~rHPo_J8=a>#H|4)~>|NM<;!^#cPE>T`w2w~?n18dS zqBE&M^3JS(n?N>97B}r$&knm!+B>wX_UqqVE%2B<(M3zj*)`TSaU?Ad6WP+T*bsz7 zu(#r?nI``>;$MYa6M%S3V8l zxyhML+zef#=C=ci1&9BFLRZXc@@7n`RCxkkCYuyb(vsji|Hv8>1Wyr&dWN{g; z;ikss^~AE1BmcQOu{`(n0X=2E z@I(2hAue)uD&}bOa!#`5`R%CaU+Zw^JQ6ZP98zu&uq+Poxh`9W{nyW}#0Eo*uAw#5 z(4owBUrn-DE2psn^G|Ue*vd_3(0mQ&fgC;8(}tzwX4?{-)G?+SdSF1sug>>yd_SVQPXYoRR26)$zIq9IDX+G%0e38uA# zG6iK~X)Z9llJ1m14_2d&q(7mJ+*<(|30?bJU+2shXP*u;pVD@TZofe=^^G`|<=}a$ zt61pD<>mMxk`Q!-{v@V`{aT_L6_>UaN(0Ry$=PYQ6BIW5~(>Y1&? zIgzp8|C00Z#U{{v{=3Tj%9VF$C~TJwe2(>~_uL9VtOl2R+h7<;zpt#$d3G!Z#NuHf z_(`C%I%EkXDyCy#5taq{Ccsf``BbL)ME8*r?m&Eqf`&fzpJZ9{T%C8 zEs8=YVlq5K*jbuTRU|2UX-z|3Oue;p%+nn3a^lW_<@sUb&m_&bRMc@i*QZFl<;_qE zIdeRR)ypa$E>cj$XkBltQ&8s^A2C3q6s@Hcdn@=po`M_GE5C|dUNy{73`8<4G7SWQ zA2vyHOWpSJ^R}M77o%00 zyXO*(yDm{#5xL`g5_E@J7J$;A6&W$iSOT8KeZ-5m8M>y@)qC;!ro1Nqn-c1&`X+zx z*|aY4%K~9x^U%{&N^A!*t`V;=BbZDI*{W?QW|uq(T=-f!WQ7~yO*IBCY`_(qe^n-$ z50mHxnJLkcN>OvuJ+eoN7|qtSimKON#3gUa3!*^&PHR82$)B&v1&faUoa?fzO`TCJ zjm+i|-q-G1f6oiv2_ALX1+l{>`xN(F>VGv9+uFDKN=fzkh1Zdd=xqV@lc8SWk$Z?& z*&j`v+3w%fjAEWQ1ue9VL9a@$kg;d$!(Z8GKYy`tpji0-(IBKoVj0nMZPh&QBZsje zxQy)3{mXT+1jdewe17DFBQA`vg2kITJzC96jJPy#*5B*ORBM+Ytl%Km6(PCOX!5I@P)ST zvG0FQ51p~kdvOvE{E@$J>cLcTMIiml z^ASp6ZN)W|mg`knPX;M>vp(AN-Gm3Wf1wQ%f^xSsMl)}edbZ6VcuLK^0KL7IcW&y# zbYOQ9qt`kC_u)Y>lIXOCOqLCUw+A_!E@xCMl5viT!P@Yg80(;RUu)!MQtw`#a=5Ek zMuszW1SIyLsmh(+Lv`aJxf)tWe=~{bQM`pml`}}p# zOHI2cZkN_u^(AdS9>RVgZm=x!nFG6bpEW5{$fFTd2f}%1_2gHxRVsR)Oc3xDc2Xbf zVAqPEpFewcOfm{}XOQ7GRGM~#u7bTO(Mg&0g(8%BwtD!y>*1GOnR)TnxYvJ_I*`Wr z<5Lun7f(=y!u!xo(Sn+?p{ENOzHyP~{me=mL&bL210?I%NqMR;Eu>9ois! zdZ^y8Y&`zsHJeKPN_5rTdw&ue$f9sQdV3_T=(3dZrdC7Tz5CfgOKElGyCyBP=vvps z3TWcMjX^p7eR#oPwUahll-MN^$1Z5ExnTEtP`v+3%tD=+WV1^zXwFozKGrZViTH75 ze(dUEU6j8de8%z$-2FI)#eT=>&&j@zs}$f#k095#uQ1X^D{+huD}o_x9Vulyo@)-l zV^e4Xndwh;OVa5|qiyV)mEx}cw`Ad#*{*So4%Sn}|mzRfj s + /// The ClassXpp class. + /// + CLASS ClassXpp + EXPORTED: + // Instance variables + VAR a,b + // Class variables + CLASS VAR c,d + // Declare methods + METHOD Init + CLASS METHOD InitClass + ::a := "foo" + ::b := Date() + ENDCLASS + // Implement constructor + METHOD ClassXpp:Init() + ::c := 42 + ::d := TRUE + RETURN + + // implement class constructor + CLASS METHOD ClassXpp:InitClass() + RETURN + +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/i_codefile/.template.config/Code.png b/src/Templates/working/content/i_codefile/.template.config/Code.png new file mode 100644 index 0000000000000000000000000000000000000000..cd049435fbc7435dfb03e0f33eb11662c243b6f3 GIT binary patch literal 1416 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 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_flowdocument/.template.config/template.json b/src/Templates/working/content/i_flowdocument/.template.config/template.json new file mode 100644 index 0000000000..9ccf71bb52 --- /dev/null +++ b/src/Templates/working/content/i_flowdocument/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.WPF.FlowDocument", + "Name": "Flow Document (WPF)", + "Description": "Dynamically formatted XAML document", + "SourceName": "Flow Document (WPF)", + "ShortName": "xsflowdocumenti", + "Tags": { + "language": "X#", + "type": "item", + "icon": "WPFFlowDocument.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "FlowDocument.xaml" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_flowdocument/FlowDocument1.xaml b/src/Templates/working/content/i_flowdocument/FlowDocument1.xaml new file mode 100644 index 0000000000..0a9f47a225 --- /dev/null +++ b/src/Templates/working/content/i_flowdocument/FlowDocument1.xaml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/Templates/working/content/i_form/.template.config/Form.png b/src/Templates/working/content/i_form/.template.config/Form.png new file mode 100644 index 0000000000000000000000000000000000000000..06a5012e9565f39041fa42387674a18e4ea457c0 GIT binary patch literal 1698 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qt-46L&}T^vIy;@;lz&WK4BIq-4kpHR;d(H&1$hW?AGP&Yi{2ym^4Gfr0>T znV(W#>FLj#ZS%MHoZ?_Hy0yKcqNe5#yCgHWtp3AAB3+yoA$wZ7gSey%9#n9O2XY7( zECA75Qb4+&_ucoW94<+3p4vwrJ9g|@>KRSFct-6tYu4mUPL4amy|qI;OHlucQrrsB zo4a|#=g-cZuAFseUU_tI(V5r3Zti?{^5n_cM$eA;$E|SP6VP3;Q0$|V?xWTyWSxX1 z)}GKyh_g1X4(eM`xcj~*-zmfO3gQMoqf<94N>OX1?z4UU6 z`tdzTask?#zJ9o{d8L@;qGNBX_t*OMRmR#|UpKR~tn@xM=f_DT&!9W$#)il>ukShg zS_`?$Pu-}r=f+|RCR!P~`;e*Bqt4*tx9?l1FE;JCZnUj+c53p0BiVw{htF=(O?b4m4lV#ej9v{m1C&uo-WJ=6Ks zU;`(vxR|z8dfVdM^|q1EO;l31+&gqiUVNQSjfGlrLe34d75i;->{jO6eb8CVHShh| zb2|55@Jbte%nR5ncTHlQVELny*N)ANm&vJ1Yv0q-5h=RIW>Lmic4k&57V&&n>iGytsa**Z)6LdPFDY+^ALxEH8Jg&(K>{k$a#@LW2nr4%dZNKD}@E zvDW-c`_0oQKO0Y9r(0X*daO$^&YMS{_uRcbpM%%GWt?5Ge}3)zmrKuFnYAax5EzrU znYU@iG*{>*XCK(snk}%tHHZ7gu>xMR97flziNE!$-&@c0$$P7rAu20*zqCH~*AFMd zhnwW$!m~eyabG)pKn-Vh*pci^CBfL^|k!gtW$n><^5zsb+a7l2!3ssJwTFq zwg5Q)g?_9sp7;8cAjgtNANllatmc;Ge?J{zdPbL{SUJMY@w^uAejUu#TRa}Jqa zuQ*dGSIH^3;aT~;EY2APr;o2bmy8zX+SrGYc@wxo%68ejEMA0hC|a-r4IO-?Ij&K5>Jbo38@2 zBuEs!UTR!)Mmu1SvcArniOK;*`|a)jduUD7`oa9S@m{XMu3fvz?7xJ44wY=2Wbn|> z$EQX+*^%jZwt#_`rq2$y6&1WpZkjE;*EwX@J08$*GkhrJdNjMFy!`&=e=RpOlmi4l zuXCEvZVW33QRpY4-G7-A**!%1f1kewlJRu)b6Mw<(6nXFEA0@iv^A%-;!2P2nA|Xt zRd!ufb#YG4nuq*f#LrYaFI%=u?bq+${{#MCNbddjl6l2)v3D;oFW(8z%z~{UAG26`(oCe+rEN{zJ@w(khr6%HK5{Z<;=NcOx?!g!Gm5LA V9EaF>-{mF3rr0k$`e{3|;{fbl{Z0S? literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_form/.template.config/template.json b/src/Templates/working/content/i_form/.template.config/template.json new file mode 100644 index 0000000000..89e8bd5b30 --- /dev/null +++ b/src/Templates/working/content/i_form/.template.config/template.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.Form", + "Name": "Windows Forms Form", + "Description": "A Windows form with separate designer.prg", + "SourceName": "Form1", + "ShortName": "xsformi", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Form.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "Form1.prg", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and class.", + "datatype": "string", + "replaces": "Form1", + "fileRename": "Form1", + "defaultValue": "Form1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/winformctrli/UserControl1.designer.prg b/src/Templates/working/content/i_form/Form1.designer.prg similarity index 74% rename from src/Templates/working/content/winformctrli/UserControl1.designer.prg rename to src/Templates/working/content/i_form/Form1.designer.prg index 109b19c1e4..63b42b5693 100644 --- a/src/Templates/working/content/winformctrli/UserControl1.designer.prg +++ b/src/Templates/working/content/i_form/Form1.designer.prg @@ -1,19 +1,19 @@ -begin namespace XSharp.WinFormsCtrlI +begin namespace Company.Namespace1 - partial class UserControl1 + partial class Form1 ///

/// Required designer variable. /// - private components := NULL as System.ComponentModel.IContainer + private components := null as System.ComponentModel.IContainer /// /// Clean up any resources being used. /// /// true if managed resources should be disposed; otherwise, false. - protected override method Dispose(disposing as logic) as void STRICT + protected override method Dispose(disposing as logic) as void strict - if (disposing .AND. (components != null)) + if (disposing .and. (components != null)) components:Dispose() endif Super:Dispose(disposing) @@ -25,12 +25,13 @@ /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// - private method InitializeComponent() as void STRICT + private method InitializeComponent() as void strict self:components := System.ComponentModel.Container{} self:AutoScaleMode := System.Windows.Forms.AutoScaleMode.Font + self:Text := "Windows Forms Form" return end method #endregion end class -END NAMESPACE +end namespace diff --git a/src/Templates/working/content/i_form/Form1.prg b/src/Templates/working/content/i_form/Form1.prg new file mode 100644 index 0000000000..0ec444ac80 --- /dev/null +++ b/src/Templates/working/content/i_form/Form1.prg @@ -0,0 +1,22 @@ +using System +using System.Collections.Generic +using System.ComponentModel +using System.Data +using System.Drawing +using System.Linq + +using System.Text +using System.Threading.Tasks + +using System.Windows.Forms + +begin namespace Company.Namespace1 + + public partial class Form inherit System.Windows.Forms.Form + + public constructor() strict + SELF:InitializeComponent() + return + end constructor + end class +end namespace diff --git a/src/Templates/working/content/i_formsimple/.template.config/Form.png b/src/Templates/working/content/i_formsimple/.template.config/Form.png new file mode 100644 index 0000000000000000000000000000000000000000..09d4c82d5292f1818c7a5ddda2f9b9fa510c13f5 GIT binary patch literal 1698 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qt-49rTNE{-7;ac}SL%@RqJXnU9;>L_qU#9KjS zZda5`^uZ|a^G-pox;AV_y==N7su-GN!*8cl--@JJvGo^IJ=BHf2 z4}bjlQ6nkcIX&W$>a>bZ)wm?zH@Syrv%j~NZTRqi=l@^dPTb8|%OAFC)vuUq3-45d zR3IrPn)!75sTo@PY|r=z=x;pYt@BaHdymi5pFe-TPt8$@TXyQ=#f$w$W^Kacw3p3CCam+$PUe`>7%$8paQ zBy)x;^R>^;z9;vNt(~8mvt{SCcnxLaysu9mE$Hdpc8z`Ss#W`@lxmb?jS16@&RuWS z+t;5u(X;#4n@5L@%(99-3^!IRz1)AM7h>s~rXChEK@`2OwNy=kQ?Yag%WoKg5nC~s}>9#ckR zzSzTSOZ&E~CHOryd3eoFG(R^r_35Ga>PL!GTPI%07rkXOhY^x;q2z^(ym#WyRv$IW>Lmic4k&57V&&n>iGytsa**Z)6LdPFDY+^ALx zEH8Jg&(K>{k$a#@LWAj}lkTI|s3Y84JFW|@e0tyRW3Bm@_M4|qem0)IPPewq^;nl; zoHvg?@40(>J_oOV%Q(AW|NPqbFPEOVGHXwW;gM{?+sxZEW11^;ld}(OYt0r|->B`@{0{MM{fes|^lWJ7hc9O(#tZI?Yjl6kfO zSX=1F3gdaNPYH4?dGwJ_zs72AS^oFa5vFH!If|7d+*}TH#Y^v-Rrj^Vlr`s&>Gg^; zrE-;=f*YQd-^=2hQE>YBDt5ECjKX=9k)rDtnkF35-QSge>_Q+uQ&5(3-0CgZXdcyD%m*6;Gv(7 zPmOl6Bh&G00Rt~hpB-*1DtMXPG+TJDbI7iDJfPub_)yCAXm&|?`TfoRT5f142MBy# z=QN?+7@E>hsVAb{f0+~6Jw*C{pTCBj%C^jTr5&P`w&t`}T$-VzxGOt)J_U`57<@;C9%j^l=BgMFQ>ZP{Tk;hjH z8bmFeS+F(aV-`zKnu+wfw5^G|r#^i6aQ7A2M^45}ycg?3H|(@zMs*g1=MX#ZySzl$ N6#IooKW#^L8~{-W2fhFR literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_formsimple/.template.config/template.json b/src/Templates/working/content/i_formsimple/.template.config/template.json new file mode 100644 index 0000000000..23ed23a414 --- /dev/null +++ b/src/Templates/working/content/i_formsimple/.template.config/template.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.FormSimple", + "Name": "Windows Forms Simple Form", + "Description": "A simple Windows Forms Form without designer.prg", + "SourceName": "SimpleForm1", + "ShortName": "xsformsimplei", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Form.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "SimpleForm1.prg", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and class.", + "datatype": "string", + "replaces": "SimpleForm1", + "fileRename": "SimpleForm1", + "defaultValue": "SimpleForm1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/i_formsimple/SimpleForm1.prg b/src/Templates/working/content/i_formsimple/SimpleForm1.prg new file mode 100644 index 0000000000..a21ad1383e --- /dev/null +++ b/src/Templates/working/content/i_formsimple/SimpleForm1.prg @@ -0,0 +1,53 @@ +using System +using System.Collections.Generic +using System.ComponentModel +using System.Data +using System.Drawing +using System.Linq + +using System.Text +using System.Threading.Tasks + +using System.Windows.Forms + +begin namespace Company.Namespace1 + + public partial class Windows Forms Simple Form inherit System.Windows.Forms.Form + + public constructor() strict + SELF:InitializeComponent() + return + end constructor + /// + /// Required designer variable. + /// + private components := null as System.ComponentModel.IContainer + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override method Dispose(disposing as logic) as void strict + + if (disposing .and. (components != null)) + components:Dispose() + endif + Super:Dispose(disposing) + return + end method + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private method InitializeComponent() as void strict + self:components := System.ComponentModel.Container{} + self:AutoScaleMode := System.Windows.Forms.AutoScaleMode.Font + self:Text := "Windows Forms Simple Form" + return + end method + + #endregion + end class +end namespace diff --git a/src/Templates/working/content/i_header/.template.config/Header.png b/src/Templates/working/content/i_header/.template.config/Header.png new file mode 100644 index 0000000000000000000000000000000000000000..523f4c775118b18960413abfd2e4e7c1b30c8b09 GIT binary patch literal 2394 zcmb7Fc{tR27e`Tc6-_tBR+ej-p+YaEh$73|%GgGfCHppvWhN056BBRb5=GW%hDK?o zpRyAQ%`}+CU=U+04MsHKj{Cm%eeV79exK)j&-a|q=Q-y*&w0M*q+M`4CoOSMLP$tR z+SbPEl0Xx-Ww)5%#%5}v5?Koi&A`@)r4tXMkMR!=)X()?2Mu2SE9*9%gP z)hUK+k+aTIDzWLXAP}uIASSw)Pd^R1d5>k8tm>Z(2}l?ycO=Vs8)79=jH{N1p=$4Y zPcD;V7B)VvZ>jc@s(vkBejMM2`cN;Z<kmn9f=IONq23)bWhQu@z19MS(KzK>x8cX_ttnj|jrkY*$z-^+E0kvk195qbiqwwHiu?Xq7)6K>TV*VHCip(o&1YF7*IgFee{PfP<{?b#;h+ccTl zgSjQX>j`MA%w=n!(gpG`-WF4(4yOiv8TuMSH2AIor~07Lo8jQ{ROH2nWn~&P;B@0% zknbL7FKZ+A_N}A?f)f8x3=^NeqJ*GnJa+-t?Xd$`4IHCpPV>$^=|v}0yRV_V>bI_Y=o#`y zvQp6|;%6}$C7U6GTa=E+S^ir;pAf#v7BNka@VeW^dc{5NDX5In59bs$-R7QK`0Vu| z`tA3AWpM6L+!(gew5FiuCP&=43){+Tkw|0TY^7zr=SRUpzy*Cs;e5^iK-gupSd`5H6y zQR*W=Xx+;T%76N`Cc_a_V#zTzKv=y}U21{xr{XT+^AzV#J!@5s4X%golli;m9$w5R%fb~(JeO2c0s!5|JOL0LIkp0sP^*O{EVZLauV zQ>{u{VO_3_m+dgSXnPM~PbJQ&%GNRD9>RU2JQ=$#W~0m@YX`#x^!UBV56-&c4YZfY z>~l_f%bM^3(pFCe;&tZS$eW^TgH%?v^R0AVUO*!SS2;RgPJ@GYwpSxhjq+PfO!dZ1 zqnzf`QqCGJeJ9;&m@Pm1ma79FmndZb#sOOT3v3bAv%mk5>&B}`t z3Z&dAim4v<%mri7J)vci6rX8*Drbk@vN`+8tZqGd;Wu7)b)wcE^r;-XP&7_}GP^YMQh9RnJKaoo|p2%QgXsyrB)v)!e{j5C5&!efjxpP|7B8WC@fw@ z-Kn6{>G&A~qqH_RhU7+I^kl?jAy7Nd_|~#XB9VyXynJKSy%83RHTQBcbc6JCF`609 zIJ7q;d}^f_Qm#{n6cy%c*o~)KO(^V~!_=hc?!`IF)dssrIUnQ6q$ZfZD_aZu@<9XE z&t#%Eey%S+jN0?(s`;B9{`_f4WzKV4+|M9NejBm1cC^AI0y9otLpdnN{pV3|w2c{Z zU%l-5etYCp$gz3d_B#M)wcElqpPFn!$GA(X1LWEhY#n+DqtCw6qYMn#@|)VR2}e}m zq{{m%3!|xPbsf)MFh9vKcY>fx?-P&{l~Gm@i2v~6;HH4Z^O4r{X2oqF3aJ=lYyXzx z?W)-CKzGC3sn-x>^)?1>Vne6{7Na%VyJC1{Yd-pJ{pOR{;cv93*$gmnJp(_tia|l? zTbtyS`Yj6;|6wcseJDEgcw8X&H+h%rzS90;qk`ff zmEZh~H#{&W3-eFDBf36+TR8>mH*V5vktFVh_I6wMNyg8_-d2+nED6De7*BC=N%@`~ zvZpeF#8@usbm=(^Y-+DGQuvUlMiO|=)F^(_%&)KLWYyHr1B6)w2ns)eTF(h&4y~0* zr)&f<CaK>m*nVonZxSL(xhF)OZybbMB(~mf7)$SM)!khi94m$Inp_IYKVPQ4 rxYYRSVsjFYGYBpGSLD}FSCPLp`+tV&yONnL>D6fC@SPr^f9?72P|~TS literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_header/.template.config/template.json b/src/Templates/working/content/i_header/.template.config/template.json new file mode 100644 index 0000000000..c9a7211f88 --- /dev/null +++ b/src/Templates/working/content/i_header/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.Header", + "Name": "Header", + "Description": "An empty Header File", + "SourceName": "Header1", + "ShortName": "xsheaderi", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Header.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "Header1.xh" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_header/Header1.xh b/src/Templates/working/content/i_header/Header1.xh new file mode 100644 index 0000000000..83e6b57e28 --- /dev/null +++ b/src/Templates/working/content/i_header/Header1.xh @@ -0,0 +1,3 @@ +// Header1.xh + + diff --git a/src/Templates/working/content/i_icon/.template.config/Icon.PNG b/src/Templates/working/content/i_icon/.template.config/Icon.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8802f4840181d9094b4353d83573078e865bc6eb GIT binary patch literal 4023 zcmZ{nc{CLM*T?bA^0hRhk|l&lj9vDn#*z@qHZ)_br5J>fktjP&wycpQyJUu;7&J74 zLS)~Wh8at?v1ADO`JU%I=lP!JJkRHxd++CUKA%6{e|+x!+?#OQ(u9Xoh?9wliO2M& zk@ZQ${$m_$Cm#JODd;3H2U?pLFk$+Hmrvl7C)fha#8jKib?C}^!hb)y=@`hwbei;! zF@N!^@Hp9&nHqs@QSh~yzmc{hg6#C%Zvr^Mh{&QM7Is}`$M?e=eCai?xc+Jb?ntc|QYE;$%PiGyyv3J+dDi%F(w z^n`6^9&fzaoY~+MRo(uctHU4!o1Ccm*Lp4zy*Y5(%iH^sxw(0$R$iZ^*B2WINc&@v z`$|oXQuzVk^NWg#3fm|8FxXU*E76>S%*@D0*%$EAw@@?)wNl)3fmm4dri_n|pM_1`xJfcMjEX>(^%mXtwgT)`w$TEl zzI1f(J@Vla{~IeTVQX*SS28cT9@&;xxEOfz)~#;}7(iL>3Zl?|T|j7&&?U7L zZ*XYo;XyS-)=#^|Zqd*4^K1AFmUM}Gb@Sn#AMVX3Pvf%2#~r}#4wyq+CS+djL-t$U zmYq?l^7cPpORY`|Yl;N~26im0kZGa^IkO7p?OzU#{UhK}x=*+p2Hj!@>4R}>_`TaV zTQ~Kcl570P`pRnun=o+R%kzOo1_msUaGAm}H(*}OG3i5P<)1e7Z&^R=ArN#77r#U! zPqy7o{dlAQB}jNed7a;%*Q%b{fj(aENV!B43mguoWc0wu{uignmR zxVBx47#EABGQEw z#2N`*4-W|0T7hMU*T3lz-kwFbP?3Up9{Kd0>|`8$Fl{I?H*t~>rqj^IAL=)8MMYJW zhSOo}-3S+b`=x4!i!KrT`bD=YcA-bO!Dp&do<1_5v)w@o31+{_ZfO`VbCoSTF{!M{ z-1r_!P0>tvHI*b!AKRNDwGR}V;J3_$@*=YCJa@;d>l#M$M_wxa0cHq?FvSiCqM~4Y zw8{STZ|YwgF8-F+|56GGXt_+@t@p|uih_<>XE&xnBXWVNPCLs(aiG?7!^6XpLSbr_ zrYM<4pDS%KuqRSqytd@6(9KDSX8?&I*&uH%)KX#gA49tSUb%ejx& z+8>q3AhB`0y?1AO2CdKhK*~>8Y0Hg`=E|?ps#GRxgN>zjkorjhR`;vF1=aFv`aR z@keiNT)8(Z7Z%B)o7UO3{SucQL7)6)bFdNYOuhIV3IE0s@|+ibq5DwXf=Z+L)A;e( zsfNs_m%W6E-ZtCjm(i=M2+UKH`5$m3TVGc0*GF0FK==jd&upno1*h%|XKkDKKyx!Q z0~|j)(K~QLoPWUNxs1q9~qZ23e#ZrW6CQEa-xwkrUE9lo<1`_#crh z$BLJWf#1{6f-u=Ay1}P1VG)r2!Ky0e@Rg;fODS5AL-FdBehbSbZrxYUK>Gp0 z(flo(#LLo0vLH}~oQGITe+2-$m+MgD0u~!%1)Zq49N`;K#6slCVQuO%t#Q&gb*CM@vN9&Vqw8^EV5EDMQ!I`{EE2L~u$D2w|zQ&|i>@}YQ(%Uuq|?DIsf z|Bd%1_|);#=A*Md&clPX?$Z82RaN*c3=U_#`t>*+wBfrS6g*I0`O%`&sz6_!FkY8i z)$d@d8U;;MC30R+&x$Shgs1YmE@!OZ*fsrhYbD?oMjW% z3W)yWxFXY*0-R-g-vwVIIIz9sqEyFC%X#cybBgfY{QHG?%dabPxr_f4(nM=GD- zcvBFlAzCwVfxDsY0dN*QJUaS9Ltp#2R3daY{Ik50P&7m0OY(7>e6pwWWY>Q&J_J9l zjV&sA19g$)*f3sb-Is6Zn>rqWOtV}9qZDu3+O}6a-~IH2uc7TGaF%QJ5OOp>Ro#pQ zdVbHR$?j0+5~jaHdgiC`frkz6*@FSjg^Pud#-PeEPo6VQO%Ix(_8+RXpzVQmkNs&g z@1)$@?I2Da8NrRA<0WQ&C~{f&TGNMVmg4KE3C#Cvi}pvOh+vMao~#WF(+Cj0JH6UT zj^*M~ON_oQ&7qj;OepI3&9lXHYKhNqN@qjw%7Yn`5I`n`XLvfIkFPz`X>W!pI zXV4GP`H+R$T?tiH8_m2){e8oEIo?_AF2fBz?03;`8U7weAvKK}S}}J8$ZTn)L{QN3 zwDJ3p6>*G#-#q)nqHPPO#z+?&3{{#bk3BbKAF~?;3vi~0qQ7)FebxgaGP$wCC8j0g zwfdJNFH*~HEy=0mhm7i-XAhD)TJ6@d-3PDlUt3~)Jeu`pBs8;=d-*Cn&^Dw(a8$<} z-muZybH(JW(UiImo@E5FO&G0omo8Q14S0HikFS?+>9c(lE=~Hlr}~FZaGz%GtMQm> zV)MP8^S-R)R6hdc{8EQHB}2oq+b7p{A~TI7-;eeohHgkwi7zOPG zWx5*#L&I74<w^6emG-I*{_jHrEz3SQky zhi2Vn%sMb=uLzGc-?&XTUadt?IM(s$qnlSwb#76dYAbV~ixy8y^1hN&#B(%;2p^U^ zCa3#5!vv{ki?OtPXWSO#reI7d38YcdoPD?>-+<=qG(xxZE=C-fBmnr6=km9AvQ_GI z%;OmJu|>vg7{bV$@!EQ&K2;HeU%1OS3J{$4rRM)`B?(0K3{rY~f1O&oh%IkgjI)~s z%4}qri{{AT$l>iyigz*Oclk~yb${T_!1_eQ3Z^+fbl7{KC?-_*$l!^F|IcR}HD(_j zT)Fr{!mux##Hy;Cir$$``Irn0+}W}6IR-emMio?YU?j^|ii(TX^v>lKa5MiumG*z? zur=<`8VbGO2yWbY*VyRrvbQy^sKRc{P{73Z6yDK7Xnr=S5v%@O8tj_&;)hu*hu>k6 z{xpl~O*!E%c?-g#dw(T2c0sw%r(vd3UMZ@iMABC+sk0e;ab@(*`PrNtp}0Anu-ylxN5KKkdx)Y#GpW8e}Q=|gA#65*phWnQCt1FTk3>r(dG zO03acf^SlY7vPsTI5>DiSy@@I#wI`Z-EZ&pY+1_(q*hEdMD3-Xs bRPGdT|CcjP0v@w3N%AhNhHYK_x61zjQSaYq literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_icon/.template.config/template.json b/src/Templates/working/content/i_icon/.template.config/template.json new file mode 100644 index 0000000000..2d73dd2f8a --- /dev/null +++ b/src/Templates/working/content/i_icon/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.Icon", + "Name": "Icon", + "Description": "An Icon file", + "SourceName": "Icon", + "ShortName": "xsiconi", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Icon.PNG", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "Icon.ico" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_icon/Icon.ico b/src/Templates/working/content/i_icon/Icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5d06b9f2857b39f0b5d3395e3e7999ba6bcc3a38 GIT binary patch literal 45451 zcmeHQ2V4`$_n!>`f|LYoh=qWPSiy=FB49<4^YlDC1oTw&lwubJvRJ^5oLDFdo((IW z*bpR96!ApE*^r{)4iE(uM5G8w{xgB)x2_3AY2KgtFnKfc-n{pHZ`JR%LyWA^>Ijs5h#!!DKZ6<{ARP;Z)WQ z%>g()gwV$Z;XMI(w3^Td>rl`75JDdtETRL@{VV`mZLBA#x6x?>)v8aLXgM8elUh`Q z#BO=`LR4EZeS$eS_n^ybSfM+OojMkPKmAlI=0Z$B#ciVP3IH_XP{!`KhR+9}P530s zu`|}%zkP1CsB3a3{`*Xq&9AyUKAzJjCUVX{?Yi7cqHm<1?do<=St)r4DzgMu3+ z8%zG|YM{VZ7WR7a=w+ZP=)Bc6hIfBZdoXO5_S(?kUk$+0c7GOlnZ#LwXWH}r^^6Gp z1kP*TiZ6FCdV*!#_jMcH|{@C(TfwziW> z-aXHZi`dk~<$2VK6DzcTQhuPaLogF$#Tj)@jgKGir8t{~9h^ZAJ7qF$*!k<%ug54k zZ^2Dn#sg-z(HU{BKr`v~IA9;M*8k9G_urGlx@soHjRQ}gJ}uNb!={bA*bTqn8t_Im z;?4_Jjl?|91i=fw+z$9I1I}$Ga7E(gVwiiU-z@Kf9lQwtZkzw{Lbj2 z2N=H6->r-a9I*T8Lylb$g9SEq96_Ulwf%piGr;a~JK&*s&2l^ZU1zxs{(jn`<=r+o zIN1Hqt_!%G_8U1ou*xj^^xnk%WVZ#Oey$>3#2caTa#U2*#fujMl22WVj9j5_blFD} zxT)oL$7n#!#)+N^j}5)GJE1n8tbx#$w)Yii*U|D2#DEW6yA?9xduX2DCHHtqXNJAZ zPqVmkp``EHPeqIEb*812(BUCg--E8kBN8#++u^?p6b;uql#RT9|NbiR3z$AWP_^QIJyG2iex!r4M5u@QK}1I#x4h>ssPRL+4)K~oqzs^bE1xO ztvO3cMYQqCv3~vf9TiH>rE`zWun3aPF>h#s{9qA+acwn?0*y zPv}gqmt%FkF8YBX8PWN%Q?IxR(b?xiU$46YL$lKriAj)?m65@Ie(loZP94_wGz+fS zQ5bnsiI!yS=Sx>Bd#exn7p$Df-z^+QOVVOWo4SMkk!w*ClNN>_v!MA@#IiuoeqFST zvr2q{;gR>daXp>`oufAuiFjNRD~hrEJZhtP($TwT3ARrj~lRFJZrO)@+}SsSn@$E8a;|{MhiQT ze(}e5LSctPT{EE8DRG|V?yGTEI%lAI$=jS1ELIa7%kmQG_z0o62`wz(c=^W)`bH@X=Dcxwl6?h6#PeM8n(?ii&SCs^Fl8xszi-776TZS)YHIPFhA2orKsgs#uI zW&%Y{_Fwkg{jLR~_tUOCOii7gqiZ{${J!~1dZ{G{=)L}}L-D6V^;md%t(ctK@7|IH zu`_OkfKUcLDARsT{)@bhy+`RdTH|JPPT;b0(IsiHVQ^K0{|^x&W@NI_pa+Za5tx_- z#*L49VfvRnFJbr*4C*%r0oui>+`#Kz{y&UYNK`4<3=9V*mWWS3%j?)_^$@-%%|j1N z?y~0K^<7Y8u2f_rFmy}5BpF%qX`Iqdr2}mm)qWm*^~|KrDD z#h=D)lXme27tfTZ@_e9<7k`5lG!HiDKPu+jxy2C85 z2}c5%{Gy_j_OzgnFN1l1S*?cklt`x!T1jUD108aDMkgv~S1CFP#1e z0>-G096EIGgHZ0M2<-lDi)ksvXI3oJDoDL#men(?)65;C(_-m{c67&u3k~4ODtl;{ z{qkb2mzQZo%1eDPZ|+>ZsZ*w84Gl9jaea|!ReX}cX>W1(?%lg9;iWf5>9NK5ppHiN ziA##3I$?|v?S8hiOI*Ualyyt^@Zog(z7yi!^W544y*mrFFb!p!o>31k#>9jqSJ<@0 z`)oJV+-K-O8=@Uaei*p{#J#KQA+xh%2DXvPzk+HFdewsDw(Ty8py%e>l zn3fLudxB}jOo#mBK@}ZO(b&0L@Mo#1lcS@f4|0o(iwjTl{Rf{A96jk^z3TXW-V2Q- zX_;;DUmv#z9M!3q%^EG6M@GuwL6_gAJ)a3UeRqyB*^4>014As{GH?dJ?b)=*TnnHN zm_uCebMJ#*Z^z0>AvDjbt}_{g=Ri&l1m=XETzpwv6R zJsc5#8te|?4Xww3uj<-!CP1w00dA)EI;#E%4rIZkan_dS%pEttQ8j?0a^MIv8mdcE z<;cCVTscCPmd(x0!PKc!!OuVc41S&WD{ygf0q$$pf=wGYf}=-{f{1ew;9Ar*kR%X* z$B!R_ms!~$FE0T7W!Qw7mF#UF|(GMSY- zcb(!7JE*E6?RD0VDJv85mA=55ocI&Ieop_x^3o`h;$9gj`SFn>Pm>o<+43}aev@&& z`aJ4VR8l-&h*zE8; zX8%!2_y_$(ej@)7Rj8uMRg_spb*rdZ73D&T;)I5k@DGzx9Ck-_Y5J0)`&2f}9GI)` zQ{ii!>O{Fut-eQfuDnO}@$muv{{A2+Fz~Z`)!VmjSKptOm6cViYb~@!pfv*DR|KRd z=mvqTAtN#Wr&$IUHdPB~XjBbM$=7LR4fxW#GHGa#8ASPWzB(mgSbh0~UJOI3zU+@- zYH%!}pa%KUKdOEVYopF!sJD^Nrz6GihDM%#MZ|!^4>^1l)UK|sB9D(@G<9`!+b0hn zykmgqYvNbN09pCcf7JTF)Chd3<5F}|7}WS8uMjTyhmz74d;%Q7ChcF+u4F#!UCjn) z|00-D6G-|0*kAHLXG{4~qg6i?Hsnk1tqBn-8_tcOB$9372p~%k$3;WX%JG9l0>>k| z@M$x%pkcEv)Mo}W7iLKT9J-XkVM_&I5@sc6oWg>c4RiH41&vLJBx9U{#wKW75)u+3 z9h;!%=jhov@!Xu~+Dcm^&>Dg7KLWDHDQ!pz`3Nt(L_!nRU|ppuVMLv#LQ_$}RI2NA zObLk)bp{QiDU<3dNSrLM!a(BH^3n>q4pmE^_!0J`!f?#+dA+h)jh8OvLcBym;J--d zUXQO(kE{%3;dO+si|!2@X)2$pkeJFhaB2Gq-R``TaRmD&)n3trZ3;SqW!*!zU{8YkF=f)y7t@^5w~B-`kngOImiA?ORo?HceH_qcQnZogR^3Cw3MZ%4S7=`ZrLrM6CbPt#YqxH(d8<377avaZ%DMcb zSo`&uHy_vC6KiihpbC;-9rNerUbb@C6VJTP@V=Eu$Cs2oe8qF?ywlWZ6URJ78P=22 z-&tLmB=8%pN!vQVGdTB;)iiFh^N!cfY`Rv$08p`c%wGMt*jN+UE7ymle&~rhBmr9iH8*^>2p_D4n~7wdjUxg?;cHmm}|g z4Vba%m)I4Y9=SBWU%9QoZxX{hVTL+pC>q$)N5OxQDjtz;y{~NimFVbS-oAM=BP}gW zl(})Ef@E6KJ~-p+H)rRwaOzu0sO2~~?aTnAz7ietx7sLt_ADH}Wv)2!N=q*+_&C^- zT5c7`<4R1`9WZl_(Nv6mom((Q^f1pVjw`N+lF)Tnw2>znAh|Sqyl&tpRsEfk;Zaa_l$5^BDjTV^gbTBjL?9ak7#24nL>kcUv3WX7e zOg(c2VO{mYe0|!mua@jzY?`&1l{D4@B&d$k+4CZ_uh?Cm{_qhC6n1>_Yp`>(xy#b*NZd8)CB*o4x|&;jK~7Q)F8 zr*GdL$L+8;eK5O3BVi2v_Fva%yMwJ9)1F7KIeq{BRLHVZHH_8D&;gIT(^D+~TXhp> z6a&oP$lBruI6pDGufmEiYl|=7>|=Njhn4Lt#st7#vWcTj11a6b8?qfYOgGQy%9|GNscBXoH-3P9%qzd3GI8`Bad_9m`F8{& ziBXYYn)BktCuiH*zIXb&f62P*zT)93eLx1oc^1tp6nfL;NH%NYHUN%04n-O#cd)<# zSm@XvRmSf#hZUXkT5wWf((X;1cMK2)rv=);DYu4jB5pf4=c3Jc02I3ee8YPUI*U!iVV+l9>E~e5<28ZLjt8RTxzghJ9fIm&;-JnqgMgYQ7(ZpO7>W8YfI`;I7yZ;{i=W%l z6jo~jr7lCI`dD<%%U!|c5ph9)L1VAbJ2rX=jRWSp1Vu?ko>2kV?mrjji1W@H06Hh$ zJbzQWGb)CiVWaks?x-YCSXAZ?Li=-HighI!g1-vir0`C;>U!h}3}A3aGxtad%B9SQf z>Dge>g=c-rQnH)^LfgBu!N`TnCUWkE8qwI8l?83GI7Sm}{aIVfrZC43Ozd|@59`V6 zO2=s<)Kv`2ob^CJ!dxis%EZEU#3SAuI&L21Ll3C9tO@50qJC);fMKr%B}cfXg-*}? zB?dito^+0qbxg@2vs~+K5`$}yzdu*=#pqsPYIJ=0Nge%s4MPPi%+r$C3h|7!Yj96GK2PURnjl(XX?M`>Q9-)bi>{8Hv9N&A5e^n*_odAN4~t?@b4M&} z_vPNhpVFV*UXRW8GUBvd{?FU^9Fq#$6>&Xp%@TVY<1v@z2d{tf^eI!^?@(r}Bq{&O zTeHv-8v9yOS&6u-#}${K{JM#b@a`^qb#U_;mGfJHjls%y4(mkkl_XYddiso8K_Hj` z76d(r_ACCh%KS72jadN0NAq8JPLFWtbyUZ3Dn5pe>qkBiO?#A=ym-3$c>{ho8pq%E zWt!9Lk9k8*D*fEnQ56fjb#aA6@4DAP+fzt|Ih-IkHE!GAdC7s7b&@VmRGG^FJ$D5; zxgJT57(8_-KM26{q2jKfa@WY@h!u83gTeiXH7R+?BTgZ+>Tn}ve#q;+PBe1W6R?D~ zlnt~xA1qH!%1iDPfvhTEyPvt)&-pRJ!6^oI;D{Oct)so3q(c5r3U-V{U4ep4>1h1- zOgqOgB{FHivH1)~8-(FeGX^`X(P z{R-i=$g8k?{L7pik!I4_M<=G0AMsesz-M_069NZ2Rlqg|Z@p`UX(x4zRn*h&+RD4S z*z=KGag5n-JAj)wuViOJ-&2BvqjCheOG47%n|Xh$fE=NhP$!uX zbz`EGSS$5x;^$deS&7va?Y9#-*x401joomLdpqnfjdf!tAI^0@9Thc#t8{UKSMof! zgAN7xo`(Igg2(xt_r!B^9(08qi$3=!CWriP;&r$uI8^G%>eS}UxpSWevj;>KT)A-J zU%>{&HR}e3Gr+7icZcG>8zYSe4co(V9F8A2n(Xk)FCUzKuzX!)-jmm9(W`=jf(>cT z>JM(defRDsI9E+HCMjTLkL9-|a8jgrkD+~(b$)klNI(!^4WRb`Js5waq^F-5Hf-3b z>(|FfRNO`{F1?U6LC0%TnRwZ~0pO1rF^4ZIavt|_d<^IP!#U}XgyC(Bx7u0!-rF?A z>aOsiapBG-6~DRY+q4IN?Cb+v`<0$N zQmn(j8W$J0#HGa1O)1&TWk12`SbHqh;FwrACvMhz8$Xr-%`t#yV<=dXWXaYd`-kiD9Ra2zdr12i9?z(PATMf(wjVQ)>iTBhVUwuZaM>4`spZ2D1QW zNejye6Am+aP~G4O>NSR02y;vGn~EnNVsvcC095&o^iplLmZR2WW-UXECMv3*Y8Snln@JQ1Q0<|7{VV z#*-TF=G^wkHWd#Q@3(p1y8lz-NsTvk`&0SfTBqu#)~Wibc$<3rQ}KLjo$4>OPSxMi z{D(7k7sn|THGcuLg!;la!Y9N-ej-_-jiBGV|1Qoh z)#C#=1MIVX0c~^CM)-(i3BL(S@Q6A=<+Zo8?T_%LrKDE-h;XCrO>A?*4Tt+go_5rettTJ__$zs4TC&CHs$Xlh1=S zo%aZT<@qVEy`}r_w`*7Rwv%_wCw#AIJAbeKlg9$G&i7>B|BL=3pWxS&WZvsheJA@* zY;P*1_G#(+Kf(*YEG5lU?6T@qf2nn9pXTw~X^2b$b!pn@Z)$QQPZMhbxYo{r;cu zkBXOQr&4)x)b`ryvV2F!!uNXptIc0BU!L#Kf5-p2|BdN8iXHWQN{%}!Q}^eFs#ERA zsyDXpE!qF3@V%w_-&DT0ME{%8_m<{=Q~OT!AFiaTelAa(j~eQHN7X~bNgQ9KU(in?LR7`7&P`g z=$7DnmH%kXkB}OJW~w_POii7juW0R0bFP0uwr!f)Z?e6r7&OOzfP6P5V`4%A_;G6~m437g zHK31|wbEMSApIyfjFa@E;E=+&O2Y=fv?-;!Rn)ACa;qrZIEW9sODXIwrLen{q7QZA zkgp3VA5t?&3n1k}T1)!;KV`9DC-}_>_>X5>Q)>j8G6HbSgvQtr4LEkH>zEAL- zu>Tipq?^GH$FK1L;$*{&#+h}ES7XZ6dpkhfp#*mHe9qO?waK1Opl1N^KLV2D5mDc5 zK#qM=Vke&2Ae%(|5d8}L)%^*bO-&mEKlOQRL)XbMYQU`Vxdg7LUM6#!0j_2Y!Tu zSWAQEPosFFjLHZP;>p4)tF5{4lh?!`yo5gp4|&ZC!i?H#%4ENqV*f$*WUXHzFd`lq z6VWb@l4Y9;KU!}E632l& zKGEKk_{p|VnOM_~u*h1oj$~xvB-#)q>ujq1pRkFpQv??BHH+Z4bo>Y(S}%$+88f*| z_$RBax#N#8)wTwPz%P%I{c6npN1pv}ZEwY2d8bLNQR6O;M{cjJ+}QgM*?vRgNB0olD}IEX^8BsAo?lVpT;Do*o5?E6!Vb5C zTT40r$ihst$-(YeU+hSpyzdeE5v^~$sq$o9xB5xd(_ZI@T1YOll^Edw?;r#1S+Qyp$SeXkth;|bupq`0N{TphVzg9pHRYI z=s)rstD*{3RJn>WtEg@jHLIdrNKxFR@s!T)BE^*wXEaZX4KoL3;{W;JELdqxwMGD* zlhO4>2y;VSC(*SEuhlRVfO0ksXqSq=Rt(U#)Ng-(f4R?!>pQ+gx~hE2uPp|I@Ab7& zn>?YnzV@m2iS?}$xW0G$gdeq0YJ3R!Z}p$hL;XH9dXGx}4m7e)$dbzqWuJJLg}y~c ze5aQDPK#`lTy7})Kg#5HQbZd;iC8q0ee}+h&`r>q-lI08{hHp3%6kvmkoE~( zHGPv0#e|R}mm4bngl>7?#3S1zmmAtXfrCnsO>!pq-)f(%vp(fk`<36jYKZs~u_VWz z+(wjT(dM*IUK`t(*MC`llWoHogf^x9`r1a=i0wr9Lf+Q3m5DxxevR#hvj4TVW!WeD zRG0F%*siiK9e*P|b+Jd5`BvLi_R+l$F<$>#>W6fFZG!gEJ&-gGUxCH(YwiAj>?eI} z0Dns1YB0D2jM=~$=`@3x3$vsEKJh4kYuQTCI<~5Wo>Q=3X2VQ8r{K_GrIAv7_a`b0 z)SrCJ)l^2Z^7_~1Tv}UyVjN0Pq!ZyGXl?z8?`g{#S0g<&^(W5(MfR!xv!J&Ag#Tph z1a5-XWS{6SYkq2d`V)Gnv@ZC`u_kPyHX_#rKiMwP57DY~`4`VikWR!W_an+gf1)px vHI}#k5wcVo5)y*8y8vc3wJ)k8`?X}$7ah_Kn$R;(zCt~-GL&alJ}>=0A=}t% literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_interface/.template.config/Interface.png b/src/Templates/working/content/i_interface/.template.config/Interface.png new file mode 100644 index 0000000000000000000000000000000000000000..eee64c55b5939e50b157fb3b442148292316fcc0 GIT binary patch literal 4210 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 + /// The Interface interface. + /// + INTERFACE Interface + + + END INTERFACE +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/i_internal/.template.config/template.json b/src/Templates/working/content/i_internal/.template.config/template.json new file mode 100644 index 0000000000..e27a7b82b8 --- /dev/null +++ b/src/Templates/working/content/i_internal/.template.config/template.json @@ -0,0 +1,16 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.Settings.Internal", + "Name": "Settings Internal", + "Description": "A hidden settings file", + "SourceName": "Settings Internal", + "ShortName": "xsinternali", + "Tags": { + "language": "X#", + "type": "item" + }, + "PreferNameDirectory": true, + "DefaultName": "Settings.settings" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_internal/Resource.resX b/src/Templates/working/content/i_internal/Resource.resX new file mode 100644 index 0000000000..4fdb1b6aff --- /dev/null +++ b/src/Templates/working/content/i_internal/Resource.resX @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/Templates/working/content/i_internal/Settings.settings b/src/Templates/working/content/i_internal/Settings.settings new file mode 100644 index 0000000000..049245f401 --- /dev/null +++ b/src/Templates/working/content/i_internal/Settings.settings @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Templates/working/content/i_nativeresource/.template.config/Rc.PNG b/src/Templates/working/content/i_nativeresource/.template.config/Rc.PNG new file mode 100644 index 0000000000000000000000000000000000000000..32374afe2a9da56d98a5b6facd737dad19c6732b GIT binary patch literal 2441 zcmZ`)2|SzG7Ee32+Co!1@yd+O)Dmrq4s9(Z_}OZ!ik4D7Yx-G=*lMb^REp_F?KRp7 zCBlepB(%lTCrB+RVvj*Bp;4tmna}HVUZ?NZ@Atd++;i^v?)l$y&vNsOt+|-6yf6#~ z6SK51b$}>&cL)hUGvQ8pI7Ie@IhdQkD!LWtAcoJ^*v1$JtI81B^5lp3eZdy4VKA6@ z%kJ3I4wiVsV1i?orp8Wqcg`s2=j@~Slz(s@ViVg85aqa?_cFU((Ai@k8mv?|GH?g zvOBJz@hzUQoVP64I@>UkzRnn+yJj#NbUKVB_y9hqai5t;BSm)NxmJ;?6d5l`RI7@6 ziWyacfIleBHPL`J#xj$^oW?O;_qbC0(0qs}94=@VA=Rb9`ekOE`Sj^e%n(AGS7n8E z5YWR~K|9;oWiUgMladnBt``H+IGp+201&Lxzg%=iXiR+@0D5#+kCnxq0>eitDk>(b zC*>feStEBHJv}$20do=g!q07g0jg}Ct5yFYPwu{pn_D1eT1Qtm$37}NJRERxKYjW- zB=+zCG1Cnr1Jg(9Pv~V0bWYQPqcSd>L$&!YA~AP@S+K9%@uQt6H{@DP%=^SbgDz3# z>Q?yh&`D9J)W03^1sM9UaBkD9GC54I!P!k7k6KBo$R;Kp0|HrZ;Bzg3r4_;RjPrmqs924 zBy~y11U(_MA2TDuRkNVunse+=WS+z~{MWce;6f-m)f@!DCx%@&^^8{ywU_ZH3c|+2 z86$p}IWy|MzR}T>96S1E=u|*kYHfevX#}{JGeRA_b-4Ocd%E@38*}Qu{@B?(d72Wi z(eiFa+JI5(K1E5x=(BAq-z^Lb1jYDY%l^>Z2+BDwUygGkMPGIXo-^|b%IU&xRp%(b zhh4akkF5_bVotr_EqT&}BO|uTatUaq~SgW`=8n!mb^{~re(-xa<)Qddop&k^oz9iON zXb3{NJ3LJCKoMm!M_VGqk;i4J;ge=)$0zSHF4x3H1+rCv_28sAKV{yVwVfMfoQBxD zy>-ny+XeI696LF7+Or)q1xzbfWz4@aP4`yHlrdGR$UFYp482S6y3ktLlL@(ACw|uM=XQQAA(M#+0%yrDqpt<_gAw(i zG@HLh0#%ZTH`Z(w2{`C}MueMyO_Awe@kz#AxpI%k<9Q#ova%}P+KSEYe9!lUqpMnI zR5J?vG0SF+Z9OO?1jf9*bcz!@`J6wy^H=L^uQ>Uv=Ci}T8!H0=n;IThL7d&jN=#r( zN0!@!T2Qda$PKYPq(DvZ5bQH!CST%cV0kJakxiDFpIq{hJ{0P)6METI17oWGYgh8g fG40LMr}#dq?9Q?(E6QqS@p=}&{gl4Te^UDs;pL&t literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_nativeresource/.template.config/template.json b/src/Templates/working/content/i_nativeresource/.template.config/template.json new file mode 100644 index 0000000000..4a31d585e9 --- /dev/null +++ b/src/Templates/working/content/i_nativeresource/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.NativeResource", + "Name": "Native Resource File (.rc)", + "Description": "A file in which native resources can be defined", + "SourceName": "NativeResources1", + "ShortName": "xsnativeresourcei", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Rc.PNG", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "NativeResources1.rc" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_nativeresource/NativeResources1.rc b/src/Templates/working/content/i_nativeresource/NativeResources1.rc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/Templates/working/content/i_page/.template.config/WPFPage.png b/src/Templates/working/content/i_page/.template.config/WPFPage.png new file mode 100644 index 0000000000000000000000000000000000000000..e24a84a72cf6e3e100e797b5a0e688ac4354eff7 GIT binary patch literal 2285 zcmds3YgAL&89nzVN>B&{#X)%lF9K2(kddcGf(CggNpwU-!Vrd03p(-$XnB}i92>|W z51(-WO{PxmI9eW3z{l8R44Od;5tRZB8Zro|5eXn6kPv!UU8}48)&Ko**SULtdw=JC z`>uP|6|tF7wu@FQ0sz>?L^E~)fWTV>kQTy)ll{ZNdBoclwFT66xV(jccqk$+0)U2! z#paX+5L;(PC-49ux6WV4g*9Yn07xfe7!kXF_xVU)__?LZ<#KHzx}b7jq)+gjPXo62 zc(8LMKT{t|w3yYG%)xB>HO}LtrA&8r_7!15R;KBYB}bJrW!e<~BFOq-`$vW+;}su{{ZKvRFcu>a?Ln@@pl^3-r7= z4x}#COpX6&hsW7hPbBZ@LNdo=-hZ84#dod@VMtG>6Z%h0tSi7|zajK9c;)xc?9D|o zPu_Xt)~2L^s#R#-?#T$LE%RMz_i;agYxj}Y?IY?#0|6VU%l3P30emN+Wh$$k$&fO; zh*G&e+;!ocY@ljU3H?O=eXB~}Nn61IA#Xf|b8z^IJRqLvKG9}s)0y){^rZZIXtZKZ zl@<3#hSV*-kMK**vp#Lc=>pWG^8%id_|;KFLz8JczC&dRFRR$_=tpHUavAkM}z_h)1fp4G1$db^H8>8S*4M@r8{z;>ndlmoUW zrDxkj27&B+pzGy8@=?u+a9^MPu9p*21KDSSTQUT0ZkEaEjOj>0=~G7#&+}wMCylZ? z3jFpY>HJEtVJmTb38=!*JZsQSDJmr5ULv|1N^fLvX^1opt1kynH&OO6!JCt$wH_d6 zD{*KExQn3^B=C|_^p=SGisTzmdJCgJ43QqjGQR~+X_OEaAVmyiv(v*JocbgbMZwoUQ0#$I=6WC92>>WK*8RRE)ZDfmq8_iwv7(B!dFo5{}~JF_esSh5?H%on=}mtMb?1m1?(>Y zI``k8M{BY0IUiC-Mj5id7EGsbe8-=R+#6MTBKPkWz>4qqkYS`T>&`F!0;+P*mxKI= z_rDtbzk!}wu1WuO8YvdM^f0x(1sogc5!u>`uJ3D)OtwKMl^9vTt9_3^|xN&cI zR5^%c9Mx=g7MI#gOl5IC{NarwuGL7^Aih4!fFjwB(qDtY9+MP=+2#fbKT3aM0)cDP zd83=ouLDAvD<@uikZ3!1hP0z)a%@Qv|FVtz?+U>xw0k7i%#gAw(E4sY zRV2?VpoUZ4sP-Z~1;z?Sf5ZNA3F+gY3cLs~M`8NNuaqp}%$N^on(y?Y06Ohh>8|{7 zd&D<%+Lula4f?#z?)G0W<$8Oh!^Z(ABw`Xf)&S=TVBik77RvQvPxSRg7>K|bqcaoW zfGv=?6$S|^Mkg0*Rlll`-RsRoGCTL{A#y+AoVsq{ZsOsJq%MtBrs$9*YhOQ0V2$N&N*F2w?&I|opU??PPvHHu};pse1(BWOcMv%zhemdtyt^ARsu)s0-&g3}qo#v79THIaKz6fS`OPD&LxXn2* z%0j%(C8H&DXB$C+q9I0XX_pzot8(q=#CHdcPgWGmO1IBl?F~jErA(phW}hNiF(?Sw z2t=e85B1_ex9Zv}(-r10{VQ`=<^^Hu_<&w7Q3;;ZU0j35Bhkk+coBg;rsqYhQ%Kh4 zTkF~7w&znlqEd}*DY?J_9-Z2Zy>Ti_%tf#YtG89Kn7wFa2|Yn5`>Kg%@=hQ?upELw zvfwNY?)mzFQN2f}_l}%bxd|m_ubjVmuB;_|n426JZt|AYg7h-HU1w~%Y0$DPh1Tpu z;*nQ=F0$tD6Vg+R=juKnFC38SsrAY_+dtb_IWslP=uRQfzN4$06TQSdB z^&YGWiWSs6zqD+Ddqc{Mmh-471c=I>ZyxqSlm7%w + + + + + diff --git a/src/Templates/working/content/wpfapp/MainWindow.xaml.prg b/src/Templates/working/content/i_page/Page1.xaml.prg similarity index 51% rename from src/Templates/working/content/wpfapp/MainWindow.xaml.prg rename to src/Templates/working/content/i_page/Page1.xaml.prg index 016df9ab94..72080a1a7d 100644 --- a/src/Templates/working/content/wpfapp/MainWindow.xaml.prg +++ b/src/Templates/working/content/i_page/Page1.xaml.prg @@ -1,4 +1,8 @@ -using System.Text +using System +using System.Collections.Generic +using System.Linq +using System.Text +using System.Threading.Tasks using System.Windows using System.Windows.Controls using System.Windows.Data @@ -9,18 +13,17 @@ using System.Windows.Media.Imaging using System.Windows.Navigation using System.Windows.Shapes -BEGIN NAMESPACE XSharp.WpfCore +begin namespace Company.Namespace1 /// - /// Interaction logic for MainWindow.xaml + /// Interaction logic for Page1.xaml /// - PUBLIC PARTIAL CLASS MainWindow INHERIT Window - - PUBLIC CONSTRUCTOR() - + public partial class Page1 INHERIT Page + + public CONSTRUCTOR() STRICT //Page1() InitializeComponent() - END CONSTRUCTOR - - END CLASS + RETURN + -END NAMESPACE \ No newline at end of file + end class +End NameSpace diff --git a/src/Templates/working/content/i_pagefunction/.template.config/WPFPageFunction.png b/src/Templates/working/content/i_pagefunction/.template.config/WPFPageFunction.png new file mode 100644 index 0000000000000000000000000000000000000000..7611b146686678d0d9e71f0e41b7c87b2ac7e398 GIT binary patch literal 4333 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 Lc-Y~I9Wm)YDbv!f literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_pagefunction/.template.config/template.json b/src/Templates/working/content/i_pagefunction/.template.config/template.json new file mode 100644 index 0000000000..612704f236 --- /dev/null +++ b/src/Templates/working/content/i_pagefunction/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.WPF.PageFunction", + "Name": "Page Function (WPF)", + "Description": "Windows Presentation Foundation page function", + "SourceName": "PageFunction1", + "ShortName": "xspagefunctioni", + "Tags": { + "language": "X#", + "type": "item", + "icon": "WPFPageFunction.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "PageFunction1.xaml" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_pagefunction/PageFunction1.xaml b/src/Templates/working/content/i_pagefunction/PageFunction1.xaml new file mode 100644 index 0000000000..2b28d23ab4 --- /dev/null +++ b/src/Templates/working/content/i_pagefunction/PageFunction1.xaml @@ -0,0 +1,16 @@ + + + + + diff --git a/src/Templates/working/content/i_pagefunction/PageFunction1.xaml.prg b/src/Templates/working/content/i_pagefunction/PageFunction1.xaml.prg new file mode 100644 index 0000000000..16bf6621a6 --- /dev/null +++ b/src/Templates/working/content/i_pagefunction/PageFunction1.xaml.prg @@ -0,0 +1,27 @@ +using System +using System.Collections.Generic +using System.Linq +using System.Text +using System.Threading.Tasks +using System.Windows +using System.Windows.Controls +using System.Windows.Data +using System.Windows.Documents +using System.Windows.Input +using System.Windows.Media +using System.Windows.Media.Imaging +using System.Windows.Navigation +using System.Windows.Shapes + +begin namespace Company.Namespace1 + + /// + /// Interaction logic for Page Function (WPF).xaml + /// + public partial class Page Function (WPF) inherit PageFunction + + public constructor() STRICT + SELF:InitializeComponent() + return + end class +end namespace diff --git a/src/Templates/working/content/i_resource/.template.config/Resource.PNG b/src/Templates/working/content/i_resource/.template.config/Resource.PNG new file mode 100644 index 0000000000000000000000000000000000000000..5f46306a2fd342871346b666744af469e50cccd1 GIT binary patch literal 3457 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 WW5hkH>=S-12wX91N8Ik8I{pjmue0U= literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_resource/.template.config/template.json b/src/Templates/working/content/i_resource/.template.config/template.json new file mode 100644 index 0000000000..02a1ae9397 --- /dev/null +++ b/src/Templates/working/content/i_resource/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.Resource", + "Name": "Managed resource file (.resx)", + "Description": "A file to store managed resources", + "SourceName": "Resource1", + "ShortName": "xsresourcei", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Resource.PNG", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "Resource1.resx" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_resource/Resource1.resX b/src/Templates/working/content/i_resource/Resource1.resX new file mode 100644 index 0000000000..4fdb1b6aff --- /dev/null +++ b/src/Templates/working/content/i_resource/Resource1.resX @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/Templates/working/content/i_resourcedictionary/.template.config/WPFResourceDictionary.png b/src/Templates/working/content/i_resourcedictionary/.template.config/WPFResourceDictionary.png new file mode 100644 index 0000000000000000000000000000000000000000..82528357addb17b164645a7fff48dbd9f3a2caf5 GIT binary patch literal 2361 zcmeHJX;f258m;$uLZVp+w6aBsw4#j*Ahaw3iHZV(0@@l;Hu2DaG>eU_N(iD;sLeY!15lN}NPB1j zim{2_K}i4*8ov$b(i(yV0GM_k&&@xjg^ozwdE`zr(S&sWxlgB_W6E>&On!_hp)ZE| zT3E>XGJBQ7r>*@C!LJZxW3gjH!4^g?$NKkx^Nxh4DTkg^)n4gyUlZo5icFnuYjYV; z&xyXanKyT|x#>7pq;&^MIh?!9Vn%^wHWLA`F~Il%%DuXHxUzGYoqj$KuTc&QoEJ51 zvsmxC9-%N_ZB8WrIdrX0w2}s5!hLaZw`8X?Ff__xgLl0uUjTO{bMXuvLb=Cdb@w(= zK!dx+M)%b<(-_o8jvqGqm%JUs6#d8R-+(49IkNQg{UK7c^f4kApnw^<6*>0(j0;8Br>PK^ zBp2e8JjIzk`)7yBwfzkrKe>d;C?M8`meo-kXT)6FaO z*imJXG84$Sy=LsHRx>apal*|T1hRzt;D9PeGTTr)>7>5(`36<;;w{I2(q@q{Q@_mN zr1JI^I$Js2d^%yNw72e#R)0_S)WtX?9WuU%ui+Xadaj&nj{>(|QD;eTZRoi*D0rCF1HULQjKLASA#iS)7^>qdtiG>HQoJ0N-KkegM&7wiV<_ZmJ6dzZM?__aIN{yJTx=e-qp#MJq9@#VQ zWl;7<)}g7V3A)7DVc`jl?dmO{_Dy0U8Q-l63=Q$b>xk~?Yx7GUsKsLbtFBfv%yRzv z;O_u1&S?Ou->bo55 zAxe-NEbbM$y19M0V{Zb5$5vs;vs>4hj$H$3CX}0})qB(Sv4kG&AcEcR7jCMh5{P5* z9sBbfz||i+uQ28Oi@+`hDVgrv3B0XyMdQbB)~G9r!M(kXuv(>9mer3iCwFWYX|#Al za5Xs*DVeR=3TmGZVsOIsb^QZxgd|uL`E0xBAOlYVmG|k0f=9*Q`dr9tQri-i60S{* zS;*9Ty0g@SeboHKDVev8y$?+1V_b~6r+nb>nSqxXh+x*1p9auFlwcEcu0eL%Rzv8S z%@QCM-Z8f-*fpe5uhMN;^3w`bi_ng|>uf-`B$J@&qX7Vy#qnf@oFkxhW@GN12}GGV zL#VPk6=e>3GI?JY1F_7S)VskziXdGN=|FJd&*m!@Mej8@8qyUp^Qfi57m%WVlMlFF zAA@peQXKV(^Pn{s^QL*cn)e%AkV6Z>Q8muaAQ$tdVZ54e1$ldh2eC@+^A=D@*^#D< zXEx?cPvmptjEm<4SYc&H6ifcF#?q|d*Bi7K?Sg<2shA}%zv!cfN}+idtcfUx=Izjg zf}7f)5rUw9=Od!FM7PmBRX-pWLCShYqGr02A8XwOd4JAh z%4M?PZppYR%KhsbK`nbKBh$gwC`Uf_x;+XUB%Dh7I>{JW%4~#4r!%EBfsi-ZbgnvI zN_m$qbQ~{)6~BT4RKT6r`j*Z(>~IU z;V1tIr<(21 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_resourcedictionary/.template.config/template.json b/src/Templates/working/content/i_resourcedictionary/.template.config/template.json new file mode 100644 index 0000000000..b0543caa3b --- /dev/null +++ b/src/Templates/working/content/i_resourcedictionary/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.WPF.ResourceDictionary", + "Name": "Resource Dictionary (WPF)", + "Description": "XAML Resource Dictionary", + "SourceName": "ResourceDictionary1", + "ShortName": "xsresourcedictionaryi", + "Tags": { + "language": "X#", + "type": "item", + "icon": "WPFResourceDictionary.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ResourceDictionary1.xaml" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_resourcedictionary/ResourceDictionary1.xaml b/src/Templates/working/content/i_resourcedictionary/ResourceDictionary1.xaml new file mode 100644 index 0000000000..21a9970b46 --- /dev/null +++ b/src/Templates/working/content/i_resourcedictionary/ResourceDictionary1.xaml @@ -0,0 +1,5 @@ + + + diff --git a/src/Templates/working/content/i_structure/.template.config/Structure.png b/src/Templates/working/content/i_structure/.template.config/Structure.png new file mode 100644 index 0000000000000000000000000000000000000000..8428f17c4973909029f2c00e2227f61729e68137 GIT binary patch literal 1288 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucHKLv_jv*CsZ|@$=o?R+&;N$kUUdL^GL=HZ5 z;9fhUsp7*1&THosqqHZ>uIXCMF>g=R7Inup?EHNH8Mm&D3%l_4!p+XvrQ%;LVh^wI z2xMpes?^oAZt9eHJ*U}w@`XOxoqb+>^7E5f`ihl@e|v-6i4$xv|GM<}Bfq)wC%3Wj zE$5wedHc`oZx5f8XKF9mT9K}2V^jKR>*>tqm}%$tSOJ9WD_g@Qh z{vGMv@@|#At&=Cu8-Hi#N2)p>g{D<-dhcnux^Xq{>GWssyp(P8vZ}sSNl8c9eLq%U zX1{gfwb;t%2!*O~hlKPKJEw0r;vIpcABXVOoze#OGpkK|zwB5!dGq@v8yDJ`Cs?iS z2`c<->hH5;v+4}xqVs09#f`eyj^Y4mv7zQe(lVfJ(E(S z%a`%a+Pw9v`?t#%UM_mb1c`{st^YoM=+^cRzZQOe*;?&YiyymhYE|FwsolHh!_A1N z?cU*+uZdor`0@GX{q^yurp?)MqFh1`xcLJ*QYify}uKvKb`gQfw-&gf7-MFmOy8G>cM(aygCKO9^03!wxLZxrA zoJ+r4d}*@HH}&tOnI>jSe_f4vD4+PPYfpH`uD`oN-`BnfFspy$7FB+AXT^KVOJBAh zTgH3OC@gaSjW192KR&BHY-u;~@8{=HQMZ?E`uJ5pGe^UJkDZwSB=&K{9&X`Vo71OW z-N9)5Ap04cPgNs034v8Vy>$Qnmy<7cKDuj{Yt!-S#Kzs1Z(LrL{CNBFjbBzR?)OQ5 zZ-4d6#ekpss%O{uO!<4|rmruD6wN7pq^vq*UO zZov^oabN`haQ!31rgMkQOQPUnL3Y${)>STy+}k}>xpqtia{vGQa%K79n`vbRxpxgq zK3C1-|7H7rCO7-$gJ&OZDRsZUZ~vx#x!u#uux7>unvvh+BVzqNF5a^897u(ytDnm{ zr-Y_^E7md!zdLwKrl7T8an?t-T<#eK-CGSGbUk#t`ndO&kio-g*OxV9w@6>@Hjnz9 zV!3CN{gTTiIz06rm5b~@`@NIl(tk3obQa(By=w9@zunZa+Kwa`&~@T|@{hcw4Zf#- HBfA3t@y$|m literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_structure/.template.config/template.json b/src/Templates/working/content/i_structure/.template.config/template.json new file mode 100644 index 0000000000..d3b2a0666e --- /dev/null +++ b/src/Templates/working/content/i_structure/.template.config/template.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.Structure", + "Name": "Structure", + "Description": "An empty structure definition", + "SourceName": "Structure1", + "ShortName": "xsstructurei", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Structure.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "Structure1.prg", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and structure.", + "datatype": "string", + "replaces": "Structure1", + "fileRename": "Structure1", + "defaultValue": "Structure1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/i_structure/Structure1.prg b/src/Templates/working/content/i_structure/Structure1.prg new file mode 100644 index 0000000000..69b7859214 --- /dev/null +++ b/src/Templates/working/content/i_structure/Structure1.prg @@ -0,0 +1,19 @@ + + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + +BEGIN NAMESPACE Company.Namespace1 + + /// + /// The Structure1 structure. + /// + STRUCTURE Structure1 + + CONSTRUCTOR() + RETURN + + END STRUCTURE +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/i_t4/.template.config/TextTemplate.png b/src/Templates/working/content/i_t4/.template.config/TextTemplate.png new file mode 100644 index 0000000000000000000000000000000000000000..9c63993d3503276121bb9e3e4e18f50821edab2f GIT binary patch literal 2298 zcmcgsYgAI{8U{=>4K>R+1>VcDyjFumm_i!m1+|;Y@|yQj6vafxOHRj>3azX#Mbxat zIE`|=WEN; z&e;j((ms53elgdeR7b>KuxCuMuxXs^ganShFNLwF%Qp|^Tl_t`KauuV`ckDGy#pn- zIk{O!eC1ZhdIanAFgI{PS;z7)jThi`_QQ%FLM85mj5Wp70mo5@RWS0R z53sG*#{hIea&zFJAl(=+Dp2kWm2?`vJJ!~5$xCSg>_;i|im6wtu^Lvv5q2CvPL!^7 zkhgCX0Oy%W8v*)IN~=UgU8IhW^!N7<{=sOss>+4M))IHSYhBr|i#JMgZK}0q;z=aZ z>wIQJ%8A(?gaCT_{&0Cy?LdhIvP*Ii5D9E# z_Q;fIA?6cE4vqT-tGGtTS%_V|Zjp=32jUz}!JkK=Vp2;gE>k z%*9BIiUJ?i)!}Sb__edLsM$}PXK|OIa-G=wLI2oZlQG-*@WbP}$ldw=Zo_v=Cnays zpbq3xHSYvHqLI121RexP-&hj-aQ(#D$^xo01F-no`&JWC<;F9)^!26p)_g&DjhzT- zU&Av}-7O^=aM&;HL^ekL(Q%hI$7nOr3TE`9VInW^LMeX|h5&bUr8Lt5CEf;!ScSIJ z__W|@&3c{OAJy4YX%B4I7E6yl=`3xCN-Bi&JxD^R*_jUAfWN>mGgA%bVq7AQJN9k^ z{>z|4?nJj*eCSUyW$T+QV=Bc)QtdUDSK7^48F{7mHj9y90l{ee4X*_oc!$IJkTY%n zVm|I7U&__lw}d|FGbx8eR>!>tU8hscFZ~7G53|A3MU1Qc+i}7_XMMav1Zk2+S@F!; z(mX0;8)+Vu5Z2b5WFlEz(QFwIzK-p4fmJ%v?wu&r&fTSOmHhN=5q`q@?koKUu-2-~sFl}xBV&`tDT=#IDCl&l)~(L{`( zAtKpawWgfJ@DF19h_oavSE)lOs`gB?OHItyBvXFoN#bZSUookKe@H{-{jS{Ff;ybi zw4b8-m6zCV?l~Yc4N<2SzSp?*U{V=9mxH$NiMCyXPUP>LsCY*qhZMFy-zuh*Wlb%? zBSbd`_e2=&JaQJ3yDpj-!qu17+OoMW5oNsp3A{DO;Yp%GSQ3A z49(P*t|Cxb*2E-!&eBypx;I0Rg30?8U%vqwXw59HYpC|K^-cTML>1Xz9 zU$JNJf=GL1$a?0UvbAP_vkQbGSWds;cpOMC!kb(#>(}-*C5|3b7YoA{H;uH#)Rm*` zpJIl^ZBYOdwG}jV6V=BT!^Qg3G54mG$)5_XYs|Vt_637v46#dwHfB#ym<59{YNxEV zSwaaJQ-aZpFm`F(6PZS$%8)&uq*}%1CaLy*7qj*><`0t7cM!|RDIr*(kcr=%loyFE zW0VkLcDt;Vx$mj0mbsL(A`JnYr&nZ7)Gk?V@z`=EczMqLr_1Y$o~t>uPaaJ;x_tiI Gcky35QcPa} literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_t4/.template.config/template.json b/src/Templates/working/content/i_t4/.template.config/template.json new file mode 100644 index 0000000000..c9b08cf90d --- /dev/null +++ b/src/Templates/working/content/i_t4/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.T4", + "Name": "Text Template", + "Description": "A template for the T4 text template transformation system", + "SourceName": "TextTemplate1", + "ShortName": "xst4i", + "Tags": { + "language": "X#", + "type": "item", + "icon": "TextTemplate.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "TextTemplate1.tt" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_t4/TextTemplate1.tt b/src/Templates/working/content/i_t4/TextTemplate1.tt new file mode 100644 index 0000000000000000000000000000000000000000..419ea82750d9cfc3716c2f2acf5034c2ed20cebb GIT binary patch literal 530 zcmb`E%?^S<420)w;yVzy`vhuCJb3Y@FMxkY0t>>D=*z2L5fh9Y30bz8wlmZ2>p54X zl>&L4m8(>yxQzpyKn`k@XrWLS@JuyWNcB|(vFDT^N2TOb?*B^Tb8s}=3AI+SM$=d# zEj86dUk@>SrjVnX=|P2~EAP5?Af{>g861Tw;vt^2oy79K$6;P$JbpaXiy67T*EcMOSPcLG literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_textfile/.template.config/Textfile.png b/src/Templates/working/content/i_textfile/.template.config/Textfile.png new file mode 100644 index 0000000000000000000000000000000000000000..ebf92a52761fa809fc73fa47b3a97dd483ff9102 GIT binary patch literal 1267 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucHPW6gjv*CsZ|~Y?r-aHJe`wLtuuCW+@?-u9 z5wVFG3zu9>la|)z)@Au98nN>?-`Z?Kv>XIxuzsJCT>7`JJ~Q?2pEAjnPfjhB z7QcS&+P)h=pl|YF96K5~7}sr`29dhqY}R=J`6K0DrC zxZ1FK?v#StOS>7vEf-FmI<@%k_V>F(-J%v{Gk!m{F|fM2`uV9zVwIVXcium}NqE%} z@9I*`gpcPItYgu+CwaBC;i&cDOU&y&y(-SkeEIO|cfCI$$9DgEcJ?lJ>PbVJ-~W=Y zpWY<6^1V~V6V-2m5qth<8YX-!a*sOj=xP2WCNcg0lY}-@{PgE!?4JJr>bHiYrzhT$ z*-)`_^)@!0xW1*mK;h)V1BtHs*tanCrp3pgs|f}b8+D}B<5opQ z+W+^AH1pdNVt()6Y8`3SxTMbM5sy@-RdkAOwSWKT&!0yR6Tg1DqPsUPKixv6F8-LZ z>0bN%+}ZiD^(pD;&!Z%zCyTx3=C}EGY@ZfP%vmM)Zep#rOuXmSid)@-A^kLq#W&H{s0FhwnW6 z^g(g9clrF&hYc7}T#M6YRG(dXCs+6BpL_iORXrv-?~n7(m*;E0KlP(W-T|A1&CSj2 zrzUY-s@sn{Oy0hZ7U$<*y{an^LB{Wt2I)3fiwZ~uh zcNE{WUwJ{+|FEr%&7ZoOWp%wrqXj=C&2rr_)$Q?Gj*5+EwC;F4{usuxMnR|1JG;cDjCliO<*Y)@A$VFhVT592xaX`qnW94z}H=3y>`X04QT+aR2}S literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_textfile/.template.config/template.json b/src/Templates/working/content/i_textfile/.template.config/template.json new file mode 100644 index 0000000000..7bb178333c --- /dev/null +++ b/src/Templates/working/content/i_textfile/.template.config/template.json @@ -0,0 +1,18 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.TextFile", + "Name": "TextFile", + "Description": "An empty text file", + "SourceName": "TextFile1", + "ShortName": "xstextfilei", + "Tags": { + "language": "X#", + "type": "item", + "icon": "Textfile.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "TextFile1.txt" +} \ No newline at end of file diff --git a/src/Templates/working/content/i_textfile/TextFile1.txt b/src/Templates/working/content/i_textfile/TextFile1.txt new file mode 100644 index 0000000000..5f282702bb --- /dev/null +++ b/src/Templates/working/content/i_textfile/TextFile1.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/Templates/working/content/i_usercontrol/.template.config/UserControl.png b/src/Templates/working/content/i_usercontrol/.template.config/UserControl.png new file mode 100644 index 0000000000000000000000000000000000000000..0186cab412ac279a08f40e65e173f67259236114 GIT binary patch literal 4217 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 l_emFje_;1H`;IrJRL-SL^J6|$8f|ee{LP + /// Required designer variable. + /// + private instance components := null as System.ComponentModel.IContainer + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override method Dispose( disposing as logic ) as void strict + IF disposing .AND. components != null + components:Dispose() + endif + super:Dispose( disposing ) + return + end method + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private method InitializeComponent() as void strict + self:components := System.ComponentModel.Container{} + self:AutoScaleMode := System.Windows.Forms.AutoScaleMode.Font + self:Text := "UserControl" + return + end method + end class +end namespace diff --git a/src/Templates/working/content/i_usercontrol/UserControl1.prg b/src/Templates/working/content/i_usercontrol/UserControl1.prg new file mode 100644 index 0000000000..0786c19988 --- /dev/null +++ b/src/Templates/working/content/i_usercontrol/UserControl1.prg @@ -0,0 +1,24 @@ +using System +using System.Collections.Generic +using System.ComponentModel +using System.Data +using System.Drawing +using System.Linq + +using System.Text +using System.Threading.Tasks + +using System.Windows.Forms + +begin namespace Company.Namespace1 + + partial class UserControl1 inherit System.Windows.Forms.UserControl + + public constructor() strict + SELF:InitializeComponent() + return + end constructor + + + end class +end namespace diff --git a/src/Templates/working/content/i_usercontrolwpf/.template.config/WPFUserControl.png b/src/Templates/working/content/i_usercontrolwpf/.template.config/WPFUserControl.png new file mode 100644 index 0000000000000000000000000000000000000000..3697bf774fd3786ebdf4320599d8c90d665ced52 GIT binary patch literal 2891 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 JuiA&5`xn%cxC;OP literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_usercontrolwpf/.template.config/template.json b/src/Templates/working/content/i_usercontrolwpf/.template.config/template.json new file mode 100644 index 0000000000..5e614c04a2 --- /dev/null +++ b/src/Templates/working/content/i_usercontrolwpf/.template.config/template.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.WPF.UserControl", + "Name": "UserControl (WPF)", + "Description": "Windows Presentation Foundation user control", + "SourceName": "UserControl1", + "ShortName": "xsusercontroli", + "Tags": { + "language": "X#", + "type": "item", + "icon": "WPFUserControl.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "UserControl1.xaml", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and class.", + "datatype": "string", + "replaces": "UserControl1", + "fileRename": "UserControl1", + "defaultValue": "UserControl1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/wpfctrl/UserControl1.xaml b/src/Templates/working/content/i_usercontrolwpf/UserControl1.xaml similarity index 69% rename from src/Templates/working/content/wpfctrl/UserControl1.xaml rename to src/Templates/working/content/i_usercontrolwpf/UserControl1.xaml index a45cb35aa5..992695bca3 100644 --- a/src/Templates/working/content/wpfctrl/UserControl1.xaml +++ b/src/Templates/working/content/i_usercontrolwpf/UserControl1.xaml @@ -1,11 +1,11 @@ - + d:DesignHeight="300" d:DesignWidth="300"> diff --git a/src/Templates/working/content/i_usercontrolwpf/UserControl1.xaml.prg b/src/Templates/working/content/i_usercontrolwpf/UserControl1.xaml.prg new file mode 100644 index 0000000000..9c87439b5c --- /dev/null +++ b/src/Templates/working/content/i_usercontrolwpf/UserControl1.xaml.prg @@ -0,0 +1,29 @@ +using System +using System.Collections.Generic +using System.Linq +using System.Text +using System.Threading.Tasks +using System.Windows +using System.Windows.Controls +using System.Windows.Data +using System.Windows.Documents +using System.Windows.Input +using System.Windows.Media +using System.Windows.Media.Imaging +using System.Windows.Navigation +using System.Windows.Shapes + +begin namespace Company.Namespace1 + + /// + /// Interaction logic for UserControl1.xaml + /// + public partial class UserControl1 INHERIT UserControl + + public CONSTRUCTOR() STRICT //UserControl1() + SELF:InitializeComponent() + RETURN + + + end class +End NameSpace diff --git a/src/Templates/working/content/i_vodbserver/.template.config/VODBServer.PNG b/src/Templates/working/content/i_vodbserver/.template.config/VODBServer.PNG new file mode 100644 index 0000000000000000000000000000000000000000..cc50065e23cff90cecd2b46b600eca342191aeb3 GIT binary patch literal 1227 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qt-49s?(E{-7;ac}SL&I)m4IQ~$gTU3zSP>Z8m zbDMy^|AMvt3+&pjA5z~SAUxl>hI_5fUNKD}rlwgMjyggu59Ex**e2h-`9$S+`Tq5m z#?ihXl~c|eYz_umh6Mh+^{ABVh+AJ?m7M(8Wv0XVqk-CuWx=eJnWE}QRDuP64bS~fTAQERh8TvF%sh)1en+WFGE?!Ie1 zU2NQ)YIR|@b^N*MivJg`K7X!G>u}?}yU{aaX z-bk#j{{H%`(G&ZU)PHBXjbv7&wdd+QYPHYdHx@)ui)_O3_TS5vFVFve-8z05v+TDj zZU4vj?%ugm6Su7W(96UdZkRS9>&D>}i-wyrLOO??1B-ubO59tTbuGG>;quc!?mX6pUu{6_d8pay{$b~@9y)Wmt{L+q_zp71u{Xe z0~MSG`IFrM;m@t2@2e`E)-JrAse13<_M_+Jtu6;&0u%sEr{UR#6YF^z|2QN7z06UvOUcJy9*oXatz{-*bi z-mq=$<(J-;o&PF-d|R5&j<2)y(~;6NkjZ0W`c?YHXUCSp=;q5HDNk2Fmvv4FO&eFs zPtThuKfO)(hal!Y#MfkhhA+qDpM-kA!U6> zCwcLXZ=Nx~cl6Bdkj*>7cm322jdism*X?wZ)sxzzHy$pMlwMj@CDHf!i-EBt*rF`$ zdv_})*9F8Kj_@+xeK>PV*rQ(aJNu6>KfRkNEv8hv)VS38slT%Bl+VT6H*fx2ked2* zdc>>dh*P(P{l4b!_*?h?^{3?}BBzx-Nt{c%aEh2i5e^`8Zxk_Z6~coY}^XQ;5@k4>&uhyjViLI?o9%q&^} literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_vodbserver/.template.config/template.json b/src/Templates/working/content/i_vodbserver/.template.config/template.json new file mode 100644 index 0000000000..e164b5d824 --- /dev/null +++ b/src/Templates/working/content/i_vodbserver/.template.config/template.json @@ -0,0 +1,43 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.VODBServer", + "Name": "VODBServer", + "Description": "An empty DBServer", + "SourceName": "VODBServer1", + "ShortName": "xsvodbserveri", + "Tags": { + "language": "X#", + "type": "item", + "icon": "VODBServer.PNG", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "VODBServer1.prg", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and class.", + "datatype": "string", + "replaces": "VODBServer1", + "fileRename": "VODBServer1", + "defaultValue": "VODBServer1" + } + }, + "postActions": [ + { + "description": "Adding mandatory NuGet package (only from Visual Studio)", + "actionId": "B1755282-45A0-4C2E-A430-D6E9419131AF", + "condition": "(HostIdentifier == \"vs\")", + "args": { + "packages": [ + { + "id": "xsharp.vo" + } + ] + }, + "continueOnError": true + } + ] +} \ No newline at end of file diff --git a/src/Templates/working/content/i_vodbserver/VODBServer1.prg b/src/Templates/working/content/i_vodbserver/VODBServer1.prg new file mode 100644 index 0000000000..3ccef8f0d3 --- /dev/null +++ b/src/Templates/working/content/i_vodbserver/VODBServer1.prg @@ -0,0 +1,211 @@ +#ifndef __XSHARP_RT__ +#include "VOSystemClasses.vh" +#include "VOSystemLibrary.vh" +#endif + +CLASS VODBServer1 INHERIT DBSERVER + INSTANCE cDBFPath := "" AS STRING + INSTANCE cName := "VODBServer" AS STRING + INSTANCE xDriver := "DBFNTX" AS USUAL + INSTANCE lReadOnlyMode:= FALSE AS LOGIC + INSTANCE lSharedMode := NIL AS USUAL + INSTANCE nOrder := 0 AS INT + + +CONSTRUCTOR(cDBF, lShare, lRO, xRdd) + LOCAL oFS AS FILESPEC + LOCAL i AS DWORD + LOCAL nFields AS DWORD + LOCAL aFieldDesc AS ARRAY + LOCAL aIndex AS ARRAY + LOCAL nIndexCount AS DWORD + LOCAL oFSIndex AS FILESPEC + LOCAL nPos AS DWORD + LOCAL lTemp AS LOGIC + LOCAL oFSTemp AS FILESPEC + + + IF IsLogic(lShare) + SELF:lSharedMode := lShare + ELSE + IF !IsLogic(SELF:lSharedMode) + SELF:lSharedMode := !SetExclusive() + ENDIF + ENDIF + + IF IsLogic(lRO) + SELF:lReadOnlyMode := lRO + ENDIF + + IF IsString(xRdd) .OR. IsArray(xRdd) + SELF:xDriver := xRdd + ENDIF + + SELF:PreInit() + + IF IsString(cDBF) + // UH 01/18/2000 + oFSTemp := FileSpec{SELF:cDBFPath + SELF:cName} + oFS := FileSpec{cDBF} + + IF SLen(oFS:Drive) = 0 + oFS:Drive := CurDrive() + ENDIF + IF SLen(oFS:Path) = 0 + oFS:Path := "\" + CurDir() + ENDIF + + IF SLen(oFS:FileName) = 0 + oFS:Filename := SELF:cName + ENDIF + + IF oFS:FullPath == oFSTemp:Fullpath + lTemp := .T. + ELSE + IF Left(cDBF, 2) =="\\" // Unc path, for example \\Server\Share\FileName.DBF + SELF:cDBFPath := oFS:Path + ELSE + SELF:cDBFPath := oFS:Drive + oFS:Path + ENDIF + SELF:cName := oFS:FileName + oFS:Extension + oFS := FileSpec{SELF:cDBFPath + SELF:cName} + ENDIF + ELSE + oFS := FileSpec{SELF:cName} + oFS:Path := SELF:cDBFPath + ENDIF + + + SUPER(oFS, SELF:lSharedMode, SELF:lReadOnlyMode , SELF:xDriver ) + + oHyperLabel := HyperLabel{#VODBServer, "VODBServer", "VODBServer", "VODBServer"} + + IF oHLStatus = NIL + nFields := ALen(aFieldDesc := SELF:FieldDesc) + FOR i:=1 UPTO nFields + nPos := SELF:FieldPos( aFieldDesc[i][DBC_NAME] ) + + SELF:SetDataField( nPos,; + DataField{aFieldDesc[i][DBC_SYMBOL],aFieldDesc[i][DBC_FIELDSPEC]} ) + + IF String2Symbol(aFieldDesc[i][DBC_NAME]) != aFieldDesc[i][DBC_SYMBOL] + SELF:FieldInfo(DBS_ALIAS, nPos, Symbol2String(aFieldDesc[i][DBC_SYMBOL]) ) + ENDIF + NEXT + + nIndexCount := ALen(aIndex:=SELF:IndexList) + + FOR i:=1 UPTO nIndexCount + oFSIndex := FileSpec{ aIndex[i][DBC_INDEXNAME] } + oFSIndex:Path := SELF:cDBFPath + + IF lTemp .AND. !Empty( aIndex[i][DBC_INDEXPATH] ) + oFSIndex:Path := aIndex[i][DBC_INDEXPATH] + ENDIF + + IF oFSIndex:Find() + lTemp := SELF:SetIndex( oFSIndex ) + ENDIF + NEXT + + // UH 01/18/2000 + // SELF:nOrder > 0 + IF lTemp .AND. SELF:nOrder > 0 + SELF:SetOrder(SELF:nOrder) + ENDIF + + SELF:GoTop() + ENDIF + + SELF:PostInit() + + RETURN + + +OVERRIDE ACCESS FieldDesc + // + // Describes all fields selected by DBServer-Editor + // + LOCAL aRet AS ARRAY + LOCAL nFields AS DWORD + + nFields := 0 + + IF nFields > 0 + aRet := ArrayCreate(nFields) + + // + // The following code creates an array of field + // descriptors with these items for each + // selected field: + // + // { , , } + // + // Use following predefined constants to access + // each subarray: + // + // DBC_SYMBOL + // DBC_NAME + // DBC_FIELDSPEC + // + + ELSE + aRet := {} + ENDIF + + + RETURN aRet + + +OVERRIDE ACCESS IndexList + // + // Describes all index files created or selected + // by DBServer-Editor + // + LOCAL aRet AS ARRAY + LOCAL nIndexCount AS DWORD + + nIndexCount := 0 + + IF nIndexCount > 0 + aRet := ArrayCreate(nIndexCount) + + // + // The following code creates an array of index + // file descriptors with these items for each + // selected index file: + // + // { , , } + // + // Use following predefined constants to access + // each subarray: + // + // DBC_INDEXNAME + // DBC_INDEXPATH + // DBC_ORDERS + // + // Array contains an array of + // order descriptors with these items for each + // order: + // + // { , , , , } + // + // Use following predefined constants to access + // aOrder subarrays: + // + // DBC_TAGNAME + // DBC_DUPLICATE + // DBC_ASCENDING + // DBC_KEYEXP + // DBC_FOREXP + // + + + ELSE + aRet := {} + ENDIF + + RETURN aRet + + +END CLASS diff --git a/src/Templates/working/content/i_vodbserver/VODBServer1.xsdbs b/src/Templates/working/content/i_vodbserver/VODBServer1.xsdbs new file mode 100644 index 0000000000..fdc1ba3e7a --- /dev/null +++ b/src/Templates/working/content/i_vodbserver/VODBServer1.xsdbs @@ -0,0 +1,21 @@ + + + + VODBServer + VODBServer.dbf + VODBServer + DBSERVER + VODBServer + VODBServer + + + + + DBFNTX + 0 + No + + + + + diff --git a/src/Templates/working/content/i_vofieldspec/.template.config/VOFieldSpec.PNG b/src/Templates/working/content/i_vofieldspec/.template.config/VOFieldSpec.PNG new file mode 100644 index 0000000000000000000000000000000000000000..cd11dbd439c1ca4dd44dc4027dd856c370c480ba GIT binary patch literal 1329 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucHG!Tkjv*CsZ}0BS4lWdF{}?k_DQwA#D@{|U zY~d3Nsfl*UwGJ)6c+k~qSI0D~omM~H)MI5!F55c@ZrRsx#Zk9bk|kJQY)fcoN3)7) z)$2|L*RJS&&u!*Eoi|zc?d3_gqkpLGbnsew>EJzYX}R04&V4ztJbClx&D(QJ_4C8O z?`fZ%DW78-CmU}Yx-w+hTh;4MN2C?+w0SV@?l%wG!5hd_CYyhxKw63A&9}C-yLVT= z-q!s({pL+U9I65{mHM~4)>n$;9=jfQ2J6VgZ^B%X>AK{LKpuGRL0(8XK zx5ekyC%o=bJ6H2!%f^>)W!}!%TB&ta}@-iq?I068kt{C~U{$==t$4W}H%O z-L=*`OZRnL&CM(2$FD8BZub90#=>8v+t+$eiV3=3{_ied^#2bvHQ6gF-ru*dy!QEH z?f$iTQ{CR(`XZgqZ!MsB$LHs##Myti1@osANH1b}V|Op(p_vQEjnX}VhjULb>8tvnoY&fX?s8t7o_M4lk zzvKO~uX4wmdg*_u%U18dd~DhE-(@-Hj)|WA@`d+lp6tVq1{Zuf#5WBTve2z;+e$qrseJvreE!?*U;9r!Y+Y#L8*3-WC;ooF&zzqZGLtXgw!CGS z{ zwYyPuCypzXlG+5rs7{|xtc#P0N(y#F<__E@*cKF4o=l-ST-VEydz k+X}85-aBN)KbG0BywSX~YSpU!j5&$(W4CP7=| + + + + \ No newline at end of file diff --git a/src/Templates/working/content/i_vomenu/.template.config/VOMenu.PNG b/src/Templates/working/content/i_vomenu/.template.config/VOMenu.PNG new file mode 100644 index 0000000000000000000000000000000000000000..facdfe2b9c90d0c8178b5abb0444f13b6fefaaa2 GIT binary patch literal 1488 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucHKv{}jv*CsZ}05So>MAw;G?>I*OI92YkX2! z#a+(QZx%G?t#xMCZff3Tb@SxOG@*kFv%9;SC+}FH@Q<-9@Uo|X%PLP6=}B{1t}WZx z5gI((`^&_9w)_)!KR=OsXZL+ioVVTlw{7N%<@0T(GXkA}03Yg=U#4gB&#|=Md2`oi zkEr%jjjN}x>%IRs)p+ff3pZ}ui1+sP-oJF~6x*Y_|9`oCUiNS8>+UUlOOKsdYH~6A zv+-;7Y160g_s>pT`gpDL4r`W}xqDe+wC-88?sh(KRa3g)Va02ScYKWD%Y6>CK3ZE0 zR zX%z&8L%%aTd%Qf(@9_cY|H)sss;~S1B`M1K*XLXA>X&bbUly02<(nM-?A%?R&sE(v z4Uv(14xgF+HuU)A!&jPc8P0ub|9tb_FEjP0pL=^c&bF-d+ubdtCD}il4`(jn-WMZv zs{;`R$S(Z)|B%_FyR&=K^_Q$IH`{(~)7y*sm$zAqZ}SQ*O?+Ly=kaa#KHa!~R=KuU zzh(>MFP+oAuot@2v1<-@#o_QneBr#3vf zuy{ar12FLBv={5;O#SqwfODRl9M8GK7u>LiY&OHW!~0^YZd6w7@Ord%%4dTug4hFp z)tf_RXJT%26(%;Dfg>JbVW`GE>BwTe-mO>X+?e5~TpOlwFFj3c*=v~sxp$4N{rO9# z+G+nucaCKid-p)|t9kxiCb4%3T7TQt>M?Sc7l>N%&;R-6<+}5S=hs(!TWZp__5Zbg z?(e#FpR%JgGZp5^=?T5xp1)?-|IhOOZ!_TXtJdxfj*@yg$Z^TM^lH}MxySmrj#}Gq zu2bs0P+a^xZ(dYv?Au@S|8v)dOq)GxR@J8;txNIl3@7}b@X!f;rB7NrS2~{h7 zcI*uL_>9Fze+sX8xYfNm4L7^@w#>dAyl1D|;=&L2%R7WKTh~3AuO(7h3@Tp`z`;H8 z8^4m^sr|n{J?aDrd%F6$taD0eYSnqtNTb=b{mCr_TNUVg48Zj+#gi^#h}hYt1h%6{xKcRJt^G^ap$5GE1DVv+4W<-8|>e>QSe9q|IbA{OXAk&hpxWL`rY12>Pxu%0foH<*RNeW zSH7M_SSya7QQ7No+iOnQ_3aIUt$~NW@`wUihFyV&zqVA{zqdVe_Uzlz_X4Mlm>Mhg chjJ971r*d}4UIgH<2QO3*04m_BXaE2J literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_vomenu/.template.config/template.json b/src/Templates/working/content/i_vomenu/.template.config/template.json new file mode 100644 index 0000000000..ab7be7c59c --- /dev/null +++ b/src/Templates/working/content/i_vomenu/.template.config/template.json @@ -0,0 +1,43 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.VOMenu", + "Name": "VOMenu", + "Description": "An empty VO Menu", + "SourceName": "VOMenu", + "ShortName": "xsvomenui", + "Tags": { + "language": "X#", + "type": "item", + "icon": "VOMenu.PNG", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "VOMenu.prg", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and class.", + "datatype": "string", + "replaces": "VOMenu", + "fileRename": "VOMenu", + "defaultValue": "VOMenu" + } + }, + "postActions": [ + { + "description": "Adding mandatory NuGet package (only from Visual Studio)", + "actionId": "B1755282-45A0-4C2E-A430-D6E9419131AF", + "condition": "(HostIdentifier == \"vs\")", + "args": { + "packages": [ + { + "id": "xsharp.vo" + } + ] + }, + "continueOnError": true + } + ] +} \ No newline at end of file diff --git a/src/Templates/working/content/i_vomenu/VOMenu.prg b/src/Templates/working/content/i_vomenu/VOMenu.prg new file mode 100644 index 0000000000..9f072b16d3 --- /dev/null +++ b/src/Templates/working/content/i_vomenu/VOMenu.prg @@ -0,0 +1,21 @@ +#ifndef __XSHARP_RT__ +#include "VOGUIClasses.vh" +#endif + +CLASS VOMenu INHERIT Menu + +CONSTRUCTOR( oOwner ) + + SELF:PreInit() + + SUPER( ResourceID { "VOMenu" , _GetInst( ) } ) + +#define IDM_VOMenu_File_ID 15001 + SELF:RegisterItem(IDM_VOMenu_File_ID, ; + HyperLabel{ #VOMenu_File , "File" , NULL_STRING , NULL_STRING }) + + SELF:PostInit() + + RETURN + +END CLASS diff --git a/src/Templates/working/content/i_vomenu/VOMenu.rc b/src/Templates/working/content/i_vomenu/VOMenu.rc new file mode 100644 index 0000000000..f9ee055fe6 --- /dev/null +++ b/src/Templates/working/content/i_vomenu/VOMenu.rc @@ -0,0 +1,6 @@ + +#define IDM_VOMenu_File_ID 15001 +VOMenu MENU +BEGIN + MENUITEM "File" , IDM_VOMenu_File_ID +END diff --git a/src/Templates/working/content/i_vomenu/VOMenu.xsmnu b/src/Templates/working/content/i_vomenu/VOMenu.xsmnu new file mode 100644 index 0000000000..77fc7a1475 --- /dev/null +++ b/src/Templates/working/content/i_vomenu/VOMenu.xsmnu @@ -0,0 +1,36 @@ + + + + VOMenu + + + + + Raised Toolbar + Icon + No + + + + + File + + + + + None + Yes + No + + + + + + + -1 + + + + + + diff --git a/src/Templates/working/content/i_vomenu/VOMenu_Accelerator.rc b/src/Templates/working/content/i_vomenu/VOMenu_Accelerator.rc new file mode 100644 index 0000000000..6f7acdc641 --- /dev/null +++ b/src/Templates/working/content/i_vomenu/VOMenu_Accelerator.rc @@ -0,0 +1,5 @@ + +VOMenu_Accelerator ACCELERATORS +BEGIN +END + diff --git a/src/Templates/working/content/i_vowindow/.template.config/VOWindow.PNG b/src/Templates/working/content/i_vowindow/.template.config/VOWindow.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c279e6f80862c40da020b62253c96996954b6ab6 GIT binary patch literal 1431 zcmeAS@N?(olHy`uVBq!ia0vp^>p_@<4M=uR>MI3OjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucH4{8t978JN-rn7qt&%En{No#)PD^2(KAj?Q ziHJ)n2O}ytuK(bVxXHm@e)MY6L>FBV?xR5$v~||>7sM2{{^P$U=5|I_F~umOV~tct zw);ZZTPVbstP&oAz+Z!4EhlkpY7_E`=&VcDmyJ>Y#(F{6Ne`EQH-68ZN*_IH;pTXxH=Z|ms_ z&hihxI3>jNAM)`tP8Sz^_d&40Qt)A$V%H*TvqcJV&yfNb9?CcvYrGzRbC;c6ytV9l zSdI&$-utO`x2nHnPEwhF<5uwEi!<)tzdwJQX~n&Da%G+0&(D`Xce{gW)zw$k`uBG1 z&dT;bQr$S)J6T6SKSdB5Dm?UT;(Fn27Jcu__kVxAjcxtMpI^&!&K&(%pipxZ7!mgG z*gno&tK9lHv4<7vK+!8NHx)kd@$;K^b4GUsYpB-LU}^VL{_p?)`*!VG*u(Gtg!G#x zw9ZyJDICqM7{?Pkv%vUB_d+e{ytWEMlfNyqAGVxT?pM$Gc=P7X(rDGv|1WHA-Mm?u zmaTc@^~CiRg^lsj3f&colu_CEe& z8pjR$LwmV|h3lEqo^GA=^^uSesG#t4^>bP0l+c78!j*R$Wm!^j+tkF6B!?vR9uIKLOeRFo)teUj!CI2=z*T9edlT@M$ zW!~?4T4k8LYTlQsy~nq;wV$rwX0Z`&v2I)qVuZF>FU + + + + diff --git a/src/Templates/working/content/i_wcfitem/.template.config/WCF.png b/src/Templates/working/content/i_wcfitem/.template.config/WCF.png new file mode 100644 index 0000000000000000000000000000000000000000..9707b06c17a731292bbba3c9487a4ce2f744c42e GIT binary patch literal 6822 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 JRQ~_${soW>37P-^ literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_wcfitem/.template.config/template.json b/src/Templates/working/content/i_wcfitem/.template.config/template.json new file mode 100644 index 0000000000..4e3e8e3ce6 --- /dev/null +++ b/src/Templates/working/content/i_wcfitem/.template.config/template.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.WcfItem", + "Name": "WCF Service", + "Description": "A WCF Service", + "SourceName": "WCFService1", + "ShortName": "xswcfitemi", + "Tags": { + "language": "X#", + "type": "item", + "icon": "WCF.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "WCFService1.prg", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and class.", + "datatype": "string", + "replaces": "WCFService1", + "fileRename": "WCFService1", + "defaultValue": "WCFService1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/i_wcfitem/IWCFService1.prg b/src/Templates/working/content/i_wcfitem/IWCFService1.prg new file mode 100644 index 0000000000..4d236d89ad --- /dev/null +++ b/src/Templates/working/content/i_wcfitem/IWCFService1.prg @@ -0,0 +1,17 @@ +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Runtime.Serialization +USING System.ServiceModel +USING System.Text + +BEGIN NAMESPACE Company.Namespace1 + + [ServiceContract]; + PUBLIC INTERFACE IWCFService1 + + [OperationContract]; + METHOD DoWork() AS VOID STRICT + + END INTERFACE +END NAMESPACE diff --git a/src/Templates/working/content/i_wcfitem/WCFService1.prg b/src/Templates/working/content/i_wcfitem/WCFService1.prg new file mode 100644 index 0000000000..b6e1ecfa4c --- /dev/null +++ b/src/Templates/working/content/i_wcfitem/WCFService1.prg @@ -0,0 +1,15 @@ +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Runtime.Serialization +USING System.ServiceModel +USING System.Text + +BEGIN NAMESPACE Company.Namespace1 + + CLASS WCFService1 IMPLEMENTS IWCFService1 + METHOD DoWork() AS VOID STRICT + RETURN + + END CLASS +END NAMESPACE diff --git a/src/Templates/working/content/i_webroute/.template.config/Class.png b/src/Templates/working/content/i_webroute/.template.config/Class.png new file mode 100644 index 0000000000000000000000000000000000000000..ca4b21465ff62e0cb4582848cde9d90176797f77 GIT binary patch literal 2595 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 + // + VAR oneObject := Object{} + return Ok(oneObject) + END METHOD + + [HttpPost]; + public async method PostMethod([FromBody] items AS List ) as Task + // + VAR message := "Post Ok" + return Ok( message ) + END METHOD + + [HttpPost]; + [Route("Item")]; + public async method SingleCustomer([FromBody] item AS String ) as Task + // + VAR message := "Post Ok: " + item + Console.WriteLine( message ) + return Ok( message ) + END METHOD + +end class diff --git a/src/Templates/working/content/i_window/.template.config/WPFWindow.png b/src/Templates/working/content/i_window/.template.config/WPFWindow.png new file mode 100644 index 0000000000000000000000000000000000000000..82528357addb17b164645a7fff48dbd9f3a2caf5 GIT binary patch literal 2361 zcmeHJX;f258m;$uLZVp+w6aBsw4#j*Ahaw3iHZV(0@@l;Hu2DaG>eU_N(iD;sLeY!15lN}NPB1j zim{2_K}i4*8ov$b(i(yV0GM_k&&@xjg^ozwdE`zr(S&sWxlgB_W6E>&On!_hp)ZE| zT3E>XGJBQ7r>*@C!LJZxW3gjH!4^g?$NKkx^Nxh4DTkg^)n4gyUlZo5icFnuYjYV; z&xyXanKyT|x#>7pq;&^MIh?!9Vn%^wHWLA`F~Il%%DuXHxUzGYoqj$KuTc&QoEJ51 zvsmxC9-%N_ZB8WrIdrX0w2}s5!hLaZw`8X?Ff__xgLl0uUjTO{bMXuvLb=Cdb@w(= zK!dx+M)%b<(-_o8jvqGqm%JUs6#d8R-+(49IkNQg{UK7c^f4kApnw^<6*>0(j0;8Br>PK^ zBp2e8JjIzk`)7yBwfzkrKe>d;C?M8`meo-kXT)6FaO z*imJXG84$Sy=LsHRx>apal*|T1hRzt;D9PeGTTr)>7>5(`36<;;w{I2(q@q{Q@_mN zr1JI^I$Js2d^%yNw72e#R)0_S)WtX?9WuU%ui+Xadaj&nj{>(|QD;eTZRoi*D0rCF1HULQjKLASA#iS)7^>qdtiG>HQoJ0N-KkegM&7wiV<_ZmJ6dzZM?__aIN{yJTx=e-qp#MJq9@#VQ zWl;7<)}g7V3A)7DVc`jl?dmO{_Dy0U8Q-l63=Q$b>xk~?Yx7GUsKsLbtFBfv%yRzv z;O_u1&S?Ou->bo55 zAxe-NEbbM$y19M0V{Zb5$5vs;vs>4hj$H$3CX}0})qB(Sv4kG&AcEcR7jCMh5{P5* z9sBbfz||i+uQ28Oi@+`hDVgrv3B0XyMdQbB)~G9r!M(kXuv(>9mer3iCwFWYX|#Al za5Xs*DVeR=3TmGZVsOIsb^QZxgd|uL`E0xBAOlYVmG|k0f=9*Q`dr9tQri-i60S{* zS;*9Ty0g@SeboHKDVev8y$?+1V_b~6r+nb>nSqxXh+x*1p9auFlwcEcu0eL%Rzv8S z%@QCM-Z8f-*fpe5uhMN;^3w`bi_ng|>uf-`B$J@&qX7Vy#qnf@oFkxhW@GN12}GGV zL#VPk6=e>3GI?JY1F_7S)VskziXdGN=|FJd&*m!@Mej8@8qyUp^Qfi57m%WVlMlFF zAA@peQXKV(^Pn{s^QL*cn)e%AkV6Z>Q8muaAQ$tdVZ54e1$ldh2eC@+^A=D@*^#D< zXEx?cPvmptjEm<4SYc&H6ifcF#?q|d*Bi7K?Sg<2shA}%zv!cfN}+idtcfUx=Izjg zf}7f)5rUw9=Od!FM7PmBRX-pWLCShYqGr02A8XwOd4JAh z%4M?PZppYR%KhsbK`nbKBh$gwC`Uf_x;+XUB%Dh7I>{JW%4~#4r!%EBfsi-ZbgnvI zN_m$qbQ~{)6~BT4RKT6r`j*Z(>~IU z;V1tIr<(21 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/i_window/.template.config/template.json b/src/Templates/working/content/i_window/.template.config/template.json new file mode 100644 index 0000000000..533447c3c7 --- /dev/null +++ b/src/Templates/working/content/i_window/.template.config/template.json @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [], + "Identity": "XSharp.WPF.Window", + "Name": "Window (WPF)", + "Description": "Windows Presentation Foundation window", + "SourceName": "WPFWindow1", + "ShortName": "xswindowi", + "Tags": { + "language": "X#", + "type": "item", + "icon": "WPFWindow.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "WPFWindow1.xaml", + "symbols": { + "name": { + "type": "parameter", + "description": "The name of the code file and class.", + "datatype": "string", + "replaces": "WPFWindow1", + "fileRename": "WPFWindow1", + "defaultValue": "WPFWindow1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/i_window/WPFWindow1.xaml b/src/Templates/working/content/i_window/WPFWindow1.xaml new file mode 100644 index 0000000000..10701699f0 --- /dev/null +++ b/src/Templates/working/content/i_window/WPFWindow1.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/src/Templates/working/content/i_window/WPFWindow1.xaml.prg b/src/Templates/working/content/i_window/WPFWindow1.xaml.prg new file mode 100644 index 0000000000..5c55a3fa84 --- /dev/null +++ b/src/Templates/working/content/i_window/WPFWindow1.xaml.prg @@ -0,0 +1,29 @@ +using System +using System.Collections.Generic +using System.Linq +using System.Text +using System.Threading.Tasks +using System.Windows +using System.Windows.Controls +using System.Windows.Data +using System.Windows.Documents +using System.Windows.Input +using System.Windows.Media +using System.Windows.Media.Imaging +using System.Windows.Navigation +using System.Windows.Shapes + +begin namespace Company.Namespace1 + + /// + /// Interaction logic for WPFWindow.xaml + /// + public partial class WPFWindow INHERIT Window + + public CONSTRUCTOR() STRICT //WPFWindow() + SELF:InitializeComponent() + RETURN + + + end class +End NameSpace diff --git a/src/Templates/working/content/p_classlibrary/.template.config/ClassLibrary.png b/src/Templates/working/content/p_classlibrary/.template.config/ClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..b74727a55fbbc97aab70505243e16f222d2a3425 GIT binary patch literal 8304 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 Rlz#~T10AEw + + + Library + ClassLibrary + Core + True + True + net8.0 + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibrarycore/.template.config/CoreClassLibrary.png b/src/Templates/working/content/p_classlibrarycore/.template.config/CoreClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..b74727a55fbbc97aab70505243e16f222d2a3425 GIT binary patch literal 8304 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 Rlz#~T10AEw + + + Library + ClassLibrary + Core + True + True + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryfox/.template.config/FoxClassLibrary.png b/src/Templates/working/content/p_classlibraryfox/.template.config/FoxClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea5ddd538681d11b2ba880860fdbcbd5b239e4c GIT binary patch literal 17193 zcmb??Ra9F|)M!F*cXxL$RtglC7AY+hr#QvkNpN>B61+mO;_fa%T3mw{4N`(%zW-nM z?LOXzv(BDbV_Rn1%*1GGs^DQ$V*>yHJT+CtcK`tJ83Y0_(Vu_D?%!_5iE7Y}f>E;`r!aZ0 z(Yd|ZlZ-ldDcO3A^C!ZRN9bwlz|P^qMhra-Y6dB*o;U9+Z#5kvBir2?z7f$$K2=W( zqlQT6fCydz|Kxj$#@ z(ND)We9#azGTrHw-$zcEeaF{)eFEU?cv?=CrCBd8FH1O5{T`uD@#+1C6n)D6FJ4~A znXc6kx`u?^HkxhHMajix#FyFHv+Tu2LCJ5xXp$FzTDQH2YIxSuUHpF7AHH@VBiT*_ za*%Ckvt4AbsEqB`*{z0-8_}cQ1?FQtTzp~H&{jiXmQ8)dWxJ=@y9dlv!4l}w^6eX@ zzNwFFru3tjyHax^|4r4Fa@JPkda%q-ps(8^wee#|!1UsxQKTsP6XHQ6)fwQ4E2oB4 zSDr-FB&KDkB$m2L)Hm76e!qMDM4I#||CN;6&&4Yy@-8sWUqkQc_L6&!wVv(s1I}T- zdX=d1k`kP@fAyCy9EuN8;en(SJIkS+M@tiaL_y2u)Ty!O!xu=BkY`r1@n(yI;xuKt zF{P;&7Y!CVOX!1;zV~- zA%%r+y&r=l0>PZ}Nd_`E-R(7|}S5 zbRSF}_A6AJC@S0)B!>kDx3<1~yZ+QX0P!hf|`))3SY+!h741pcW$q)2n8^EcMpi6!dWto)CRuz=Rhegna;xKpG&v5DwY-!oNo31@Oy5&I3 zCF&1c5%4Kv+&!}S?MMX7?Iq6=);~$I4YW^zZe@H2vRA8Zi2bPR!jg*B%McKh^_Snu6WGEErYteYtRpz11-+9wpI6RhyWT?L`e<;G zOi~P^#r3hb`}_hFikCoY@Z?u)gEjXXOzE{zO=Ci-FHH0mCe7f)H=Ph+*%X~^f&VCV zY0k~lOR(Kg-)O0&uwD!LG9WAj@M}rw$WVM%18S0)M=1~CD$el8H`LMCeKTe7PeKs~qvzIIl-WS;LpDvaQF2(6-fG0su2YcV zqPfIb)AcaOt#@0uWbziLToYF=i)wa*;sC3q#bEa?qNMh_Qv9b}W24ipU#wFec7ON0 za8dKIC^@7^TsO9NC^lq+ZzxvW*57UMtAv4~h8QGiWV=pi7iDi5;YMB>h&t=}!m>I8 zMY6|xS|raX*C1Kc1La+k#P7_1)?kzrO~vc~NDxU}^hqMN!R*CI9Bk}bH;;TG*{=t;3ch_xApx`g z3K4lVLtbNI2lA+=0wGNp0W^h3ZBSwVc<0?w+;`nOaXE4v4rq-);>%wQ9-z5DZ~~u5 zD2?`f3kdwUFXQR0(&doMh7Kpuh4rMzQZ=%QIyuq7D@7xn#uWO_F^NT@B4qRev2*`U zeETsI&Y%45zoBC|^6hl7l*9cIdx^cx(_})EcybFZzz8KY-}c>LN4t+CSB(r9kGt^; z6dZ3&NWFh0LgCD(ozejlxb1rWgy{~dRx}tGl2?-N1?ldRefPYeTk<-u`E6jdme*>y zQs{&nefGE;CvB(7YHG-3Lqs=QgZTPCUT0yANT*Mz`+T&`r>yt49D618%|jDrtIfpo zUH48$&RZa{-iC2y3(j$_-Y&XZ1={y7)-#oDF6R8(TLM8#r8F~qD7)acYthZb0MqVC zlL>hKWi|?S;7PoY#6^8yZ|e~_==LpdfJZ*%kF|LNJwphNYzN@O2kYIJ*<03GDJ-#W z{nGy2F#$h*J)24@e)NsAK7yea^Tw7QBSmEmG+Cxz;+dVDgO@%fJ+XHgafxCud^>yl z*WSV8!JU_e(p?8!+lq9^!+u1X=74pSX;|W12+j{@eH?z|IYW*0a)GH2P(om1HV(h{ zy3^|y-@%xdY!IymJ$UT$lund(mR)}{aXpAgDI%pyfjRn-hbOkiyay#$ojwB10GaBE zCIOZyw^8$Mz22N3Pm3Jp$t@VDFft=Vs8r24wp7Fo!p99L`q_ftHMK4BqGSKb5=g4a z6BiI*XzLHal!-NKYi^cn91`QC7I?NI*@YO%*yQ86iL+WU$1Oldx0@A+kqel9nZ^gc znM7XFkQQ{)X>qC0bi2)E`^n$>UTfLj&JO<--bZZZM9g&)cp)Wd);Ck=QMOyFqwHel9!Y_vBCC@R{R{Rh%R9w+Gyd>8R- zfnIH{KyZ@!n`<}s(5?1f_ji$)+?b00w0B^Va^R8o2ht*G3_d2**_cL8Htv%oT10^S zdTR7dK4#OnF-;ZRlGitSU(&ryK9TznUK^%Z^1L>qe>o!b6nU=%wj}@<=dnY-St=Z} z5U8s9QIsJKEXjYUZ*>eg-b#W*Dt4EQ?_KSMUqQ5Yzt=Fr;&-DguM2G2Fu#f4SAF-T zu2H~)5U0E+0NidKwR>pFqDIjRw)p7F-9DgYR1R1Eqd%sTJ5oG6F|KzeX4&un?cZuu zXNT#Q=SO7j_Fq*>j=5;P(x?6xiLYT`Uz9UNf=>;Q(Uhi?k#)7o@CU>`Z_8^K9-;Nf zQ;SkQXL2xDUvquPYnD;eiBoC5;GGbrDE=zvFjqH~2)`WGXnQ_7VBN7l2a?-(8GbFZ z5bd<=69+6zekdYYG%)$tRn$2D7{a*s-Jnj1KY<=1pjr?I@t*U$LneK9u@kRjBS~08 zk54NKrg0T~1;AK`UZ>?2bUR&lTG0Q}k+SCarL20$P_?V>hu9ZOKk6XLU#yg{xW_{N zYiB6ZP?RS8V$|xoL%`4-OAtDLKMUHJg*b)~Om1=U@MS(IG}Ky@_P1^Ng>Ck|=I##| z9y#`-XJj*c^$St}sg4AT!_bW| za`6E^yvV@r_4`X{TK^4Jqg2XgXWt4nkH)np;;z^=(CIybWbKQCp?>1l4_HrL%H85j zNUeuH%hGb&IDiiAl%Pl6tA=fFcjKX>o38!gcIH~*WV{VKa7eCL2lPCUA6m>X;898xxmX4VQQ<6|n)whXf>pAF^w4Ve_Y0M+sTvdsmC#U*RN4`Ek>Kc7B;z zObbC?D-QvRXA4$i56xOp#vIHPH1+tG=Hhz_zPPIoo=nrY+_}g)27OC#quq~8c0oW=x@9v?-7o2O$2d~zXieXUg zs8DPo1>EV;UYhyEvt`-IF+h0M4v)%>vP1 z^PP{{hQ^HO5dr^b_j-|TEVn0Sskx+x=Rio^u+Cc_kKQNuM<-yO&4fqH+J#}>Gv2pskCL~sfExh$d)peVQlfMDAXHx&=iAmR-dy6*A#|__717^>&M2mc9 zoLywz>Qa3XzX}2+h1uHKA9pjH_yWD!;Nb7d0Rb3)Y2>>Wvkn2w9ZLc8CpI1dFoNor zvI62|8X+;ydiZ#wdwtg7F`lf!N> za`5ZGAg50J_RgXgr9STr-$B~%&*tC4icTk*oJog;*xVie2YI?f@9IIQ!->*Ymkj~h z8#Dun<7i9m6n!>g?AiOfLQ@9+qqptnh6#LBloNbT|2`FVY?7S~6r`9QcR2X0v-Q_w zNunI&u0oU&+u0{bNgA2@%TD#t;@I0 z1uraR?dZeDb0`?wL@@U9{W$+YU()9Xos3ukM&NbycPF`tHAHO zZU_cd5U(!*c=e1ixa*#s$Q7w17OsV)G84vuggTf zu8t!e9J4w-aY5jVA-b@>LAp;G@@cuV2?8d*>3-s7>GaMJwxo^_>+0&pmd&u|eZZbN zjVCDbI46_1(@?EafZ(XP+KYQNnT^QFUfT~C4oP$SXOFRHY_;!qcJnB{{wTfll9{Hc zD3TgrJ+)9{i$`DCf{`CsqJotmJFn(2cS@`RTTsVmQ4apQmqXlz=fn z!pW_E9NXUWEZ@W;F_$RkI2VYs9|H@&YxpBWy7-^dNQtP3K!_ar@LPHomV{16%zxf;mAF^iCL;;k)Zlnd z6+EyP)I## z7fJOjM9z+mA8BU0*PBz-B%B6Y>>OginWmkd2Ld-MI^TE&67A)ZrO$>BeUB>}#Kc9P z^)YUAh%eB^DS+(h_`YL-2cGEME+?k02*fM8*wrV5k^2|FNxt=sCoq zm6D1&SphtoamYau(f;Uhe`-ckNoRibY$7kG43?edpWu%YH}6HGvQK5TmzE6AT0CSU z7iWk1CEiNV2=G<(uz>v>x?y;#KF^4{xm`>&Exfn-SAWvGJ9t%Y4NLt@A!GH)5rLW~ zyGOk3#rBB!_#p$W`F@PU{C)v@cJyLGx?O~je@eUku7~{~wSU27SnyKJob>s#s_OW6 zmn~x{#ovjvFe3gE+KUoc<00AjLg|autkWPmd&b*=^ie7-r-z4{7hv!X`A^d(mcNF; zHOU3rN#6@^_#4(GC%G2@9ZE+~GFRY5?s`9Bh{44}{YNzWnVlVloEoP1dZ372HGOc! zfiT^(@s+o8bnO42Z&Ier*f+&5M_P|FB|8{T6_)GVip9nj=<_(mv6P=|HP3L2!f8J+ zS83#S^+%s3Nlp#?j62rX@^W;udpJeI%Vgj)2UA07NESMS+W2&4h@QuuDJ1$mz__Soq;@erMSAD+n*VQ7`Tr}3 zYY$4!f;xm2a~6&KC3lo!ef##U*b71Vj;F_iuh7QttnZqrec^50iPs?ylW2(#1*?Uu zxg?qrJ>_ulQ_#2DE!zp$!Ay$CH#34_4dEYNfSWpwU!Bs z2_(wtHRj+EMxIX->#z3qRMK~T6pXXeZGf2K610zWWfAKJAkouCDkYuBNZ@|v9C(&S zPJ`6Vrvcc&@ZY2g{Qy+~n};|t5+FWtWUIonK%_I70~GHKX1u?Yes<938 z8IsdU#}x;Vf-?ir`~kHyzi_@89s1!)kr(262(JJ<{m={fdyl%br61pJ{4uH|O7`F! z6=dsc1I&c#_6LY92F81eqG*88R)WZDcAU79FTRNv;wn7%#GLSwJEYHzk+qB%eDHA$*BN+9$6Dg3vxx81YxhD z5=o31%ghV-Q)8m5iNI>w(0$=JYsd0esOe0ayVQW5{aG(y-dR4fjw=vL`I0yfIBY4S zdWk#U_Un}eYQdw_)CiWsXVml}4Rjg+_lJGQOcy3*udsmN&9-j$w9E&}^E?c5&@6xR zuj6Wvz|(Ns#5Ya_QoXD3(zY>&TtA$tmAN#}nzI13*!6N8J62YF@>gwyyFbMO>rp@Y zK`BG@MtDZ2Sa#40OH2F9;e{0>CI;|%-LFn<0g5XcXSlx<7*z{`z|>gYSm*gf8)}Z2 zlqfXAhq9p0>lv`48njqpPu1_hLZnMOLOC}s%9+D}$R;4k^)7lnGZz8m37j=a_GChv zaBoW@X>WPi?M~Bb2+^-XGxQ!lN!3qhLahi^cZEZxyq@#MQM{fyamq=0>7-tANZeF0 zxJ}DMZjj@bu#h8c!mj;%@y&KX=BX)G`vVPZSv#FcQ5{##VnCqg4~J%<=6(4en{jt8 z4@;DI5PI(}RqVkl)Hu`g$u7aY#+`~&keGBySmJv>}nr11dVIZfahiY+ z_=77WWTE>B-j|JMsaymMZMs#r!pe~I%XZhLCU2XDOdzln-<(vrN*_W$mI{+ zPca-ux+C=VJL{czzS|ewPD4N~WAyd_sJL?~ zr&Ss1~){pMPe*dD+WRVS&DE0%CGQ{((4U;6M#r+hqw+S=0U1Yx6x2M;6%&QqR zkhcPTMk}n@hiTyWYZ4C6Cj#=VVk_1hd%!O{fRr>rp?j=;Q9{AbkNL=hbKN6gk;W1w zD66UGm0Uf#p~C8v3=BHaWagh|Tl zP;Yi0qF3;GrfQvm@Y|8)zbzqenp5m}=k#oAZ`ncI{xVCf{<2kD_s@u>0LWKaV7qt3 z3)FWq+DV0)xMMuBfD?-A$B0v)QRc|rqQj{d-udREJIOXf@Lou-2mQHH%;L~HVIsYe zXEnII-}JHxm6K}ggWcSYHe9^2b8Jk8ePNVA5WDk1^0nR1`ftvQf?+Qww~yVX)jo52cQ9Ter5mH)*!x z4yh;}PN_a2Pc@E=Z(gBOz8JGff7AaVX0y)e`RkCmzQnB`HfNiMZ&CYMOD z?G>Y5)~{UW66DULE^&)Up1D?PUxMv9~oWk2y)FDmzN-54A6BV#uI$?dJj!X@_;f+# zRy2}+M!_ml@q)Cdm5;B#nNM=&yC0gD@-+O8V3@s z$d)E`ZN1>y@ME<&`#Q1LT#tH9b#g)cf?m*xN&D4vZcr`b4O`!n|2qc*Hy#^*x2!-q z4lx#a?BB~1s9>;c4FRZWIa_rGm6{Yii$fGU&qWSq{yr^QPCf#&Q582d$JOfk0<0_$ zWZ(pQl;Ta<@d-%H3WWkKxw}DT4w`0axy~cH@Gd0-0C&uQ7 zvXHVY;OV_$JBp;sh6Fg-lFQi?gs1x*b#QzZbBglJV%2ARFT0+0TpIRz<;LREBy-{C z*1V`Rp7b~Db$D`mRlh$q4(gT`@A;8s7mF6B4#$iNJVG{FRx^n>&LG27ccX9owD-f( zB?&@S!?}t0h6p4k7J|yLQoW(a=RJ{ymE^uR7WP+9e~%A4({N}DOBZ-{?rrkqXLv1n zT>jPGVW6Ilnrui?WjBUAWuIfZ_Q39|HJC?()s>SM(IHJwrO=gpGcJClUG-00?%J+i zjHY{b*W9-veZ$d)7Vw#>l_U~y>4y2ChNYZ>HWz*GZ*YopU+CKWo>m(H-Zt7bg@ug% z6b-Bg#lnf*C+QPtWys4{QMx~Rc)aJ*GF zJP=je<9oOO@Hp_g(9!a`&=?nBa+5b%;Na2Az|m{#Xc&+=Cad}Fq?%k+L$ayu5HDTG zduX}4ek`~C$d*6ao(7r3buD!4i^VZoIZKR0diJw(Jl-0SZhqcPlg0+@Z{mjU)x!5)$X7Q0Y5o zNgL*~lkeS$0mtY)eq`Zw_$skP8^^88l1(|bjJ*Vu42whHhkr92$L;trpx&&6kkc{7 z+<<3lJ@T`c8$Y_;ku-Ic)DTPjyGu=m&DwV<#3rLN=D@4Jf3Ic33eCv69zFQdy6Eyd zf+WPj;2}eXF*LZ>V_IU0bBb|Fu;$99f)ewWSpj8< zb>X5qJp`~yN760&!42mFEEtdG>k5QjPhU(=S|--B=Igb5uDHCYlRCvNf`#<5sSpH2|-5NW0|1n8@3$ zz4f8vJ#@Uf+aPew1l51%7@zQzxwbKHz z2b&r9$U06oyEFK~qdRg;QPADwi1|}r;MhWikQ?O`$n%tKVWjyVCp_pSkqd_q9S>HGd9wl8_al=Z5q0Dj5&4Vn4Avi7nhFZu*ZXHk zeAs?VijZa1^W>^QxVP{^5uY54DHZft(<#g`N85NYZsn;k;G?SMxo=6<*x9PayCw#r zVlhN6NN+G(PS!dUt)o-Ux|~1v3wVkKAP(0t=GOK;m}>sys;lzh9VI||Mm+oe_beeLaDK-)gN58HU2_lT$HBdjU{;HTo_bGS*Wq?e`IbYF@CIol`;sr zM-2dtw`Q)n5WbNl(Hv*8Kv&LVf7?ryegFj|Zb;+VSV3v&t{DEZ{stI7l^muC1h+2y zglcr*{El6Ii{xvTi+p%`-wmu)dt$+gnGe>i8u4eDHqU~LdHOvRDN@ES5BzPU*qr=S z&$F{jNrB_k$l#KAks2b}SDzMA0_Mbe%sy(|*7%9*MQj6bZarY<1^cv2uo2e`zE9i{YaE?HuV;b3H?A47A=Dkfft}{s`+l+3u3?%viE=I|yf5}0WZk_DXsYHzb z4kI{L@JSo-NWmJ}M!tc;y}h{u0ApsV#U!{mAD9wUimL_}2GCw=_(NqO@AoSOP?k-T zS$UfI%7JII&2L&!F+i5ppz~wmP0t8rMkINWEFCtB^PuS*;qYCeb;Ww#Az4e1iS$3$ zjZ)c|Ce~HT*^K0TWGO@bvG`H+*z*m#^o>Xw=k9v@Sw}VEPlr#Br;dXb^uAQTq0WBm zabroS+@(ncCMP?yWYhp~p^j@0B?w(ZZg_>g7Ay-cAW(4{J>?5d)kURs&AGe=Gtqae zR>v2^GTf~{5@!J!xkONC9#M`0XKi?uECBapd7h3Ja7Q;=4FWW5f{XKmHv&v|@`6>- zZqI zYDqQUPQK$cfwbqOQZkcCFU{K#ZHg}~`&8w=7Y0h~V|2IEl(qF!e8;A}9}~F3g$Vyt ziv}{PiK7HY(Ies@1pT<>KlfHIhbz-#Wt2OubNGf`Lyf$8=b&Lh0sRRslXVgD2nq9( zvhL8Q6q&A|An_y^4-lJsTYOqgMjZtYp!S2vZq=GZCUn(Gb0YstH@CKi*8%g&ZNf?3 z0qx*iJZ9gAB9`bZ;a?Ukll)2l+$fI|{D~UvMr2Pd4(7u-v%|nmpF%8-^#Z_ZuMBy3 zKdXQBVQnK|cjs%Y5f9m_mKe`HVd>jPPp|XUg})d9=#mzME9WMS_tt5pe<)lym3nRI zw1vZt;P8GNRxag2*L3}y3zf^?ma*Mh1@*2)`* zF7H{AnX;(pGh@Hse?BmZ`(_`_W6MapVQ5=ux+_}_}ZDiobxS8eKo_< zDzsM(U=i%WKXD`E(P{_u8kst$;Mn`B$M<50SqfdCFpoED1pJ)JCvtU*MreV2VALzX z&Wftm(Kp1pGf>mcPlhxhZWaLbQh_!V)K|9>)u|qY@gVcbSG$HGUQgWqO*o#dOQlKe z;~E4nLWgAUvqNOY7+3!4B5d)4q@wH{P<@v_cew-{0+3br#UrMYw(Sjfoyr%>Yx4Pt z`EaJ6naR;)vCLv?>f_5e!|Mc`c>=P(b%+x)4khGU*)TL(0>woR1w#cf)VsSEv(tR# zy>U=8JqDpH0}o)fI!uF?Gjo`4B&fb+^O$zW7N}2RpPr%jE)z{Z&(D)7rrD&DLw}VU4dP|@l9pN^TFs7>`5icbUX>Zq zb{kyVW_uSA>Z7izpB2cEzgHd3Q4G%JWg(jkshmamO%*qK_`uawkS8sQdKc3O zioI<=WnG=#WWR>KmdBF_#-B(%3J|k~@wTzs6;2Wjsosvd*q6@nuKJkxgl=Hl*6!lRBv|4B*+S z@2r-6MJ7O3%oMMhc)2%Zy3;buz=yJykJc{Bu<*}F5$^P=r#hza6yR+2#;?0ami)Sdc$aK7kiz^Y={P#K zCR(Gq8F;8VWRBp~bW;_Im>J8UIeyLgMH`7^CT#D_ab%0{^u{<&gdgvI+}iwLLi(;1sE<216ak!8_OosO*(9yis+ zicEF501D7VCne`Pj<15nB-;Mz9l&s{A?9^x&?Rj^Ec+ofx`lQjwaD@%yDo_)~5kSLQt=Aac}j$c~7 z+0-Z;rfL&)6XK#|TN_Zl!M(|Ewo}(BP7X#d)G&6%Z_k+yjx`iXzDPh(W67;Pb~yjp$j>S57DT%e<-}2YroLav9LNa%44=(bIoiW}M9_g_iCMxN0OLI0 z4f+(Okg0E3bIx@kZnCK5D|q9+#M%5o!sQ$f%B@VYz`;NU%9{^F3wvd!!I7R?nxx`) zs%}kXxv5P_;T;{xFZJPz#5Stg?4M%OkJ;d~0wJ(1DCWhWg*S*%nQ?_@e6j2F&#e&x zLmF_xirm6(A)mYxNP)de4^F;(-TkLR-}3M8?_zt?K7@jHqo4Jklg_AxJFkqAnHT6r z=$Yg*4*Bx9q%yQQEheG-*35P+rb};bM#k?^TP71 z48iDqMstF`V8Udr=rSTq93DsWnCjnwGJkxo{JvAjZhCpn#r_E(TWFzNU@qwS5(mjp z0iM1=*P}hEBw9FgG9PjYx!qHQ%zPM03l_)VACqOTLQ-#v_guieRZequ3 z8d9bLeKUNGU;be~W zm{v07Qluqxc6pFG@-%Q6DKIVR#WoK&wf*=EqIhqbH-S!Q$OX{dFq zCM){&RKQs1 zsjTP@e~qz4Cv$=>xPl=4O>C7em3!%LK=L=21R)j#Gv=K8Kh1I|KCM^9B~xivhoNCB z8JsSVvvMs`SO}YWmyTJlaV@?n+L!CL;a7)VW6MFk^(-XE3_Z~pH}4mz#6KeQp5tye zEs#g&VTV7&gC_e?CMAdwdKhZI$rY%Ud&;P!d9Qp#JV?(G`KB`~ zK>b%SE+m}>lD)aXhzF#=Kv*+InPSm`Nd&i~5AG&W{+5}&ozE|}HE-2KT~^#;5=zQ> z^dq_fb@z6m+!+Jozi^n~36UmR2yyBPkcKfX6CfifQHav*Ke5&PDbtrzcqdR0Dnb}j z{#vFlL4$Hy!_^Ob=<@h}MTNQQX7BgZD`9?GrXt-Zb9U092vPH5Zv#9)u9 z8ilG#r=)PH#g*Nd+{4X90WpI9Qu9zK1*7$)@c27RwfSoD>P;ERDr(9nECeq-ir$0z zq(G3*BCYR+T}t3uH2L(WerN^Qbv$G(vPBbJO=`;$7jjHanFLwRPCps{4fBtz3B(pJ zr<1~@eA#D1D9F$GevhbGO(C$*Hl+EE_JQ6Hay?l1BWRm~>M$mJF!cJ$&$!yWOL+GF zHZXin25#~uy=u?~fhvLN*Z;uGe_*ETO3Dmce?9CRX%L?VFxU0b{GNe}ugh21o;#SWuIBTwU|#Y=vDhkF?w)z^;#yMm(AR@EZJ3nTZsvD5Gi=Q| z(xD=Xp3L%=n5?es^g}e9Q@$IFJM;(T;lwha2w0FE@*Xab%Qs)I-K&$Tla3sT=a(Bz zfm-!h3Tn}<{iD^s2&f)MEh_!cj=!w5FF<>_Wr99h!ZltE;3R|L7({U}qP| zNQ_JuNi=AMeJT|C!jEqEi?TGemRCDHya=6;Sacia0q>mdrnoDDNyA`JQ|t1@V9O} zc9r4o6`%{a@sA6NLViD<`+P31ro0EdjG8mtK%_y0qJW3TKAa9&V}%xiF# zN3%a=AbD{~0`bUXGc;OPNx?1J!%tTHapZj1ytgyoyHlq906B_1s)ZIV2$X_TBKL~> z@Cu#|>!CMwO4n`okDi4M6w@M8mYg}bwC6z^xCmaGf-D4_Lq|W5+y42X<)iSfCH&vT zLqw|01|wq_NgGKkNt@aos>{rIoqimJ+wbbqm;l^tFW|Uk2PxaYH{ia2u`em1d-O)* z&9xhPh!06~>}fhiNJJBmgksc;(abRDL4-3bY_9$Boy;o93w;);Pj_J#xc5c3jOLG5 z-8oOF_)kDVi%il{Ee2nd)M8xx&wyK;_0BY&hllQm8^RFuVow3{^=g#3N9@3Rdh?~l zwF~U#iJyksow35r|IIInR*=kNd+qd~!H(j=Pu#PPm-i^X0nr#Bd_z3#<6qffQ2w)5 zf9Cn2>O+JJa)bv#FWnmzt9MLr^n|yOMgXvl-Y0lWY`)Lqkc(q%-XrByr!Gb>lofSG zU%PoFxP|MIb0!JKkYTEPcr?olelT`n=v-zzgAhOXWn3yd*hxsp#(F#%vDJ$MCK}c_ zAA!vOIs}01bX%{$Q_cUFy|>ot%JeDBMrhHk+0D6Qe9Au*Z)|5jXV0l$ym-;bD#>fy zOqgZjoio9P-#Ha=>bZZ)%JBS3jVd2Y;>`v;o5r~rI9vXy-)EP{ z3QmXm9wa!7`x}#0_g;Os&<7}-7vhQW{$9OU8Ym9CIU8^N(I$Psu?BFNBVJt&>gD#b^u zqIJvQ1&wL24*C>+fp0bXQ_JDIkJs(=Upzj($(EK>N!LI*4uNj%0hJ?>ixQ>#CA_|q zI|`nfntKVQlg4*2zxNz_yO89o~)>8i?{C+Ob`Gg&|1I3-ek#ZO_3)tS3gm3a-&#WE~3A;E1gVAzQiDJ8^0;J&ty2s5siZ? z+@v(`yfB)JF-v*H3EBt1cpV3Sh&z|uBCpk;_Z#>J?=P_zw&~gL^$;66^?H*VmZTSW z(;oH^P#km?Z+gtvZl9S9#!h3u!Cd4WUo$ZK5zolyB{kLOh|!h(;K#^z!2 z9u!Tn`eG|ehjf_LV+!F6Z!BuZ3QsMM9I%BpFA&t!?cUPJ8&}%1I`Ol|P%XPK`RTg< zy8pTQ#A|4vRR$p_^W{SFMF-{z(7)XEebKUB%sdQu`qNG-?ZSdxt zRtnrSUq=+bd=>?)Og(f9`NW;=U2{i~Qx?1;N%J0E4Q7eIRsOWsU!8mp(%9dh{#4NQ zm~S;Ai=8Zdp6TZjaVahBl;f`mS)t+75Xr#WKd}x4*PogWn>L4%^tQ&{1|uJC?+6FB zCa{$l{_F8uOl4|HzIcKw%Ope%#c6HEyf5fNUIICZPJ5Yqg}lbVJB#AQMC*fd4O$5( z=y3XzSOfCADdLL<7$VAi)pJ+CMkRPjyqH_1cht4ZUNmR96y6rcVqLxuesQoQW$wQ` zn>@ETqX4Opv8tYYSybu_fbYBMjAcjUSQ`^An{A|Q=*n3i3S z{AMMm1d1qTD8elai|4N0n*aL2{L_`T@qI;9E$sg+ck7Iw$Jg$7d^I*=TjTv7$*uYe z{KF0%@;BpO=yWkYfNcU>_p-#0NJY0P&yvr4P`r_QMZhI@=Z?o)V}Bfs<^FhR(%c&x z_IjSNyW(PLWB%gf8<&;$%GLyYG5_@@^T54DtNo+Diu@^CBAvfSaO%_|wnu(NXAF-& zIHkRQO7`8;H`C|O{i5q9>uAe6W8S_xsSU?@9VX6NH_O4ltNwVOtcI@c)a=@JqlPaU z%qNPhvYBi(>s-Grcn0KDyjo-ZZU^(@W4)6#X9hkBFA+b*@QYE_kWsbHwR{oJg83KZ zgad%W=0IV=mp%@i@fU@G2`^p67^K2~VHM*qO}F<9(v3pTWk_}FV9f52M0(g>;gw-BfFt~odaQm_5u3PqZVn39ApZH)xdPu{iV%d>JL#_M@a|$%afTxfo>8>WvF%V=LiM5NpcF~7s0!l r5kNPk0~NQIv=;ys#{w10UlwK5{;0i+?Zf|XI=dY;@2ua4T;c)%gLfxK literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_classlibraryfox/.template.config/template.json b/src/Templates/working/content/p_classlibraryfox/.template.config/template.json new file mode 100644 index 0000000000..b6e797f854 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryfox/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Library", + "Visual FoxPro" + ], + "Identity": "XSharp.ClassLibraryFox", + "Name": "Class Library FoxPro Dialect", + "Description": "A project for creating a X# class library (.dll) for the Visual FoxPro Dialect", + "SourceName": "XSharp.ClassLibraryFox", + "ShortName": "xsclasslibraryfox", + "Tags": { + "language": "X#", + "type": "project", + "icon": "FoxClassLibrary.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ClassLibrary", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.prg b/src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.prg new file mode 100644 index 0000000000..418c9107e7 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.prg @@ -0,0 +1,28 @@ + + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + +BEGIN NAMESPACE Company.Namespace1 + + /// + /// The Class1 class. + /// + DEFINE CLASS Class1 AS Custom + PROTECTED prop1 AS STRING // X# allows types + HIDDEN hiddenprop1 AS DATE + // This gets called from the (generated) constructor + PROCEDURE Init(p1, p2) + prop1 := p1 + hiddenprop1 := p2 + RETURN + + + FUNCTION Compare (p1 as STRING, p2 as DATE) AS LOGIC + ? p1, p2 + RETURN p1 == prop1 AND p2 == hiddenprop1 + + ENDDEFINE +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.xsproj b/src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.xsproj new file mode 100644 index 0000000000..a599d7249d --- /dev/null +++ b/src/Templates/working/content/p_classlibraryfox/XSharp.ClassLibraryFox.xsproj @@ -0,0 +1,35 @@ + + + + Library + ClassLibrary + FoxPro + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + True + False + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryharbour/.template.config/HarbourClassLibrary.png b/src/Templates/working/content/p_classlibraryharbour/.template.config/HarbourClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f381b85077aa7921cdcfdd1a2a4e63ef58da3e GIT binary patch literal 13604 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 Z(?EbseWAl_i9Xo`P*v1asFt$`|6i{8$wB}C literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_classlibraryharbour/.template.config/template.json b/src/Templates/working/content/p_classlibraryharbour/.template.config/template.json new file mode 100644 index 0000000000..490f4254da --- /dev/null +++ b/src/Templates/working/content/p_classlibraryharbour/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Library", + "Harbour" + ], + "Identity": "XSharp.ClassLibraryHarbour", + "Name": "Class Library Harbour Dialect", + "Description": "A project for creating a X# class library (.dll) for the Harbour Dialect", + "SourceName": "XSharp.ClassLibraryHarbour", + "ShortName": "xsclasslibraryharbour", + "Tags": { + "language": "X#", + "type": "project", + "icon": "HarbourClassLibrary.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ClassLibrary", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.prg b/src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.prg new file mode 100644 index 0000000000..1ebe8af6ac --- /dev/null +++ b/src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.prg @@ -0,0 +1,13 @@ + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + +BEGIN NAMESPACE Company.Namespace1 + CLASS Class1 + CONSTRUCTOR() STRICT + RETURN + + END CLASS +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.xsproj b/src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.xsproj new file mode 100644 index 0000000000..eb1063b141 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryharbour/XSharp.ClassLibraryHarbour.xsproj @@ -0,0 +1,28 @@ + + + + Library + ClassLibrary + Harbour + true + true + true + true + true + true + true + true + true + true + true + true + true + False + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryvo/.template.config/VOClassLibrary.png b/src/Templates/working/content/p_classlibraryvo/.template.config/VOClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..549363062efb38c84a22f37799291bf5be09bd27 GIT binary patch literal 8002 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 KD;Fu+1phyJS})`P literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_classlibraryvo/.template.config/template.json b/src/Templates/working/content/p_classlibraryvo/.template.config/template.json new file mode 100644 index 0000000000..545984a6bd --- /dev/null +++ b/src/Templates/working/content/p_classlibraryvo/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Library", + "VO" + ], + "Identity": "XSharp.ClassLibraryVO", + "Name": "Class Library VO Dialect", + "Description": "A project for creating a X# class library (.dll) for the VO Dialect", + "SourceName": "XSharp.ClassLibraryVO", + "ShortName": "xsclasslibraryvo", + "Tags": { + "language": "X#", + "type": "project", + "icon": "VOClassLibrary.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ClassLibrary", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.prg b/src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.prg new file mode 100644 index 0000000000..e9597fd265 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.prg @@ -0,0 +1,13 @@ + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + +BEGIN NAMESPACE Company.Namespace1 + CLASS Class1 + CONSTRUCTOR() STRICT + RETURN + + END CLASS +END NAMESPACE diff --git a/src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.xsproj b/src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.xsproj new file mode 100644 index 0000000000..3c62aabea6 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryvo/XSharp.ClassLibraryVO.xsproj @@ -0,0 +1,29 @@ + + + + Library + ClassLibrary + VO + true + true + true + true + true + true + true + true + true + true + true + true + true + False + net8.0 + + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryvulcan/.template.config/VulcanClassLibrary.png b/src/Templates/working/content/p_classlibraryvulcan/.template.config/VulcanClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..bfbe84d9ff65916bb88a7b470a2c489238042aa5 GIT binary patch literal 8273 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 AWdHyG literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_classlibraryvulcan/.template.config/template.json b/src/Templates/working/content/p_classlibraryvulcan/.template.config/template.json new file mode 100644 index 0000000000..65b5a2738d --- /dev/null +++ b/src/Templates/working/content/p_classlibraryvulcan/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Library", + "Vulcan" + ], + "Identity": "XSharp.ClassLibraryVulcan", + "Name": "Class Library Vulcan Dialect", + "Description": "A project for creating a X# class library (.dll) for the Vulcan Dialect", + "SourceName": "XSharp.ClassLibraryVulcan", + "ShortName": "xsclasslibraryvulcan", + "Tags": { + "language": "X#", + "type": "project", + "icon": "VulcanClassLibrary.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ClassLibrary", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.prg b/src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.prg new file mode 100644 index 0000000000..e9597fd265 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.prg @@ -0,0 +1,13 @@ + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + +BEGIN NAMESPACE Company.Namespace1 + CLASS Class1 + CONSTRUCTOR() STRICT + RETURN + + END CLASS +END NAMESPACE diff --git a/src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.xsproj b/src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.xsproj new file mode 100644 index 0000000000..87f95da8c7 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryvulcan/XSharp.ClassLibraryVulcan.xsproj @@ -0,0 +1,28 @@ + + + + Library + ClassLibrary + VO + true + true + true + true + true + true + true + true + true + true + true + true + true + False + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryxpp/.template.config/XPPClassLibrary.png b/src/Templates/working/content/p_classlibraryxpp/.template.config/XPPClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..f442e8f8dcbab7d61c023aa212ca78e118d884ed GIT binary patch literal 8556 zcma*Lc{tSH`#*kW#xjwRwd`ceT9mTQWNApUlU>Q0tYc@46p4)T%9?L-Nt4pOz|{IHDZfEfu|e`m>;1>~^YwlLX2Bh|o#=?B0}a1m zo)Hzt39By?R*nH&Gs$lcc5uJ39?olgW<{FNC>>WJl2q zey=2d_F3tl-5CBVWQG3Y?}(%D>}#So=7#3BWg`1yfdMBJDWaH)LuiSz6zN6{&c>8& zb!Nn$kS#TPKEH`4Z}IGxm9NREkD435^f%aEm@eoc_LcSyo2kC5c=p3?T-^DQ>vqui z;`C93QHxoN1uf*IY32=)p9wUo2%>;C|L|#U>q>Q1VIH;bw7Ttx_~F{g4TVj|y>~Nh zmsPihRpxVlAwdxwl21%q)-FgmBBz(J(;B+ifwlGT!aS08u5YGV;*W7IKD^mOn$Euc zmp*a^@yOtbQ1GTxu$WmQ*Fmlk#bl50&lnG(-r?p=1B$#oYT5aKxlw=mtjw zYoiA@%hY}_zB4itnOE%c#^Y2VKXu0@$e0}@L$H$F$%3NUb&NA*J@Cce=C04^uc5 z{_qYOMdp>bRwfkviWdKQf!|y+*&Wvut3IwV-}+k}<~Ta~QxUP;O}HCSgNqX1oq6Tw znbyQIw42v68;}G{{Vo)7(S3yzjvmDMwmiCuD|@up{yHF0VyamLV=OTFO?KUIVqkWB zu~k<o+@wc7@c%YCjOHg zG{2!o4xz?Q=l|hwN+c%cF?sr{1P6TB89%9mN~!CKe8#5;A5MzI7yUvO{?2!PXL?Cy z`>>S#Af-jR=Ii?#-ki8eQhHyLNmd>Ui^Ef))?HRs{jrzE5ss<@Fv6lbw-^u|bI=MB zcf1&!?D->MPHQ8;#^os1Zhy;S{pq+6L8S6y2`r{GR~m8BIA;5{r9X*Kmj6$cK#)pf z6PeM<$cVYFj`8;Ghj~FNZI#B+qP24T&$_|r%%hKNEczK;KJ@>_x*^Gzuy@-F{Q~u= z&cAlQ?n(1vE+w=tGWjlx+F*Pu(bPspbUhK5GdmLRV7PF+0XbP%`KmZqUA?)}+DA5n zBKxfVb^vQ>jal?cenls0lEIaE={^8`#{6mzd|x0E9nMDon%tG_uM`@_x&*QEWd-gJvY7n#S~yOdt>6@~e{V8OwASxFFR~ea3eR6$;+N%&j{K}-!T|0(Am*6V zlh8GzqhE%&IQ}KC7>Nu?GyP&}XjO~|AX-?CglPVf85dxu=6+ch%s#hb*KZrs`Xv#- z4P8%DlhBBtYnn@xq|)L##|O7ccfUupDVbu!OmMt+3s+4#~V6BsCH6QE0Pv zG`HejseY)IVPyG@MHYy!HR+)5wb#HGt~ssWO%9L<|Gr%EtCXiPcydtJo6F>_pbXP| z3EHI(G1~7FY2;4#ji9S)FFwp1B%#`VoQhLs)E~p*mb^D*&R|4n-)|FySs1&BUxE-Z z)vrBX=*wl0I4CpXg@cSh*PV!0@GC|g1&U0(^)G+f2sv6`Qke045$4-I{-t_o;etk; z$wA_b$dt(St*bGJTN{zB+Un?{8)q^25`n`GO9(IlC@fA>(yW&jP zcaGn5hRhsQ@razD5?txXR5l13t8xuF2vJku*TSEa6Q3R~i0GtGv>Wt1@j(W(q2z<_-FD zg0K9PI&daYAH0t?SGZrkK(sYqDb8tAd)V7&R7AQGK?pM>v|+N<6Yb9~*;}20q>7g^ zv_Ir?GN4R^=21Tjt_t1S?|N41wVZNj9%I8AU&y}Il? zF1x+XBPb{l|9m9-sOdRNbYe^bdXQ$r#8GlROWZH(<3fL7-lHl&%o_{7c~U82r+9Vv zn(oSn4>^m4uIq_2Ce)f=5~2Fj$ZR$DTi3dXzfb=tN{Sub-z+|+xS$~O$F$W`i;Uqr z`hg+XL^+c3JRV>ge82CgK4fmB6y2Jxe*b3%PNCcL zXGNR$Zq(`T(%WA`vUA2qOCd=@hx^^@iW~XjO5!JVsgu!q{)<|2&(5MD=66E)Tn@LC zdhD|-T!s?N%q%_z!SDqW&LSCC59|DEuD8}Coj4H|*QAq(Tl`5z)UNA!Whpsd+U5zJ z3_rTtv^7RVF>Ob{NBq{Z^v4{|IbkL(>?2b#yS0cBe0iD{2DPT{5ZT4Bk6@3o`TaGM zO#!^g#Y9Ix4TiO--M?Y-kIME$gUwkW(XCN+J=LlfS^g^mbnb~ske z;B$}FG>Fv%mL96NH2%@ga6^Rwd^<^GoAM%fcLhJbv>5TYsYh+@45RwLqfQgJ&6DzC z-6}LiLDeTx?0BhlL!oMC{zx+J`nZB@B7$k~=dhw9+c%Ax-BY2E3VOnboN0upIbM%r z>dq5Lbw(EK-j$t8M1Qcu?aAD5F>gl9I@J*uZiI=M zx>{%iqtRU{LXXyv;rDCe(7FJ7?}>;;Ca;s4VXz>Ud6NpumZ>gs@;>&)Gy@*%w{Py0 zuy1Z>b0W{EuZOXn$9G@c6VJ!*hSuG_;KB$6C*MW@<gk-_Yaj3p9p>gMX;S3Q50Li0L`wHE^Nt*f6(DD}^oVR6&n0OKipQVXkPmdLzRfpX z=CEVuwJ58($pB5z&1_Lr>KCd@eOz{Cv*661+$UjDQ`3bLIHfjqy^kiUkHC~p3Wh-z zp`^!r;ww4q@KwUDw$%advB(p9V8*`jLJ3-4nbab+uVvg1@p^x!XUImD}2>98r_dmPgV-h+FCbeMBNIurvgK(nR_Jd zhN>S}|3u*8b0<-gIl|eH)Zfg4Cw0N%haeaxgkq=u%|RbOf=fJU{;Ekvle6@W51Z9- z_Mz6a7?Tf&h4av6OQA(MFaj~3G~8wA+CY+o)Zj3!ACu}o$X z0k2DQ7LAy_uPx2JzfyGWvZ;mfz1OP28M>1DoQ>Q!9c9j>Y|Qkvk_t6v4o}>wLF`0} zd5Li_fJZ2DpG!GueL>DdUSJ9`y=~&h(d+&wseY=$LF$<#TUnPJr`5k z(A`V(rNU3MFx1*k?fvHmku4YZ&)qT2QcdUdS`I}ts5z}DJqkZm-e{P48-TXce--8! zaqGC~2W6&wg;dfNcHhRNkS{*cHuxNM3VVKcxw+!0Jsz#Zcojw*dw#mE+vpdbqE8D} z!@WGLJqLKQY8pCSCV1 zYzwCCtzmhi1MpcgkYbKL(ScRc1Zqxe$;_T~7NfYAsG~{YZ77rJkVoP*N59LmG}-jU z+Mg^wR>Gb`2bu4?C|fZB>uKnB^Qkf^Ww>&g^EL#gO?Dry@d^EZ_(BX1X#>CR_du+= z3n>Y>3xkEPNyVCNSW&iy3qxfgLfGBvK^tV(F?YyjFvyKHCF5iQ8aIpNAe9dQ82=IA z!+I}$ZGqHmsrPc8`IFkabWMFRS&m)Fmra4*8nP?~*^qBs)vqaEOO%%U{9@?Qlg(sy z-ahgp_0CMSqP)Clo)T>$dDcRwtCw3d7we=tiRWwA$!t{~@m--QdWN#8T7VFu{C>-+H+m&i`4 zv_>sPUn3<(cREuc;oZofBRO(-zw~gsvqORBPuOygb2jQ8^MQp8Y6hng%GmZZGMOGe zV4GnU%Xha{+jFutEbXPc^qtQB={#y|oacz#RJiW6ffwI!k`n{%A>{%)LvmI`b7k)- zC1IQz&fU26pI(+;{bOC1si^6Q=#4KXiyv04Ht}=s>Oy;yVs|-L0!iMb!Kx-^@_$TrFQ^M%RJ9uE6<)k*_$y%kAnFg9u+_(&Et;d8%ho zM-7wic_xn!VkV$z*?l5RjPvi2FE$m$5~Rx{C)=I56*G-Yj+|9r>Im*J;^jXWJ>uEZ zG7qw2#r<0yzNWh$NHhz_ook6uieYcleM&B+P6fnwz-FD_3h-7hK-w262JAI4Nd05s z^7!z?SM8_b-8z~Nx2IUiq-N{K(3F^`Y_mKVCO)>}BdzUQzZcfpZ18=nFWuPhF-2oF(_V1hZ^B4} z7BFSmxp5H2In-B@{PLFWNMtL4cLau9hT&H)`g{}hlVpZ)1f2IzPH!b-o~RcbTsa6@ zo=QI!I!IOFdrb5o(#X?={bUpRW8w?*p7o?%C44Qdd5M%hP|~Mlh-t<8#47^N^O1t> zA7C+&dBavz%|B{YRG;i~)a=X|k2q%Dk$zSwBb22=)RgaC_CeRXlU#?J-#DYCkpS5p z9pxi;Prb}$yK_;e*BKj{H}f!oj{anV7&4$>G*L)rf}DikNNJAMai12=+1^^Cg{{ z0AAfBwd$d&Y@tLC>ai&DfUDzmb~E?lH9?)m zzv6=41R(B}Ma18aLa_@~@n1~1y3|sGLZLJisA~^ZeLstO87e45i47!-Q-)XzBu#I6 zuJVLu(WAt~@OPF!yPD)-d>y)>(e7ir^P{syD1o*blx<>y??H#Syb@3I{!pOj7O@hMu5V1x?|2<{~|JdIVlwBJO5~sVE9bSC)PhD|l!kAbiO| z+VR|Cpsj|4lEry#_VyDCja*qV6Pn>hxm>>>w4O*)jAuSA)&B%peHw#p6WNij1uR$Y@7u;N{^m8gS zx%+7FfU1+=l!x$^4pmF0Ws2?!Gd1Ym0fSt}(v!i;-_AOM-dvh13fZ z`}bBuebwvNBPKwzE`po3uwq5HnSG6O)K3?n0+_Z6%{ zA;1M$#ob14^L49u{J0%vQ|L?R+Uf#<;}i?A5rkXwL?n!Ti3A)@yc7_^vzL$JP=xxiHx0s7=qKHj-|R+W{N zo7REu{n?U!S%qa~kE||3{RPgSJ2Zk7(#40<3unP%&`h)-veP`)@nLdp7L#|A>tP=@6HM zzbi#EzAJ(iODf9)Fn89T5i68Lmx*<_lLOua{oRy$*M}3h^Td>A?3Z7GBNab|flOPf zQHEmib2%G2cxM&^jpBt6myit`E32XICj!Q75Ufvn4R}+q%i|sokQe(5z)f2!ORWwN z&9M~*Su%h1&zClWiKcZ`BjEsDD-Tvo|0;ldAPI3P{i_v_hXalOsqYa1zSZsWd>4cY zR#AaL`Vz!tVaDc;D_llF4nx=9Hk}Px5_hVrx~GKW(VF!JObmSL%?8S~^gSHVp}!)K zZ{Lc83K`79TwP@4E)N`H5Wfm*@13#vc8=jB&tD^5{jLtqn^9Rb9%AwT*$+O>gp^8h zzLmhCZ2niZMYlfiMt4K*^NCnJ{p{<1Et8+H3T?m9RjsVTFvH_@_OBo;@Bb`#%NkzB zd@b>KgP3)?dwFLD$9UEweY{g027l6=p2xt+cJeC22~W!r0$ zckb;Ds&`JI;D4@?b>VJ$%kv!bL(0a%A>F-v!g&Fxi2Xm;mOPF{?;JteF*7Hi*=AJl zIBc~Of5Vn%(_Ee=zJ{eM$Y8Zll2zoDz zSCeR_~~-BA(3F_J}>kb zOa{}V<;8|&76}`C;C^KLj`}ij^Zg0G7Gs=E-*`Z7(Z`r=sc0$0$a%~Vv}ykM-ZA6} zLwoS&!e+DfxFo`;)~Ko!RrRd?f>0^x(3@*DBk$D@DuUcRvH89vkzAXz-!~2#B^6wO z1GU98KK)KNXo|jJq!bbFl$z(2MHxJAhe@OsF$a*3rehXQV0TF<_9ukpaz=7jHSt+q zW(SoZ;tF1U+CK+cyYkds9b@^{oKSv!<68We_miN8ZM%>arD8C31z}{eed;$$85{hu zb>~E0@3@`RutbS)F68{*>FxP+CFdIwSCdmInZ!ZcSSQ&10~^AQp0MdPkHs6gsH2S}MP2$PiF=Ut3O0zVBg8Qc)BQQ0H2VT^$-oYVwLJ}uA7Jt9 zKs);jdl@5NSHZ8}6F1fDmV$SwV1|fZxi1R|HOKS~ljz0Hk(e00mPDjtM$-KbQ7Nd` zn=ZY4OG4u5WjiQSHIHdrNz9M=`T0-wE*_;#z*Yz<8_YOJR?`*bNUd)lh)9Oq34&ig z+Bkk%$xk5g3)*3cIfX|B?&%KCM3EEN945y<2oMK{`!_FQKa}AamE{;dZ|=MuW%@AV zbcrE#))I!z;)IrbYZ+*Nc58$GrXgH3p_2``A8{xL2In!M8QWuLCIw8N4qS#VwW;OT zFzRkAzb`AhxS$CCS42*m=TSIFbUVB+dMYiwB*t%%1zUT^3-I6F$2qG?EL~s#fwtC6 z?c;sNuOB{l-!m@ElUFyMe5wDjpdkO43ZzzdhY|a-B!(hSm{wEBZ|>IH@&0irHPN_V zL}d^Sb+ZNh_x4fM3#2^XaO9Cs2T?ej$q~{MZp#DWvuWPTdwJ)cVA2N;Sizmfm17{T zkha0Qt@^G^rU{xl`}Pbteq-0Lp=`mHiHTu|2m3RfhbwkCCcz~x$!lt$J-}^$0J)rJ z5-iIf)K5?hh~(mmeaG*!zidBRiRf z9BOVeP8`m&&$mt}Go?D9(Q0q8jOu(egZVXnoxNJ-bf-i_2+i4YMcqY$KNT z>d!@TaEw9cdPMUl@4H`hT1E?~`4;`nA;jS%M2kCVN9eQLYeg*n->Vw}9`0~?rc^ zgRU-QqFaP8vK!X!^NI$`d5CL^;vV3Zdz>c*PWGYcCFNAe4Oz?^1Ov9qlAu%A2onda)0h!0U*hAuhGAAFZDsLfSS@FVxtTxEt~ewGl+m01}jU;9%6fy|7Cw(qhd)H_YD>iv>NYXkPjM9W)=!t@v2PoKAaV$->{o{z`2B ZXrS}ak5+gA-6sJs)W4xurQ>q{{{e#L02BZK literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_classlibraryxpp/.template.config/template.json b/src/Templates/working/content/p_classlibraryxpp/.template.config/template.json new file mode 100644 index 0000000000..1a1dc33d04 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryxpp/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Library", + "XPP" + ], + "Identity": "XSharp.ClassLibraryXPP", + "Name": "Class Library XBase\u002B\u002B Dialect", + "Description": "A project for creating a X# class library (.dll) for the Xbase\u002B\u002B Dialect", + "SourceName": "XSharp.ClassLibraryXPP", + "ShortName": "xsclasslibraryxpp", + "Tags": { + "language": "X#", + "type": "project", + "icon": "XPPClassLibrary.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ClassLibrary", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.prg b/src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.prg new file mode 100644 index 0000000000..e1893693c5 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.prg @@ -0,0 +1,48 @@ +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + + +// X# allows to group class inside namespaces. Namespaces are optional. +// You can also delete the BEGIN NAMESPACE .. END NAMESPACE block + +BEGIN NAMESPACE Company.Namespace1 + CLASS Class1 + EXPORTED: // Some Exported instance variables. + // You can also use HIDDEN: , PROTECTED: and INTERNAL: + // X# allows PUBLIC as alias for EXPORTED + // and PRIVATE as alias for HIDDEN + + VAR var1, var2 AS STRING // X# allows to declare the type of the instance variable + + CLASS VAR listOfObjects AS List // You can declare a class var and also add a type, including generic types! + + CLASS VAR someObject AS OBJECT + + METHOD init // Forward declare the constructor + CLASS METHOD initClass // Forward declare the class constructor + + METHOD SomeMethod // Forward declaration of the method + + INLINE METHOD AnotherMethod(cVal as STRING) AS STRING // Inline declaration of another method + RETURN "CallMe "+cVal // You may declare the parameter type and return type + ENDCLASS + + + CLASS METHOD Class1:initClass() + // This is the type constructor. it gets called only once + ::listOfObjects := List{} // You can use the "new" syntax with curly braces to create an objec + ::someObject := Object():new() // but also use Type():New() syntax. + + METHOD Class1:init() + ::var1 := "First String" + ::var2 := "Second String" + + RETURN + METHOD Class1:SomeMethod(nValue) // Implementation of the method declared inside the class + RETURN 42 + nValue + + +END NAMESPACE // Company.Namespace1 + diff --git a/src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.xsproj b/src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.xsproj new file mode 100644 index 0000000000..c8c101f159 --- /dev/null +++ b/src/Templates/working/content/p_classlibraryxpp/XSharp.ClassLibraryXPP.xsproj @@ -0,0 +1,28 @@ + + + + Library + ClassLibrary + XPP + true + true + true + true + true + true + true + true + true + true + true + true + true + False + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_consoleapplication/.template.config/ConsoleApplication.png b/src/Templates/working/content/p_consoleapplication/.template.config/ConsoleApplication.png new file mode 100644 index 0000000000000000000000000000000000000000..13c4bf9609ddb2cc952057fac81b4296aaac3f18 GIT binary patch literal 7056 zcmd5>XHZjLu)m>8N0cr_1XP45MQQ{D1VNf0ND)wamm(z?2t|6A-a@YeDq!eEDbhnI z(gR2dozP2wm;al2Gp~JkAKsgJAMTvHyK~OjJ$LtacK3#BYpT#tvQYv6K=WKx=_LSw z2(KW3f{ZYjxRqG{L%F|Hc?whxa;y;u5*q~#1pxRKOND<+N}#X3S2c780NRd!9#E1X zEjs|P^F3Em(DOFkn!WZ>Z>*Vo_i9sglKBTo{4J1zD=~>lTtiO0MmGDHzOgZ^ss$Z8 zH8e8SV!uZG<%f|2LXE2GLEh_9wVLq=Jy1M1#r2zpKU?m^K|c3v?%;Q3+8%f%-w{oV z+drQ=^+*_q_WIC>CpEAQ2AJ^W+K{@1(QnmA>bi!v2-xZL_5Bz%y|^o4MWE+oT*sr=J@ z`_|n2BgLitb1^wOW}sP9i`YFxTgzQ%-jZ6~AZfT7?00wW?p*1mBw|Qw^~UOO!fLBJ zgi4f1;MbWPiT=^QFicqK~&tXlBoIZ%JSgkG^&OK z=mK)yyc0hSrP&rrujSVfbmLo#JuNA9Dq_CG$J;*Qc!|l9C0{>6_r8fN`LUdMch2>a zp(5x~DyZjOP1(-4wOD#-WiFq{xKi3+|3lr7fiKx%dIlH{ofB5_=gu*nwgqfNz|;d% zfB&BoJYriRR7pgfv8Gk|pNrY-hS7&hxGra*noq-y1<0cowWI-+q!rkM8F6gJ7@~-# zK5Ir33DwW&+sf@K`khR9RcUCb|2<+pvZ!({*W+d&&i{7x$(MR5r;N7G4+sY+9owyp zY5wcRCS79F!E73-FbZdXypu1!v!y-cF%wfJRD;8k=lR^a5_Cqf+fB_+m!L+~A&gnN zBuWH}3TFEhch`^K|TnHSu>OdHctA8nb;wY}ZnS9xI z6a8(8=9K$tSdq6euWia4wa=~SaZ7{&K#lPkofvCejN3Lq7a#8Jnagv`+?0G@7n0oc zU8ja3Pa>ZYhgG2Sz6)@u_xGp2;&Q8lKL8;MWZZuCtMksi!n!o9CPo2Bbr%h&QOx0$MJ zH&AgnYI(+Kw%H>4cjY7rR+ay#8LT_h@yFJMr?`(d=60l;f@u--M!2yg4b7AVdHtmR z_YM{rRX!4+V6=n*wiaV((UUW5L)#6uv-iAD92l*EqxzbBd|!VgpsU%H{1U&EpV#kh zdxnzvy|qM?l?v4ftA7}JB|Q_^(--|D?$4r!uA=VJ1gQJn4+`M(BTomuSM&hAfv^3Q z{>+`04_$m7xKFDQmGXFfxI$GixJCMzpn(fdB;OHV{rk{c=WB@2IoiZB$pg!r1O+6z zzMgnYG`y5~z}tB+^lv~vo<#_r%!Cwqq^9oYOvW0$b}xbg2rK3N)S5J4pL4#QULf{? z5qpio&**U6rUueG1F#>bIpu0t2N`O)Z2NpFyY-5p)=`r4gxydwr04*g%cL^R&oveS z?B26r!$)TNutZBQA4hi0&D_2;Zs@R~f*~|z>z3zj|E{Vs^^*jrCNKc~wjv{eHdmT` zW?ATs;C(_~b z%WgsTwL>KGrTc!G&qb!7nI9~y*XtJDHCAB-{?9R$O&?hf@AgMiNcq`mI1$5YTqWuu zrcW48hyx-qSO#S=x0Cwyw6>wYOzj^&tDs4FBgd+H0!rKBzFOYA)E6kfb+8lrB?od- zfRPg9tbesBpljC^oj)czH3MZHm_B&8^}>7!A#h0G5YRLI0|AB9K2ubgSV?yPOmk{S4O>y;4hxUikrLFEjj^&UlZ%jrx zQz@zKMygTIjtA2wit0gE$Lst$?A_VyU$;?>2d@rePEszE7Iw09UWkUyu~zS93@}MU zoAmGDWi=#D7$9|ZaPp!P@H*FdN47W_B}o3j@*b*`&3ClHgdGv9lbMLL zYc;63H=3^vq5PiEB7fgRm6`k1RWUKiv~Ny`-@!lQF9B{cmoOCcO;H&lL#6-1@mFuLA zO^Aj;KES%^Xce`g6scG|w#P6_HY{@OD$V+HK=#K2>ju9)io+Lf9UR2+fV|CDql$w) zbnKdxRnJ$b2${1`6zf>*<=0)>-a%R2u>0vPxju*|FAjz0%z2@4yKRUu^ZZa@Sc0%{ zlL>@<`WqunO*5XNUP+>3M|Yg+B}`FN$lr-~Y*b3=A<5GK95j?c5jxVJ0gjxqyy~9X zsl{K)boyGWKYK8;Z=XU7Vo1dp7L-1IkK2pfb;y zN5acO;>rP8@cg(P^YC9fjaNfTXUjjmY!4e{5-(wbv@r@7RJNy)7{-dsjxJ?s${;w3 zZ{iE|tbNwt?*1yH9qDeQesk@sNxLwoCr6K9`t>?DE+@?1R@VDYouT^Qx=ZVw7&h;CtL(M*Q-*V7^vK?+?O5MU?zcGEoliTF1dab4FkjQFy~ zk@%JPs}bXK{e+P|q4D28S)ww=B&buBgZ2k?hic4pKP&pOeU;Qn<$^JB)7{_Wzs=CG zlO+(yJ6wLd6i&!!7B;3a^%rhzkLwJ6o|8FFy;RU@{uXvL1{0z*#TQ+nn&Lfv<)rBt ztkset0q+;w9A48FPT2MhVAFH!10Xf|qeMMShL{LIm#G8@eRYBJ1sI{g>-%5$r@r~p z`J_L<-S_{_;wa{hMfN-!c3Ax}uOOeD!#HUBu*2lq#O8b5&soKwa)H35Rja!eY-@o8 zjsDhyWVZ~;-)Hfcsk;}2et~JlPp=gxD}E~2SH3#ii)wXMHb9>&3XX~1>ON<-uhsLO za{f`$lW%vuRt`z@lQ9zE%FLZb55##kxwIYcq$?@I+?3nLwkfe1cPRa7PWuOX_gB;e zeahX%jX|=z2DV$zt3&3LpLh{ckvwm1Fh{J}>x!;assJ`NVUKeTy{|#u0nu{*ztEBSCBt@tMx3zynOVuLL4bE-UY({ZS&&8U=(u@Hk z*LSt4iNko?b#{*R+d10!#v%uadHsL9(mT%i=s+EdraBMxBvop~B&^=C7-}1zD-O?m zKhECc^CDPYTNIvg8RQ;1GOAGhdorP^MH~!rwp~gJ$*pTo$g+CHf1vaWG>=pAbn)J; z`U(gEz^8%hvJ&!%4{&n%1L{n}JIAcI4LV%8#khKIn<*w!kkFFL8B#N)KeD8?T5}@; z+mp9cGYpZ)Lh=27H(X*~j`ctp0F$^NE>rZzM~@TL55G6Gc)e6?Bj0Y&~OF{Az}1eilB;sNl`1<*6Uy-K-D0 z|5PneF#D7xMuNQOW(9c=uK%fka14a1+U^o;jfVT3u1_wt>zQNsG{+>da()d7F=DUc zPBYbXg2mL{&}WBzhBT!^X?KT*y5uy7MMF#d(Vk{Il?6KkZ=MYdY=2ddF{S7b5TmRw z8OX1|TBwyPxDOJ6Nf!M>Js)`cw=rioWC=H7`}ui#0!!Oa%eWc1lvng^2iFfXKZj1x zCi}S@=`-$+X~0p6571v6I%nldgc}DP259jtgKU{;~R&l z9$lKHYmG@jO2Zdw-sM%BNSj>$_hTKo2fMMA0&->>FGQk1@+m9mT2zxpthUdgz6dsI zNg9>GcHd3O;`HE;Sg@_+XJnbgWb8`B)0IM83U$Hi3g(%<`Z+sN7>VEz%8tvsM0))o z)F2f!*GRiI7_(38u4%AULAKv7dD9HQHpR=zoGB-%;NTB)FGWID=KQmu{BX0M1_~eV z-NjQ|04OWm1^&v%oCfxWaRL)d)m-l)Wau`VXRT*;BdSkVS6E8ZGBRSM>PFX)Cr3eR zOLMJa%5Xpb+~Ty7lmZ=7$^BC>jjT7ZwrTHltJ&M%4nbUotW0jcCrLJQf6nd-_r`j| zJee^15b;lD>S!Z?kB@JiA+us-2%(j);^jzR!FxZe8yl|SUW)e98x6Lfz0(`9WBFtZ zHp!dkUv>Pt)W_^meR@=Y2;Y0Th7vE@3!H=(y3PHw7weW6xH6wlP~wv#ww+G^+^wdb zeML(Xw&#`P56kpBK~dV%I_T`Ke%uuJGg2`E)*teq{ipa`JU?x%_ae=r5XQf_A)@#e zVs*ffq>D07A9UgVgX7HGjhvDyvBY67zV$+lY8-X@(OO z^aIqL=j*T&oG{dXHf236X2GuMqr*;^7XPJvi(>qky}p)G#E;W>5+wA|wr%^T~t)ZFD*{GF?NQjZGTs0r6yC$YZ+T_W0GY}#UHmzOg7o0gE( z685)i0l81+x7LQ4n-jIjgyhPz#1|`AjRU3Ktv2?I%=C)SUtUC>oDR!LAUOg#%FcYHxsw8g;y*uZwC0EPSIA;n#a$t@_3YDbxEK;XFf5-Kl zLFc^t^8VhXAM=fv!tyuq3CqSm!%;<$58f3XcqSsmLtOq|^c~gDsr>;h4#)PUYq_noAd2UJN zX4|p1;K;A22_JsX<*@xPHKA=WYM{Iq`DY(6-}OxlmBcjK{IKOIaFN;7Po*H?QBzkR z%O8dA?Ao8XpStG(DrT0yyh9O-{eB01;X^O!bh!?{l+;u6Ll;ZM5B`WxCmKEB6!so* zu7j^Y9xLLroHFdXBVlS7%=1?QLo*CvR2nVVD~!i1sZQ}N_sGAWzc<%xMgA)0jlpzh zgqcF#z8>vSEKU4g3sAtf7mi!6AT(@Zs<31>fj0u!aIF>eqw|G2n7{L_8JYENv5h9F z#dB8Zy=^S+8FW7WrU#Y+(<@^t7V37{(Z@~t6jTFb^_JP?8#BhHf?asg<0=B1RT1gC0LV}U{ z{rkYW&YsVKuvHggR_F|UjT#>fZio;TOfShE?mEX^%vTB~`tFk+T3Z-h46fE#8QU96 z+fb1J!C$Ah^mK;5g^L;`vig%_3isBXzS-cfnVj!OL#(OmMRR4&Oht<1X5IFc*Q+P$ zmfO$ITbmq->!<2nZM_JY7lp&0%2%-otE#_1M!GmQA4Zc6Kc}lTu{-VTzI7&=>H98! zZ9Bf+UKFZbT=*oJf!r=`4Nr!TrC*+&tOXOMXFPU#8JqCS^3kxduRi))ks?9$Q(N;v z)MLy9FSz?D=ITi4yCGu+dz&CWx#BF*bH@QQ1K%bB0Sw;H=0gtIM{RB)o872j9!p$= zYCQG1OOajBPL3n263XwYTgj$CXhl7}7VmxXePO|(wl_kd`N;*N8=4dZq^n_`4+e9` zwpa9@IH;M=$AZtJ*Tj=6u@cIVk;hHpE5}NL^O<@0FuppYI`O?&f0(j^++1OHJRLug zf?i*;a4|j*tNVr#cNveg9UjC)So>@mrIBBLe<5`+QTNHiRP!9k_jl4u-E>k_t94i5 zsR5}sq`hQ8`QWFnSA???wu^HOuUTyWjGwUHPbRS87tUI(+Qx+OO?AilSSp9zk5@;F z8Bv4x>r=Z-N6pgQx#)&y=BMEmCmYuHR>=tPS@vP$iQ_S!g4MjsPPs?Tn)y>=f913b z>&!L2dN#3#sCKvLti zR>luK)U-clcpFAM_>9o3h%^Ri4Dufuexweb0p4)G6MLF!hY1BepDi$xA-kfI*T%`l+Z)^4sc9jE0 z1Nhg38sMw%PJN2?tcW^n{Gx{*z!J&-Jo!F9m?bl2gSy2H}`^UYa~Do>(iWbLO?dwgaDbdXwRED)jtqqs-ZEa3T>|dKvjwafOpUXz;#6e zLAa~9AN?ESm%Th(m|`CQxR?K1`G1-4f5v#R$~Nj%aa;9s%;&6~HJ@@3{}yOW@OLZ_Y}Y^Mhj2tpD? zK$Snfz0K94yG#W&%LClGQN{kyb5oL143A|(c!XXPYq4c*t^>;6vsQwckz9$t!xz(Q&6IBxJ13`EI{LC@;e6t^&BqhPcP1 z9pnHK`ScG-Ul**}2-szSurvPpUSTFFIF4h2o<#a48Syd!jzi&C0EF`Zz?~2Ph+`r8A2E2!K_GcyThM=kiT?$w d(YMe17o)SHUf+m%NBD~dJXh9Ks(fl5_%Erc1OEU3 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_consoleapplication/.template.config/template.json b/src/Templates/working/content/p_consoleapplication/.template.config/template.json new file mode 100644 index 0000000000..21c6eaee30 --- /dev/null +++ b/src/Templates/working/content/p_consoleapplication/.template.config/template.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Console" + ], + "Identity": "XSharp.ConsoleApplication", + "Name": "Console Application", + "Description": "A project for creating a X# command-line application in the core dialect.", + "SourceName": "XSharp.ConsoleApplication", + "ShortName": "xsconsoleapplication", + "Tags": { + "language": "X#", + "type": "project", + "icon": "ConsoleApplication.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ConsoleApplication", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_consoleapplication/Program.prg b/src/Templates/working/content/p_consoleapplication/Program.prg new file mode 100644 index 0000000000..22dbd96aa4 --- /dev/null +++ b/src/Templates/working/content/p_consoleapplication/Program.prg @@ -0,0 +1,12 @@ + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + + +FUNCTION Start() AS VOID STRICT + Console.WriteLine("Hello World!") + Console.WriteLine("Press any key to continue...") + Console.ReadKey() + diff --git a/src/Templates/working/content/p_consoleapplication/XSharp.ConsoleApplication.xsproj b/src/Templates/working/content/p_consoleapplication/XSharp.ConsoleApplication.xsproj new file mode 100644 index 0000000000..72089c34fb --- /dev/null +++ b/src/Templates/working/content/p_consoleapplication/XSharp.ConsoleApplication.xsproj @@ -0,0 +1,7 @@ + + + + ConsoleApplication + net8.0 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_harbourconsole/.template.config/HarbourConsole.png b/src/Templates/working/content/p_harbourconsole/.template.config/HarbourConsole.png new file mode 100644 index 0000000000000000000000000000000000000000..15bd003000422ce5555e7c6b8074b95fe8f3c008 GIT binary patch literal 13266 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 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_harbourconsole/.template.config/template.json b/src/Templates/working/content/p_harbourconsole/.template.config/template.json new file mode 100644 index 0000000000..0d3d76226b --- /dev/null +++ b/src/Templates/working/content/p_harbourconsole/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Console", + "Harbour" + ], + "Identity": "XSharp.HarbourConsole", + "Name": "Harbour Console Application", + "Description": "A project for creating a X# command-line application in the Harbour Dialect.", + "SourceName": "XSharp.HarbourConsole", + "ShortName": "xsharbourconsole", + "Tags": { + "language": "X#", + "type": "project", + "icon": "HarbourConsole.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ConsoleApplication", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_harbourconsole/XSharp.HarbourConsole.prg b/src/Templates/working/content/p_harbourconsole/XSharp.HarbourConsole.prg new file mode 100644 index 0000000000..a79e330436 --- /dev/null +++ b/src/Templates/working/content/p_harbourconsole/XSharp.HarbourConsole.prg @@ -0,0 +1,11 @@ + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + + +FUNCTION Start() AS VOID STRICT + ? "Hello World! Today is ",Today() + WAIT + RETURN diff --git a/src/Templates/working/content/consoleHarbour/XSharp.ConsoleHarbour.xsproj b/src/Templates/working/content/p_harbourconsole/XSharp.HarbourConsole.xsproj similarity index 51% rename from src/Templates/working/content/consoleHarbour/XSharp.ConsoleHarbour.xsproj rename to src/Templates/working/content/p_harbourconsole/XSharp.HarbourConsole.xsproj index 0e259e89d9..91e5e93fcd 100644 --- a/src/Templates/working/content/consoleHarbour/XSharp.ConsoleHarbour.xsproj +++ b/src/Templates/working/content/p_harbourconsole/XSharp.HarbourConsole.xsproj @@ -1,18 +1,17 @@ - - + + Exe - net8.0 - enable - enable - Harbour + ConsoleApplication + Harbour True True False + net8.0 - + - + \ No newline at end of file diff --git a/src/Templates/working/content/p_msclasslibrary/.template.config/MsTestClassLibrary.png b/src/Templates/working/content/p_msclasslibrary/.template.config/MsTestClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..34834bf6574ff3dbae2ef27a9b4dcd70e502f87a GIT binary patch literal 8894 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 + + + Library + MsUnitTestClassLibrary + {AA6C8D78-22FF-423A-9C7C-5F2393824E04} + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + Core + True + True + net8.0 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_netcore/.template.config/ConsoleApplication.png b/src/Templates/working/content/p_netcore/.template.config/ConsoleApplication.png new file mode 100644 index 0000000000000000000000000000000000000000..13c4bf9609ddb2cc952057fac81b4296aaac3f18 GIT binary patch literal 7056 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 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_netcore/.template.config/template.json b/src/Templates/working/content/p_netcore/.template.config/template.json new file mode 100644 index 0000000000..1457f8685a --- /dev/null +++ b/src/Templates/working/content/p_netcore/.template.config/template.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Console" + ], + "Identity": "XSharp.ConsoleApplication.NetCore", + "Name": "Console Application (.Net Core)", + "Description": "A project for creating a X# command-line application in the core dialect.", + "SourceName": "XSharp.ConsoleApplication.NetCore", + "ShortName": "xsnetcore", + "Tags": { + "language": "X#", + "type": "project", + "icon": "ConsoleApplication.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ConsoleApplication", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.prg b/src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.prg new file mode 100644 index 0000000000..4677300334 --- /dev/null +++ b/src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.prg @@ -0,0 +1,8 @@ + +USING System + +FUNCTION Start() AS VOID STRICT + Console.WriteLine("Hello .Net Core and .Net 5!") + Console.WriteLine("Press any key to continue...") + Console.ReadKey() + diff --git a/src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.xsproj b/src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.xsproj new file mode 100644 index 0000000000..72089c34fb --- /dev/null +++ b/src/Templates/working/content/p_netcore/XSharp.ConsoleApplication.NetCore.xsproj @@ -0,0 +1,7 @@ + + + + ConsoleApplication + net8.0 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_nunitclasslibrary/.template.config/NUnitTestClassLibrary.png b/src/Templates/working/content/p_nunitclasslibrary/.template.config/NUnitTestClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..05bf2a66adc80bfa4c119777003da6538871dc90 GIT binary patch literal 12399 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 O?2H`A9sk#n{eJ-Ik2%8t literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_nunitclasslibrary/.template.config/template.json b/src/Templates/working/content/p_nunitclasslibrary/.template.config/template.json new file mode 100644 index 0000000000..ef1dae39a5 --- /dev/null +++ b/src/Templates/working/content/p_nunitclasslibrary/.template.config/template.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Test" + ], + "Identity": "XSharp.Test.NUnitClassLibrary", + "Name": "Class Library with NUnit Testing", + "Description": "A project for creating a X# class library (.dll) with NUnit Testing", + "SourceName": "XSharp.Test.NUnitClassLibrary", + "ShortName": "xsnunitclasslibrary", + "Tags": { + "language": "X#", + "type": "project", + "icon": "NUnitTestClassLibrary.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "NUnitTestClassLibrary", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.prg b/src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.prg new file mode 100644 index 0000000000..9ba179f3b6 --- /dev/null +++ b/src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.prg @@ -0,0 +1,30 @@ +// +// Note 1: If this does not compile then you need to restore the Nuget Packages for NUnit +// You can do that by right clicking on the project item in the solution explorer +// and choosing 'Manage Nuget packages' +// You can also set a setting inside Visual Studio to make sure the Nuget Packages get restored +// automatically. See: Tools - Nuget Package Manager - Package Manager Settings +// +// Note 2: Inside Visual Studio you should open the Test - Windows - Test Explorer Window +// From there you can run the tests and see which tests succeeded and which tests failed +// +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text +USING NUnit.Framework +BEGIN NAMESPACE Company.Namespace1 + [TestFixture]; + CLASS TestClass + CONSTRUCTOR() STRICT + RETURN + + [Test]; + METHOD TestMethod1 AS VOID STRICT + Assert.AreEqual(1,1) + RETURN + [Test]; + METHOD TestMethod2 AS VOID STRICT + Assert.AreEqual(True, False) // Note that this will fail of course + END CLASS +END NAMESPACE diff --git a/src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.xsproj b/src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.xsproj new file mode 100644 index 0000000000..672c755ef1 --- /dev/null +++ b/src/Templates/working/content/p_nunitclasslibrary/XSharp.Test.NUnitClassLibrary.xsproj @@ -0,0 +1,12 @@ + + + + + Library + NUnitTestClassLibrary + Core + True + True + net8.0 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_vfpconsole/.template.config/VFPConsole.png b/src/Templates/working/content/p_vfpconsole/.template.config/VFPConsole.png new file mode 100644 index 0000000000000000000000000000000000000000..a15214ba7141b7796d81935deac00f5ca94335b1 GIT binary patch literal 15295 zcmb7rWmH>Hux_y6P&Bwx+$mBdP#lUDYjG%6+@WZ2hvM$g(&A8Dg1fiHEqHPFaMSnR zkGt-A>)!W%WF=>NwdRiy!d+63%JGc?3CrnBOEHvj;y@81V0l>?6w01(qwl9kr> zHa^NlH#O}42?wX@R3DRgSRcb|=s!7oI8qp0Z1)}EdSN)m@BLK#a~LPMo!n1FBg z#$UYIV-CVCBS#TB?oh1zeegH1vqj+G$5E2*jIwV4Z8YwvPxIsl9c|QS&nL{*D3RuZwDFAZAroRBJ%D`fvlqNq} zF6KAZm68_b$Uq*$`0xSUj|=?KHp>}URG+5=8-D)$9A<`!?4#f8&HTryV&B!!OqwQM z#2tur{?H|%i&9WRg|&5bGZ!WGp`@toJB?DBeU?Z7*>%n!B7_3q5cd+@K`a;)45XN;>OZ}G zZPCWX4rPYD?#p2;<##&@my72PR+`=qzV3hZJ2r`yFQy&7*{*V*tDWY1qbHA)(Sw_y zG}O7v%i@RM9O4D-iuPee;>0973&Dz>hxV~Az=iZ|JTZ=f_Y|)H$|Iuo6YeA;7L!&lj{nGcd-Mvxj9IE+q6;k|{)^Up;=ChiePwbuvPQYyfI_uL z?h)nlFQB2HEsCE!1!ei7bB91E8d^C{7ytgCRNWMOiw&Z&V)x>2`024;9T5<6a1fHQsfhvKA5gzNe^S;;iQ7Ee#&K#?CcK+3oFnL*`Hu!@derJL~a7Z?m8YO zB;;^|W~@IJqNJO+hLTh7vidOW>4NXZ2-|N@EE`K6egVDK&(x3Qe0c**@}{W4pB|&; zoi4i@nfN?#$8BsK(zQ!cB6NtCw3#lQKiL&0P^YAm(t#)DrA>-}Qv2_&vm|IhITGli zn)hQH&gu69qylvMdina$Y41YZoyd?PqNRbTVKJ&4riA1?xQEf$z>Ilj?v~O>6 zXFT??AvnL-TuZ{XHkxIBv^%oM`%ah`M>UrHnZ}bN-&`fh;%oDn`)==sl$9kFenCsi z_}kcMc}pJxS2uL|=zlwZt)W9tH}MN~@krjo#K>(vnHD}%i)}#)I}`wUdStqt*PRWW zcNKoOwUgzb#6yQ)lXcR@XA9zwtFC1GX)^-pYz72x8VAS!*c8y8&O5Qc!x0AAB{sTkrj;e?DEtEgvq= z^p4k|^nX)DnO#t+=9>gHSd$pLB^ z?!ZnTsE&W7`^q{oPh?|Rd-Z@^f;T)9*mK)H+0)tjEXZST}^9QSr~%_RAc2z)tccTO^@ROjSn z=Mf8x)<_V~dc2vp>h|LNyw>bp90B<2{=JNSuN=g8_H%JqPR5|eh|vC<&=Vd=6M7p( z!7l{b@9U{aI`WK36j8dN{L$UGZnK!g{pPq9j>d7UpkNLA^2o{e;;Wh{D0%ejQqo>S zW21$yhs;=`_-oDtMiw{yON;)mHRV;YWV%V`Xj&VH@N!QwfqOf{tYCil?VM>BNVl^b z^cXBI-g1sqQEifY+DMBIx6(NdBl?;{<5m}+&mcB5B>5VpI+X@>n}TFvpj%qaKc4jM zpd|aM&&qDIMn-IGY>Y}UKDajm|uqp6(1-6ux6=*s;W z*L<+5r`b`g)Shfq7KEHH;V(FGf7#7vbR8)9fJfRTAT#tq`96MTh!R`~-S9~PsR4R>VFSL*WI*W6h^;^N{ON&?=4 zu&W0+DD$P&5YCK8CFVlY=|7b)HNEI2turUMQB=JeKW<>xwv4vk9(19$Mhm{5U~6Pb zvUBu9#+SIO+Fuj15h+un2yb(|EAplqj*BVD>g#GRx?Tez)rM-vH@Be>Kgpy|*y3%2rEs$HtaHAd3!CmHq7m^e0uzn|1PrL$`3Cr za^j8EgATvQXd>kVr*Ff96UOJf%? ztN|wl0~MC6IXnejUeBxT*e;m?nlPC`YD<;R`1vMeaRP;B3V0JnS%m&+W( zdyzyC-XISamg^=r>i0^!G~G@K*F!on>|R(b^(8t2VH<)@fX#b3qVmKW&UDo_?$mY4 zUf$H!^z+>ErmD&f|)c@f^J%gw7kW4we#gLh=dG{szmH27R6<%Gr83htz<3VWIA~H%W83lOk}RjLS{@_oH?qWBf#j{cDvqr zC;60gBT3J0 z*kXx1PjFMUt!NR7(19yvj6Z3S(giMivH@z66FC6{%5@{{xt{@R_I;T_ltM>Xv;pl% z22DrAC{pwfGU#>n!TL>|-$&tvbi40cKGz#kNB~R{#X(3qbH6hE9|wQ^`I)tl^aPne z)tt5@Crjymb=oYg2cbi8&`9e)0yDKW)(HIB<<-= zer`g@&DvFBV&@wK!Y_8WAc2h9L0AJi%*5c0%9eqjmKkE_hGP^o&l~hn-&UuC8XF79 z3yRmD=ncQ&HEu0ab#{T8Lz+yOz6`opuj;Ie0q;=|sp8_7?DUZF)M^H&OSNgmw^xU6 z?q?iyEay9IID?~(bmhidbP8UX@t3^+$l-W< z1s+Q>sg}F8v9S?+2PuBF+slrnp-pU5Lrr}&-`GKVWL8aBaA2a95;HQQHSDqCe7PZT zy5f`*sB-@!AppErKsXh|nO z-1E_;63Yg$yTZJ`qtgv7+7uINj03`JMj_}lzCZMurq7Z6`n&*^ol>5-^F9!Kz_!+^ z5>bTL!W^w~^!fCk2?;Oi-Ja&!RDy@}w9}t|pBMv@`0-6w+kJ#eadaJnI(b-D>t^onB{@8ZKRm~y-Z zkQzUlYT!#LVc$wVD@e9bWby~uYzx!*s2E#1s%)*zb*CFi`5%V;r`W(iJ&Dp zbzmo6dsQd%cP}li9G=|-|CLLsvDR>IcLtMqwloX$e-&Ef_GsFY_H(W0E<2~b5AEwQ z^UT|=ZR?HM2->)FDDM}I*qt@>tNS6Mll8bJ-NmH5>0isAXn~6)#z-cIB}V6Khmz!li48Lfu4eb5xw<3Y5CFcLVisZ_n`DD!Gz?_uggDtvU_{bDAG;Tm8SF+ zUIdqC+-0}Z!@=lGG>Z^ft&L3y5{3!odUt?dg~I1E5(`5tDqN>SI?uVnE<`*Cop1H{ zp?Zby#%z0waqUCH9(eNCYY8 z@!4_^aR1rubB%Co4fYN!ZtH@cZW@TcGLJ;d#6N{V$v5^(e*%F8<2aAw3NjTCFfH-e zG?7}5F=L1CP7Y_ULL>=jo80R)0aaMn0bKZW`h2{x#P_tHRvdjzAd#Z`LEW9(?FE~4&?Zbq3}~o@Mbg% zEUPy#gaE?VsQsZT2T=92u<5;i)?b#YjvD55Km4%XN}I!$ztEBCX?R$_zJF8eu~a3D ztSOi}^9(-f^EX!$D;qpJ3ClM<^F4U;GJf!kzG#q2NML8H5H5?T|H9Uuj=eHodwd_i z!d?0xytx=?0*S*tAiRFsr#5VyYjU|h1{Ic!8`5)t4P#LIKv$n{$NS>CyE#D#q}bH4?IW4Xn+?8L?-f?_4S zy$0AGHr}DDzv2#Ha1{|Yy|Y^OSUa!^HAZ-6Xsz=GrBLeU#d?GB*sgG)eH9kIQ?I@G zVwcnTUI!)jTk%dF6TcE4VUw-U>^#uDr`wD4g$l-ivfclr#0Tl zXlN*4+CVyl__C*qcGU~opD?!2PxsD!Yia`=2vGv1-?C*-AAx+eQ?@r%^2Mma(1yox z*Ri_9PJF3HbuaB5p&E$%oDj(xwe$R(1CcAOF4ST0R6SewK){4U6TSPh+)}olEnG@@ zoAG&ZMDdvpv5E}dOU^3;6!qr3V!rDvTR6msgzOuqH^VEU;6=B^vDmJACLr8<$*D`z z&3UVD(_ZOjT}H5r)fgIz0D2YYVri$Xd>+pJdLI9eD*X7l7$tpM6L(&PuKI`NRl}#3 z_X;jc4_$;!;sHO#AYDmPb8fR4Y2J^Z0cJs&A;sPv&_6b`HVAV=d~a zyTH>|re5GvdHD%kgyHmU-R1L(Z+`QoqqU?NGt$HDtCdFDA+| z*+J<`?`{)3*^_Xi)T}HVw!UU zbGC!R06)U13Nzo$TcwLBDoey8*xK23Gv_}Md*%zh9=7dS@OGG17QasL@_k$m>W)NM z5&b3dUxU96+s|^z>3Z%QXOlrfgoLK%TPBX)%W3_Ss z?KNpY(-hgVgBGqeke61A9Ce4-v%h|gNKqtmrPqrG?Oy_an0x`V*&3us{=;Ga#cYTU z&-`1Q?|R6puNnDPG*PA!-e!uU;Y-{)FY|u-#oFeTHM4+Z??-8)Mt5w=p>Y*8&bqI> z7>A^Rx({90&9Qt}zMbCnn97G*t6#J3vK%mYBs3>*?~X$^kJoJNYR;9;D?)GjV4SRy9RP*YJ`xJ8jpg=XCj`*hS|!(eE|Chvb{vOKR+4Di=}xs zlmv<(BsxuD(@BXN<;iZT&j15(O(xSfqmvarjTzEc02Ju=-#^|)4z|zE*qf8|=QIBf zqmil;JOO^_g7A6}S1`7gSao9^IiQnZzvjZFDr6vkXNJ9P!nVPI* z9pFVdzI*8#M|Ie?oe;?H!s&Sbr0Na7+qLKRx!)3^b9&ZgRc5Jx_0xr@##)eUcW6rl01P{!jok z1(3UkK*Z)2WO3%diEUULY}AL>=I~h)bovOKCO82qJ+umN1Q8M^N(+#Y5pP)SB3~KU zOOw%0tGrhDHIZm{q4pT7nt1+`2asTbCFuB0-84uOg%^qw-7STce%cuzQkK9YR?{yG zlsXrM!Ll=!RwSupKPHOb{D8mkeiJLzt2_LSfQSL zKYj8lCJz`aJu@b7XoxB9k?GZ@Apt>>#)Sd|^noaGl13mX=2{duyC>aLmZzIM2ykIm zWNo^d`a7Dy`(6M*1AV~1+aZ{j|cR8Jsi!u4iOTwVA?ZmAg&Fc;D@Ivakec7zaqhZym3C#qu6QD@Hy+H-*?k z@fIgZ2xiqXp6zd+6#_ZLdeOC)E4GRX@bCfdYh;sLIKi&7IGq9gQ4K!vf~no4A0 zK6|nPz`MsBVDusiFdRKbbu?!aF!$Of7Ho1c!Stav)+>nFV>WjNcISjFeO$W<-1b4q zd>cVFesoUh_lSD>w;B@ogrR>{v64Z7*p?hSPm!0*`z?49vp|hajqp>8(IQq}kq|6Z zu-|EfS$!kh)s9KIAJFW^>lrLu2@Y8qn5vVDg*x%?M!g|^_)`i+#|Q8jqAz<9I4^yH zu1x^*S_!=`giQBkptE|Vmwa}Q)*3UBvZH|uXr_7vYXxLzU%ocL`rA zGmGw9#F-E%RKVm*XG>&K(-l@_v#JU={T5oy>)IS!&D!B5*XXSMqp%s+u=Gow(7^!L zn4swh6gdkBY$fRYz0`tsOStR8T0nEuEE#v%_azK_eWtGbP+TXafRIPxM~7BSkfr~= z+}#t0s%}04(S6`yyAJHHpI(!(!mvD$q6csL{(``>x|c7x`1DZg#+=B;BnjEGnRi@{ zZ^QdeIIhLD+F zT%m!Jp)WxL<(_~o+a?vj8slvy>W&dPI*N(`^Z1j!v#r3M=}jq1_c}PO@Ewlg6TfM0 zWMJ)O)U!u0hAK|a%o>syIO(Xa+9lU=4PN3&eVRx1eXtWSme1jTUe7qD=-D6m>0w>Qn4ynnkb27CF7>1q_|RTyGYt^uh|=>lSzIMb-CTiyh(51 z19Cfs_?lweP%eD@ig`g*7sqRLO53|W@iK` z{pmg40j>Xv>||t%3rV^8#rTb&_k7?L6y?0F>t4q6g5gfw_sFP9T5{RMG5B%A>zGY^ z7h;l<;a~BqJ6}oZ-Ha7)P5ta%lRy(0E6tIP&7W->1j=-dj!M3qAED*P>UmLp26}s7$0ga;g$PD^3Vq^}P}fWOE&lc4dWhxC z(0((!me5&!^NN4ju)xkMB}j|Va2piNd4TyY9wc!Qhk9wk6`{j{LmMo51Wi3@RqyY_E2iUe0&SZm$raO z4zi8d-xy)@4Gz}pKa)Wm-L&Os?pTF&g%GV$hY!iNLu$J zfqHXI?jD(;$=VT-@~BW?Rt=@b0xC{A?}t{j&3-!Gsu#j}$q~!?(ha5)ERfnZ(k{Mr zp=S@5w2h)?sXqp5^&uX032QF|D@Z^ls5ilvXH8wqXyOU7IPiu$s`RvV$zFfs?*k}h zH2ASOT!UvN<(3+%sDIV(-;7B>MuSdr0@KIkB9en2IWQl#`st{-FsybNefv?MJ+zU{ zrHipPDazcn1oUX^4=q^7CnuBy%5+v@qwN*5=&wtmrPQ1kv-EemcZs_D=uJDHUy#h^yPc>6K-XBQ9+`4lC2mI^WF7_n z$Z4NPFu4J$BZ#gZL)&yw9JA~%g%RL@Hf0hDLyf{~CT{|(y2d=%atax)Mj`27Yy(RT?mzmdf1!>(?F3dvc(RHmRj*pjK|uSe2W=Z-V1SbmtB?c_g`af zzYhB_^ygzCQWfMGb6#E!y}vcu*Zj6@Zpg-HWvp@Em|Tm_W57(_j!l+*nBq*X1D*Wu zXh<0n`J=xee-t*$h)ml=_am%*cuT}|B)PQRiz{tMa(bU06!(02?XfnDhNq!*Na7kG zphj<-<|4IvXmNv&xtiJrb>ruCKzYtM7eS2FT_o{|p7Qevof}*< zoiKX)jL^|>0Z~LX29!q~0d{I_A2X~MalJE@C!(D=e80_%(kgk{UiC@!D1j1+6UCKXxNQX2B<$bCR{+gH9%rV&6Xt*h(Q9Xqd+w#_tLaqq#3 z>Q8GCOekJg{b0V++fT{f)D1o23l21)$!6xhXb=nf0z%eFP!5E@(}G9uk`PDM6dPr? zI1-Q>`A#UT6I-r^<3wdXh%&AttFQC8J+#tUwzEE;m<8tux{F^3$!_kQ#DKKucK6!; z`%0hon`xrvUG+W;jUDeSb?0DL;1-Ke^G8mmv;3t#0x{LKvm={TRS` zn2TdeNEBX*txpG(GTfemW}~wB4U~ne49Gst;>O;xQgPJTM2L-}$|DQF+0UF!GcTXA z!H4%g6BxWZK3-cf-HCpgmq((Bd!ZAPZuti|K?L7WlXpDkGkjQX6E$mmXf_>@vYzaD zcfY*2=S*+Rm&0NY!lorHW?G8^<(i%+tOB*~@pa`TnNq6Cv!4c(?NMKLN3BIBK;|7* z!gkG{vyZ){e>A!BDron+L~0~HAF>So$i?;@iqSr7&i59KAgx-|! z8YLn(sjym!62UFV?0vkQL%;4zw+NPJAdhu?AiQ>a!2GxG{OcHYv7?NuluCY%z`!Ih zN(Q_+@|nbRbFPFmMoissj*fK07{Hg#?L*pfvLTeMKk~-MttQ<%Yhbb~VJYE>A^jTP zCcF_F?q2XhWFNFQ#*zBuW4{*v_<*1(m?C_*GMb7en2HhS;$g%il)?Nv@{M!y*kajwLz((a)mTfL$=3^dYBH70TKpZv% zS8vGjE*9TlGnlEBVY(e4qrYk?LzKhB53%(P(35|&WS`}{mEX+&ECixuq8W>Qx5c>C ziY^t8;9~k3gniCn&q#lkPjrmcD%gHjc?BklY4trPdef;uelk!rrcDSr&XsG6Sjn-Mp9!ASd zf0m`Pl~o~}gyD(V{5E}#RyA~^*{H&??Zp9=e4CbIyh|-~m*j<8PC8C0d08F~)s=

EOpEW_1|kA5}_;_jvZ((2pXPhV0#0FSk@fL$Pj`~7cQ+elk4A88qn3~Y~#Eh zjC4}$KictmmlRsTbb*h6UZqVIgLWWf$iL1}t5 zW`Z?pj%v+Oi*IMQDQgp8VrSRLDI&_8<2 z!&r_nwtz=L&Lr+`Bxr^mM7&K_#Hf$}qf2g2U7>H5GO4$u|?JVIRGxM_xx(dg9JRxhI;+fczF}ZMFVxNjxCx@Jr{g~*l+kg z5b*nCKDJZ?C#Wkp+4CWz&fdjZ1rHeu@A`cIEr|Z%jYw6bOFA7G*@8Rx(-+;YiRiV- zZ=z7XCZyTPyFXpWc(q^l_plUG~;|d)-@lj5T>}#vP3oDwSH54`E+#k3`g@I6(y|-AR zpwqQEp@US#jwFFn%CJoB5Di;Zd-K&DY$iRI?oF5C2XBIFMLtwRBeM0~`|msV&!p;` zmIRg+)6J_4$oNioZSH7~{FqC^8pr*jNRu{r{Qof7rK-!99)qLvw_L&yAxKou@F|$F zFAOxT-m13j>vF?(e~8@nj!efZ26C4@en~HX$$b<TGa)$X zTvXB5kEzjZoNs8^g7evr9~517@AxOZ1v~KVA3G7Z!cYE`UZq31@h$XrA|_A0fOKg{ zD*qY)wHs}K9*%&9()y?&_T}lF^98@@)$SGrg}pTGW~VM|W6w7E60yE~yn4E_>Qa|0KjRHPOhp-Y5r+)`d^=u?jnRh$=x#k=!M z?q|HgH<&9w;Z!Kwi-BpPXW2)_gv_%Y{ueWk?;~9h9(~xO?T4Vf856Z1KiQ_5h=IO6 z==ZIu-hipsQ(&joq_T{Hvk81*JP-!!!c3!J!JN3>YuK)nY?nmqlj zN{#}42zYs27FX&eA#v@y%fsRehqkzC6}v#;n!^Vuwu17HK%mA2uZAXmY}G;MK|c4E zHlT%%#t?=Pm2XSAcQ3Hh!!ob|Viy3zxv zHX)_XIMJG5$9_tb4K}ujlV=n%oUG8wJo#a{c`8V6`|wL+2n6N#vG`hUHpcft;a|_!n`2r&##h$divBytbA^s#y?;l3wR?8Q&A z8p-?f_wK(pJ&l=%%EwJHI8gL`TwL7aVu#iL9?cO% zGr`X`ryL;KZMS`wmi5pv=zH}l6{M6NGU`7VgDqj$_lJ|gK2c+voIc!B2|b&s>Z~#I z60f{mtuU5pqKLuAU`B93Yhda)wRW55MRnQvtW^IQG)bwhQm!$qdzY#)YG|c=;T*v? zd`ss>RX=KM;kC!(-Q+jD?X=xM%DFDMk~cs7Kg~5n5!Px62xjQn9z+_aT?`Hgw%e`e zfIPCfb_nW)3$fII8mXff{g^1$JxM4`x26e97>L>_qvAFgaCSp+nrkMSYcg)ml<`Rq%> zA{WP7pGcwoP2o0ffLDqXL|_~gNmA(r5?%;9)Kh%J#Rj;n1fcZc^vVX$>$u2Bn9tEj zr>v66NsMoj*JAWx2-kI0m9SB9o*jAlrP+_>qnBw%It<#^T}$r_pF~Kf8l@+moSdvS z8?(1B0{-YcKCZ?+8e$5ny{s{Wsj*o+gAE^J6{xx7OSSrVjFRbPqo2`Iq*1IqD<`}XXWnrmM-E?ClT%}xZtO==-tj~8i!rW$v*5CG1W!D$9n=g@eaM3HTUr5Wm zTT{|ddc`Id z2a>7`n2md%T$dG1m&;-A#gRF?lqPumy%wlGuiF&*8C%xx@iObohFIWT3XOU2E6$M9 zS^(^upx&s<110X(WquO^p_a)ld`DB#Qp`U!zD+RluAo5hFULS$`NeBFNQ1&a+@*IP zuK4m4Z8$}U5(Ygm8$a`ne;-h=IbvJwN8SHqPpBRgk{AJ|gC)UVp()VwpHhb&T4nT$ zuocKj=I^>!1+WeY4NztC<}=q4fqRD-OSVDkFI5q|AY%dDf7 zZ_0jI6Teg-wJb`58UjVK$CaWa_v9T{cWtZiPP zOwolGv}r6~(#^LDjIV?0D|z(sh#X6TjQQ#48tCNg{HxYT zPKhU|NR{+@zX`Mik?1-tT^0w(BImmf@TuI0;t0ym_5oB0L$t-i(PU^4Sa{D1Cw6*k zn!o{R*K7+NZn?XkJ0L9*#>FI1~TyX49zWqPgr76$FcMZyoveII^EA-O5@%~76euF5}ZS)n?G5P=N> zkJWQ-2S;|tT8x+BwMj~*AH&HI3cIvuQb+kglL)`93fqzHx@L$lDNAd$0Cb2vLnhS~TPm8YZx zw?_?dRGOBCwGSDIo%N)B6If9!?B4MV-sf;kX5B?f$RME+i7Twg_7$rQ<3oj1O;VXuF14Rl_5e5l#BUSC12 zf{AULt>4};z&A@9cX8Ryz9K)pO1Uhx&tmyhCGXyIjlKzs2>bG&vIc*>UIBv0R3Wij zD;H{COc5m#ga0Wx%xP^n6&|n$_e+sN(X6AanVW;mK4a#%^YC6#o%oRDv{hJwXvO38rzRkqC$jDOm4&TrD|{1 z2_&`M=Ov+%YgLZTFWCus$% zIwDt^Z|wJf_n&aR#y7=CvZ0YG^6ed2FKl}L^9c}67sVcyB)TU{C#PwSD0dNuM*o{Z xqKW@CASCf$PMQ8UH~iNFssF=L{h()joeJTlymyNth(oskB{? - + + Exe - net8.0 - enable - enable + ConsoleApplication FoxPro true true @@ -29,10 +27,11 @@ true True False - + net8.0 + - + - + \ No newline at end of file diff --git a/src/Templates/working/content/p_voconsole/.template.config/VOConsole.png b/src/Templates/working/content/p_voconsole/.template.config/VOConsole.png new file mode 100644 index 0000000000000000000000000000000000000000..95f3ec87aa90d7dd8c0f38d19fe3f2f2fd4d8ee3 GIT binary patch literal 7757 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 It8O3uA1>u|AOHXW literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_voconsole/.template.config/template.json b/src/Templates/working/content/p_voconsole/.template.config/template.json new file mode 100644 index 0000000000..d8090a2069 --- /dev/null +++ b/src/Templates/working/content/p_voconsole/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Console", + "VO" + ], + "Identity": "XSharp.VOConsole", + "Name": "VO Console Application", + "Description": "A project for creating a X# command-line application in the VO Dialect.", + "SourceName": "XSharp.VOConsole", + "ShortName": "xsvoconsole", + "Tags": { + "language": "X#", + "type": "project", + "icon": "VOConsole.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ConsoleApplication", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_voconsole/XSharp.VOConsole.prg b/src/Templates/working/content/p_voconsole/XSharp.VOConsole.prg new file mode 100644 index 0000000000..8103ba1b31 --- /dev/null +++ b/src/Templates/working/content/p_voconsole/XSharp.VOConsole.prg @@ -0,0 +1,12 @@ + + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + + +FUNCTION Start() AS VOID STRICT + ? "Hello World! Today is ",Today() + WAIT + RETURN diff --git a/src/Templates/working/content/consoleVO/XSharp.ConsoleVO.xsproj b/src/Templates/working/content/p_voconsole/XSharp.VOConsole.xsproj similarity index 52% rename from src/Templates/working/content/consoleVO/XSharp.ConsoleVO.xsproj rename to src/Templates/working/content/p_voconsole/XSharp.VOConsole.xsproj index 262157490c..8d2808a0c7 100644 --- a/src/Templates/working/content/consoleVO/XSharp.ConsoleVO.xsproj +++ b/src/Templates/working/content/p_voconsole/XSharp.VOConsole.xsproj @@ -1,18 +1,17 @@ - - + + Exe - net8.0 - enable - enable + ConsoleApplication VO True True False - + net8.0 + - + - + \ No newline at end of file diff --git a/src/Templates/working/content/p_vomdiapplication/.template.config/VOMDIApp.png b/src/Templates/working/content/p_vomdiapplication/.template.config/VOMDIApp.png new file mode 100644 index 0000000000000000000000000000000000000000..418359b57308365725af8b9d734ee5a2fbd5f1a9 GIT binary patch literal 7602 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 + + + + HelpAbout + FORM:DIALOGWINDOW + About Standard Application + 0 + 5 + 5 + 453 + 146 + 0 + 0 + No + No + 0 + 3234332800 + 0 + + ,"About Standard Application" + "HelpAbout" + + + + AboutText + CONTROL:TEXTCONTROL:FIXEDTEXT + VO MDI Application + 1 + 195 + 10 + 245 + 93 + -1 + 0 + No + No + 0 + 1073741952 + 131072 + + ,"VO MDI Application" + "AboutText" + + + + PushButton1 + CONTROL:TEXTCONTROL:BUTTON:PUSHBUTTON + OK + 2 + 362 + 112 + 80 + 24 + -1 + 0 + No + No + 0 + 1073807361 + 0 + + ,"OK" + "PushButton1" + + + + FixedBitmap1 + CONTROL:FIXEDBITMAP + POWXSHARPBMP + 3 + 6 + 10 + 180 + 90 + -1 + 0 + No + No + 0 + 1073741838 + 131072 + + ,"POWXSHARPBMP" + "FixedBitmap1" + + + + diff --git a/src/Templates/working/content/p_vomdiapplication/Help About.HelpAbout.rc b/src/Templates/working/content/p_vomdiapplication/Help About.HelpAbout.rc new file mode 100644 index 0000000000..bcb0fac615 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Help About.HelpAbout.rc @@ -0,0 +1,37 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.FormEditor 2.1.0.0 +// Timestamp : 27-1-2020 22:11:01 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define HELPABOUT_ABOUTTEXT 100 +#define HELPABOUT_PUSHBUTTON1 101 +#define HELPABOUT_FIXEDBITMAP1 102 +#define BS_DEFPUSHBUTTON 0x00000001 +#define DS_MODALFRAME 0x00000080 +#define SS_BITMAP 0x0000000E +#define SS_NOPREFIX 0x00000080 +#define WS_CAPTION 0x00C00000 +#define WS_CHILD 0x40000000 +#define WS_EX_STATICEDGE 0x00020000 +#define WS_POPUP 0x80000000 +#define WS_SYSMENU 0x00080000 +#define WS_TABSTOP 0x00010000 +#define WS_VISIBLE 0x10000000 + +HelpAbout DIALOGEX 3, 3, 301, 89 +STYLE WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_MODALFRAME +CAPTION "About Standard Application" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "VO MDI Application", HELPABOUT_ABOUTTEXT, "STATIC", WS_CHILD|SS_NOPREFIX, 130, 6, 163, 57, WS_EX_STATICEDGE + CONTROL "OK", HELPABOUT_PUSHBUTTON1, "BUTTON", WS_CHILD|WS_TABSTOP|BS_DEFPUSHBUTTON, 241, 69, 53, 15 + CONTROL "POWXSHARPBMP", HELPABOUT_FIXEDBITMAP1, "STATIC", WS_CHILD|SS_BITMAP, 4, 6, 120, 55, WS_EX_STATICEDGE +END diff --git a/src/Templates/working/content/p_vomdiapplication/Help About.POWXSHARPBMP.rc b/src/Templates/working/content/p_vomdiapplication/Help About.POWXSHARPBMP.rc new file mode 100644 index 0000000000..f871f39b66 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Help About.POWXSHARPBMP.rc @@ -0,0 +1,2 @@ + POWXSHARPBMP BITMAP "Resources\\HelpAbt.BMP" + diff --git a/src/Templates/working/content/p_vomdiapplication/Help About.prg b/src/Templates/working/content/p_vomdiapplication/Help About.prg new file mode 100644 index 0000000000..626be470a6 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Help About.prg @@ -0,0 +1,89 @@ +#region DEFINES +STATIC DEFINE HELPABOUT_ABOUTTEXT := 100 +STATIC DEFINE HELPABOUT_PUSHBUTTON1 := 101 +STATIC DEFINE HELPABOUT_FIXEDBITMAP1 := 102 +#endregion + +PARTIAL CLASS HelpAbout INHERIT DIALOGWINDOW + PROTECT oDCAboutText AS FIXEDTEXT + PROTECT oCCPushButton1 AS PUSHBUTTON + PROTECT oDCFixedBitmap1 AS FIXEDBITMAP + + // {{%UC%}} User code starts here (DO NOT remove this line) + +CONSTRUCTOR(oParent,uExtra) + + SELF:PreInit(oParent,uExtra) + + SUPER(oParent , ResourceID{"HelpAbout" , _GetInst()} , TRUE) + + SELF:oDCAboutText := FIXEDTEXT{SELF , ResourceID{ HELPABOUT_ABOUTTEXT , _GetInst() } } + SELF:oDCAboutText:HyperLabel := HyperLabel{#AboutText , "VO MDI Application" , NULL_STRING , NULL_STRING} + + SELF:oCCPushButton1 := PUSHBUTTON{SELF , ResourceID{ HELPABOUT_PUSHBUTTON1 , _GetInst() } } + SELF:oCCPushButton1:HyperLabel := HyperLabel{#PushButton1 , "OK" , NULL_STRING , NULL_STRING} + + SELF:oDCFixedBitmap1 := FIXEDBITMAP{SELF , ResourceID{ HELPABOUT_FIXEDBITMAP1 , _GetInst() } } + SELF:oDCFixedBitmap1:HyperLabel := HyperLabel{#FixedBitmap1 , "POWXSHARPBMP" , NULL_STRING , NULL_STRING} + + SELF:Caption := "About Standard Application" + SELF:HyperLabel := HyperLabel{#HelpAbout , "About Standard Application" , NULL_STRING , NULL_STRING} + + SELF:PostInit(oParent,uExtra) + +RETURN + + +METHOD PostInit(oParent,uExtra) + LOCAL sVer AS STRING + LOCAL oSysLink AS SysLink + LOCAL oFT1 AS FixedText + LOCAL oHL1 AS HyperLink + LOCAL oFont1 AS Font + LOCAL s AS STRING + + sVer := Version() + sVer := SubStr(sVer, RAt2(" ", sVer)+1) + oDCAboutText:CurrentText := _CHR(13)+" Company.Namespace1"+_CHR(13)+_CHR(13); + +" X# Version "+sVer+_CHR(13)+_CHR(13); + +" Copyright (c) XSharp BV 2015-2022" + + var point := oCCPushButton1:Origin + point:x := self:oDCFixedBitmap1:Origin:x + var size := Dimension{300,20} + + + IF IsThemeEnabled() + s := "Visit X# on the web!" + oSysLink := SysLink{self, -1, point, size, s} + oSysLink:Show() + ELSE + + s := "Visit X# on the web:" + oFT1 := FixedText{self, -1, point, dimension{200,20}, s} + oFT1:show() + + oFont1 := Font{,8,"Microsoft Sans Serif"} + oFont1:Underline := TRUE + + oHL1 := HyperLink{self,-1,point,size,"https://www.xsharp.eu"} + oHL1:font(oFont1) + oHL1:size := size + oHL1:textcolor := color{COLORBLUE} + oHL1:font():underline := TRUE + oHL1:show() + + ENDIF + + + RETURN NIL + + +METHOD PushButton1() + + SELF:EndDialog() + +RETURN SELF + +END CLASS diff --git a/src/Templates/working/content/p_vomdiapplication/HelpAbt.BMP b/src/Templates/working/content/p_vomdiapplication/HelpAbt.BMP new file mode 100644 index 0000000000000000000000000000000000000000..63825a67f109af39f89a4c03953b75eee17da86f GIT binary patch literal 48654 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 a0gM1f03(1AzzARjFaj6>jKH4_f&T$kqsMaq literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_vomdiapplication/Readme.txt b/src/Templates/working/content/p_vomdiapplication/Readme.txt new file mode 100644 index 0000000000..49ccc50b9c --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Readme.txt @@ -0,0 +1,9 @@ +=========================== +VO MDI Application Template +=========================== +This VO MDI Application template is based on the original template that comes with Visual Objects. +We have made some small changes that were needed because the VO SDK Libraries did not compile without changes in .Net: +- The Start.Prg module now declares a new app class "XApp". The App:Start() method has been changed to XApp:Start() +- The Application Icon and bitmap on the Help About screen have been updated +- The SysLink control on the HelpAbout screen now goes to the X# website +- We have included the templates for the VO Editor in the Properties subfolder in the project \ No newline at end of file diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.rc b/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.rc new file mode 100644 index 0000000000..6a44af52ad --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.rc @@ -0,0 +1,40 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 27-1-2020 22:06:09 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_EmptyShellMenu_File_ID 12500 +#define IDM_EmptyShellMenu_File_Open_ID 12501 +#define IDM_EmptyShellMenu_File_Print_Setup_ID 12503 +#define IDM_EmptyShellMenu_File_Exit_ID 12505 +#define IDM_EmptyShellMenu_Help_ID 12506 +#define IDM_EmptyShellMenu_Help_Index_ID 12507 +#define IDM_EmptyShellMenu_Help_Using_Help_ID 12508 +#define IDM_EmptyShellMenu_Help_About_ID 12510 +EmptyShellMenu MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Open...\tCtrl+O" , IDM_EmptyShellMenu_File_Open_ID + MENUITEM SEPARATOR + MENUITEM "P&rint Setup..." , IDM_EmptyShellMenu_File_Print_Setup_ID + MENUITEM SEPARATOR + MENUITEM "E&xit\tAlt+F4" , IDM_EmptyShellMenu_File_Exit_ID + END + POPUP "&Help" + BEGIN + MENUITEM "&Index\tF1" , IDM_EmptyShellMenu_Help_Index_ID + MENUITEM "&Using Help" , IDM_EmptyShellMenu_Help_Using_Help_ID + MENUITEM SEPARATOR + MENUITEM "&About..." , IDM_EmptyShellMenu_Help_About_ID + END +END + diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.xsmnu b/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.xsmnu new file mode 100644 index 0000000000..30bd91dd5a --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu.xsmnu @@ -0,0 +1,223 @@ + + + + EmptyShellMenu + + + + + Flat Toolbar + Icon + No + 12500 + + + File + &File + + + File + None + Yes + No + + + + + + + -1 + + + + + FileOpen + &Open... + Open a file + File_Open + Ctrl+O + Yes + No + Open + Open + Open File + 1 + IDM_FILE_OPEN + + + + + ------------------------ + + + + + None + Yes + No + + + + + + + -1 + + + + + FilePrinterSetup + P&rint Setup... + Setup printer options + File_Printer_Setup + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + FileExit + E&xit + End of application + File_Exit + Alt+F4 + Yes + No + + + + + + + -1 + + + + + + + Help + &Help + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpIndex + &Index + Index of help + Help_Index + F1 + Yes + No + + + + + + + -1 + + + + + HelpUsingHelp + &Using Help + How to use help + Help_UsingHelp + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpAbout + &About... + About application + + + None + Yes + No + Help + Help + Help + 2 + IDM_HELP_ABOUT + + + + + + diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu_Accelerator.rc b/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu_Accelerator.rc new file mode 100644 index 0000000000..b1f64b3148 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.EmptyShellMenu_Accelerator.rc @@ -0,0 +1,27 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 27-1-2020 22:06:09 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_EmptyShellMenu_File_ID 12500 +#define IDM_EmptyShellMenu_File_Open_ID 12501 +#define IDM_EmptyShellMenu_File_Print_Setup_ID 12503 +#define IDM_EmptyShellMenu_File_Exit_ID 12505 +#define IDM_EmptyShellMenu_Help_ID 12506 +#define IDM_EmptyShellMenu_Help_Index_ID 12507 +#define IDM_EmptyShellMenu_Help_Using_Help_ID 12508 +#define IDM_EmptyShellMenu_Help_About_ID 12510 +EmptyShellMenu_Accelerator ACCELERATORS +BEGIN + 79, IDM_EmptyShellMenu_File_Open_ID, CONTROL ,VIRTKEY + 115, IDM_EmptyShellMenu_File_Exit_ID, ALT ,VIRTKEY + 112, IDM_EmptyShellMenu_Help_Index_ID, VIRTKEY +END diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.rc b/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.rc new file mode 100644 index 0000000000..4227c522f1 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.rc @@ -0,0 +1,88 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 27-1-2020 22:06:13 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_StandardShellMenu_File_ID 18000 +#define IDM_StandardShellMenu_File_Open_ID 18001 +#define IDM_StandardShellMenu_File_Close_ID 18002 +#define IDM_StandardShellMenu_File_Print_ID 18004 +#define IDM_StandardShellMenu_File_Print_Setup_ID 18005 +#define IDM_StandardShellMenu_File_Exit_ID 18007 +#define IDM_StandardShellMenu_Edit_ID 18008 +#define IDM_StandardShellMenu_Edit_Cut_ID 18009 +#define IDM_StandardShellMenu_Edit_Copy_ID 18010 +#define IDM_StandardShellMenu_Edit_Paste_ID 18011 +#define IDM_StandardShellMenu_Edit_Insert_Record_ID 18013 +#define IDM_StandardShellMenu_Edit_Delete_Record_ID 18014 +#define IDM_StandardShellMenu_Edit_Go_To_Top_ID 18016 +#define IDM_StandardShellMenu_Edit_Previous_ID 18017 +#define IDM_StandardShellMenu_Edit_Next_ID 18018 +#define IDM_StandardShellMenu_Edit_Go_To_Bottom_ID 18019 +#define IDM_StandardShellMenu_View_ID 18020 +#define IDM_StandardShellMenu_View_Form_ID 18021 +#define IDM_StandardShellMenu_View_Table_ID 18022 +#define IDM_StandardShellMenu_Window_ID 18023 +#define IDM_StandardShellMenu_Window_Cascade_ID 18024 +#define IDM_StandardShellMenu_Window_Tile_ID 18025 +#define IDM_StandardShellMenu_Window_Close_All_ID 18026 +#define IDM_StandardShellMenu_Help_ID 18027 +#define IDM_StandardShellMenu_Help_Index_ID 18028 +#define IDM_StandardShellMenu_Help_Context_Help_ID 18029 +#define IDM_StandardShellMenu_Help_Using_Help_ID 18030 +#define IDM_StandardShellMenu_Help_About_ID 18032 +StandardShellMenu MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Open...\tCtrl+O" , IDM_StandardShellMenu_File_Open_ID + MENUITEM "&Close" , IDM_StandardShellMenu_File_Close_ID + MENUITEM SEPARATOR + MENUITEM "&Print" , IDM_StandardShellMenu_File_Print_ID + MENUITEM "P&rint Setup..." , IDM_StandardShellMenu_File_Print_Setup_ID + MENUITEM SEPARATOR + MENUITEM "E&xit\tAlt+F4" , IDM_StandardShellMenu_File_Exit_ID + END + POPUP "&Edit" + BEGIN + MENUITEM "Cu&t\tCtrl+X" , IDM_StandardShellMenu_Edit_Cut_ID + MENUITEM "&Copy\tCtrl+C" , IDM_StandardShellMenu_Edit_Copy_ID + MENUITEM "&Paste\tCtrl+V" , IDM_StandardShellMenu_Edit_Paste_ID + MENUITEM SEPARATOR + MENUITEM "&Insert Record" , IDM_StandardShellMenu_Edit_Insert_Record_ID + MENUITEM "&Delete Record" , IDM_StandardShellMenu_Edit_Delete_Record_ID + MENUITEM SEPARATOR + MENUITEM "G&o To Top\tCtrl+Home" , IDM_StandardShellMenu_Edit_Go_To_Top_ID + MENUITEM "Pre&vious" , IDM_StandardShellMenu_Edit_Previous_ID + MENUITEM "&Next" , IDM_StandardShellMenu_Edit_Next_ID + MENUITEM "Go To &Bottom\tCtrl+End" , IDM_StandardShellMenu_Edit_Go_To_Bottom_ID + END + POPUP "&View" + BEGIN + MENUITEM "&Form\tShift+F2" , IDM_StandardShellMenu_View_Form_ID + MENUITEM "&Table\tF2" , IDM_StandardShellMenu_View_Table_ID + END + POPUP "&Window" + BEGIN + MENUITEM "&Cascade" , IDM_StandardShellMenu_Window_Cascade_ID + MENUITEM "&Tile" , IDM_StandardShellMenu_Window_Tile_ID + MENUITEM "Close A&ll" , IDM_StandardShellMenu_Window_Close_All_ID + END + POPUP "&Help" + BEGIN + MENUITEM "&Index\tF1" , IDM_StandardShellMenu_Help_Index_ID + MENUITEM "&Context Help\tCtrl+F1" , IDM_StandardShellMenu_Help_Context_Help_ID + MENUITEM "&Using Help" , IDM_StandardShellMenu_Help_Using_Help_ID + MENUITEM SEPARATOR + MENUITEM "&About..." , IDM_StandardShellMenu_Help_About_ID + END +END + diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.xsmnu b/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.xsmnu new file mode 100644 index 0000000000..4237e917d0 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu.xsmnu @@ -0,0 +1,611 @@ + + + + StandardShellMenu + + + + + Flat Toolbar + Icon + No + 18000 + + + File + &File + + + File + None + Yes + No + + + + + + + -1 + + + + + FileOpen + &Open... + Open a file + File_Open + Ctrl+O + Yes + No + + + + + + + -1 + IDM_FILE_OPEN + + + FileClose + &Close + Close current child window + File_Close + None + Yes + No + Close + Close + Close File + 1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + FilePrint + &Print + Print the active window + + + None + Yes + No + + + + + + + -1 + + + + + FilePrinterSetup + P&rint Setup... + Setup printer options + File_Printer_Setup + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + FileExit + E&xit + End of application + File_Exit + Alt+F4 + Yes + No + + + + + + + -1 + + + + + + + Edit + &Edit + Edit information + Edit + None + Yes + No + + + + + + + -1 + + + + + Cut + Cu&t + Cut to clipboard + Cut + Ctrl+X + Yes + No + Cut + Cut + Cut + 3 + + + + + Copy + &Copy + Copy to clipboard + Copy + Ctrl+C + Yes + No + Copy + Copy + Copy + 4 + + + + + Paste + &Paste + Paste from clipboard + Paste + Ctrl+V + Yes + No + Paste + Paste + Paste + 5 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + Append + &Insert Record + Insert a new record + Append + None + Yes + No + + + + + + + -1 + + + + + Delete + &Delete Record + Delete this record + Delete + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + GoTop + G&o To Top + Go to first record + GoTop + Ctrl+Home + Yes + No + Start Record + Go Top + Go Top + 7 + + + + + SkipPrevious + Pre&vious + Go to previous record + SkipPrevious + None + Yes + No + Previous Record + Previous Record + Previous Record + 8 + + + + + SkipNext + &Next + Go to next record + SkipNext + None + Yes + No + Next Record + Next Record + Next Record + 9 + + + + + GoBottom + Go To &Bottom + Go to last record + GoBottom + Ctrl+End + Yes + No + End Record + Go Bottom + Go Bottom + 10 + + + + + + + View + &View + + + + + None + Yes + No + + + + + + + -1 + + + + + ViewForm + &Form + View a single record as a form + ViewForm + Shift+F2 + Yes + No + View Form + Form View + Form View + 12 + + + + + ViewTable + &Table + View several records in a table + ViewTable + F2 + Yes + No + View Table + Browse View + Browse View + 13 + + + + + + + Window + &Window + Arrange child windows + + + None + Yes + No + + + + + + + -1 + + + + + WindowCascade + &Cascade + Arrange child windows in a cascade + WindowCascade + None + Yes + No + + + + + + + -1 + + + + + WindowTile + &Tile + Arrange child windows tiled + WindowTile + None + Yes + No + + + + + + + -1 + + + + + CloseAllChildren + Close A&ll + Close all child windows + WindowCloseAll + None + Yes + No + + + + + + + -1 + + + + + + + Help + &Help + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpIndex + &Index + Index of help + Help_Index + F1 + Yes + No + + + + + + + -1 + + + + + HelpContext + &Context Help + Context sensitive help + Help_ContextHelp + Ctrl+F1 + Yes + No + + + + + + + -1 + + + + + HelpUsingHelp + &Using Help + How to use help + Help_UsingHelp + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpAbout + &About... + About application + + + None + Yes + No + + + + + + + -1 + IDM_HELP_ABOUT + + + + + + diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu_Accelerator.rc b/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu_Accelerator.rc new file mode 100644 index 0000000000..5e83de8760 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.StandardShellMenu_Accelerator.rc @@ -0,0 +1,55 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 27-1-2020 22:06:13 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_StandardShellMenu_File_ID 18000 +#define IDM_StandardShellMenu_File_Open_ID 18001 +#define IDM_StandardShellMenu_File_Close_ID 18002 +#define IDM_StandardShellMenu_File_Print_ID 18004 +#define IDM_StandardShellMenu_File_Print_Setup_ID 18005 +#define IDM_StandardShellMenu_File_Exit_ID 18007 +#define IDM_StandardShellMenu_Edit_ID 18008 +#define IDM_StandardShellMenu_Edit_Cut_ID 18009 +#define IDM_StandardShellMenu_Edit_Copy_ID 18010 +#define IDM_StandardShellMenu_Edit_Paste_ID 18011 +#define IDM_StandardShellMenu_Edit_Insert_Record_ID 18013 +#define IDM_StandardShellMenu_Edit_Delete_Record_ID 18014 +#define IDM_StandardShellMenu_Edit_Go_To_Top_ID 18016 +#define IDM_StandardShellMenu_Edit_Previous_ID 18017 +#define IDM_StandardShellMenu_Edit_Next_ID 18018 +#define IDM_StandardShellMenu_Edit_Go_To_Bottom_ID 18019 +#define IDM_StandardShellMenu_View_ID 18020 +#define IDM_StandardShellMenu_View_Form_ID 18021 +#define IDM_StandardShellMenu_View_Table_ID 18022 +#define IDM_StandardShellMenu_Window_ID 18023 +#define IDM_StandardShellMenu_Window_Cascade_ID 18024 +#define IDM_StandardShellMenu_Window_Tile_ID 18025 +#define IDM_StandardShellMenu_Window_Close_All_ID 18026 +#define IDM_StandardShellMenu_Help_ID 18027 +#define IDM_StandardShellMenu_Help_Index_ID 18028 +#define IDM_StandardShellMenu_Help_Context_Help_ID 18029 +#define IDM_StandardShellMenu_Help_Using_Help_ID 18030 +#define IDM_StandardShellMenu_Help_About_ID 18032 +StandardShellMenu_Accelerator ACCELERATORS +BEGIN + 79, IDM_StandardShellMenu_File_Open_ID, CONTROL ,VIRTKEY + 115, IDM_StandardShellMenu_File_Exit_ID, ALT ,VIRTKEY + 88, IDM_StandardShellMenu_Edit_Cut_ID, CONTROL ,VIRTKEY + 67, IDM_StandardShellMenu_Edit_Copy_ID, CONTROL ,VIRTKEY + 86, IDM_StandardShellMenu_Edit_Paste_ID, CONTROL ,VIRTKEY + 36, IDM_StandardShellMenu_Edit_Go_To_Top_ID, CONTROL ,VIRTKEY + 35, IDM_StandardShellMenu_Edit_Go_To_Bottom_ID, CONTROL ,VIRTKEY + 113, IDM_StandardShellMenu_View_Form_ID, SHIFT ,VIRTKEY + 113, IDM_StandardShellMenu_View_Table_ID, VIRTKEY + 112, IDM_StandardShellMenu_Help_Index_ID, VIRTKEY + 112, IDM_StandardShellMenu_Help_Context_Help_ID, CONTROL ,VIRTKEY +END diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.VS_VERSION_INFO.rc b/src/Templates/working/content/p_vomdiapplication/Standard Menus.VS_VERSION_INFO.rc new file mode 100644 index 0000000000..34f6363ed4 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.VS_VERSION_INFO.rc @@ -0,0 +1,31 @@ +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1, 0, 0, 0 +PRODUCTVERSION 1, 0, 0, 0 +FILEFLAGSMASK 0x3fL +FILEFLAGS 0x00L +FILEOS VOS__WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "This is a Company.Namespace1!\0" + VALUE "CompanyName", "XSharp BV\0" + VALUE "FileVersion", "1, 0, 0, 0\0" + VALUE "FileDescription", "X# Company.Namespace1\0" + VALUE "ProductVersion", "1.0.0.0\0" + VALUE "InternalName", "VO MDI App\0" + VALUE "ProductName", "X# Company.Namespace1\0" + VALUE "LegalCopyright", "Copyright \251 2015-2022\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + + diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Menus.prg b/src/Templates/working/content/p_vomdiapplication/Standard Menus.prg new file mode 100644 index 0000000000..42258d8ea5 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Menus.prg @@ -0,0 +1,257 @@ +#region DEFINES +DEFINE IDM_StandardShellMenu_File_ID := 18000 +DEFINE IDM_StandardShellMenu_File_Open_ID := 18001 +DEFINE IDM_StandardShellMenu_File_Close_ID := 18002 +DEFINE IDM_StandardShellMenu_File_Print_ID := 18004 +DEFINE IDM_StandardShellMenu_File_Print_Setup_ID := 18005 +DEFINE IDM_StandardShellMenu_File_Exit_ID := 18007 +DEFINE IDM_StandardShellMenu_Edit_ID := 18008 +DEFINE IDM_StandardShellMenu_Edit_Cut_ID := 18009 +DEFINE IDM_StandardShellMenu_Edit_Copy_ID := 18010 +DEFINE IDM_StandardShellMenu_Edit_Paste_ID := 18011 +DEFINE IDM_StandardShellMenu_Edit_Insert_Record_ID := 18013 +DEFINE IDM_StandardShellMenu_Edit_Delete_Record_ID := 18014 +DEFINE IDM_StandardShellMenu_Edit_Go_To_Top_ID := 18016 +DEFINE IDM_StandardShellMenu_Edit_Previous_ID := 18017 +DEFINE IDM_StandardShellMenu_Edit_Next_ID := 18018 +DEFINE IDM_StandardShellMenu_Edit_Go_To_Bottom_ID := 18019 +DEFINE IDM_StandardShellMenu_View_ID := 18020 +DEFINE IDM_StandardShellMenu_View_Form_ID := 18021 +DEFINE IDM_StandardShellMenu_View_Table_ID := 18022 +DEFINE IDM_StandardShellMenu_Window_ID := 18023 +DEFINE IDM_StandardShellMenu_Window_Cascade_ID := 18024 +DEFINE IDM_StandardShellMenu_Window_Tile_ID := 18025 +DEFINE IDM_StandardShellMenu_Window_Close_All_ID := 18026 +DEFINE IDM_StandardShellMenu_Help_ID := 18027 +DEFINE IDM_StandardShellMenu_Help_Index_ID := 18028 +DEFINE IDM_StandardShellMenu_Help_Context_Help_ID := 18029 +DEFINE IDM_StandardShellMenu_Help_Using_Help_ID := 18030 +DEFINE IDM_StandardShellMenu_Help_About_ID := 18032 +DEFINE IDM_EmptyShellMenu_File_ID := 12500 +DEFINE IDM_EmptyShellMenu_File_Open_ID := 12501 +DEFINE IDM_EmptyShellMenu_File_Print_Setup_ID := 12503 +DEFINE IDM_EmptyShellMenu_File_Exit_ID := 12505 +DEFINE IDM_EmptyShellMenu_Help_ID := 12506 +DEFINE IDM_EmptyShellMenu_Help_Index_ID := 12507 +DEFINE IDM_EmptyShellMenu_Help_Using_Help_ID := 12508 +DEFINE IDM_EmptyShellMenu_Help_About_ID := 12510 +#endregion + +PARTIAL CLASS EmptyShellMenu INHERIT Menu + +CONSTRUCTOR( oOwner ) + + LOCAL oTB AS Toolbar + + SELF:PreInit() + + SUPER( ResourceID { "EmptyShellMenu" , _GetInst( ) } ) + + SELF:RegisterItem(IDM_EmptyShellMenu_File_ID, ; + HyperLabel{ #File , "&File" , , "File" } , SELF:Handle() , 0) + + SELF:RegisterItem(IDM_EmptyShellMenu_File_Open_ID, ; + HyperLabel{ #FileOpen , "&Open... Ctrl+O" , "Open a file" , "File_Open" }) + + SELF:RegisterItem(IDM_EmptyShellMenu_File_Print_Setup_ID, ; + HyperLabel{ #FilePrinterSetup , "P&rint Setup..." , "Setup printer options" , "File_Printer_Setup" }) + + SELF:RegisterItem(IDM_EmptyShellMenu_File_Exit_ID, ; + HyperLabel{ #FileExit , "E&xit Alt+F4" , "End of application" , "File_Exit" }) + + SELF:RegisterItem(IDM_EmptyShellMenu_Help_ID, ; + HyperLabel{ #Help , "&Help" , , } , SELF:Handle() , 1) + + SELF:RegisterItem(IDM_EmptyShellMenu_Help_Index_ID, ; + HyperLabel{ #HelpIndex , "&Index F1" , "Index of help" , "Help_Index" }) + + SELF:RegisterItem(IDM_EmptyShellMenu_Help_Using_Help_ID, ; + HyperLabel{ #HelpUsingHelp , "&Using Help" , "How to use help" , "Help_UsingHelp" }) + + SELF:RegisterItem(IDM_EmptyShellMenu_Help_About_ID, ; + HyperLabel{ #HelpAbout , "&About..." , "About application" , }) + + oTB := Toolbar{} + + oTB:ButtonStyle := TB_ICONONLY + oTB:Flat := TRUE + oTB:EnableBands(FALSE) + + oTB:AppendItem(IDT_OPEN , IDM_EmptyShellMenu_File_Open_ID) + oTB:AddTipText(IDT_OPEN , IDM_EmptyShellMenu_File_Open_ID , "Open File") + + oTB:AppendItem(IDT_HELP , IDM_EmptyShellMenu_Help_About_ID) + oTB:AddTipText(IDT_HELP , IDM_EmptyShellMenu_Help_About_ID , "Help") + + + SELF:ToolBar := oTB + SELF:Accelerator := EmptyShellMenu_Accelerator{ } + + SELF:PostInit() + + RETURN + +END CLASS +PARTIAL CLASS EmptyShellMenu_Accelerator INHERIT Accelerator + +CONSTRUCTOR() + SUPER( ResourceID { "EmptyShellMenu_Accelerator" , _GetInst( ) } ) +RETURN + + +END CLASS +PARTIAL CLASS StandardShellMenu INHERIT Menu + +CONSTRUCTOR( oOwner ) + + LOCAL oTB AS Toolbar + + SELF:PreInit() + + SUPER( ResourceID { "StandardShellMenu" , _GetInst( ) } ) + + SELF:RegisterItem(IDM_StandardShellMenu_File_ID, ; + HyperLabel{ #File , "&File" , , "File" } , SELF:Handle() , 0) + + SELF:RegisterItem(IDM_StandardShellMenu_File_Open_ID, ; + HyperLabel{ #FileOpen , "&Open... Ctrl+O" , "Open a file" , "File_Open" }) + + SELF:RegisterItem(IDM_StandardShellMenu_File_Close_ID, ; + HyperLabel{ #FileClose , "&Close" , "Close current child window" , "File_Close" }) + + SELF:RegisterItem(IDM_StandardShellMenu_File_Print_ID, ; + HyperLabel{ #FilePrint , "&Print" , "Print the active window" , }) + + SELF:RegisterItem(IDM_StandardShellMenu_File_Print_Setup_ID, ; + HyperLabel{ #FilePrinterSetup , "P&rint Setup..." , "Setup printer options" , "File_Printer_Setup" }) + + SELF:RegisterItem(IDM_StandardShellMenu_File_Exit_ID, ; + HyperLabel{ #FileExit , "E&xit Alt+F4" , "End of application" , "File_Exit" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_ID, ; + HyperLabel{ #Edit , "&Edit" , "Edit information" , "Edit" } , SELF:Handle() , 1) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Cut_ID, ; + HyperLabel{ #Cut , "Cu&t Ctrl+X" , "Cut to clipboard" , "Cut" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Copy_ID, ; + HyperLabel{ #Copy , "&Copy Ctrl+C" , "Copy to clipboard" , "Copy" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Paste_ID, ; + HyperLabel{ #Paste , "&Paste Ctrl+V" , "Paste from clipboard" , "Paste" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Insert_Record_ID, ; + HyperLabel{ #Append , "&Insert Record" , "Insert a new record" , "Append" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Delete_Record_ID, ; + HyperLabel{ #Delete , "&Delete Record" , "Delete this record" , "Delete" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Go_To_Top_ID, ; + HyperLabel{ #GoTop , "G&o To Top Ctrl+Home" , "Go to first record" , "GoTop" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Previous_ID, ; + HyperLabel{ #SkipPrevious , "Pre&vious" , "Go to previous record" , "SkipPrevious" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Next_ID, ; + HyperLabel{ #SkipNext , "&Next" , "Go to next record" , "SkipNext" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Edit_Go_To_Bottom_ID, ; + HyperLabel{ #GoBottom , "Go To &Bottom Ctrl+End" , "Go to last record" , "GoBottom" }) + + SELF:RegisterItem(IDM_StandardShellMenu_View_ID, ; + HyperLabel{ #View , "&View" , , } , SELF:Handle() , 2) + + SELF:RegisterItem(IDM_StandardShellMenu_View_Form_ID, ; + HyperLabel{ #ViewForm , "&Form Shift+F2" , "View a single record as a form" , "ViewForm" }) + + SELF:RegisterItem(IDM_StandardShellMenu_View_Table_ID, ; + HyperLabel{ #ViewTable , "&Table F2" , "View several records in a table" , "ViewTable" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Window_ID, ; + HyperLabel{ #Window , "&Window" , "Arrange child windows" , } , SELF:Handle() , 3) + + SELF:RegisterItem(IDM_StandardShellMenu_Window_Cascade_ID, ; + HyperLabel{ #WindowCascade , "&Cascade" , "Arrange child windows in a cascade" , "WindowCascade" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Window_Tile_ID, ; + HyperLabel{ #WindowTile , "&Tile" , "Arrange child windows tiled" , "WindowTile" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Window_Close_All_ID, ; + HyperLabel{ #CloseAllChildren , "Close A&ll" , "Close all child windows" , "WindowCloseAll" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Help_ID, ; + HyperLabel{ #Help , "&Help" , , } , SELF:Handle() , 4) + + SELF:RegisterItem(IDM_StandardShellMenu_Help_Index_ID, ; + HyperLabel{ #HelpIndex , "&Index F1" , "Index of help" , "Help_Index" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Help_Context_Help_ID, ; + HyperLabel{ #HelpContext , "&Context Help Ctrl+F1" , "Context sensitive help" , "Help_ContextHelp" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Help_Using_Help_ID, ; + HyperLabel{ #HelpUsingHelp , "&Using Help" , "How to use help" , "Help_UsingHelp" }) + + SELF:RegisterItem(IDM_StandardShellMenu_Help_About_ID, ; + HyperLabel{ #HelpAbout , "&About..." , "About application" , }) + + SELF:SetAutoUpdate( 3 ) + + oTB := Toolbar{} + + oTB:ButtonStyle := TB_ICONONLY + oTB:Flat := TRUE + oTB:EnableBands(FALSE) + + oTB:AppendItem(IDT_CLOSE , IDM_StandardShellMenu_File_Close_ID) + oTB:AddTipText(IDT_CLOSE , IDM_StandardShellMenu_File_Close_ID , "Close File") + + oTB:AppendItem(IDT_SEPARATOR) + + oTB:AppendItem(IDT_CUT , IDM_StandardShellMenu_Edit_Cut_ID) + oTB:AddTipText(IDT_CUT , IDM_StandardShellMenu_Edit_Cut_ID , "Cut") + + oTB:AppendItem(IDT_COPY , IDM_StandardShellMenu_Edit_Copy_ID) + oTB:AddTipText(IDT_COPY , IDM_StandardShellMenu_Edit_Copy_ID , "Copy") + + oTB:AppendItem(IDT_PASTE , IDM_StandardShellMenu_Edit_Paste_ID) + oTB:AddTipText(IDT_PASTE , IDM_StandardShellMenu_Edit_Paste_ID , "Paste") + + oTB:AppendItem(IDT_SEPARATOR) + + oTB:AppendItem(IDT_STARTREC , IDM_StandardShellMenu_Edit_Go_To_Top_ID) + oTB:AddTipText(IDT_STARTREC , IDM_StandardShellMenu_Edit_Go_To_Top_ID , "Go Top") + + oTB:AppendItem(IDT_PREVREC , IDM_StandardShellMenu_Edit_Previous_ID) + oTB:AddTipText(IDT_PREVREC , IDM_StandardShellMenu_Edit_Previous_ID , "Previous Record") + + oTB:AppendItem(IDT_NEXTREC , IDM_StandardShellMenu_Edit_Next_ID) + oTB:AddTipText(IDT_NEXTREC , IDM_StandardShellMenu_Edit_Next_ID , "Next Record") + + oTB:AppendItem(IDT_ENDREC , IDM_StandardShellMenu_Edit_Go_To_Bottom_ID) + oTB:AddTipText(IDT_ENDREC , IDM_StandardShellMenu_Edit_Go_To_Bottom_ID , "Go Bottom") + + oTB:AppendItem(IDT_SEPARATOR) + + oTB:AppendItem(IDT_VFORM , IDM_StandardShellMenu_View_Form_ID) + oTB:AddTipText(IDT_VFORM , IDM_StandardShellMenu_View_Form_ID , "Form View") + + oTB:AppendItem(IDT_VGBROWSE , IDM_StandardShellMenu_View_Table_ID) + oTB:AddTipText(IDT_VGBROWSE , IDM_StandardShellMenu_View_Table_ID , "Browse View") + + + SELF:ToolBar := oTB + SELF:Accelerator := StandardShellMenu_Accelerator{ } + + SELF:PostInit() + + RETURN + +END CLASS +PARTIAL CLASS StandardShellMenu_Accelerator INHERIT Accelerator + +CONSTRUCTOR() + SUPER( ResourceID { "StandardShellMenu_Accelerator" , _GetInst( ) } ) +RETURN + + +END CLASS diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Shell.IDI_STANDARDICON.rc b/src/Templates/working/content/p_vomdiapplication/Standard Shell.IDI_STANDARDICON.rc new file mode 100644 index 0000000000..aa3dfe446e --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Shell.IDI_STANDARDICON.rc @@ -0,0 +1 @@ + 101 ICON "Resources\\XSharp.ICO" diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Shell.Manifest.rc b/src/Templates/working/content/p_vomdiapplication/Standard Shell.Manifest.rc new file mode 100644 index 0000000000..c95c0e84da --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Shell.Manifest.rc @@ -0,0 +1,4 @@ + 1 24 resources\cctl6.man + + + diff --git a/src/Templates/working/content/p_vomdiapplication/Standard Shell.prg b/src/Templates/working/content/p_vomdiapplication/Standard Shell.prg new file mode 100644 index 0000000000..10bf07ad0a --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Standard Shell.prg @@ -0,0 +1,169 @@ +#region DEFINES +STATIC DEFINE HELPABOUT_PUSHBUTTON1 := 104 +DEFINE IDI_STANDARDICON := 101 +DEFINE IDS_ERROR := 65520 +DEFINE IDS_EXCHANGE_NOT_INSTALLED := 65521 +DEFINE IDS_SAVE := 65522 +STATIC DEFINE MAILDLG_PBCANCEL := 101 +STATIC DEFINE MAILDLG_PBSEND := 102 +STATIC DEFINE MAILDLG_RICHEDIT1 := 100 +#endregion + +CLASS StandardShellWindow INHERIT ShellWindow + PROTECT oPrinter AS PrintingDevice + + +METHOD DoOpenFile(cFileName, lReadOnly) + LOCAL oTB AS TextBox + LOCAL oNewChild AS StdDataWindow + + IF (Len(cFileName) > 3 ) .AND. (Upper(Right(cFileName, 4)) == ".DBF") + oNewChild := StdDataWindow{SELF, cFileName, lReadOnly} + oNewChild:ViewAs(#FormView) + oNewChild:Show() + ELSE + oTB := TextBox{SELF, "File Open Error", "Cannot open " + cFileName + " - Not a DBF file"} + oTB:Type := BUTTONOKAY + oTB:Show() + ENDIF + +RETURN SELF + + + +METHOD Drop(oDragEvent) +LOCAL nNumFiles := oDragEvent:FileCount + LOCAL nFile AS INT + + FOR nFile := 1 TO nNumFiles + IF File(oDragEvent:FileName(nFile)) + SELF:DoOpenFile(oDragEvent:FileName(nFile)) + ENDIF + NEXT + RETURN NIL + +METHOD FileExit() + + SELF:EndWindow() + +RETURN SELF + +METHOD FileOpen() + LOCAL oOD AS OpenDialog + + (oOD := OpenDialog{SELF, "*.dbf"}):Show() + + IF !Empty(oOD:FileName) + SELF:DoOpenFile(oOD:FileName, oOD:ReadOnly) + ENDIF + +RETURN SELF + +METHOD FilePrinterSetup() + + oPrinter:Setup() + +RETURN SELF + +CONSTRUCTOR( oOwnerApp ) + local oSB as StatusBar + + SUPER( oOwnerApp ) + + SetDeleted(true) + + self:EnableDragDropClient() + + oSB := self:EnableStatusBar() + oSB:DisplayTime() + + self:Menu := EmptyShellMenu{self} + + self:Icon := Icon{ResourceID{IDI_STANDARDICON, _GetInst()}} + self:IconSm := Icon{ResourceID{IDI_STANDARDICON, _GetInst()}} + + SELF:Caption := "Company.Namespace1" + + oPrinter := PrintingDevice{} + + return self + + +ACCESS Printer + + return oPrinter + + +METHOD WindowCascade() + + SELF:Arrange(ARRANGECASCADE) + +RETURN SELF + +METHOD WindowIcon() + + SELF:Arrange(ARRANGEASICONS) + +RETURN SELF + +METHOD WindowTile() + + SELF:Arrange(ARRANGETILE) + +RETURN SELF + +END CLASS +CLASS StdDataWindow INHERIT DataWindow + + +METHOD FileClose() + + SELF:Server:Close() + + SELF:EndWindow() + +RETURN SELF + +METHOD FilePrint() + + SELF:Print(SELF:Owner:Printer) + +RETURN SELF + +CONSTRUCTOR(oParentWindow, sFileName, lReadOnly, oServer) + LOCAL sCaption AS STRING + + SUPER(oParentWindow) + + SELF:Menu := StandardShellMenu{SELF} + SELF:ToolBar:PressItem(IDM_StandardShellMenu_View_Form_ID) + sCaption := "Browse Database: " + + IF !IsNil(oServer) + SELF:Use(oServer) + SELF:Caption := sCaption + oServer:Name + ELSE + SELF:Use(CreateInstance(#DBServer, sFileName, , lReadOnly)) + SELF:Caption := sCaption + sFileName + ENDIF + +RETURN SELF + +method ViewForm() + self:ToolBar:UnPressItem(IDM_StandardShellMenu_View_Table_ID) + self:ToolBar:PressItem(IDM_StandardShellMenu_View_Form_ID) + + return super:ViewForm() + + + + +method ViewTable() + self:ToolBar:UnPressItem(IDM_StandardShellMenu_View_Form_ID) + self:ToolBar:PressItem(IDM_StandardShellMenu_View_Table_ID) + + return super:ViewTable() + + + +END CLASS diff --git a/src/Templates/working/content/p_vomdiapplication/Start.prg b/src/Templates/working/content/p_vomdiapplication/Start.prg new file mode 100644 index 0000000000..2ac7836889 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/Start.prg @@ -0,0 +1,20 @@ +[STAThread]; +FUNCTION Start() AS INT + LOCAL oXApp AS XApp + TRY + oXApp := XApp{} + oXApp:Start() + CATCH oException AS Exception + ErrorDialog(oException) + END TRY +RETURN 0 + +CLASS XApp INHERIT App + METHOD Start() + LOCAL oMainWindow AS StandardShellWindow + oMainWindow := StandardShellWindow{SELF} + oMainWindow:Show(SHOWCENTERED) + + SELF:Exec() + RETURN NIL +END CLASS diff --git a/src/Templates/working/content/p_vomdiapplication/XSharp.ICO b/src/Templates/working/content/p_vomdiapplication/XSharp.ICO new file mode 100644 index 0000000000000000000000000000000000000000..dd1707e251c47b5348cb85b0abfbb1e40bfb30d9 GIT binary patch literal 9662 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 + + + WinExe + VOMDIApp + VO + true + VOMDIApp + True + true + true + true + true + true + true + true + true + true + true + true + true + false + false + true + false + true + true + False + False + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_vomdiapplication/cavoded.tpl b/src/Templates/working/content/p_vomdiapplication/cavoded.tpl new file mode 100644 index 0000000000..627763cb84 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/cavoded.tpl @@ -0,0 +1,225 @@ +[CLASS] +CLASS %classname% INHERIT %superclass% + INSTANCE cDBFPath := "%dbfpath%" AS STRING + INSTANCE cName := "%dbfname%" AS STRING + INSTANCE xDriver := %rdd% AS USUAL + INSTANCE lReadOnlyMode:= %ro% AS LOGIC + INSTANCE lSharedMode := %share% AS USUAL + INSTANCE nOrder := %order% AS INT + %declarations% + +[INIT] +METHOD Init(cDBF, lShare, lRO, xRdd) CLASS %classname% + LOCAL oFS AS FILESPEC + LOCAL i AS DWORD + LOCAL nFields AS DWORD + LOCAL aFieldDesc AS ARRAY + LOCAL aIndex AS ARRAY + LOCAL nIndexCount AS DWORD + LOCAL oFSIndex AS FILESPEC + LOCAL nPos AS DWORD + LOCAL lTemp AS LOGIC + LOCAL oFSTemp AS FILESPEC + + + IF IsLogic(lShare) + SELF:lSharedMode := lShare + ELSE + IF !IsLogic(SELF:lSharedMode) + SELF:lSharedMode := !SetExclusive() + ENDIF + ENDIF + + IF IsLogic(lRO) + SELF:lReadOnlyMode := lRO + ENDIF + + IF IsString(xRdd) .OR. IsArray(xRdd) + SELF:xDriver := xRdd + ENDIF + + SELF:PreInit() + + IF IsString(cDBF) + // UH 01/18/2000 + oFSTemp := FileSpec{SELF:cDBFPath + SELF:cName} + oFS := FileSpec{cDBF} + + IF SLen(oFS:Drive) = 0 + oFS:Drive := CurDrive() + ENDIF + IF SLen(oFS:Path) = 0 + oFS:Path := "\" + CurDir() + ENDIF + + IF SLen(oFS:FileName) = 0 + oFS:Filename := SELF:cName + ENDIF + + IF oFS:FullPath == oFSTemp:Fullpath + lTemp := .T. + ELSE + IF Left(cDBF, 2) =='\\' // Unc path, for example \\Server\Share\FileName.DBF + SELF:cDBFPath := oFS:Path + ELSE + SELF:cDBFPath := oFS:Drive + oFS:Path + ENDIF + SELF:cName := oFS:FileName + oFS:Extension + oFS := FileSpec{SELF:cDBFPath + SELF:cName} + ENDIF + ELSE + oFS := FileSpec{SELF:cName} + oFS:Path := SELF:cDBFPath + ENDIF + + + SUPER:Init(oFS, SELF:lSharedMode, SELF:lReadOnlyMode , SELF:xDriver ) + + oHyperLabel := HyperLabel{#%hlname%, "%hlcaption%", "%hldescription%", "%hlhelpcontext%"} + + IF oHLStatus = NIL + nFields := ALen(aFieldDesc := SELF:FieldDesc) + FOR i:=1 UPTO nFields + nPos := SELF:FieldPos( aFieldDesc[i][DBC_NAME] ) + + SELF:SetDataField( nPos,; + DataField{aFieldDesc[i][DBC_SYMBOL],aFieldDesc[i][DBC_FIELDSPEC]} ) + + IF String2Symbol(aFieldDesc[i][DBC_NAME]) != aFieldDesc[i][DBC_SYMBOL] + SELF:FieldInfo(DBS_ALIAS, nPos, Symbol2String(aFieldDesc[i][DBC_SYMBOL]) ) + ENDIF + NEXT + + nIndexCount := ALen(aIndex:=SELF:IndexList) + + FOR i:=1 UPTO nIndexCount + oFSIndex := FileSpec{ aIndex[i][DBC_INDEXNAME] } + oFSIndex:Path := SELF:cDBFPath + + IF lTemp .AND. !Empty( aIndex[i][DBC_INDEXPATH] ) + oFSIndex:Path := aIndex[i][DBC_INDEXPATH] + ENDIF + + IF oFSIndex:Find() + lTemp := SELF:SetIndex( oFSIndex ) + ENDIF + NEXT + + // UH 01/18/2000 + // SELF:nOrder > 0 + IF lTemp .AND. SELF:nOrder > 0 + SELF:SetOrder(SELF:nOrder) + ENDIF + + SELF:GoTop() + ENDIF + + SELF:PostInit() + + RETURN SELF + + +[FIELDDESC] +ACCESS FieldDesc CLASS %classname% + // + // Describes all fields selected by DBServer-Editor + // + LOCAL aRet AS ARRAY + LOCAL nFields AS DWORD + + nFields := %fieldcount% + + IF nFields > 0 + aRet := ArrayCreate(nFields) + + // + // The following code creates an array of field + // descriptors with these items for each + // selected field: + // + // { , , } + // + // Use following predefined constants to access + // each subarray: + // + // DBC_SYMBOL + // DBC_NAME + // DBC_FIELDSPEC + // + %fielddesc% + + ELSE + aRet := {} + ENDIF + + + RETURN aRet + + +[INDEXLIST] +ACCESS IndexList CLASS %classname% + // + // Describes all index files created or selected + // by DBServer-Editor + // + LOCAL aRet AS ARRAY + LOCAL nIndexCount AS DWORD + + nIndexCount := %indexcount% + + IF nIndexCount > 0 + aRet := ArrayCreate(nIndexCount) + + // + // The following code creates an array of index + // file descriptors with these items for each + // selected index file: + // + // { , , } + // + // Use following predefined constants to access + // each subarray: + // + // DBC_INDEXNAME + // DBC_INDEXPATH + // DBC_ORDERS + // + // Array contains an array of + // order descriptors with these items for each + // order: + // + // { , , , , } + // + // Use following predefined constants to access + // aOrder subarrays: + // + // DBC_TAGNAME + // DBC_DUPLICATE + // DBC_ASCENDING + // DBC_KEYEXP + // DBC_FOREXP + // + %indexlist% + + ELSE + aRet := {} + ENDIF + + RETURN aRet + + +[PREINIT] +METHOD PreInit() class %classname% + //Put your PreInit additions here + RETURN NIL + +[POSTINIT] +METHOD PostInit() class %classname% + //Put your PostInit additions here + RETURN NIL + +[MACROS] +FieldDesc=\r\n\t\taRet[%pos%] := { #%hlname%, \"%fldname%\", %classname%{}} +Index=\r\n\t\taRet[%pos%] := { \"%indexname%\", \"%dbfpath%\",; \r\n \t\t\t\t\t{%orderlist% } } +Order={ \"%tag%\", %duplicate%, %ascending%, [%keyexp%], [%forexp%] } +Declaration=\r\n\tDECLARE ACCESS %hlname%\r\n\tDECLARE ASSIGN %hlname% diff --git a/src/Templates/working/content/p_vomdiapplication/cavofed.tpl b/src/Templates/working/content/p_vomdiapplication/cavofed.tpl new file mode 100644 index 0000000000..11665a502f --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/cavofed.tpl @@ -0,0 +1,33 @@ +[CLASS] +CLASS %classname% INHERIT %superclass% + + +[INIT] +METHOD Init() CLASS %classname% + LOCAL cPict AS STRING + + SUPER:Init( HyperLabel{#%hlname%, "%hlcaption%", "%hldescription%", "%hlhelpcontext%" }, "%type%", %len%, %dec% ) + cPict := "%picture" + IF SLen(cPict) > 0 + SELF:Picture := cPict + ENDIF + + RETURN SELF + + + +[DBSERVER] +Method GetFieldInfo%hlname%() CLASS %servername% +RETURN {#%hlname%, "%hlcaption%","%hldescription%","%hlhelpcontext%"} + +[DBSERVER] +ACCESS %hlname% AS %usualtype% PASCAL CLASS %servername% + + RETURN SELF:FieldGet(#%hlname%) + + +[DBSERVER] +ASSIGN %hlname%(uValue AS %usualtype%) AS %usualtype% PASCAL CLASS %servername% + + RETURN SELF:FieldPut(#%hlname%, uValue) + diff --git a/src/Templates/working/content/p_vomdiapplication/cavowed.inf b/src/Templates/working/content/p_vomdiapplication/cavowed.inf new file mode 100644 index 0000000000..a484dae8a8 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/cavowed.inf @@ -0,0 +1,954 @@ +[FORM] +Assign01=Name,HyperLabel(%Name%,%Caption%,,) +Assign02=Caption,HyperLabel(,lstring,,) +Assign03=Description,HyperLabel(,,string,) +Assign04=Help Context,HyperLabel(,,,string) +Assign05=Clipper Keys,ClipperKeys(BOOL) +Assign06=Large Icon,Icon(CLASS:ICON) +Assign07=Small Icon,IconSm(CLASS:ICON) +Assign08=Accelerator Table,Accelerator(CLASS:Accelerator) +Assign09=Background Color,Background(COLOR) +Assign10=Menu,Menu(CLASS:Menu) +Assign11=Context Menu,ContextMenu(CLASS:Menu) +Assign12=Help File Name,HelpDisplay(string) +Assign13=Prevent Auto Layout,PreventAutoLayout(BOOL) +Assign14=Defer USE,DeferUse(BOOL) +Assign15=Quit On Close,QuitOnClose(BOOL) +Assign16=Automated,Automated(BOOL) +Assign17=Allow Server Close,AllowServerClose(BOOL) + +Method01=Activate,Activate(CODE:Activate) +Method02=ButtonClick,ButtonClick(CODE:ButtonClick) +Method03=ButtonDoubleClick,ButtonDoubleClick(CODE:ButtonDoubleClick) +Method04=Close,Close(CODE:Close) +Method05=Deactivate,Deactivate(CODE:Deactivate) +Method06=Draw,Draw(CODE:Draw) +Method07=EditChange,EditChange(CODE:EditChange) +Method08=EditFocusChange,EditFocusChange(CODE:EditFocusChange) +Method09=EditScroll,EditScroll(CODE:EditScroll) +Method10=Expose,Expose(CODE:Expose) +Method11=FocusChange,FocusChange(CODE:FocusChange) +Method12=HelpRequest,HelpRequest(CODE:HelpRequest) +Method13=HorizontalScroll,HorizontalScroll(CODE:HorizontalScroll) +Method14=Keydown,Keydown(CODE:Keydown) +Method15=Keyup,Keyup(CODE:Keyup) +Method16=ListBoxClick,ListBoxClick(CODE:ListBoxClick) +Method17=ListBoxSelect,Show(CODE:ListBoxSelect) +Method18=MenuCommand,MenuCommand(CODE:MenuCommand) +Method19=MenuInit,MenuInit(CODE:MenuInit) +Method20=MenuSelect,MenuSelect(CODE:MenuSelect) +Method21=MouseButtonDoubleClick,MouseButtonDoubleClick(CODE:MouseButtonDoubleClick) +Method22=MouseButtonDown,MouseButtonDown(CODE:MouseButtonDown) +Method23=MouseButtonUp,MouseButtonUp(CODE:MouseButtonUp) +Method24=MouseDrag,MouseDrag(CODE:MouseDrag) +Method25=MouseMove,MouseMove(CODE:MouseMove) +Method26=Move,Move(CODE:Move) +Method27=QueryClose,QueryClose(CODE:QueryClose) +Method28=Resize,Resize(CODE:Resize) +Method29=VerticalScroll,VerticalScroll(CODE:VerticalScroll) +Method30=View As,ViewAs(VIEWS) +Method31=Data Server,Use(CLASS:DBSERVER:+SQLTable:+JDataServer) +Method32=Font,Font(FONT) +Method33=Notify,Notify(CODE:Notify) +Method34=PreValidate,PreValidate(CODE:PreValidate) +Method35=HorizontalSlide,HorizontalSlide(CODE:HorizontalSlide) +Method36=VerticalSlide,VerticalSlide(CODE:VerticalSlide) +Method37=HorizontalSpin,HorizontalSpin(CODE:HorizontalSpin) +Method38=VerticalSpin,VerticalSpin(CODE:VerticalSpin) +Method39=PreInit Actions,PreInit(CODE:PreInit) +Method40=PostInit Actions,PostInit(CODE:PostInit) +Method41=StatusBar,EnableStatusBar(BOOL) +Method42=AnimationStart,AnimationStart(CODE:AnimationStart) +Method43=AnimationStop,AnimationStop(CODE:AnimationStop) +Method44=RichEditDropFiles,RichEditDropFiles(CODE:RichEditDropFiles) +Method45=RichEditProtected,RichEditProtected(CODE:RichEditProtected) +Method46=RichEditSelChange,RichEditSelChange(CODE:RichEditSelectionChange) +Method47=RichEditUndoLost,RichEditUndoLost(CODE:RichEditUndoLost) +Method48=ListViewItemDrag,ListViewItemDrag(CODE:ListViewItemDrag) +Method49=ListViewItemEdit,ListViewItemEdit(CODE:ListViewItemEdit) +Method50=ListViewColumnClick,ListViewColumnClick(CODE:ListViewColumnClick) +Method51=ListViewItemDelete,ListItemDelete(CODE:ListViewItemDelete) +Method52=ListViewKeyDown,ListKeyDown(CODE:ListViewKeyDown) +Method53=TreeViewMouseDown,TreeViewMouseButtonDown(CODE:TreeViewMouseButtonDown) +Method54=ListViewMouseDown,ListViewMouseButtonDown(CODE:ListViewMouseButtonDown) +Method55=TreeViewMouseDoubleClick,TreeViewMouseDoubleClick(CODE:TreeViewMouseButtonDoubleClick) +Method56=ListViewMouseDoubleClick,ListViewMouseDoubleClick(CODE:ListViewMouseButtonDoubleClick) +Method57=TabSelect,TabSelect(CODE:TabSelect) +Method58=TabSelChanging,TabSelChanging(CODE:TabSelectionChanging) +Method59=TabKeyDown,TabKeyDown(CODE:TabKeyDown) +Method60=TreeViewItemDrag,TreeViewItemDrag(CODE:TreeViewItemDrag) +Method61=TreeViewItemEdit,TreeViewItemEdit(CODE:TreeViewItemEdit) +Method62=TreeViewItemDelete,TreeViewItemDelete(CODE:TreeViewItemDelete) +Method63=TreeViewItemExpanded,TreeViewItemExpanded(CODE:TreeViewItemExpanded) +Method64=TreeViewItemExpanding,TreeViewItemExpanding(CODE:TreeViewItemExpanding) +Method65=TreeViewKeyDown,TreeViewKeyDown(CODE:TreeViewKeyDown) +Method66=TreeViewSelChanged,TreeViewSelChanged(CODE:TreeViewSelectionChanged) +Method67=TreeViewSelChanging,TreeViewSelChanging(CODE:TreeViewSelectionChanging) +Method68=Class Declaration,ClassDeclaration(CODE:ClassDeclaration) +Method69=MonthCalSelChanged,MonthCalSelChanged(CODE:MonthCalSelectionChanged) +Method70=DateTimeSelChanged,DateTimeSelChanged(CODE:DateTimeSelectionChanged) +Method90=No Access/Assign,NoAcc(LOGIC) +Method91=Pixel Positions,PixPos(LOGIC) +Method92=Export Controls,ExpCtls(LOGIC) + +WindowStyle01=Tab Key,WS_CHILD:WS_CHILD|DS_CONTROL(TABKEY) + +[FORM:DATAWINDOW] +ContTitle=Data Window +text=DataWindow Caption +InitMethod=DATAWINDOW(oWindow,iCtlID,oServer,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DataWindow) +Name=MyDataWindow +Size=420,320 +DialogTemplate=1 +Position=5,5 +Style=WS_CHILD +HelpID=2065 +PropTabs=HyperLabel,DataWindow,Mouse Events,Window Events,Control Events,Menu Events,CommonControl Events,TreeView Events,ListView Events +Assign18=Owner Alignment,OwnerAlignment(OWNERALIGNMENT) + +[FORM:DATADIALOG] +ContTitle=Data Dialog +text=DataDialog Caption +InitMethod=DATADIALOG(oWindow,iCtlID,oServer,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DataDialog) +Name=MyDataDialog +Size=400,240 +DialogTemplate=1 +Position=5,5 +Style=WS_CHILD +HelpID=2490 +PropTabs=HyperLabel,DataDialog,Mouse Events,Window Events,Control Events,Menu Events,CommonControl Events,TreeView Events,ListView Events + +[FORM:DATAWINDOW:OLEDATAWINDOW] +ContTitle=OLE Data Window +text=OLE DataWindow Caption +InitMethod=OLEDATAWINDOW(oWindow,iCtlID,oServer,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:OleDataWindow) +Name=MyOLEDataWindow +Size=420,320 +DialogTemplate=1 +Position=5,5 +Style=WS_CHILD +HelpID=2065 +PropTabs=HyperLabel,DataWindow,Mouse Events,Window Events,Control Events,Menu Events,CommonControl Events,TreeView Events,ListView Events + + +[FORM:SHELLWINDOW] +Assign01=Mouse Pointer,Pointer(CLASS:POINTER) +Assign02=Menu,Menu(CLASS:Menu) +Assign03=Help File Name,HelpDisplay(string) +ContTitle=Shell Window +text=ShellWindow Caption +InitMethod=SHELLWINDOW(oParent,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ShellWindow) +Name=TheShellWindow +Size=400,300 +Position=5,5 +Style=WS_OVERLAPPEDWINDOW +HelpID=2060 +PropTabs=HyperLabel,ShellWindow,Mouse Events,Window Events,Control Events,Menu Events + +[FORM:DIALOGWINDOW] +Method01=Font,Font(FONT) +Method02=Modeless,Modeless(LOGIC) +Assign01=Background Color,Background(COLOR) +Assign02=Mouse Pointer,Pointer(CLASS:POINTER) +Assign03=Help File Name,HelpDisplay(string) +WindowStyle01=Disabled,WS_DISABLED(BOOL) +WindowStyle03=Clip Siblings,WS_CLIPSIBLINGS(BOOL) +WindowStyle04=Local Edit,DS_LOCALEDIT(BOOL) +WindowStyle05=Absolute Align,DS_ABSALIGN(BOOL) +WindowStyle06=Clip Children,WS_CLIPCHILDREN(BOOL) +WindowStyle09=System Modal,DS_SYSMODAL(BOOL) +WindowStyle10=No Idle Message,DS_NOIDLEMSG(BOOL) +WindowStyle11=Resizable,WS_THICKFRAME:DS_MODALFRAME(BOOL) +WindowStyle12=Caption Bar,WS_NULL:WS_CAPTION:WS_CAPTION|WS_SYSMENU:WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX:WS_CAPTION|WS_SYSMENU|WS_MAXIMIZEBOX:WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX(CAPTIONBAR) +WindowStyle13=Fixed Font,DS_FIXEDSYS(BOOL) +WindowStyle14=Position,WS_NULL:DS_CENTER:DS_CENTERMOUSE(DIALOGPOSITON) +WindowStyle15=Type,WS_POPUP:WS_CHILD|DS_CONTROL(DIALOGTYPE) +ContTitle=Dialog Window +DialogTemplate=1 +text=Dialog Caption +InitMethod=DialogWindow(oParent,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DialogWindow) +Name=TheDialog +Size=400,240 +Position=5,5 +Style=DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_3DLOOK +ExStyle=WS_EX_DLGMODALFRAME +HelpID=2070 +PropTabs=HyperLabel,DlgWindow,DlgWndStyles:Styles,Mouse Events,Window Events,Control Events,CommonControl Events,TreeView Events,ListView Events,Menu Events + +[CONTROL] +Assign01=Name,HyperLabel(%Name%,%Caption%,,) +Assign02=Caption,HyperLabel(,lstring,,) +Assign03=Description,HyperLabel(,,string,) +Assign04=Help Context,HyperLabel(,,,string) +Assign05=Background Color,Background(COLOR) +Assign06=Context Menu,ContextMenu(CLASS:Menu) +Assign07=Tooltip,TooltipText(string) +Assign08=Owner Alignment,OwnerAlignment(OWNERALIGNMENT) +WindowStyle01=Disabled,WS_DISABLED(BOOL) +WindowStyle02=Tab Stop,WS_TABSTOP(BOOL) +WindowStyle03=Group,WS_GROUP(BOOL) +WindowStyle04=Border,WS_BORDER(BOOL) +WindowStyle05=Vertical Scrollbar,WS_VSCROLL(BOOL) +WindowStyle06=Horizontal Scrollbar,WS_HSCROLL(BOOL) +WindowStyle07=Clip Siblings,WS_CLIPSIBLINGS(BOOL) +ExWindowStyle01=Modal Frame,WS_EX_DLGMODALFRAME(BOOL) +ExWindowStyle02=Static Edge,WS_EX_STATICEDGE(BOOL) +ExWindowStyle03=Client Edge,WS_EX_CLIENTEDGE(BOOL) +ExWindowStyle04=Transparent,WS_EX_TRANSPARENT(BOOL) +ExWindowStyle05=Accept Files,WS_EX_ACCEPTFILES(BOOL) +ExWindowStyle06=No Parent Notify,WS_EX_NOPARENTNOTIFY(BOOL) +ExWindowStyle07=Right-To-Left Reading,WS_EX_RTLREADING(BOOL) +ExWindowStyle08=ExAlignment,WS_EX_LEFT:WS_EX_RIGHT(EXALIGNMENT) + +[CONTROL:CUSTOMCONTROL] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +ContTitle=Custom Control +Name=CustomControl +ClassName=static +OptClassName=_VOCustomControl +Size=240,140 +HelpID=2915 +Style=WS_CHILD|WS_BORDER +PropTabs=HyperLabel,GenCustCtrl:General,CustomCtlStyles:Styles,ExStyles +InitMethod=CustomControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:CustomControl) + +[CONTROL:MULTIMEDIACONTAINER] +Assign01=File Name,FileName(STRING) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +ContTitle=MulitMedia Container +Name=MultiMediaContainer +ClassName=__PTSTBCN__ +OptClassName=_VOMMContainer +Size=240,140 +;HelpID=2915 +Style=WS_CHILD|WS_BORDER +PropTabs=HyperLabel,GenMMCont:General,MMContStyles:Styles,ExStyles +InitMethod=MultiMediaContainer(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:MultiMediaContainer) + +[CONTROL:OLEGEN] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=AllowResize,AllowResize(BOOL) +Assign03=AutoSizeOnCreate,AutoSizeOnCreate(BOOL) +Assign04=ReadOnly,ReadOnly(BOOL) +Assign05=AllowDocView,AllowDocView(BOOL) + +[CONTROL:OLEGEN:OLEOBJECT] +Assign01=AllowInPlace,AllowInPlace(BOOL) +Assign02=ActivateOnDblClk,ActivateOnDblClk(BOOL) +Assign03=Field Spec,FieldSpec(CLASS:FIELDSPEC) +ContTitle=OLE Object +Name=OLEObject +ClassName=__PTSTBCN__ +OptClassName=_VOOleContainer +Size=240,140 +PropTabs=HyperLabel,GenOleObject:General,OLEObjStyles:Styles,ExStyles +Style=WS_CHILD|WS_BORDER +InitMethod=OLEObject(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:OLEObject) + +[CONTROL:OLEGEN:OLECONTROL] +ContTitle=OLE Control +Name=OLEControl +ClassName=__PTSTBCN__ +OptClassName=_VOOleContainer +Size=240,140 +Style=WS_CHILD +HelpID=2290 +PropTabs=HyperLabel,GenOleControl:General,OCXProperties:Properties,OCXEvents:Events,OLEObjStyles:Styles,ExStyles +InitMethod=OLEControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:OLEControl) + +[CONTROL:SUBDATAWINDOW] +ContTitle=Sub-Data Window +ClassName=__PSBDWN__ +Name=Sub_Form +Size=240,140 +Style=WS_CHILD|WS_BORDER +HelpID=2225 +PropTabs=GenSubData:General,SubDataStyles:Styles +Method1=Relation String,RelationString(string) +Method2=Order,Order(string) + +[CONTROL:FIXEDICON] +Method01=Icon,SetIcon(CLASS:ICON) +ContTitle=Fixed Icon +ClassName=static +Name=FixedIcon +Size=32,32 +GenerateCode=1 +Style=WS_CHILD|SS_ICON|WS_BORDER +HelpID=2205 +PropTabs=HyperLabel,GenFixedImage:General,FixedImageStyles:Styles,ExStyles +InitMethod=FIXEDICON(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:FixedIcon) +WindowStyle08=Real Size Image,SS_REALSIZEIMAGE(BOOL) +WindowStyle09=Center Image,SS_CENTERIMAGE(BOOL) +WindowStyle10=Right adjust,SS_RIGHTJUST(BOOL) + +[CONTROL:FIXEDBITMAP] +Method01=Bitmap,SetBitmap(CLASS:BITMAP) +ContTitle=Fixed Bitmap +ClassName=static +Name=FixedBitmap +Size=64,64 +GenerateCode=1 +Style=WS_CHILD|SS_BITMAP|WS_BORDER +HelpID=2565 +PropTabs=HyperLabel,GenFixedImage:General,FixedImageStyles:Styles,ExStyles +InitMethod=FIXEDBITMAP(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:FixedBitmap) +WindowStyle09=Center Image,SS_CENTERIMAGE(BOOL) +WindowStyle10=Right adjust,SS_RIGHTJUST(BOOL) + +[CONTROL:SCROLLBAR] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign03=Min Value,Range(numeric,) +Assign04=Max Value,Range(,numeric) +WindowStyle01=AutoSize,SBS_SIZEBOXTOPLEFTALIGN(BOOL) +WindowStyle02=Size Grip,SBS_SIZEGRIP|SBS_SIZEBOXBOTTOMRIGHTALIGN(BOOL) + +[CONTROL:SCROLLBAR:HORIZONTALSCROLLBAR] +ContTitle=Horizontal Scroll Bar +ClassName=scrollbar +Name=HorzScroll +Size=140,20 +Style=WS_CHILD|SBS_HORZ +HelpID=2215 +PropTabs=HyperLabel,GenScrollbar:General,ScrollBarStyles:Styles,ExStyles +InitMethod=HorizontalScrollBar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HorizontalScrollBar) + +[CONTROL:SCROLLBAR:VERTICALSCROLLBAR] +ContTitle=Vertical Scroll Bar +ClassName=scrollbar +Name=VertScroll +Size=20,140 +Style=WS_CHILD|SBS_VERT +HelpID=2220 +PropTabs=HyperLabel,GenScrollbar:General,ScrollBarStyles:Styles,ExStyles +InitMethod=VerticalScrollBar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:VerticalScrollBar) + +[CONTROL:TEXTCONTROL] +Method01=Font,Font(FONT) +Method02=Input Method Editor,Ime(OLOGIC) +Assign01=Text Color,TextColor(COLOR) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) + +[CONTROL:TEXTCONTROL:EDIT] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Text Limit,TextLimit(numeric) +WindowStyle09=Password,ES_PASSWORD(BOOL) +WindowStyle10=Retain Selection,ES_NOHIDESEL(BOOL) +WindowStyle11=OEM Conversion,ES_OEMCONVERT(BOOL) +WindowStyle12=Auto HScroll,ES_AUTOHSCROLL(BOOL) +WindowStyle13=Read Only,ES_READONLY(BOOL) +WindowStyle14=Conversion,WS_NULL:ES_UPPERCASE:ES_LOWERCASE(EDITCONVERT) +WindowStyle15=Numbers Only,ES_NUMBER(BOOL) +WindowStyle19=Alignment,ES_LEFT:ES_CENTER:ES_RIGHT(EDITALIGN) + +[CONTROL:TEXTCONTROL:EDIT:MULTILINEEDIT] +WindowStyle17=Auto VScroll,ES_AUTOVSCROLL(BOOL) +WindowStyle18=Return Key,ES_WANTRETURN(BOOL) +ContTitle=Multi-Line Edit +ClassName=edit +Name=MultiLineEdit +Size=80,60 +Style=WS_CHILD|ES_MULTILINE|WS_TABSTOP|WS_BORDER|ES_AUTOVSCROLL|ES_AUTOHSCROLL|ES_WANTRETURN +ExStyle=WS_EX_CLIENTEDGE +HelpID=2190 +PropTabs=HyperLabel,GenEdit:General,MultiLineStyles:Styles,ExStyles +InitMethod=MultiLineEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:MultiLineEdit) + +[CONTROL:TEXTCONTROL:EDIT:SINGLELINEEDIT] +Assign01=Block,Block(string) +Assign02=Block Owner,BlockOwner(STRING) +Assign03=OverWrite,OverWrite(OVERWRITE) +Assign04=Picture,Picture(STRING) +Assign05=Scroll Mode,ScrollMode(SCRMODE) +Assign06=Focus Select,FocusSelect(FSELECT) +Assign07=Auto Focus Change,AutoFocusChange(BOOL) +ContTitle=Single-Line Edit +ClassName=edit +Name=SingleLineEdit +Size=80,20 +Style=WS_CHILD|WS_TABSTOP|WS_BORDER|ES_AUTOHSCROLL +ExStyle=WS_EX_CLIENTEDGE +HelpID=2185 +PropTabs=HyperLabel,GenSingleEdit:General,SingleLineStyles:Styles,ExStyles +InitMethod=SingleLineEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:SingleLineEdit) + +[CONTROL:TEXTCONTROL:BASELISTBOX] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign03=Text Color,TextColor(COLOR) +Method01=Fill Using,FillUsing( ) + +[CONTROL:TEXTCONTROL:BASELISTBOX:LISTBOX] +WindowStyle22=Sort,LBS_SORT(BOOL) +WindowStyle23=Notify Parent,LBS_NOTIFY(BOOL) +WindowStyle24=Use Tab Stops,LBS_USETABSTOPS(BOOL) +WindowStyle25=No Redraw,LBS_NOREDRAW(BOOL) +WindowStyle26=Multi Column,LBS_MULTICOLUMN(BOOL) +WindowStyle27=No Integral Height,LBS_NOINTEGRALHEIGHT(BOOL) +WindowStyle28=Want Keyboard Input,LBS_WANTKEYBOARDINPUT(BOOL) +WindowStyle29=Multiple Selection,LBS_MULTIPLESEL(BOOL) +WindowStyle30=Extended Selection,LBS_EXTENDEDSEL(BOOL) +WindowStyle31=Disable if no Scroll,LBS_DISABLENOSCROLL(BOOL) +WindowStyle32=Owner Draw,WS_NULL:LBS_OWNERDRAWFIXED:LBS_OWNERDRAWVARIABLE(OWNERDRAW) +ContTitle=List Box +ClassName=listbox +Name=ListBox +Size=80,80 +Style=WS_TABSTOP|WS_CHILD|WS_VSCROLL|LBS_NOTIFY|WS_BORDER|LBS_SORT|LBS_NOINTEGRALHEIGHT|LBS_DISABLENOSCROLL +ExStyle=WS_EX_CLIENTEDGE +HelpID=2160 +PropTabs=HyperLabel,GenListbox:General,ListBoxStyles:Styles,ExStyles +InitMethod=ListBox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ListBox:-ComboBox) + +[CONTROL:TEXTCONTROL:BASELISTBOX:COMBOBOX] +WindowStyle32=ComboBox Type,CBS_SIMPLE:CBS_DROPDOWN:CBS_DROPDOWNLIST(CBTYPE) +WindowStyle33=Sort,CBS_SORT(BOOL) +WindowStyle34=Auto HScroll,CBS_AUTOHSCROLL(BOOL) +WindowStyle35=No Integral Height,CBS_NOINTEGRALHEIGHT(BOOL) +WindowStyle36=OEM Convert,CBS_OEMCONVERT(BOOL) +WindowStyle37=Disable if no Scroll,CBS_DISABLENOSCROLL(BOOL) +WindowStyle38=OwnerDraw,WS_NULL:CBS_OWNERDRAWFIXED:CBS_OWNERDRAWVARIABLE(OWNERDRAW) +ContTitle=Combo Box +ClassName=combobox +Name=ComboBox +Size=80,120 +Style=WS_TABSTOP|WS_CHILD|CBS_DROPDOWN|WS_VSCROLL|CBS_SORT|CBS_DISABLENOSCROLL +HelpID=2165 +PropTabs=HyperLabel,GenListbox:General,ComboBoxStyles:Styles,ExStyles +InitMethod=combobox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ComboBox) + + +[CONTROL:TEXTCONTROL:BUTTON] +assign01=Use for Tooltip,UseHLforToolTip(BOOL) +assign02=Image,Image(CLASS:Icon:+Bitmap) +WindowStyle06=Text Left,BS_LEFTTEXT(BOOL) +WindowStyle07=Multiline,BS_MULTILINE(BOOL) +WindowStyle08=Flat,BS_FLAT(BOOL) +WindowStyle09=Horizontal Alignment,WS_NULL:BS_LEFT:BS_RIGHT:BS_CENTER(BUTTONHALIGN) +WindowStyle10=Vertical Alignment,WS_NULL:BS_TOP:BS_BOTTOM:BS_VCENTER(BUTTONVALIGN) +WindowStyle11=Image Type,WS_NULL:BS_ICON:BS_BITMAP:WS_NULL(BUTTONIMAGETYPE) +WindowStyle12=Push Like,BS_PUSHLIKE(BOOL) + +[CONTROL:TEXTCONTROL:BUTTON:CHECKBOX] +Assign01=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign02=Text Color,TextColor(COLOR) +WindowStyle05=Selection,BS_CHECKBOX:BS_AUTOCHECKBOX:BS_3STATE:BS_AUTO3STATE(CBAUTOSTYLE) +ContTitle=Check Box +ClassName=button +Name=CheckBox +Text=CheckBox +Size=120,18 +HelpID=2155 +Style=WS_TABSTOP|WS_CHILD|BS_AUTOCHECKBOX +PropTabs=HyperLabel,GenCheckbox:General,CheckBoxStyles:Styles,ExStyles +InitMethod=CheckBox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:CheckBox) + +[CONTROL:TEXTCONTROL:BUTTON:PUSHBUTTON] +WindowStyle04=Default Button,BS_DEFPUSHBUTTON(BOOL) +Event01=Click Event,MyBtnName( ) +ContTitle=Push Button +Type=CommandControl +ClassName=button +Name=PushButton +text=Push +Size=80,20 +Style=WS_CHILD|WS_TABSTOP +PropTabs=HyperLabel,GenPushButton:General,PushButtonStyles:Styles,ExStyles +HelpID=2170 +InitMethod=PushButton(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:PushButton) + +[CONTROL:TEXTCONTROL:BUTTON:RADIOBUTTON] +Method01=Group Value,Value(numeric) +Assign01=Text Color,TextColor(COLOR) +WindowStyle07=AutoSelect,BS_AUTORADIOBUTTON:BS_RADIOBUTTON(BOOL) +ContTitle=Radio Button +Type=CommandControl +ClassName=button +Name=RadioButton +text=RadioButton +Size=120,18 +Style=WS_CHILD|BS_AUTORADIOBUTTON +HelpID=2175 +PropTabs=HyperLabel,GenRadioButton:General,RadioButtonStyles:Styles,ExStyles +InitMethod=RadioButton(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:RadioButton) + +[CONTROL:TEXTCONTROL:FIXEDTEXT] +Assign01=Text Color,TextColor(COLOR) +WindowStyle20=No Prefix,SS_NOPREFIX(BOOL) +WindowStyle21=Alignment,SS_LEFT:SS_CENTER:SS_RIGHT:SS_SIMPLE:SS_LEFTNOWORDWRAP(FIXEDALIGN) +WindowStyle22=Center vertically,SS_CENTERIMAGE(BOOL) +ContTitle=Fixed Text +InitMethod=FixedText(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:FixedText) +ClassName=Static +text=Fixed Text +Name=FixedText +Size=80,20 +Style=WS_CHILD +HelpID=2210 +PropTabs=HyperLabel,GenFixedText:General,FixedTextStyles:Styles,ExStyles + +[CONTROL:TEXTCONTROL:GROUPBOX] +assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Text Color,TextColor(COLOR) +WindowStyle01=Flat,BS_FLAT(BOOL) +ContTitle=Group Box +ClassName=Button +Text=GroupBox +Name=GroupBox +Size=100,80 +Style=WS_CHILD|BS_GROUPBOX|WS_GROUP +HelpID=2200 +PropTabs=HyperLabel,GenGroupbox:General,GroupBoxStyles:Styles,ExStyles +InitMethod=GroupBox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:GroupBox:-RadioButtonGroup) + +[CONTROL:TEXTCONTROL:RADIOBUTTONGROUP] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign03=Text Color,TextColor(COLOR) +ContTitle=Radio Button Group +ClassName=Button +Text=RadioButtonGrp +Name=RadioButtonGroup +Size=100,80 +Style=WS_CHILD|BS_GROUPBOX|WS_GROUP +PropTabs=HyperLabel,GenRadioButtonGroup:General,GroupBoxStyles:Styles,ExStyles +HelpID=2180 +InitMethod=RadioButtonGroup(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:RadioButtonGroup) + +[CONTROL:COMMONCONTROL] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Method01=Font,Font(FONT) + +[CONTROL:COMMONCONTROL:PROGRESSBAR] +WindowStyle01=Smooth,PBS_SMOOTH(BOOL) +WindowStyle02=Vertical,PBS_VERTICAL(BOOL) +Assign01=Min Value,Range(numeric,) +Assign02=Max Value,Range(,numeric) +Assign03=Bar Color,BarColor(COLOR) +Assign04=Background,BackgroundColor(COLOR) +ContTitle=Progress Bar +ClassName=msctls_progress32 +Name=ProgressBar +Size=140,20 +Style=WS_CHILD +HelpID=2260 +PropTabs=HyperLabel,GenProgBar:General,ProgressStyles:Styles,ExStylesNoStaticEdge:ExStyles +InitMethod=ProgressBar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ProgressBar) + +[CONTROL:SCROLLBAR:SLIDER] +WindowStyle38=Auto Ticks,TBS_AUTOTICKS(BOOL) +WindowStyle39=No Ticks,TBS_NOTICKS(BOOL) +WindowStyle40=Enable Selection Range,TBS_ENABLESELRANGE(BOOL) +WindowStyle41=Fixed Length,TBS_FIXEDLENGTH(BOOL) +WindowStyle42=No Thumb,TBS_NOTHUMB(BOOL) +WindowStyle43=Tooltips,TBS_TOOLTIPS(BOOL) + + +[CONTROL:SCROLLBAR:SLIDER:HORIZONTALSLIDER] +ContTitle=Horizontal Slider +ClassName=msctls_trackbar32 +Name=HorizontalSlider +Size=100,30 +Style=WS_CHILD|TBS_AUTOTICKS +HelpID=2265 +PropTabs=HyperLabel,GenScrollbar:General,SliderStyles:Styles,ExStyles +InitMethod=HorizontalSlider(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HorizontalSlider) + +[CONTROL:SCROLLBAR:SLIDER:VERTICALSLIDER] +ContTitle=Vertical Slider +ClassName=msctls_trackbar32 +Name=VerticalSlider +Size=30,100 +Style=WS_CHILD|TBS_AUTOTICKS|TBS_VERT +HelpID=2560 +PropTabs=HyperLabel,GenScrollbar:General,SliderStyles:Styles,ExStyles +InitMethod=VerticalSlider(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:VerticalSlider) + +[CONTROL:SCROLLBAR:SPINNER] +WindowStyle43=Wrap,UDS_WRAP(BOOL) +WindowStyle44=Alignment,WS_NULL:UDS_ALIGNLEFT:UDS_ALIGNRIGHT(UPDOWNALIGN) +WindowStyle45=Auto Buddy,UDS_AUTOBUDDY(BOOL) +WindowStyle46=Arrow Keys,UDS_ARROWKEYS(BOOL) +WindowStyle47=No Thousands,UDS_NOTHOUSANDS(BOOL) +WindowStyle48=Set Buddy Int,UDS_SETBUDDYINT(BOOL) + +[CONTROL:SCROLLBAR:SPINNER:VERTICALSPINNER] +ContTitle=Vertical Spinner +ClassName=msctls_updown32 +Name=VerticalSpinner +Size=20,30 +Style=WS_CHILD|UDS_AUTOBUDDY +HelpID=2555 +PropTabs=HyperLabel,GenScrollbar:General,SpinnerStyles:Styles,ExStyles +InitMethod=VerticalSpinner(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:VerticalSpinner) + +[CONTROL:SCROLLBAR:SPINNER:HORIZONTALSPINNER] +ContTitle=Horizontal Spinner +ClassName=msctls_updown32 +Name=HorizontalSpinner +Size=30,20 +Style=WS_CHILD|UDS_AUTOBUDDY|UDS_HORZ +HelpID=2555 +PropTabs=HyperLabel,GenScrollbar:General,SpinnerStyles:Styles,ExStyles +InitMethod=HorizontalSpinner(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HorizontalSpinner) + +[CONTROL:COMMONCONTROL:TABCONTROL] +Assign01=AutoSize,AutoSize(BOOL) +WindowStyle01=Force Icon Left,TCS_FORCEICONLEFT(BOOL) +WindowStyle02=Force Label Left,TCS_FORCELABELLEFT(BOOL) +WindowStyle03=Buttons,TCS_BUTTONS(BOOL) +WindowStyle04=Multiline,TCS_MULTILINE(BOOL) +WindowStyle05=Focus On Button Down,TCS_FOCUSONBUTTONDOWN(BOOL) +WindowStyle06=Has ToolTips,TCS_TOOLTIPS(BOOL) +WindowStyle07=Focus Never,TCS_FOCUSNEVER(BOOL) +WindowStyle08=Tab Position,WS_NULL:TCS_VERTICAL:TCS_BOTTOM:TCS_VERTICAL|TCS_RIGHT(TABPOSITION) +WindowStyle09=Hot Track,TCS_HOTTRACK(BOOL) +ContTitle=Tab Control +ClassName=SysTabControl32 +Name=TabControl +Size=180,100 +Style=WS_CHILD +HelpID=2280 +PropTabs=HyperLabel,GenTabControl:General,TCStyles:Styles,ExStyles +InitMethod=TabControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:TabControl) + +[CONTROL:COMMONCONTROL:TREEVIEW] +WindowStyle55=Has Buttons,TVS_HASBUTTONS(BOOL) +WindowStyle56=Has Lines,TVS_HASLINES(BOOL) +WindowStyle57=Lines at Root,TVS_LINESATROOT(BOOL) +WindowStyle58=Disable Drag&Drop,TVS_DISABLEDRAGDROP(BOOL) +WindowStyle59=Show Selection Always,TVS_SHOWSELALWAYS(BOOL) +WindowStyle60=Edit Labels,TVS_EDITLABELS(BOOL) +ContTitle=Tree View +ClassName=SysTreeView32 +Name=TreeView +Size=150,100 +Style=WS_CHILD|WS_BORDER|TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT|TVS_EDITLABELS +HelpID=2240 +PropTabs=HyperLabel,GenComControls:General,TVStyles:Styles,ExStyles +InitMethod=TreeView(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:TreeView) + +[CONTROL:COMMONCONTROL:LISTVIEW] +WindowStyle60=List View Type,LVS_ICON:LVS_SMALLICON:LVS_REPORT:LVS_LIST(LVTYPE) +WindowStyle61=Single Selection,LVS_SINGLESEL(BOOL) +WindowStyle62=Show Selection Always,LVS_SHOWSELALWAYS(BOOL) +WindowStyle63=Sort,WS_NULL:LVS_SORTASCENDING:LVS_SORTDESCENDING(LVSORT) +WindowStyle64=No Label Wrap,LVS_NOLABELWRAP(BOOL) +WindowStyle65=Auto Arrange,LVS_AUTOARRANGE(BOOL) +WindowStyle66=Edit Labels,LVS_EDITLABELS(BOOL) +WindowStyle67=No Scroll,LVS_NOSCROLL(BOOL) +WindowStyle68=Align Left,LVS_ALIGNLEFT(BOOL) +WindowStyle69=No Column Header,LVS_NOCOLUMNHEADER(BOOL) +WindowStyle70=No Sort Header,LVS_NOSORTHEADER(BOOL) +Assign01=Background,BackgroundColor(COLOR) +Assign02=Grid Lines,GridLines(BOOL) +Assign03=Header Drag&Drop,HeaderDragDrop(BOOL) +Assign04=Full Row Select,FullRowSelect(BOOL) +Assign05=Checkboxes,CheckBoxes(BOOL) +Assign06=Track Selection,TrackSelection(BOOL) +ContTitle=List View +ClassName=SysListView32 +Name=ListView +Size=150,120 +Style=WS_CHILD|WS_BORDER|LVS_REPORT|LVS_EDITLABELS +HelpID=2235 +PropTabs=HyperLabel,GenListView:General,LVStyles:Styles,LVExStyles:ExStyles +InitMethod=ListView(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ListView) + +[CONTROL:COMMONCONTROL:LISTVIEW:DATALISTVIEW] +Assign01=Server,Server(CLASS:DBSERVER:+SQLTable) +ContTitle=Data List View +ClassName=SysListView32 +Name=DataListView +Size=150,120 +Style=WS_CHILD|WS_BORDER|LVS_REPORT|WS_HSCROLL|LVS_SINGLESEL|LVS_SHOWSELALWAYS|LVS_OWNERDATA +HelpID=2920 +PropTabs=HyperLabel,GenListView:General,DLVStyles:Styles,LVExStyles:ExStyles +InitMethod=DataListView(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DataListView) + +[CONTROL:TEXTCONTROL:EDIT:MULTILINEEDIT:RICHEDIT] +WindowStyle74=Save Selection,ES_SAVESEL(BOOL) +WindowStyle75=Sunken,ES_SUNKEN(BOOL) +WindowStyle76=Disable No Scroll,ES_DISABLENOSCROLL(BOOL) +WindowStyle77=Align to Parent,ES_SELECTIONBAR(BOOL) +Assign01=Background,BackgroundColor(COLOR) +ContTitle=Rich Edit Control +ClassName=RICHEDIT20A +Name=RichEdit +Size=100,100 +Style=WS_CHILD|WS_BORDER|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL +HelpID=2245 +PropTabs=HyperLabel,GenRTFEdit:General,RichEditStyles:Styles,ExStylesNoClientEdge:ExStyles +InitMethod=RichEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:RichEdit) + +[CONTROL:TEXTCONTROL:HOTKEYEDIT] +ContTitle=HotKey Edit +ClassName=msctls_hotkey32 +Name=HotKeyEdit +Size=90,20 +Style=WS_CHILD +HelpID=2255 +PropTabs=HyperLabel,GenComControls:General,Styles,ExStylesNoClientEdge:ExStyles +InitMethod=HotKeyEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HotKeyEdit) + +[CONTROL:COMMONCONTROL:ANIMATIONCONTROL] +WindowStyle71=Center,ACS_CENTER(BOOL) +WindowStyle72=Transparent Background,ACS_TRANSPARENT(BOOL) +WindowStyle73=Auto Play,ACS_AUTOPLAY(BOOL) +Method01=Resource,OpenResource(numeric) +Assign01=AVI File,FileSpec(STRING) +ContTitle=Animation Control +ClassName=SysAnimate32 +Name=Animation +Size=60,60 +Style=WS_CHILD|WS_BORDER +HelpID=2250 +PropTabs=HyperLabel,GenAniControls:General,AnimStyles:Styles,ExStyles +InitMethod=AnimationControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:AnimationControl) + +[CONTROL:TEXTCONTROL:DATETIMEPICKER] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Format,Format(STRING) +WindowStyle01=Type,WS_NULL:DTS_LONGDATEFORMAT:DTS_TIMEFORMAT(DTPTYPE) +WindowStyle02=App Can Parse,DTS_APPCANPARSE(BOOL) +WindowStyle03=Right Align MC,DTS_RIGHTALIGN(BOOL) +WindowStyle04=Show None,DTS_SHOWNONE(BOOL) +WindowStyle05=Up-Down,DTS_UPDOWN(BOOL) +ContTitle=Date Time Picker Control +ClassName=SysDateTimePick32 +Name=DateTimePicker +Size=85,22 +Style=WS_CHILD|DTS_TIMEFORMAT|WS_TABSTOP +HelpID=2925 +PropTabs=HyperLabel,GenDTPick:General,DTPStyles:Styles,ExStylesNoClientEdge:ExStyles +InitMethod=DateTimePicker(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DateTimePicker) + +[CONTROL:TEXTCONTROL:MONTHCALENDAR] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +WindowStyle01=Day State,MCS_DAYSTATE(BOOL) +WindowStyle02=Multi Select,MCS_MULTISELECT(BOOL) +WindowStyle03=No Today,MCS_NOTODAY(BOOL) +WindowStyle04=No Today Circle,MCS_NOTODAYCIRCLE(BOOL) +WindowStyle05=Week Numbers,MCS_WEEKNUMBERS(BOOL) +ContTitle=Month Calendar Control +ClassName=SysMonthCal32 +Name=MonthCalendar +Size=180,160 +Style=WS_CHILD|WS_TABSTOP +ExStyle=WS_EX_CLIENTEDGE +HelpID=2935 +PropTabs=HyperLabel,GenMonthCal:General,MCStyles:Styles,ExStyles +InitMethod=MonthCalendar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:MonthCalendar) + +[CONTROL:TEXTCONTROL:BASELISTBOX:COMBOBOX:COMBOBOXEX] +ContTitle=ComboBoxEx +ClassName=ComboBoxEx32 +Name=ComboBoxEx +Size=80,120 +Style=WS_TABSTOP|WS_CHILD|CBS_DROPDOWN +HelpID=2910 +PropTabs=HyperLabel,GenListbox:General,ComboBoxStyles:Styles,ExStyles +InitMethod=comboboxex(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ComboBoxEx) + +[CONTROL:TEXTCONTROL:IPADDRESS] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +ContTitle=IP Address +ClassName=SysIPAddress32 +Text=IPAddress +Name=IPAddress +Size=100,20 +Style=WS_CHILD|WS_TABSTOP +HelpID=2930 +PropTabs=HyperLabel,GenIPAddress:General,Styles,ExStyles +InitMethod=IPAddress(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:IPAddress) + +[AssignMap] +BackgroundColor=Color +BarColor=Color +Background=Brush +TextLimit= +TextColor=Color +Caption= +AllowInPlace= +ActivateOnDblClk= +AllowResize= +AutoSizeOnCreate= +ReadOnly= +ClipperKeys= +AutoSize= +OverWrite= +Picture= +PreventAutoLayout= +TooltipText= +UseHLforTooltip= +AllowDocView= +DeferUse= +GridLines= +HeaderDragDrop= +FullRowSelect= +CheckBoxes= +TrackSelection= +QuitOnClose= +Automated= +Format= +AllowServerClose= +ScrollMode= +FocusSelect= +AutoFocusChange= +OwnerAlignment= +FileName= + +[StdProperties] +;**** Types +FONT=FONTSYSTEM8,FONTMODERN8,FONTMODERN10,FONTMODERN12,FONTSWISS8,FONTSWISS10,FONTSWISS12,FONTSWISS14,FONTSWISS18,FONTSWISS24,FONTROMAN8,FONTROMAN10,FONTROMAN12,FONTROMAN14,FONTROMAN18,FONTROMAN24 +BRUSH=BRUSHWHITE,BRUSHBLACK,BRUSHDARK,BRUSHMEDIUM,BRUSHLIGHT,BRUSHHOLLOW,BRUSHCLEAR +COLOR=COLORBLACK,COLORBLUE,COLORCYAN,COLORGREEN,COLORMAGENTA,COLORRED,COLORYELLOW,COLORWHITE +LOGIC=Yes +BOOL=True,False +OLOGIC=#ON,#OFF +VIEWS=#FormView,#BrowseView +BUTTONIMAGESTYLE=No Image,Icon,Bitmap +BUTTONHALIGN=Auto,Left,Right,Center +BUTTONVALIGN=Auto,Top,Bottom,Center +BUTTONIMAGETYPE=No Image,Icon,Bitmap +CBAUTOSTYLE=No AutoSelect,AutoSelect,3 State,AutoSelect 3 State +EDITCONVERT=No Conversion,Uppercase,Lowercase +EDITALIGN=Left,Center,Right +FIXEDALIGN=Left,Center,Right,Simple,Left No Wrap, +UPDOWNALIGN=No Alignment,Left,Right +OWNERDRAW=No Ownerdraw,Fixed,Variable +CBTYPE=Simple,Drop Down,Drop Down List +LVTYPE=Icons,Small Icons,Report,List +LVSORT=No Sort,Ascending,Descending +CAPTIONBAR=No Caption Bar,Caption Bar Only,System Menu,Minimize Box,Maximize Box,Both Boxes +DIALOGPOS=Auto,Center,Center Mouse +DIALOGTYPE=Popup Dialog,Tab Page +TABKEY=Form Only,Include Parent +OVERWRITE=OVERWRITE_NEVER,OVERWRITE_ONKEY,OVERWRITE_ALWAYS +SCRMODE=SCRMODE_FULL,SCRMODE_PART,SCRMODE_NO +FSELECT=FSEL_ALL,FSEL_TRIM,FSEL_HOME,FSEL_END,FSEL_TRIMEND +DTPTYPE=Short Date,Long Date,Time +TABPOSITION=Top,Left,Bottom,Right +EXALIGNMENT=Left,Right +OWNERALIGNMENT=OA_LEFT,OA_TOP,OA_RIGHT,OA_BOTTOM,OA_CENTER,OA_LEFT_AUTOSIZE,OA_TOP_AUTOSIZE,OA_RIGHT_AUTOSIZE,OA_BOTTOM_AUTOSIZE,OA_FULL_SIZE,OA_X,OA_X_Y,OA_X_PY, OA_X_PY_PHEIGHT,OA_X_HEIGHT,OA_X_PHEIGHT,OA_PX,OA_PX_Y,OA_PX_Y_PWIDTH,OA_PX_PY_PHEIGHT,OA_PX_PY_PWIDTH_PHEIGHT,OA_PX_PWIDTH,OA_PX_PWIDTH_HEIGHT,OA_PX_PWIDTH_PHEIGHT,OA_PX_HEIGHT,OA_PX_PHEIGHT,OA_Y,OA_Y_WIDTH,OA_Y_PWIDTH,OA_PY,OA_PY_WIDTH_PHEIGHT,OA_PY_PWIDTH_PHEIGHT,OA_PY_PHEIGHT,OA_WIDTH,OA_WIDTH_HEIGHT,OA_WIDTH_PHEIGHT,OA_PWIDTH,OA_PWIDTH_HEIGHT,OA_PWIDTH_PHEIGHT,OA_HEIGHT,OA_PHEIGHT + +;**** Association between Tabs and methods/assigns/styles +HyperLabel=(Hyperlabel Info)Caption,Name,Description,Help Context,Use for Tooltip +DataWindow=(DataWindow Properties)Inherit from Class,_DBInhFrom,_DCInhFrom,Class Declaration,No Access/Assign,Export Controls,Pixel Positions,Automated,Large Icon,Small Icon,Accelerator Table,Background Color,Menu,Context Menu,Help File Name,View As,Clipper Keys,Tab Key,Data Server,Prevent Auto Layout,Allow Server Close,Defer USE,Quit On Close,Font,StatusBar,Notify,PreValidate,PreInit Actions,PostInit Actions,_Width,_Height,Owner Alignment +DataDialog=(DataDialog Properties)Inherit from Class,_DBInhFrom,_DCInhFrom,Class Declaration,No Access/Assign,Export Controls,Pixel Positions,Automated,Large Icon,Small Icon,Accelerator Table,Background Color,Context Menu,Help File Name,View As,Clipper Keys,Data Server,Prevent Auto Layout,Allow Server Close,Defer USE,Font,Notify,PreValidate,PreInit Actions,PostInit Actions,_Width,_Height +ShellWindow=(ShellWindow Properties)Inherit from Class,Class Declaration,Large Icon,Small Icon,Mouse Pointer,Menu,Context Menu,Help File Name,PreInit Actions,PostInit Actions,_Width,_Height +DlgWindow=(DialogWindow Properties)Inherit from Class,Class Declaration,Type,Export Controls,Pixel Positions,Automated,Large Icon,Small Icon,Font,Modeless,Background Color,Mouse Pointer,Clipper Keys,Tab Key,Help File Name,PreInit Actions,PostInit Actions,_Width,_Height +Mouse Events=(Window Mouse Events)MouseButtonDoubleClick,MouseButtonDown,MouseButtonUp,MouseDrag,MouseMove +Window Events=(Windows Events)Activate,Close,Deactivate,Draw,Expose,FocusChange,HelpRequest,Move,QueryClose,Resize +Menu Events=(Window Menu Events)MenuCommand,MenuInit,MenuSelect +Control Events=(Window Control Events)ButtonClick,ButtonDoubleClick,EditChange,EditFocusChange,EditScroll,Keydown,Keyup,ListBoxClick,ListBoxSelect,HorizontalScroll,VerticalScroll,HorizontalSlide,VerticalSlide,HorizontalSpin,VerticalSpin +CommonControl Events=(CommonControl Events)AnimationStart,AnimationStop,RichEditDropFiles,RichEditProtected,RichEditSelChange,RichEditUndoLost,TabSelect,TabSelChanging,TabKeyDown,MonthCalSelChanged,DateTimeSelChanged +TreeView Events=(TreeView Events)TreeViewMouseDown,TreeViewMouseDoubleClick,TreeViewItemDrag,TreeViewItemEdit,TreeViewItemDelete,TreeViewItemExpanded,TreeViewItemExpanding,TreeViewKeyDown,TreeViewSelChanged,TreeViewSelChanging +ListView Events=(ListView Events)ListViewItemDrag,ListViewItemEdit,ListViewColumnClick,ListViewItemDelete,ListViewKeyDown,ListViewMouseDown,ListViewMouseDoubleClick +GenMultiSel=(General Multiple Selection Properties)Context Menu,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenCustCtrl=(General CustomControl Properties)Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenMMCont=(General MultiMedia Container Properties)Field Spec,Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,Owner Alignment,File Name,_Width,_Height,_Left,_Top +GenSubData=(General SubDataWindow Properties)Name,Relation String,Order,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenPushButton=(General PushButton Properties)Click Event,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Image,Owner Alignment,_Width,_Height,_Left,_Top +GenRadioButton=(General RadioButton Properties)Group Value,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Image,Owner Alignment,_Width,_Height,_Left,_Top +GenCheckbox=(General CheckBox Properties)Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Image,Owner Alignment,_Width,_Height,_Left,_Top +GenScrollbar=(General ScrollBar Properties)Field Spec,Min Value,Max Value,Background Color,Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenEdit=(General Edit Properties)Field Spec,Text Limit,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenSingleEdit=(General SinglelineEdit Properties)Block,Block Owner,Field Spec,Text Limit,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Picture,Overwrite,Scroll Mode,Focus Select,Auto Focus Change,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenListbox=(General ListBox Properties)Fill Using,Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_GenCode,_Visible,Owner Alignment,_Width,_Height,_Left,_Top +GenFixedText=(General FixedText Properties)Text Color,Background Color,Inherit from Class,Context Menu,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenFixedImage=(General FixedImage Properties)Background Color,Inherit from Class,Context Menu,Icon,Bitmap,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenGroupbox=(General GroupBox Properties)Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenRadioButtonGroup=(General RadioButtonGroup Properties)Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenComControls=(General CommonControl Properties)Background Color,Inherit from Class,Context Menu,Tooltip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenAniControls=(General AnimationControl Properties)Background Color,Inherit from Class,Context Menu,Tooltip,Resource,AVI File,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenTabControl=(General TabControl Properties)Inherit from Class,Context Menu,Font,AutoSize,_Visible,_GenCode,_IsDataPage,_PageCaption,_PageName,Owner Alignment,_Width,_Height,_Left,_Top +GenListView=(General CommonControl Properties)Background,Inherit from Class,Server,Context Menu,Tooltip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenProgBar=(General ProgressBar Properties)Inherit From Class,Context Menu,Tooltip,Background,Bar Color,Min Value,Max Value,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenRTFEdit=(General Edit Properties)Field Spec,Text Limit,Text Color,Background,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenDTPick=(General Date Time Picker Properties)Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Format,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenMonthCal=(General Month Calendar Properties)Field Spec,Text Color,Background,Inherit from Class,Context Menu,Tooltip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenOleObject=(General OLE Object Properties)Field Spec,Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,AllowInPlace,ActivateOnDblClk,AllowResize,AutoSizeOnCreate,ReadOnly,AllowDocView,Owner Alignment,_Width,_Height,_Left,_Top +GenOleControl=(General OLE Control Properties)Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,AllowInPlace,ActivateOnDblClk,AllowResize,AutoSizeOnCreate,ReadOnly,Owner Alignment,_Width,_Height,_Left,_Top +GenIPAddress=(General IPAddress Properties)Field Spec,Inherit from Class,Context Menu,ToolTip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +OCXProperties=(OLE Control Properties)_OCXPropertyPages,_OCXPropertyList +OCXEvents=(OLE Control Events)_OCXEventList +Styles=(Window Styles)Disabled,Tab Stop,Group +ExStyles=(Extended Window Styles)Clip Siblings,Right-To-Left Reading,ExAlignment,No Parent Notify,Accept Files,Transparent,Client Edge,Static Edge,Modal Frame +ExStylesNoStaticEdge=(Extended Window Styles)Clip Siblings,Right-To-Left Reading,ExAlignment,No Parent Notify,Accept Files,Transparent,Client Edge,Modal Frame +ExStylesNoClientEdge=(Extended Window Styles)Clip Siblings,Right-To-Left Reading,ExAlignment,No Parent Notify,Accept Files,Transparent,Static Edge,Modal Frame +SubDataStyles=(Sub Data Window Styles)Tab Stop,Border +OLEObjStyles=(OLE Object Window Styles)Disabled,Tab Stop,Group,Border +CustomCtlStyles=(Custom Control Window Styles)Disabled,Tab Stop,Group,Border +MMContStyles=(MulitMedia Container Window Styles)Disabled,Tab Stop,Group,Border +FixedTextStyles=(FixedText Window Styles)Disabled,Tab Stop,Group,Border,No Prefix,Alignment,Center vertically +FixedImageStyles=(FixedImage Window Styles)Disabled,Tab Stop,Group,Border,Real Size Image,Center Image,Right adjust +PushButtonStyles=(PushButton Window Styles)Disabled,Tab Stop,Group,Default Button,Multiline,Flat,Horizontal Alignment,Vertical Alignment,Image Type +CheckBoxStyles=(CheckBox Window Styles)Disabled,Tab Stop,Group,Text Left,Selection,Multiline,Flat,Horizontal Alignment,Vertical Alignment,Push Like,Image Type +RadioButtonStyles=(RadioButton Window Styles)Disabled,Tab Stop,Group,Text Left,Flat,AutoSelect,Multiline,Horizontal Alignment,Vertical Alignment,Push Like,Image Type +GroupBoxStyles=(GroupBox Window Styles)Disabled,Tab Stop,Group,Flat +ProgressStyles=(ProgressBar Styles)Disabled,Tab Stop,Group,Smooth,Vertical +SingleLineStyles=(SingleLine Edit Window Styles)Disabled,Tab Stop,Group,Border,Password,Retain Selection,OEM Conversion,Auto HScroll,Read Only,Conversion,Numbers Only,Alignment +MultiLineStyles=(MultiLine Edit Window Styles)Disabled,Tab Stop,Group,Border,Password,Retain Selection,OEM Conversion,Vertical Scrollbar,Horizontal Scrollbar,Auto VScroll,Auto HScroll,Return Key,Read Only,Conversion,Alignment +ListBoxStyles=(ListBox Window Styles)Disabled,Tab Stop,Group,Border,Sort,Notify Parent,Vertical Scrollbar,Horizontal Scrollbar,Use Tab Stops,No Redraw,Multi Column,No Integral Height,Want Keyboard Input,Multiple Selection,Extended Selection,Disable if no Scroll,Owner Draw +ComboBoxStyles=(ComboBox Window Styles)Disabled,Tab Stop,Group,ComboBox Type,Sort,Vertical Scrollbar,Auto HScroll,No Integral Height,OEM Convert,Disable if no Scroll,OwnerDraw +ScrollBarStyles=(ScrollBar Window Styles)Disabled,Tab Stop,Group,AutoSize,Size Grip +SliderStyles=(Slider Window Styles)Disabled,Tab Stop,Group,Auto Ticks,No Ticks,Enable Selection Range,Fixed Length,No Thumb,Tooltips +SpinnerStyles=(Spinner Window Styles)Disabled,Tab Stop,Group,Wrap,Alignment,Auto Buddy,Set Buddy Int,Arrow Keys,No Thousands +TCStyles=(TabControl Window Styles)Disabled,Tab Stop,Group,Force Icon Left,Force Label Left,Buttons,Multiline,Focus On Button Down,Has ToolTips,Focus Never,Tab Position,Hot Track +TVStyles=(TreeView Window Styles)Disabled,Tab Stop,Group,Border,Has Buttons,Has Lines,Lines at Root,Disable Drag&Drop,Show Selection Always,Edit Labels +LVStyles=(ListView Window Styles)Disabled,Tab Stop,Group,Border,List View Type,Single Selection,Show Selection Always,Sort,No Label Wrap,Auto Arrange,Edit Labels,No Scroll,Align Left,No Column Header,No Sort Header +DLVStyles=(ListView Window Styles)Disabled,Tab Stop,Group,Border,Label Wrap,Edit Labels,No Scroll,Align Left,No Column Header,No Sort Header +AnimStyles=(AnimationControl Window Styles)Disabled,Tab Stop,Border,Group,Center,Transparent Background,Auto Play +RichEditStyles=(RichEdit Control Window Styles)Disabled,Tab Stop,Group,Border,Retain Selection,Vertical Scrollbar,Horizontal Scrollbar,Auto VScroll,Auto HScroll,Return Key,Read Only,Alignment,Save Selection,Sunken,Disable No Scroll,Align to Parent +DlgWndStyles=(DialogWindow Styles)Disabled,Caption Bar,Clip Siblings,Clip Children,Absolute Align,System Modal,No Idle Message,Resizable,Position +MCStyles=(Month Calendar Styles)Disabled,Tab Stop,Group,Day State,Multi Select,No Today,No Today Circle,Week Numbers +DTPStyles=(Date Time Picker Styles)Disabled,Tab Stop,Group,Type,Right Align MC,Show None,Up-Down +LVExStyles=(Extended ListView Styles)Clip Siblings,Right-To-Left Reading,No Parent Notify,Accept Files,Transparent,Client Edge,Static Edge,Modal Frame,Grid Lines,Full Row Select,Header Drag&Drop,Checkboxes,Track Selection + +[SupplementalFiles] +File00= +File01= +File02= +File03= +File04= diff --git a/src/Templates/working/content/p_vomdiapplication/cavowed.tpl b/src/Templates/working/content/p_vomdiapplication/cavowed.tpl new file mode 100644 index 0000000000..aa43daa7fd --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/cavowed.tpl @@ -0,0 +1,464 @@ +; +; syntax of templates: +; +; [

] +; +; +; where
is the name of the section. This name can be used +; in CODE:
syntax of description file +; +; consists of code. Use \t for a tab character. Other +; substitution keywords are: +; +; %CONTROL:% for a control property +; %FORM:% for a form property +; +; ie: %CONTROL:NAME% for control's name +; %CONTROL:CLASSNAME% for control's class name +; +; %INITPARAMS% for the parameters of the INIT method +; +; Note: semicolon (';') in first column designates a comment line + + +[ClassDeclaration] +class %FORM:NAME% inherit %FORM:CLASSNAME% + +[Activate] +method Activate(oEvent) class %FORM:NAME% +\tsuper:Activate(oEvent) +\t//Put your changes here +\treturn NIL + +[ButtonClick] +method ButtonClick(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ButtonClick(oControlEvent) +\t//Put your changes here +\treturn NIL + +[ButtonDoubleClick] +method ButtonDoubleClick(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ButtonDoubleClick(oControlEvent) +\t//Put your changes here +\treturn NIL + +[Close] +method Close(oEvent) class %FORM:NAME% +\tsuper:Close(oEvent) +\t//Put your changes here +\treturn NIL + +[Deactivate] +method Deactivate(oEvent) class %FORM:NAME% +\tsuper:Deactivate(oEvent) +\t//Put your changes here +\treturn NIL + +[Draw] +method Draw(oDrawObject) class %FORM:NAME% +\tsuper:Draw(oDrawObject) +\t//Put your changes here +return NIL + +[EditChange] +method EditChange(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:EditChange(oControlEvent) +\t//Put your changes here +\treturn NIL\r\n + +[EditFocusChange] +method EditFocusChange(oEditFocusChangeEvent) class %FORM:NAME% +\tlocal oControl as Control +\tlocal lGotFocus as logic +\toControl := IIf(oEditFocusChangeEvent == NULL_OBJECT, NULL_OBJECT, oEditFocusChangeEvent:Control) +\tlGotFocus := IIf(oEditFocusChangeEvent == NULL_OBJECT, FALSE, oEditFocusChangeEvent:GotFocus) +\tsuper:EditFocusChange(oEditFocusChangeEvent) +\t//Put your changes here +\treturn NIL + +[EditScroll] +method EditScroll(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:EditScroll(oControlEvent) +\t//Put your changes here +\treturn NIL + +[Expose] +method Expose(oExposeEvent) class %FORM:NAME% +\tlocal oBoundingBox as BoundingBox +\toBoundingBox := IIf(oExposeEvent == NULL_OBJECT, NULL_OBJECT, oExposeEvent:ExposedArea) +\tsuper:Expose(oExposeEvent) +\t//Put your changes here +\treturn NIL\r\n + +[FocusChange] +method FocusChange(oFocusChangeEvent) class %FORM:NAME% +\tlocal lGotFocus as logic +\tlGotFocus := IIf(oFocusChangeEvent == NULL_OBJECT, FALSE, oFocusChangeEvent:GotFocus) +\tsuper:FocusChange(oFocusChangeEvent) +\t//Put your changes here +\treturn NIL + +[PreInit] +method PreInit(%INITPARAMS%) class %FORM:NAME% +\t//Put your PreInit additions here +\treturn NIL + +[PostInit] +method PostInit(%INITPARAMS%) class %FORM:NAME% +\t//Put your PostInit additions here +\treturn NIL + +[PreInitCall] +; this section is inserted at the end of the INIT method of the form +; use %INITPARAMS% to insert the parameters of INIT +self:PreInit(%INITPARAMS%) + +[PostInitCall] +; this section is inserted at the end of the INIT method the form +; use %INITPARAMS% to insert the parameters of INIT +self:PostInit(%INITPARAMS%) + +[HelpRequest] +method HelpRequest(oHelpRequestEvent) class %FORM:NAME% +\tsuper:HelpRequest(oHelpRequestEvent) +\t//Put your changes here +\treturn NIL + +[HorizontalScroll] +method HorizontalScroll(oScrollEvent) class %FORM:NAME% +\tsuper:HorizontalScroll(oScrollEvent) +\t//Put your changes here +\treturn NIL + +[Keydown] +method KeyDown(oKeyEvent) class %FORM:NAME% +\tlocal nKeyCode as int +\tnKeyCode := IIf(oKeyEvent = NULL_OBJECT, 0, IIf(IsNil(oKeyEvent:ASCIIChar), oKeyEvent:KeyCode, oKeyEvent:ASCIIChar)) +\tsuper:KeyDown(oKeyEvent) +\t//Put your changes here +\treturn NIL + +[Keyup] +method KeyUp(oKeyEvent) class %FORM:NAME% +\tlocal nKeyCode as int +\tnKeyCode := IIf(oKeyEvent = NULL_OBJECT, 0, IIf(IsNil(oKeyEvent:ASCIIChar), oKeyEvent:KeyCode, oKeyEvent:ASCIIChar)) +\tsuper:KeyUp(oKeyEvent) +\t//Put your changes here +\treturn NIL + +[ListBoxClick] +method ListBoxClick(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ListBoxClick(oControlEvent) +\t//Put your changes here +\treturn NIL + +[ListBoxSelect] +method ListBoxSelect(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ListBoxSelect(oControlEvent) +\t//Put your changes here +\treturn NIL + +[MenuCommand] +method MenuCommand(oMenuCommandEvent) class %FORM:NAME% +\tsuper:MenuCommand(oMenuCommandEvent) +\t//Put your changes here +\treturn NIL + +[MenuInit] +method MenuInit(oMenuInitEvent) class %FORM:NAME% +\tsuper:MenuInit(oMenuInitEvent) +\t//Put your changes here +\treturn NIL + +[MenuSelect] +method MenuSelect(oMenuSelectEvent) class %FORM:NAME% +\tsuper:MenuSelect(oMenuSelectEvent) +\t//Put your changes here +\treturn NIL + +[MouseButtonDoubleClick] +method MouseButtonDoubleClick(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseButtonDoubleClick(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseButtonDown] +method MouseButtonDown(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseButtonDown(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseButtonUp] +method MouseButtonUp(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseButtonUp(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseDrag] +method MouseDrag(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseDrag(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseMove] +method MouseMove(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseMove(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[Move] +method Move(oMoveEvent) class %FORM:NAME% +\tsuper:Move(oMoveEvent) +\t//Put your changes here +\treturn NIL + +[Notify] +method Notify(kNotifyName, uDescription) class %FORM:NAME% +\tlocal uValue as usual +\tuValue := super:Notify(kNotifyName, uDescription) +\t//Put your changes here +\treturn uValue + +[PreValidate] +method PreValidate() class %FORM:NAME% +\tsuper:PreValidate() +\t//Put your changes here +\treturn NIL + +[QueryClose] +method QueryClose(oEvent) class %FORM:NAME% +\tlocal lAllowClose as logic +\tlAllowClose := super:QueryClose(oEvent) +\t//Put your changes here +\treturn lAllowClose + +[Resize] +method Resize(oResizeEvent) class %FORM:NAME% +\tsuper:Resize(oResizeEvent) +\t//Put your changes here +\treturn NIL + +[VerticalScroll] +method VerticalScroll(oScrollEvent) class %FORM:NAME% +\tsuper:VerticalScroll(oScrollEvent) +\t//Put your changes here +\treturn NIL + +[HorizontalSlide] +method HorizontalSlide(oSlideEvent) class %FORM:NAME% +\tsuper:HorizontalSlide(oSlideEvent) +\t//Put your changes here +\treturn NIL + +[VerticalSlide] +method VerticalSlide(oSlideEvent) class %FORM:NAME% +\tsuper:VerticalSlide(oSlideEvent) +\t//Put your changes here +\treturn NIL + +[HorizontalSpin] +method HorizontalSpin(oSpinEvent) class %FORM:NAME% +\tsuper:HorizontalSpin(oSpinEvent) +\t//Put your changes here +\treturn NIL + +[VerticalSpin] +method VerticalSpin(oSpinEvent) class %FORM:NAME% +\tsuper:VerticalSpin(oSpinEvent) +\t//Put your changes here +\treturn NIL + +[AnimationStart] +method AnimationStart(oControlNotifyEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlNotifyEvent == NULL_OBJECT, NULL_OBJECT, oControlNotifyEvent:Control) +\tsuper:AnimationStart(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[AnimationStop] +method AnimationStop(oControlNotifyEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlNotifyEvent == NULL_OBJECT, NULL_OBJECT, oControlNotifyEvent:Control) +\tsuper:AnimationStop(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[RichEditDropFiles] +method RichEditDropFiles(oRichEditDropEvent) class %FORM:NAME% +\tsuper:RichEditDropFiles(oRichEditDropEvent) +\t//Put your changes here +\treturn NIL + +[RichEditProtected] +method RichEditProtected(oRichEditProtectEvent) class %FORM:NAME% +\tsuper:RichEditProtected(oRichEditProtectEvent) +\t//Put your changes here +\treturn NIL + +[RichEditSelectionChange] +method RichEditSelectionChange(oRichEditSelectionEvent) class %FORM:NAME% +\tsuper:RichEditSelectionChange(oRichEditSelectionEvent) +\t//Put your changes here +\treturn NIL + +[RichEditUndoLost] +method RichEditUndoLost(oControlNotifyEvent) class %FORM:NAME% +\tsuper:RichEditUndoLost(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[ListViewItemDrag] +method ListViewItemDrag(oListViewDragEvent) class %FORM:NAME% +\tsuper:ListViewItemDrag(oListViewDragEvent) +\t//Put your changes here +\treturn NIL + +[ListViewItemEdit] +method ListViewItemEdit(oListViewEditEvent) class %FORM:NAME% +\tsuper:ListViewItemEdit(oListViewEditEvent) +\t//Put your changes here +\treturn NIL + +[ListViewColumnClick] +method ListViewColumnClick(oListViewColumnClickEvent) class %FORM:NAME% +\tsuper:ListViewColumnClick(oListViewColumnClickEvent) +\t//Put your changes here +\treturn NIL + +[ListViewItemDelete] +method ListViewItemDelete(oListViewDeleteEvent) class %FORM:NAME% +\tsuper:ListViewItemDelete(oListViewDeleteEvent) +\t//Put your changes here +\treturn NIL + +[ListViewKeyDown] +method ListViewKeyDown(oListViewKeyEvent) class %FORM:NAME% +\tsuper:ListViewKeyDown(oListViewKeyEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewMouseButtonDown] +method TreeViewMouseButtonDown(oTreeViewMouseEvent) class %FORM:NAME% +\tsuper:TreeViewMouseButtonDown(oTreeViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[ListViewMouseButtonDown] +method ListViewMouseButtonDown(oListViewMouseEvent) class %FORM:NAME% +\tsuper:ListViewMouseButtonDown(oListViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewMouseButtonDoubleClick] +method TreeViewMouseButtonDoubleClick(oTreeViewMouseEvent) class %FORM:NAME% +\tsuper:TreeViewMouseButtonDoubleClick(oTreeViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[ListViewMouseButtonDoubleClick] +method ListViewMouseButtonDoubleClick(oListViewMouseEvent) class %FORM:NAME% +\tsuper:ListViewMouseButtonDoubleClick(oListViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[TabSelect] +method TabSelect(oControlNotifyEvent) class %FORM:NAME% +\tsuper:TabSelect(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[TabSelectionChanging] +method TabSelectionChanging(oControlNotifyEvent) class %FORM:NAME% +\tsuper:TabSelectionChanging(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[TabKeyDown] +method TabKeyDown(oControlNotifyEvent) class %FORM:NAME% +\tsuper:TabKeyDown(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemDrag] +method TreeViewItemDrag(oTreeViewDragEvent) class %FORM:NAME% +\tsuper:TreeViewItemDrag(oTreeViewDragEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemEdit] +method TreeViewItemEdit(oTreeViewEditEvent) class %FORM:NAME% +\tsuper:TreeViewItemEdit(oTreeViewEditEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemDelete] +method TreeViewItemDelete(oTreeViewDeleteEvent) class %FORM:NAME% +\tsuper:TreeViewItemDelete(oTreeViewDeleteEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemExpanded] +method TreeViewItemExpanded(oTreeViewExpandedEvent) class %FORM:NAME% +\tsuper:TreeViewItemExpanded(oTreeViewExpandedEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemExpanding] +method TreeViewItemExpanding(oTreeViewExpandingEvent) class %FORM:NAME% +\tsuper:TreeViewItemExpanding(oTreeViewExpandingEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewKeyDown] +method TreeViewKeyDown(oTreeViewKeyEvent) class %FORM:NAME% +\tsuper:TreeViewKeyDown(oTreeViewKeyEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewSelectionChanged] +method TreeViewSelectionChanged(oTreeViewSelectionEvent) class %FORM:NAME% +\tsuper:TreeViewSelectionChanged(oTreeViewSelectionEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewSelectionChanging] +method TreeViewSelectionChanging(oTreeViewSelectionEvent) class %FORM:NAME% +\tsuper:TreeViewSelectionChanging(oTreeViewSelectionEvent) +\t//Put your changes here +\treturn NIL + +[MonthCalSelectionChanged] +method MonthCalSelectionChanged(oMonthCalSelectionEvent) class %FORM:NAME% +\tsuper:MonthCalSelectionChanged(oMonthCalSelectionEvent) +\t//Put your changes here +\treturn NIL + +[DateTimeSelectionChanged] +method DateTimeSelectionChanged(oDateTimeSelectionEvent) class %FORM:NAME% +\tsuper:DateTimeSelectionChanged(oDateTimeSelectionEvent) +\t//Put your changes here +\treturn NIL + diff --git a/src/Templates/working/content/p_vomdiapplication/cctl6.man b/src/Templates/working/content/p_vomdiapplication/cctl6.man new file mode 100644 index 0000000000..184d3bffa9 --- /dev/null +++ b/src/Templates/working/content/p_vomdiapplication/cctl6.man @@ -0,0 +1,23 @@ + + + +Visual Objects Application. + + + + + + + diff --git a/src/Templates/working/content/p_vosdiapplication/.template.config/VOSdiApp.png b/src/Templates/working/content/p_vosdiapplication/.template.config/VOSdiApp.png new file mode 100644 index 0000000000000000000000000000000000000000..418359b57308365725af8b9d734ee5a2fbd5f1a9 GIT binary patch literal 7602 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 + + + + HelpAbout + FORM:DIALOGWINDOW + About Standard Application + 0 + 5 + 5 + 453 + 146 + 0 + 0 + No + No + 0 + 3234332800 + 0 + + ,"About Standard Application" + "HelpAbout" + + + + PushButton1 + CONTROL:TEXTCONTROL:BUTTON:PUSHBUTTON + OK + 2 + 362 + 112 + 80 + 24 + -1 + 0 + No + No + 0 + 1073807361 + 0 + + ,"OK" + "PushButton1" + + + + AboutText + CONTROL:TEXTCONTROL:FIXEDTEXT + VO SDI Application + 1 + 195 + 10 + 245 + 93 + -1 + 0 + No + No + 0 + 1073741952 + 131072 + + ,"VO SDI Application" + "AboutText" + + + + FixedBitmap1 + CONTROL:FIXEDBITMAP + POWXSHARPBMP + 3 + 6 + 10 + 180 + 90 + -1 + 0 + No + No + 0 + 1073741838 + 131072 + + ,"POWXSHARPBMP" + "FixedBitmap1" + + + + diff --git a/src/Templates/working/content/p_vosdiapplication/Help About.HelpAbout.rc b/src/Templates/working/content/p_vosdiapplication/Help About.HelpAbout.rc new file mode 100644 index 0000000000..1546479224 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Help About.HelpAbout.rc @@ -0,0 +1,37 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.FormEditor 2.1.0.0 +// Timestamp : 27/1/2020 18:11:09 �� +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define HELPABOUT_ABOUTTEXT 100 +#define HELPABOUT_PUSHBUTTON1 101 +#define HELPABOUT_FIXEDBITMAP1 102 +#define BS_DEFPUSHBUTTON 0x00000001 +#define DS_MODALFRAME 0x00000080 +#define SS_BITMAP 0x0000000E +#define SS_NOPREFIX 0x00000080 +#define WS_CAPTION 0x00C00000 +#define WS_CHILD 0x40000000 +#define WS_EX_STATICEDGE 0x00020000 +#define WS_POPUP 0x80000000 +#define WS_SYSMENU 0x00080000 +#define WS_TABSTOP 0x00010000 +#define WS_VISIBLE 0x10000000 + +HelpAbout DIALOGEX 3, 3, 301, 89 +STYLE WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_MODALFRAME +CAPTION "About Standard Application" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "VO SDI Application", HELPABOUT_ABOUTTEXT, "STATIC", WS_CHILD|SS_NOPREFIX, 130, 6, 163, 57, WS_EX_STATICEDGE + CONTROL "OK", HELPABOUT_PUSHBUTTON1, "BUTTON", WS_CHILD|WS_TABSTOP|BS_DEFPUSHBUTTON, 241, 69, 53, 15 + CONTROL "POWXSHARPBMP", HELPABOUT_FIXEDBITMAP1, "STATIC", WS_CHILD|SS_BITMAP, 4, 6, 120, 55, WS_EX_STATICEDGE +END diff --git a/src/Templates/working/content/p_vosdiapplication/Help About.POWXSHARPBMP.rc b/src/Templates/working/content/p_vosdiapplication/Help About.POWXSHARPBMP.rc new file mode 100644 index 0000000000..f871f39b66 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Help About.POWXSHARPBMP.rc @@ -0,0 +1,2 @@ + POWXSHARPBMP BITMAP "Resources\\HelpAbt.BMP" + diff --git a/src/Templates/working/content/p_vosdiapplication/Help About.prg b/src/Templates/working/content/p_vosdiapplication/Help About.prg new file mode 100644 index 0000000000..4bdaacae14 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Help About.prg @@ -0,0 +1,89 @@ +#region DEFINES +static define HELPABOUT_ABOUTTEXT := 100 +static define HELPABOUT_PUSHBUTTON1 := 101 +static define HELPABOUT_FIXEDBITMAP1 := 102 +#endregion + +partial class HelpAbout inherit DIALOGWINDOW + protect oDCAboutText as FIXEDTEXT + protect oCCPushButton1 as PUSHBUTTON + protect oDCFixedBitmap1 as FIXEDBITMAP + + // {{%UC%}} User code starts here (DO NOT remove this line) + +constructor(oParent,uExtra) + + self:PreInit(oParent,uExtra) + + super(oParent , ResourceID{"HelpAbout" , _GetInst()} , true) + + self:oDCAboutText := FIXEDTEXT{self , ResourceID{ HELPABOUT_ABOUTTEXT , _GetInst() } } + SELF:oDCAboutText:HyperLabel := HyperLabel{#AboutText , "VO SDI Application" , NULL_STRING , NULL_STRING} + + self:oCCPushButton1 := PUSHBUTTON{self , ResourceID{ HELPABOUT_PUSHBUTTON1 , _GetInst() } } + self:oCCPushButton1:HyperLabel := HyperLabel{#PushButton1 , "OK" , null_string , null_string} + + self:oDCFixedBitmap1 := FIXEDBITMAP{self , ResourceID{ HELPABOUT_FIXEDBITMAP1 , _GetInst() } } + self:oDCFixedBitmap1:HyperLabel := HyperLabel{#FixedBitmap1 , "POWXSHARPBMP" , null_string , null_string} + + self:Caption := "About Standard Application" + self:HyperLabel := HyperLabel{#HelpAbout , "About Standard Application" , null_string , null_string} + + self:PostInit(oParent,uExtra) + +return + + +method PostInit(oParent,uExtra) + local sVer as string + local oSysLink as SysLink + local oFT1 as FixedText + local oHL1 as HyperLink + local oFont1 as Font + local s as string + + sVer := Version() + sVer := SubStr(sVer, RAt2(" ", sVer)+1) + oDCAboutText:CurrentText := _CHR(13)+" Company.Namespace1"+_CHR(13)+_CHR(13); + +" X# Version "+sVer+_CHR(13)+_CHR(13); + +" Copyright (c) XSharp BV 2015-2022" + + var point := oCCPushButton1:Origin + point:x := self:oDCFixedBitmap1:Origin:x + var size := Dimension{300,20} + + + if IsThemeEnabled() + s := "Visit X# on the web!" + oSysLink := SysLink{self, -1, point, size, s} + oSysLink:Show() + else + + s := "Visit X# on the web:" + oFT1 := FixedText{self, -1, point, dimension{200,20}, s} + oFT1:show() + + oFont1 := Font{,8,"Microsoft Sans Serif"} + oFont1:Underline := true + + oHL1 := HyperLink{self,-1,point,size,"https://www.xsharp.eu"} + oHL1:font(oFont1) + oHL1:size := size + oHL1:textcolor := color{COLORBLUE} + oHL1:font():underline := true + oHL1:show() + + endif + + + return nil + + +method PushButton1() + + self:EndDialog() + +return self + +end class diff --git a/src/Templates/working/content/p_vosdiapplication/HelpAbt.BMP b/src/Templates/working/content/p_vosdiapplication/HelpAbt.BMP new file mode 100644 index 0000000000000000000000000000000000000000..63825a67f109af39f89a4c03953b75eee17da86f GIT binary patch literal 48654 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 a0gM1f03(1AzzARjFaj6>jKH4_f&T$kqsMaq literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_vosdiapplication/Readme.txt b/src/Templates/working/content/p_vosdiapplication/Readme.txt new file mode 100644 index 0000000000..1c89fd26b0 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Readme.txt @@ -0,0 +1,9 @@ +=========================== +VO SDI Application Template +=========================== +This VO SDI Application template is based on the original template that comes with Visual Objects. +We have made some small changes that were needed because the VO SDK Libraries did not compile without changes in .Net: +- The Start.Prg module now declares a new app class "XApp". The App:Start() method has been changed to XApp:Start() +- The Application Icon and bitmap on the Help About screen have been updated +- The SysLink control on the HelpAbout screen now goes to the X# website +- We have included the templates for the VO Editor in the Properties subfolder in the project \ No newline at end of file diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.rc b/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.rc new file mode 100644 index 0000000000..73b5c61d08 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.rc @@ -0,0 +1,40 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 28-1-2020 08:22:38 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_EmptySDIMenu_File_ID 18500 +#define IDM_EmptySDIMenu_File_Open_ID 18501 +#define IDM_EmptySDIMenu_File_Print_Setup_ID 18503 +#define IDM_EmptySDIMenu_File_Exit_ID 18505 +#define IDM_EmptySDIMenu_Help_ID 18506 +#define IDM_EmptySDIMenu_Help_Index_ID 18507 +#define IDM_EmptySDIMenu_Help_Using_Help_ID 18508 +#define IDM_EmptySDIMenu_Help_About_ID 18510 +EmptySDIMenu MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Open...\tCtrl+O" , IDM_EmptySDIMenu_File_Open_ID + MENUITEM SEPARATOR + MENUITEM "P&rint Setup..." , IDM_EmptySDIMenu_File_Print_Setup_ID + MENUITEM SEPARATOR + MENUITEM "E&xit\tAlt+F4" , IDM_EmptySDIMenu_File_Exit_ID + END + POPUP "&Help" + BEGIN + MENUITEM "&Index\tF1" , IDM_EmptySDIMenu_Help_Index_ID + MENUITEM "&Using Help" , IDM_EmptySDIMenu_Help_Using_Help_ID + MENUITEM SEPARATOR + MENUITEM "&About..." , IDM_EmptySDIMenu_Help_About_ID + END +END + diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.xsmnu b/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.xsmnu new file mode 100644 index 0000000000..767f70428c --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu.xsmnu @@ -0,0 +1,226 @@ + + + + EmptySDIMenu + + + + + Flat Toolbar + Icon + No + 18500 + + + File + &File + + + File + None + Yes + No + + + + + + + -1 + + + + + FileOpen + &Open... + Open a file + File_Open + Ctrl+O + Yes + No + Open + + + Open File + 1 + IDM_FILE_OPEN + + + + + ------------------------ + + + + + None + Yes + No + + + + + + + -1 + + + + + FilePrinterSetup + P&rint Setup... + Setup printer options + File_Printer_Setup + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + FileExit + E&xit + End of application + File_Exit + Alt+F4 + Yes + No + + + + + + + -1 + + + + + + + Help + &Help + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpIndex + &Index + Index of help + Help_Index + F1 + Yes + No + + + + + + + -1 + + + + + HelpUsingHelp + &Using Help + How to use help + Help_UsingHelp + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpAbout + &About... + About application + + + None + Yes + No + Help + + + Help About + 2 + + + + + + + + diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu_Accelerator.rc b/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu_Accelerator.rc new file mode 100644 index 0000000000..35f20c8812 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.EmptySDIMenu_Accelerator.rc @@ -0,0 +1,27 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 28-1-2020 08:22:38 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_EmptySDIMenu_File_ID 18500 +#define IDM_EmptySDIMenu_File_Open_ID 18501 +#define IDM_EmptySDIMenu_File_Print_Setup_ID 18503 +#define IDM_EmptySDIMenu_File_Exit_ID 18505 +#define IDM_EmptySDIMenu_Help_ID 18506 +#define IDM_EmptySDIMenu_Help_Index_ID 18507 +#define IDM_EmptySDIMenu_Help_Using_Help_ID 18508 +#define IDM_EmptySDIMenu_Help_About_ID 18510 +EmptySDIMenu_Accelerator ACCELERATORS +BEGIN + 79, IDM_EmptySDIMenu_File_Open_ID, CONTROL ,VIRTKEY + 115, IDM_EmptySDIMenu_File_Exit_ID, ALT ,VIRTKEY + 112, IDM_EmptySDIMenu_Help_Index_ID, VIRTKEY +END diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.rc b/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.rc new file mode 100644 index 0000000000..dc70afa2d1 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.rc @@ -0,0 +1,76 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 28-1-2020 08:22:41 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_StandardSDIMenu_File_ID 29000 +#define IDM_StandardSDIMenu_File_Open_ID 29001 +#define IDM_StandardSDIMenu_File_Print_ID 29003 +#define IDM_StandardSDIMenu_File_Print_Setup_ID 29004 +#define IDM_StandardSDIMenu_File_Exit_ID 29006 +#define IDM_StandardSDIMenu_Edit_ID 29007 +#define IDM_StandardSDIMenu_Edit_Cut_ID 29008 +#define IDM_StandardSDIMenu_Edit_Copy_ID 29009 +#define IDM_StandardSDIMenu_Edit_Paste_ID 29010 +#define IDM_StandardSDIMenu_Edit_Insert_Record_ID 29012 +#define IDM_StandardSDIMenu_Edit_Delete_Record_ID 29013 +#define IDM_StandardSDIMenu_Edit_Go_To_Top_ID 29015 +#define IDM_StandardSDIMenu_Edit_Previous_ID 29016 +#define IDM_StandardSDIMenu_Edit_Next_ID 29017 +#define IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID 29018 +#define IDM_StandardSDIMenu_View_ID 29019 +#define IDM_StandardSDIMenu_View_Form_ID 29020 +#define IDM_StandardSDIMenu_View_Table_ID 29021 +#define IDM_StandardSDIMenu_Help_ID 29022 +#define IDM_StandardSDIMenu_Help_Index_ID 29023 +#define IDM_StandardSDIMenu_Help_Context_Help_ID 29024 +#define IDM_StandardSDIMenu_Help_Using_Help_ID 29025 +#define IDM_StandardSDIMenu_Help_About_ID 29027 +StandardSDIMenu MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Open...\tCtrl+O" , IDM_StandardSDIMenu_File_Open_ID + MENUITEM SEPARATOR + MENUITEM "&Print" , IDM_StandardSDIMenu_File_Print_ID + MENUITEM "P&rint Setup..." , IDM_StandardSDIMenu_File_Print_Setup_ID + MENUITEM SEPARATOR + MENUITEM "E&xit\tAlt+F4" , IDM_StandardSDIMenu_File_Exit_ID + END + POPUP "&Edit" + BEGIN + MENUITEM "Cu&t\tCtrl+X" , IDM_StandardSDIMenu_Edit_Cut_ID + MENUITEM "&Copy\tCtrl+C" , IDM_StandardSDIMenu_Edit_Copy_ID + MENUITEM "&Paste\tCtrl+V" , IDM_StandardSDIMenu_Edit_Paste_ID + MENUITEM SEPARATOR + MENUITEM "&Insert Record" , IDM_StandardSDIMenu_Edit_Insert_Record_ID + MENUITEM "&Delete Record" , IDM_StandardSDIMenu_Edit_Delete_Record_ID + MENUITEM SEPARATOR + MENUITEM "G&o To Top\tCtrl+Home" , IDM_StandardSDIMenu_Edit_Go_To_Top_ID + MENUITEM "Pre&vious" , IDM_StandardSDIMenu_Edit_Previous_ID + MENUITEM "&Next" , IDM_StandardSDIMenu_Edit_Next_ID + MENUITEM "Go To &Bottom\tCtrl+End" , IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID + END + POPUP "&View" + BEGIN + MENUITEM "&Form\tShift+F2" , IDM_StandardSDIMenu_View_Form_ID + MENUITEM "&Table\tF2" , IDM_StandardSDIMenu_View_Table_ID + END + POPUP "&Help" + BEGIN + MENUITEM "&Index\tF1" , IDM_StandardSDIMenu_Help_Index_ID + MENUITEM "&Context Help\tCtrl+F1" , IDM_StandardSDIMenu_Help_Context_Help_ID + MENUITEM "&Using Help" , IDM_StandardSDIMenu_Help_Using_Help_ID + MENUITEM SEPARATOR + MENUITEM "&About..." , IDM_StandardSDIMenu_Help_About_ID + END +END + diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.xsmnu b/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.xsmnu new file mode 100644 index 0000000000..aa9a3855fe --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu.xsmnu @@ -0,0 +1,515 @@ + + + + StandardSDIMenu + + + + + Flat Toolbar + Icon + No + 29000 + + + File + &File + + + File + None + Yes + No + + + + + + + -1 + + + + + FileOpen + &Open... + Open a file + File_Open + Ctrl+O + Yes + No + Open + Open + Open File + 1 + IDM_FILE_OPEN + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + FilePrint + &Print + Print the window + + + None + Yes + No + + + + + + + -1 + + + + + FilePrinterSetup + P&rint Setup... + Setup printer options + File_Printer_Setup + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + FileExit + E&xit + End of application + File_Exit + Alt+F4 + Yes + No + + + + + + + -1 + + + + + + + Edit + &Edit + Edit information + Edit + None + Yes + No + + + + + + + -1 + + + + + Cut + Cu&t + Cut to clipboard + Cut + Ctrl+X + Yes + No + Cut + Cut + Cut + 3 + + + + + Copy + &Copy + Copy to clipboard + Copy + Ctrl+C + Yes + No + Copy + Copy + Copy + 4 + + + + + Paste + &Paste + Paste from clipboard + Paste + Ctrl+V + Yes + No + Paste + Paste + Paste + 5 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + Append + &Insert Record + Insert a new record + Append + None + Yes + No + + + + + + + -1 + + + + + Delete + &Delete Record + Delete this record + Delete + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + GoTop + G&o To Top + Go to first record + GoTop + Ctrl+Home + Yes + No + Start Record + Go Top + Go Top + 7 + + + + + SkipPrevious + Pre&vious + Go to previous record + SkipPrevious + None + Yes + No + Previous Record + Previous Record + Previous Record + 8 + + + + + SkipNext + &Next + Go to next record + SkipNext + None + Yes + No + Next Record + Next Record + Next Record + 9 + + + + + GoBottom + Go To &Bottom + Go to last record + GoBottom + Ctrl+End + Yes + No + End Record + Go Bottom + Go Bottom + 10 + + + + + + + View + &View + + + + + None + Yes + No + + + + + + + -1 + + + + + ViewForm + &Form + View a single record as a form + ViewForm + Shift+F2 + Yes + No + View Form + Form View + Form View + 12 + + + + + ViewTable + &Table + View several records in a table + ViewTable + F2 + Yes + No + View Table + Browse View + Browse View + 13 + + + + + + + Help + &Help + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpIndex + &Index + Index of help + Help_Index + F1 + Yes + No + + + + + + + -1 + + + + + HelpContext + &Context Help + Context sensitive help + Help_ContextHelp + Ctrl+F1 + Yes + No + + + + + + + -1 + + + + + HelpUsingHelp + &Using Help + How to use help + Help_UsingHelp + None + Yes + No + + + + + + + -1 + + + + + + + ------------------------- + + + + + None + Yes + No + + + + + + + -1 + + + + + HelpAbout + &About... + About application + + + None + Yes + No + Help + Help + Help + 15 + IDM_HELP_ABOUT + + + + + + diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu_Accelerator.rc b/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu_Accelerator.rc new file mode 100644 index 0000000000..aa9c190f62 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.StandardSDIMenu_Accelerator.rc @@ -0,0 +1,50 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime version: 4.0.30319.42000 +// Generator : XSharp.MenuEditor 2.1.0.0 +// Timestamp : 28-1-2020 08:22:41 +// +// Changes to this file may cause incorrect behavior and may be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#define IDM_StandardSDIMenu_File_ID 29000 +#define IDM_StandardSDIMenu_File_Open_ID 29001 +#define IDM_StandardSDIMenu_File_Print_ID 29003 +#define IDM_StandardSDIMenu_File_Print_Setup_ID 29004 +#define IDM_StandardSDIMenu_File_Exit_ID 29006 +#define IDM_StandardSDIMenu_Edit_ID 29007 +#define IDM_StandardSDIMenu_Edit_Cut_ID 29008 +#define IDM_StandardSDIMenu_Edit_Copy_ID 29009 +#define IDM_StandardSDIMenu_Edit_Paste_ID 29010 +#define IDM_StandardSDIMenu_Edit_Insert_Record_ID 29012 +#define IDM_StandardSDIMenu_Edit_Delete_Record_ID 29013 +#define IDM_StandardSDIMenu_Edit_Go_To_Top_ID 29015 +#define IDM_StandardSDIMenu_Edit_Previous_ID 29016 +#define IDM_StandardSDIMenu_Edit_Next_ID 29017 +#define IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID 29018 +#define IDM_StandardSDIMenu_View_ID 29019 +#define IDM_StandardSDIMenu_View_Form_ID 29020 +#define IDM_StandardSDIMenu_View_Table_ID 29021 +#define IDM_StandardSDIMenu_Help_ID 29022 +#define IDM_StandardSDIMenu_Help_Index_ID 29023 +#define IDM_StandardSDIMenu_Help_Context_Help_ID 29024 +#define IDM_StandardSDIMenu_Help_Using_Help_ID 29025 +#define IDM_StandardSDIMenu_Help_About_ID 29027 +StandardSDIMenu_Accelerator ACCELERATORS +BEGIN + 79, IDM_StandardSDIMenu_File_Open_ID, CONTROL ,VIRTKEY + 115, IDM_StandardSDIMenu_File_Exit_ID, ALT ,VIRTKEY + 88, IDM_StandardSDIMenu_Edit_Cut_ID, CONTROL ,VIRTKEY + 67, IDM_StandardSDIMenu_Edit_Copy_ID, CONTROL ,VIRTKEY + 86, IDM_StandardSDIMenu_Edit_Paste_ID, CONTROL ,VIRTKEY + 36, IDM_StandardSDIMenu_Edit_Go_To_Top_ID, CONTROL ,VIRTKEY + 35, IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID, CONTROL ,VIRTKEY + 113, IDM_StandardSDIMenu_View_Form_ID, SHIFT ,VIRTKEY + 113, IDM_StandardSDIMenu_View_Table_ID, VIRTKEY + 112, IDM_StandardSDIMenu_Help_Index_ID, VIRTKEY + 112, IDM_StandardSDIMenu_Help_Context_Help_ID, CONTROL ,VIRTKEY +END diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.VS_VERSION_INFO.rc b/src/Templates/working/content/p_vosdiapplication/SDI Menus.VS_VERSION_INFO.rc new file mode 100644 index 0000000000..34f6363ed4 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.VS_VERSION_INFO.rc @@ -0,0 +1,31 @@ +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1, 0, 0, 0 +PRODUCTVERSION 1, 0, 0, 0 +FILEFLAGSMASK 0x3fL +FILEFLAGS 0x00L +FILEOS VOS__WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "This is a Company.Namespace1!\0" + VALUE "CompanyName", "XSharp BV\0" + VALUE "FileVersion", "1, 0, 0, 0\0" + VALUE "FileDescription", "X# Company.Namespace1\0" + VALUE "ProductVersion", "1.0.0.0\0" + VALUE "InternalName", "VO MDI App\0" + VALUE "ProductName", "X# Company.Namespace1\0" + VALUE "LegalCopyright", "Copyright \251 2015-2022\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + + diff --git a/src/Templates/working/content/p_vosdiapplication/SDI Menus.prg b/src/Templates/working/content/p_vosdiapplication/SDI Menus.prg new file mode 100644 index 0000000000..f884a28c27 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/SDI Menus.prg @@ -0,0 +1,240 @@ +#region DEFINES +DEFINE IDM_StandardSDIMenu_File_ID := 29000 +DEFINE IDM_StandardSDIMenu_File_Open_ID := 29001 +DEFINE IDM_StandardSDIMenu_File_Print_ID := 29003 +DEFINE IDM_StandardSDIMenu_File_Print_Setup_ID := 29004 +DEFINE IDM_StandardSDIMenu_File_Exit_ID := 29006 +DEFINE IDM_StandardSDIMenu_Edit_ID := 29007 +DEFINE IDM_StandardSDIMenu_Edit_Cut_ID := 29008 +DEFINE IDM_StandardSDIMenu_Edit_Copy_ID := 29009 +DEFINE IDM_StandardSDIMenu_Edit_Paste_ID := 29010 +DEFINE IDM_StandardSDIMenu_Edit_Insert_Record_ID := 29012 +DEFINE IDM_StandardSDIMenu_Edit_Delete_Record_ID := 29013 +DEFINE IDM_StandardSDIMenu_Edit_Go_To_Top_ID := 29015 +DEFINE IDM_StandardSDIMenu_Edit_Previous_ID := 29016 +DEFINE IDM_StandardSDIMenu_Edit_Next_ID := 29017 +DEFINE IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID := 29018 +DEFINE IDM_StandardSDIMenu_View_ID := 29019 +DEFINE IDM_StandardSDIMenu_View_Form_ID := 29020 +DEFINE IDM_StandardSDIMenu_View_Table_ID := 29021 +DEFINE IDM_StandardSDIMenu_Help_ID := 29022 +DEFINE IDM_StandardSDIMenu_Help_Index_ID := 29023 +DEFINE IDM_StandardSDIMenu_Help_Context_Help_ID := 29024 +DEFINE IDM_StandardSDIMenu_Help_Using_Help_ID := 29025 +DEFINE IDM_StandardSDIMenu_Help_About_ID := 29027 +DEFINE IDM_EmptySDIMenu_File_ID := 18500 +DEFINE IDM_EmptySDIMenu_File_Open_ID := 18501 +DEFINE IDM_EmptySDIMenu_File_Print_Setup_ID := 18503 +DEFINE IDM_EmptySDIMenu_File_Exit_ID := 18505 +DEFINE IDM_EmptySDIMenu_Help_ID := 18506 +DEFINE IDM_EmptySDIMenu_Help_Index_ID := 18507 +DEFINE IDM_EmptySDIMenu_Help_Using_Help_ID := 18508 +DEFINE IDM_EmptySDIMenu_Help_About_ID := 18510 +#endregion + +PARTIAL CLASS EmptySDIMenu INHERIT Menu + +CONSTRUCTOR( oOwner ) + + LOCAL oTB AS Toolbar + + SELF:PreInit() + + SUPER( ResourceID { "EmptySDIMenu" , _GetInst( ) } ) + + SELF:RegisterItem(IDM_EmptySDIMenu_File_ID, ; + HyperLabel{ #File , "&File" , , "File" } , SELF:Handle() , 0) + + SELF:RegisterItem(IDM_EmptySDIMenu_File_Open_ID, ; + HyperLabel{ #FileOpen , "&Open... Ctrl+O" , "Open a file" , "File_Open" }) + + SELF:RegisterItem(IDM_EmptySDIMenu_File_Print_Setup_ID, ; + HyperLabel{ #FilePrinterSetup , "P&rint Setup..." , "Setup printer options" , "File_Printer_Setup" }) + + SELF:RegisterItem(IDM_EmptySDIMenu_File_Exit_ID, ; + HyperLabel{ #FileExit , "E&xit Alt+F4" , "End of application" , "File_Exit" }) + + SELF:RegisterItem(IDM_EmptySDIMenu_Help_ID, ; + HyperLabel{ #Help , "&Help" , , } , SELF:Handle() , 1) + + SELF:RegisterItem(IDM_EmptySDIMenu_Help_Index_ID, ; + HyperLabel{ #HelpIndex , "&Index F1" , "Index of help" , "Help_Index" }) + + SELF:RegisterItem(IDM_EmptySDIMenu_Help_Using_Help_ID, ; + HyperLabel{ #HelpUsingHelp , "&Using Help" , "How to use help" , "Help_UsingHelp" }) + + SELF:RegisterItem(IDM_EmptySDIMenu_Help_About_ID, ; + HyperLabel{ #HelpAbout , "&About..." , "About application" , }) + + oTB := Toolbar{} + + oTB:ButtonStyle := TB_ICONONLY + oTB:Flat := TRUE + oTB:EnableBands(FALSE) + + oTB:AppendItem(IDT_OPEN , IDM_EmptySDIMenu_File_Open_ID) + oTB:AddTipText(IDT_OPEN , IDM_EmptySDIMenu_File_Open_ID , "Open File") + + oTB:AppendItem(IDT_HELP , IDM_EmptySDIMenu_Help_About_ID) + oTB:AddTipText(IDT_HELP , IDM_EmptySDIMenu_Help_About_ID , "Help About") + + + SELF:ToolBar := oTB + SELF:Accelerator := EmptySDIMenu_Accelerator{ } + + SELF:PostInit() + + RETURN + +END CLASS +PARTIAL CLASS EmptySDIMenu_Accelerator INHERIT Accelerator + +CONSTRUCTOR() + SUPER( ResourceID { "EmptySDIMenu_Accelerator" , _GetInst( ) } ) +RETURN + + +END CLASS +PARTIAL CLASS StandardSDIMenu INHERIT Menu + +CONSTRUCTOR( oOwner ) + + LOCAL oTB AS Toolbar + + SELF:PreInit() + + SUPER( ResourceID { "StandardSDIMenu" , _GetInst( ) } ) + + SELF:RegisterItem(IDM_StandardSDIMenu_File_ID, ; + HyperLabel{ #File , "&File" , , "File" } , SELF:Handle() , 0) + + SELF:RegisterItem(IDM_StandardSDIMenu_File_Open_ID, ; + HyperLabel{ #FileOpen , "&Open... Ctrl+O" , "Open a file" , "File_Open" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_File_Print_ID, ; + HyperLabel{ #FilePrint , "&Print" , "Print the window" , }) + + SELF:RegisterItem(IDM_StandardSDIMenu_File_Print_Setup_ID, ; + HyperLabel{ #FilePrinterSetup , "P&rint Setup..." , "Setup printer options" , "File_Printer_Setup" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_File_Exit_ID, ; + HyperLabel{ #FileExit , "E&xit Alt+F4" , "End of application" , "File_Exit" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_ID, ; + HyperLabel{ #Edit , "&Edit" , "Edit information" , "Edit" } , SELF:Handle() , 1) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Cut_ID, ; + HyperLabel{ #Cut , "Cu&t Ctrl+X" , "Cut to clipboard" , "Cut" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Copy_ID, ; + HyperLabel{ #Copy , "&Copy Ctrl+C" , "Copy to clipboard" , "Copy" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Paste_ID, ; + HyperLabel{ #Paste , "&Paste Ctrl+V" , "Paste from clipboard" , "Paste" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Insert_Record_ID, ; + HyperLabel{ #Append , "&Insert Record" , "Insert a new record" , "Append" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Delete_Record_ID, ; + HyperLabel{ #Delete , "&Delete Record" , "Delete this record" , "Delete" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Go_To_Top_ID, ; + HyperLabel{ #GoTop , "G&o To Top Ctrl+Home" , "Go to first record" , "GoTop" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Previous_ID, ; + HyperLabel{ #SkipPrevious , "Pre&vious" , "Go to previous record" , "SkipPrevious" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Next_ID, ; + HyperLabel{ #SkipNext , "&Next" , "Go to next record" , "SkipNext" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID, ; + HyperLabel{ #GoBottom , "Go To &Bottom Ctrl+End" , "Go to last record" , "GoBottom" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_View_ID, ; + HyperLabel{ #View , "&View" , , } , SELF:Handle() , 2) + + SELF:RegisterItem(IDM_StandardSDIMenu_View_Form_ID, ; + HyperLabel{ #ViewForm , "&Form Shift+F2" , "View a single record as a form" , "ViewForm" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_View_Table_ID, ; + HyperLabel{ #ViewTable , "&Table F2" , "View several records in a table" , "ViewTable" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Help_ID, ; + HyperLabel{ #Help , "&Help" , , } , SELF:Handle() , 3) + + SELF:RegisterItem(IDM_StandardSDIMenu_Help_Index_ID, ; + HyperLabel{ #HelpIndex , "&Index F1" , "Index of help" , "Help_Index" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Help_Context_Help_ID, ; + HyperLabel{ #HelpContext , "&Context Help Ctrl+F1" , "Context sensitive help" , "Help_ContextHelp" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Help_Using_Help_ID, ; + HyperLabel{ #HelpUsingHelp , "&Using Help" , "How to use help" , "Help_UsingHelp" }) + + SELF:RegisterItem(IDM_StandardSDIMenu_Help_About_ID, ; + HyperLabel{ #HelpAbout , "&About..." , "About application" , }) + + oTB := Toolbar{} + + oTB:ButtonStyle := TB_ICONONLY + oTB:Flat := TRUE + oTB:EnableBands(FALSE) + + oTB:AppendItem(IDT_OPEN , IDM_StandardSDIMenu_File_Open_ID) + oTB:AddTipText(IDT_OPEN , IDM_StandardSDIMenu_File_Open_ID , "Open File") + + oTB:AppendItem(IDT_SEPARATOR) + + oTB:AppendItem(IDT_CUT , IDM_StandardSDIMenu_Edit_Cut_ID) + oTB:AddTipText(IDT_CUT , IDM_StandardSDIMenu_Edit_Cut_ID , "Cut") + + oTB:AppendItem(IDT_COPY , IDM_StandardSDIMenu_Edit_Copy_ID) + oTB:AddTipText(IDT_COPY , IDM_StandardSDIMenu_Edit_Copy_ID , "Copy") + + oTB:AppendItem(IDT_PASTE , IDM_StandardSDIMenu_Edit_Paste_ID) + oTB:AddTipText(IDT_PASTE , IDM_StandardSDIMenu_Edit_Paste_ID , "Paste") + + oTB:AppendItem(IDT_SEPARATOR) + + oTB:AppendItem(IDT_STARTREC , IDM_StandardSDIMenu_Edit_Go_To_Top_ID) + oTB:AddTipText(IDT_STARTREC , IDM_StandardSDIMenu_Edit_Go_To_Top_ID , "Go Top") + + oTB:AppendItem(IDT_PREVREC , IDM_StandardSDIMenu_Edit_Previous_ID) + oTB:AddTipText(IDT_PREVREC , IDM_StandardSDIMenu_Edit_Previous_ID , "Previous Record") + + oTB:AppendItem(IDT_NEXTREC , IDM_StandardSDIMenu_Edit_Next_ID) + oTB:AddTipText(IDT_NEXTREC , IDM_StandardSDIMenu_Edit_Next_ID , "Next Record") + + oTB:AppendItem(IDT_ENDREC , IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID) + oTB:AddTipText(IDT_ENDREC , IDM_StandardSDIMenu_Edit_Go_To_Bottom_ID , "Go Bottom") + + oTB:AppendItem(IDT_SEPARATOR) + + oTB:AppendItem(IDT_VFORM , IDM_StandardSDIMenu_View_Form_ID) + oTB:AddTipText(IDT_VFORM , IDM_StandardSDIMenu_View_Form_ID , "Form View") + + oTB:AppendItem(IDT_VGBROWSE , IDM_StandardSDIMenu_View_Table_ID) + oTB:AddTipText(IDT_VGBROWSE , IDM_StandardSDIMenu_View_Table_ID , "Browse View") + + oTB:AppendItem(IDT_SEPARATOR) + + oTB:AppendItem(IDT_HELP , IDM_StandardSDIMenu_Help_About_ID) + oTB:AddTipText(IDT_HELP , IDM_StandardSDIMenu_Help_About_ID , "Help") + + + SELF:ToolBar := oTB + SELF:Accelerator := StandardSDIMenu_Accelerator{ } + + SELF:PostInit() + + RETURN + +END CLASS +PARTIAL CLASS StandardSDIMenu_Accelerator INHERIT Accelerator + +CONSTRUCTOR() + SUPER( ResourceID { "StandardSDIMenu_Accelerator" , _GetInst( ) } ) +RETURN + + +END CLASS diff --git a/src/Templates/working/content/p_vosdiapplication/Standard SDI.IDI_STANDARDICON.rc b/src/Templates/working/content/p_vosdiapplication/Standard SDI.IDI_STANDARDICON.rc new file mode 100644 index 0000000000..aa3dfe446e --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Standard SDI.IDI_STANDARDICON.rc @@ -0,0 +1 @@ + 101 ICON "Resources\\XSharp.ICO" diff --git a/src/Templates/working/content/p_vosdiapplication/Standard SDI.Manifest.rc b/src/Templates/working/content/p_vosdiapplication/Standard SDI.Manifest.rc new file mode 100644 index 0000000000..c95c0e84da --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Standard SDI.Manifest.rc @@ -0,0 +1,4 @@ + 1 24 resources\cctl6.man + + + diff --git a/src/Templates/working/content/p_vosdiapplication/Standard SDI.prg b/src/Templates/working/content/p_vosdiapplication/Standard SDI.prg new file mode 100644 index 0000000000..e9912c77b6 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Standard SDI.prg @@ -0,0 +1,118 @@ +#region DEFINES +define IDI_STANDARDICON := 101 +define IDI_VOICON := 102 +#endregion + +class StandardSDIWindow inherit DataWindow + protect oPrinter as PrintingDevice + protect oStdMenu as Menu + + +METHOD DoOpenFile(cFileName, lReadOnly) + LOCAL oTB AS TextBox + + IF (Len(cFileName) > 3) .AND. (Upper(Right(cFileName, 4)) == ".DBF") + IF (SELF:Menu != oStdMenu) + SELF:Menu := oStdMenu + SELF:ToolBar:PressItem(IDM_StandardSDIMenu_View_Form_ID, #MenuItemID) + ENDIF + + SELF:Use(DBServer{cFileName, , lReadOnly}) + SELF:Caption := "Browse Database: " + cFileName + ELSE + oTB := TextBox{SELF, "File Open Error", "Cannot open " + cFileName + " - Not a DBF file"} + oTB:Type := BUTTONOKAY + oTB:Beep:=TRUE + oTB:Show() + ENDIF +RETURN SELF + +METHOD Drop(oDragEvent) + IF File(oDragEvent:FileName(1)) + SELF:DoOpenFile(oDragEvent:FileName(1)) + ENDIF +RETURN SELF + +METHOD FileClose() + SELF:Use() +RETURN SELF + +METHOD FileExit() + SELF:EndWindow() +RETURN SELF + +METHOD FileOpen() + LOCAL oOD AS OpenDialog + LOCAL oTB AS TextBox + LOCAL retval AS SHORT + + IF(oAttachedServer == NULL_OBJECT) + (oOD := OpenDialog{SELF, "*.dbf"}):Show() + + IF !Empty(oOD:FileName) + SELF:DoOpenFile(oOD:FileName, oOD:ReadOnly) + ENDIF + ELSE + oTB := TextBox{SELF, "Warning", "A DBF file is already open!" + _CHR(10)+ "Do you want close it?"} + oTB:Type := BUTTONOKAYCANCEL + retval := oTB:Show() + IF retval == BOXREPLYCANCEL + RETURN SELF + ENDIF + IF retVal==BOXREPLYOKAY + (oOD := OpenDialog{SELF, "*.dbf"}):Show() + IF !Empty(oOD:FileName) + SELF:DoOpenFile(oOD:FileName, oOD:ReadOnly) + ENDIF + ENDIF + ENDIF +RETURN SELF + +METHOD FilePrint() + SELF:Print(oPrinter) +RETURN SELF + +METHOD FilePrinterSetup() + + oPrinter:Setup() + +RETURN SELF + +CONSTRUCTOR(oOwnerApp) + + SetDeleted(TRUE) + + SUPER(oOwnerApp) + + SELF:EnableDragDropClient() + + SELF:Icon := Icon{ResourceID{IDI_STANDARDICON, _GetInst()}} + SELF:Menu := EmptySDIMenu{SELF} + oStdMenu := StandardSDIMenu{SELF} + SELF:Caption := "VO SDI Application" + SELF:EnableStatusBar(TRUE) + SELF:StatusBar:DisplayTime(TRUE) + SELF:QuitOnClose := TRUE + + SELF:Size := Dimension{850,650} + + oPrinter := PrintingDevice{} + + RETURN SELF + + +method ViewForm() + self:ToolBar:UnPressItem(IDM_StandardSDIMenu_View_Table_ID) + self:ToolBar:PressItem(IDM_StandardSDIMenu_View_Form_ID) + + return super:ViewForm() + +method ViewTable() + self:ToolBar:UnPressItem(IDM_StandardSDIMenu_View_Form_ID) + self:ToolBar:PressItem(IDM_StandardSDIMenu_View_Table_ID) + + return super:ViewTable() + + + +END CLASS diff --git a/src/Templates/working/content/p_vosdiapplication/Start.prg b/src/Templates/working/content/p_vosdiapplication/Start.prg new file mode 100644 index 0000000000..340a15d66c --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/Start.prg @@ -0,0 +1,24 @@ +[STAThread]; +FUNCTION Start() AS INT + LOCAL oXApp AS XApp + TRY + oXApp := XApp{} + oXApp:Start() + CATCH oException AS Exception + ErrorDialog(oException) + END TRY +RETURN 0 + +CLASS XApp INHERIT App +METHOD Start() + LOCAL oMainWindow AS StandardSDIWindow + + oMainWindow := StandardSDIWindow{SELF} + oMainWindow:Show(SHOWCENTERED) + + SELF:Exec() + +RETURN SELF + + +END CLASS diff --git a/src/Templates/working/content/p_vosdiapplication/XSharp.VOSDIApplication.xsproj b/src/Templates/working/content/p_vosdiapplication/XSharp.VOSDIApplication.xsproj new file mode 100644 index 0000000000..f1a31b807a --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/XSharp.VOSDIApplication.xsproj @@ -0,0 +1,37 @@ + + + + WinExe + VOSDIApp + VO + true + VOSDIApp + True + true + true + true + true + true + true + true + true + true + true + true + true + false + false + true + false + true + true + False + False + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_vosdiapplication/XSharp.ico b/src/Templates/working/content/p_vosdiapplication/XSharp.ico new file mode 100644 index 0000000000000000000000000000000000000000..dd1707e251c47b5348cb85b0abfbb1e40bfb30d9 GIT binary patch literal 9662 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 0 + IF lTemp .AND. SELF:nOrder > 0 + SELF:SetOrder(SELF:nOrder) + ENDIF + + SELF:GoTop() + ENDIF + + SELF:PostInit() + + RETURN SELF + + +[FIELDDESC] +ACCESS FieldDesc CLASS %classname% + // + // Describes all fields selected by DBServer-Editor + // + LOCAL aRet AS ARRAY + LOCAL nFields AS DWORD + + nFields := %fieldcount% + + IF nFields > 0 + aRet := ArrayCreate(nFields) + + // + // The following code creates an array of field + // descriptors with these items for each + // selected field: + // + // { , , } + // + // Use following predefined constants to access + // each subarray: + // + // DBC_SYMBOL + // DBC_NAME + // DBC_FIELDSPEC + // + %fielddesc% + + ELSE + aRet := {} + ENDIF + + + RETURN aRet + + +[INDEXLIST] +ACCESS IndexList CLASS %classname% + // + // Describes all index files created or selected + // by DBServer-Editor + // + LOCAL aRet AS ARRAY + LOCAL nIndexCount AS DWORD + + nIndexCount := %indexcount% + + IF nIndexCount > 0 + aRet := ArrayCreate(nIndexCount) + + // + // The following code creates an array of index + // file descriptors with these items for each + // selected index file: + // + // { , , } + // + // Use following predefined constants to access + // each subarray: + // + // DBC_INDEXNAME + // DBC_INDEXPATH + // DBC_ORDERS + // + // Array contains an array of + // order descriptors with these items for each + // order: + // + // { , , , , } + // + // Use following predefined constants to access + // aOrder subarrays: + // + // DBC_TAGNAME + // DBC_DUPLICATE + // DBC_ASCENDING + // DBC_KEYEXP + // DBC_FOREXP + // + %indexlist% + + ELSE + aRet := {} + ENDIF + + RETURN aRet + + +[PREINIT] +METHOD PreInit() class %classname% + //Put your PreInit additions here + RETURN NIL + +[POSTINIT] +METHOD PostInit() class %classname% + //Put your PostInit additions here + RETURN NIL + +[MACROS] +FieldDesc=\r\n\t\taRet[%pos%] := { #%hlname%, \"%fldname%\", %classname%{}} +Index=\r\n\t\taRet[%pos%] := { \"%indexname%\", \"%dbfpath%\",; \r\n \t\t\t\t\t{%orderlist% } } +Order={ \"%tag%\", %duplicate%, %ascending%, [%keyexp%], [%forexp%] } +Declaration=\r\n\tDECLARE ACCESS %hlname%\r\n\tDECLARE ASSIGN %hlname% diff --git a/src/Templates/working/content/p_vosdiapplication/cavofed.tpl b/src/Templates/working/content/p_vosdiapplication/cavofed.tpl new file mode 100644 index 0000000000..11665a502f --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/cavofed.tpl @@ -0,0 +1,33 @@ +[CLASS] +CLASS %classname% INHERIT %superclass% + + +[INIT] +METHOD Init() CLASS %classname% + LOCAL cPict AS STRING + + SUPER:Init( HyperLabel{#%hlname%, "%hlcaption%", "%hldescription%", "%hlhelpcontext%" }, "%type%", %len%, %dec% ) + cPict := "%picture" + IF SLen(cPict) > 0 + SELF:Picture := cPict + ENDIF + + RETURN SELF + + + +[DBSERVER] +Method GetFieldInfo%hlname%() CLASS %servername% +RETURN {#%hlname%, "%hlcaption%","%hldescription%","%hlhelpcontext%"} + +[DBSERVER] +ACCESS %hlname% AS %usualtype% PASCAL CLASS %servername% + + RETURN SELF:FieldGet(#%hlname%) + + +[DBSERVER] +ASSIGN %hlname%(uValue AS %usualtype%) AS %usualtype% PASCAL CLASS %servername% + + RETURN SELF:FieldPut(#%hlname%, uValue) + diff --git a/src/Templates/working/content/p_vosdiapplication/cavowed.inf b/src/Templates/working/content/p_vosdiapplication/cavowed.inf new file mode 100644 index 0000000000..07d5788d18 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/cavowed.inf @@ -0,0 +1,955 @@ +[FORM] +Assign01=Name,HyperLabel(%Name%,%Caption%,,) +Assign02=Caption,HyperLabel(,lstring,,) +Assign03=Description,HyperLabel(,,string,) +Assign04=Help Context,HyperLabel(,,,string) +Assign05=Clipper Keys,ClipperKeys(BOOL) +Assign06=Large Icon,Icon(CLASS:ICON) +Assign07=Small Icon,IconSm(CLASS:ICON) +Assign08=Accelerator Table,Accelerator(CLASS:Accelerator) +Assign09=Background Color,Background(COLOR) +Assign10=Menu,Menu(CLASS:Menu) +Assign11=Context Menu,ContextMenu(CLASS:Menu) +Assign12=Help File Name,HelpDisplay(string) +Assign13=Prevent Auto Layout,PreventAutoLayout(BOOL) +Assign14=Defer USE,DeferUse(BOOL) +Assign15=Quit On Close,QuitOnClose(BOOL) +Assign16=Automated,Automated(BOOL) +Assign17=Allow Server Close,AllowServerClose(BOOL) + +Method01=Activate,Activate(CODE:Activate) +Method02=ButtonClick,ButtonClick(CODE:ButtonClick) +Method03=ButtonDoubleClick,ButtonDoubleClick(CODE:ButtonDoubleClick) +Method04=Close,Close(CODE:Close) +Method05=Deactivate,Deactivate(CODE:Deactivate) +Method06=Draw,Draw(CODE:Draw) +Method07=EditChange,EditChange(CODE:EditChange) +Method08=EditFocusChange,EditFocusChange(CODE:EditFocusChange) +Method09=EditScroll,EditScroll(CODE:EditScroll) +Method10=Expose,Expose(CODE:Expose) +Method11=FocusChange,FocusChange(CODE:FocusChange) +Method12=HelpRequest,HelpRequest(CODE:HelpRequest) +Method13=HorizontalScroll,HorizontalScroll(CODE:HorizontalScroll) +Method14=Keydown,Keydown(CODE:Keydown) +Method15=Keyup,Keyup(CODE:Keyup) +Method16=ListBoxClick,ListBoxClick(CODE:ListBoxClick) +Method17=ListBoxSelect,Show(CODE:ListBoxSelect) +Method18=MenuCommand,MenuCommand(CODE:MenuCommand) +Method19=MenuInit,MenuInit(CODE:MenuInit) +Method20=MenuSelect,MenuSelect(CODE:MenuSelect) +Method21=MouseButtonDoubleClick,MouseButtonDoubleClick(CODE:MouseButtonDoubleClick) +Method22=MouseButtonDown,MouseButtonDown(CODE:MouseButtonDown) +Method23=MouseButtonUp,MouseButtonUp(CODE:MouseButtonUp) +Method24=MouseDrag,MouseDrag(CODE:MouseDrag) +Method25=MouseMove,MouseMove(CODE:MouseMove) +Method26=Move,Move(CODE:Move) +Method27=QueryClose,QueryClose(CODE:QueryClose) +Method28=Resize,Resize(CODE:Resize) +Method29=VerticalScroll,VerticalScroll(CODE:VerticalScroll) +Method30=View As,ViewAs(VIEWS) +Method31=Data Server,Use(CLASS:DBSERVER:+SQLTable:+JDataServer) +Method32=Font,Font(FONT) +Method33=Notify,Notify(CODE:Notify) +Method34=PreValidate,PreValidate(CODE:PreValidate) +Method35=HorizontalSlide,HorizontalSlide(CODE:HorizontalSlide) +Method36=VerticalSlide,VerticalSlide(CODE:VerticalSlide) +Method37=HorizontalSpin,HorizontalSpin(CODE:HorizontalSpin) +Method38=VerticalSpin,VerticalSpin(CODE:VerticalSpin) +Method39=PreInit Actions,PreInit(CODE:PreInit) +Method40=PostInit Actions,PostInit(CODE:PostInit) +Method41=StatusBar,EnableStatusBar(BOOL) +Method42=AnimationStart,AnimationStart(CODE:AnimationStart) +Method43=AnimationStop,AnimationStop(CODE:AnimationStop) +Method44=RichEditDropFiles,RichEditDropFiles(CODE:RichEditDropFiles) +Method45=RichEditProtected,RichEditProtected(CODE:RichEditProtected) +Method46=RichEditSelChange,RichEditSelChange(CODE:RichEditSelectionChange) +Method47=RichEditUndoLost,RichEditUndoLost(CODE:RichEditUndoLost) +Method48=ListViewItemDrag,ListViewItemDrag(CODE:ListViewItemDrag) +Method49=ListViewItemEdit,ListViewItemEdit(CODE:ListViewItemEdit) +Method50=ListViewColumnClick,ListViewColumnClick(CODE:ListViewColumnClick) +Method51=ListViewItemDelete,ListItemDelete(CODE:ListViewItemDelete) +Method52=ListViewKeyDown,ListKeyDown(CODE:ListViewKeyDown) +Method53=TreeViewMouseDown,TreeViewMouseButtonDown(CODE:TreeViewMouseButtonDown) +Method54=ListViewMouseDown,ListViewMouseButtonDown(CODE:ListViewMouseButtonDown) +Method55=TreeViewMouseDoubleClick,TreeViewMouseDoubleClick(CODE:TreeViewMouseButtonDoubleClick) +Method56=ListViewMouseDoubleClick,ListViewMouseDoubleClick(CODE:ListViewMouseButtonDoubleClick) +Method57=TabSelect,TabSelect(CODE:TabSelect) +Method58=TabSelChanging,TabSelChanging(CODE:TabSelectionChanging) +Method59=TabKeyDown,TabKeyDown(CODE:TabKeyDown) +Method60=TreeViewItemDrag,TreeViewItemDrag(CODE:TreeViewItemDrag) +Method61=TreeViewItemEdit,TreeViewItemEdit(CODE:TreeViewItemEdit) +Method62=TreeViewItemDelete,TreeViewItemDelete(CODE:TreeViewItemDelete) +Method63=TreeViewItemExpanded,TreeViewItemExpanded(CODE:TreeViewItemExpanded) +Method64=TreeViewItemExpanding,TreeViewItemExpanding(CODE:TreeViewItemExpanding) +Method65=TreeViewKeyDown,TreeViewKeyDown(CODE:TreeViewKeyDown) +Method66=TreeViewSelChanged,TreeViewSelChanged(CODE:TreeViewSelectionChanged) +Method67=TreeViewSelChanging,TreeViewSelChanging(CODE:TreeViewSelectionChanging) +Method68=Class Declaration,ClassDeclaration(CODE:ClassDeclaration) +Method69=MonthCalSelChanged,MonthCalSelChanged(CODE:MonthCalSelectionChanged) +Method70=DateTimeSelChanged,DateTimeSelChanged(CODE:DateTimeSelectionChanged) +Method90=No Access/Assign,NoAcc(LOGIC) +Method91=Pixel Positions,PixPos(LOGIC) +Method92=Export Controls,ExpCtls(LOGIC) + +WindowStyle01=Tab Key,WS_CHILD:WS_CHILD|DS_CONTROL(TABKEY) + +[FORM:DATAWINDOW] +ContTitle=Data Window +text=DataWindow Caption +InitMethod=DATAWINDOW(oWindow,iCtlID,oServer,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DataWindow) +Name=MyDataWindow +Size=420,320 +DialogTemplate=1 +Position=5,5 +Style=WS_CHILD +HelpID=2065 +PropTabs=HyperLabel,DataWindow,Mouse Events,Window Events,Control Events,Menu Events,CommonControl Events,TreeView Events,ListView Events +Assign18=Owner Alignment,OwnerAlignment(OWNERALIGNMENT) + +[FORM:DATADIALOG] +ContTitle=Data Dialog +text=DataDialog Caption +InitMethod=DATADIALOG(oWindow,iCtlID,oServer,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DataDialog) +Name=MyDataDialog +Size=400,240 +DialogTemplate=1 +Position=5,5 +Style=WS_CHILD +HelpID=2490 +PropTabs=HyperLabel,DataDialog,Mouse Events,Window Events,Control Events,Menu Events,CommonControl Events,TreeView Events,ListView Events + +[FORM:DATAWINDOW:OLEDATAWINDOW] +ContTitle=OLE Data Window +text=OLE DataWindow Caption +InitMethod=OLEDATAWINDOW(oWindow,iCtlID,oServer,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:OleDataWindow) +Name=MyOLEDataWindow +Size=420,320 +DialogTemplate=1 +Position=5,5 +Style=WS_CHILD +HelpID=2065 +PropTabs=HyperLabel,DataWindow,Mouse Events,Window Events,Control Events,Menu Events,CommonControl Events,TreeView Events,ListView Events + + +[FORM:SHELLWINDOW] +Assign01=Mouse Pointer,Pointer(CLASS:POINTER) +Assign02=Menu,Menu(CLASS:Menu) +Assign03=Help File Name,HelpDisplay(string) +ContTitle=Shell Window +text=ShellWindow Caption +InitMethod=SHELLWINDOW(oParent,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ShellWindow) +Name=TheShellWindow +Size=400,300 +Position=5,5 +Style=WS_OVERLAPPEDWINDOW +HelpID=2060 +PropTabs=HyperLabel,ShellWindow,Mouse Events,Window Events,Control Events,Menu Events + +[FORM:DIALOGWINDOW] +Method01=Font,Font(FONT) +Method02=Modeless,Modeless(LOGIC) +Assign01=Background Color,Background(COLOR) +Assign02=Mouse Pointer,Pointer(CLASS:POINTER) +Assign03=Help File Name,HelpDisplay(string) +WindowStyle01=Disabled,WS_DISABLED(BOOL) +WindowStyle03=Clip Siblings,WS_CLIPSIBLINGS(BOOL) +WindowStyle04=Local Edit,DS_LOCALEDIT(BOOL) +WindowStyle05=Absolute Align,DS_ABSALIGN(BOOL) +WindowStyle06=Clip Children,WS_CLIPCHILDREN(BOOL) +WindowStyle09=System Modal,DS_SYSMODAL(BOOL) +WindowStyle10=No Idle Message,DS_NOIDLEMSG(BOOL) +WindowStyle11=Resizable,WS_THICKFRAME:DS_MODALFRAME(BOOL) +WindowStyle12=Caption Bar,WS_NULL:WS_CAPTION:WS_CAPTION|WS_SYSMENU:WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX:WS_CAPTION|WS_SYSMENU|WS_MAXIMIZEBOX:WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX(CAPTIONBAR) +WindowStyle13=Fixed Font,DS_FIXEDSYS(BOOL) +WindowStyle14=Position,WS_NULL:DS_CENTER:DS_CENTERMOUSE(DIALOGPOSITON) +WindowStyle15=Type,WS_POPUP:WS_CHILD|DS_CONTROL(DIALOGTYPE) +ContTitle=Dialog Window +DialogTemplate=1 +text=Dialog Caption +InitMethod=DialogWindow(oParent,uExtra) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DialogWindow) +Name=TheDialog +Size=400,240 +Position=5,5 +Style=DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_3DLOOK +ExStyle=WS_EX_DLGMODALFRAME +HelpID=2070 +PropTabs=HyperLabel,DlgWindow,DlgWndStyles:Styles,Mouse Events,Window Events,Control Events,CommonControl Events,TreeView Events,ListView Events,Menu Events + +[CONTROL] +Assign01=Name,HyperLabel(%Name%,%Caption%,,) +Assign02=Caption,HyperLabel(,lstring,,) +Assign03=Description,HyperLabel(,,string,) +Assign04=Help Context,HyperLabel(,,,string) +Assign05=Background Color,Background(COLOR) +Assign06=Context Menu,ContextMenu(CLASS:Menu) +Assign07=Tooltip,TooltipText(string) +Assign08=Owner Alignment,OwnerAlignment(OWNERALIGNMENT) +WindowStyle01=Disabled,WS_DISABLED(BOOL) +WindowStyle02=Tab Stop,WS_TABSTOP(BOOL) +WindowStyle03=Group,WS_GROUP(BOOL) +WindowStyle04=Border,WS_BORDER(BOOL) +WindowStyle05=Vertical Scrollbar,WS_VSCROLL(BOOL) +WindowStyle06=Horizontal Scrollbar,WS_HSCROLL(BOOL) +WindowStyle07=Clip Siblings,WS_CLIPSIBLINGS(BOOL) +ExWindowStyle01=Modal Frame,WS_EX_DLGMODALFRAME(BOOL) +ExWindowStyle02=Static Edge,WS_EX_STATICEDGE(BOOL) +ExWindowStyle03=Client Edge,WS_EX_CLIENTEDGE(BOOL) +ExWindowStyle04=Transparent,WS_EX_TRANSPARENT(BOOL) +ExWindowStyle05=Accept Files,WS_EX_ACCEPTFILES(BOOL) +ExWindowStyle06=No Parent Notify,WS_EX_NOPARENTNOTIFY(BOOL) +ExWindowStyle07=Right-To-Left Reading,WS_EX_RTLREADING(BOOL) +ExWindowStyle08=ExAlignment,WS_EX_LEFT:WS_EX_RIGHT(EXALIGNMENT) + +[CONTROL:CUSTOMCONTROL] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +ContTitle=Custom Control +Name=CustomControl +ClassName=static +OptClassName=_VOCustomControl +Size=240,140 +HelpID=2915 +Style=WS_CHILD|WS_BORDER +PropTabs=HyperLabel,GenCustCtrl:General,CustomCtlStyles:Styles,ExStyles +InitMethod=CustomControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:CustomControl) + +[CONTROL:MULTIMEDIACONTAINER] +Assign01=File Name,FileName(STRING) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +ContTitle=MulitMedia Container +Name=MultiMediaContainer +ClassName=__PTSTBCN__ +OptClassName=_VOMMContainer +Size=240,140 +;HelpID=2915 +Style=WS_CHILD|WS_BORDER +PropTabs=HyperLabel,GenMMCont:General,MMContStyles:Styles,ExStyles +InitMethod=MultiMediaContainer(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:MultiMediaContainer) + +[CONTROL:OLEGEN] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=AllowResize,AllowResize(BOOL) +Assign03=AutoSizeOnCreate,AutoSizeOnCreate(BOOL) +Assign04=ReadOnly,ReadOnly(BOOL) +Assign05=AllowDocView,AllowDocView(BOOL) + +[CONTROL:OLEGEN:OLEOBJECT] +Assign01=AllowInPlace,AllowInPlace(BOOL) +Assign02=ActivateOnDblClk,ActivateOnDblClk(BOOL) +Assign03=Field Spec,FieldSpec(CLASS:FIELDSPEC) +ContTitle=OLE Object +Name=OLEObject +ClassName=__PTSTBCN__ +OptClassName=_VOOleContainer +Size=240,140 +PropTabs=HyperLabel,GenOleObject:General,OLEObjStyles:Styles,ExStyles +Style=WS_CHILD|WS_BORDER +InitMethod=OLEObject(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:OLEObject) + +[CONTROL:OLEGEN:OLECONTROL] +ContTitle=OLE Control +Name=OLEControl +ClassName=__PTSTBCN__ +OptClassName=_VOOleContainer +Size=240,140 +Style=WS_CHILD +HelpID=2290 +PropTabs=HyperLabel,GenOleControl:General,OCXProperties:Properties,OCXEvents:Events,OLEObjStyles:Styles,ExStyles +InitMethod=OLEControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:OLEControl) + +[CONTROL:SUBDATAWINDOW] +ContTitle=Sub-Data Window +ClassName=__PSBDWN__ +Name=Sub_Form +Size=240,140 +Style=WS_CHILD|WS_BORDER +HelpID=2225 +PropTabs=GenSubData:General,SubDataStyles:Styles +Method1=Relation String,RelationString(string) +Method2=Order,Order(string) + +[CONTROL:FIXEDICON] +Method01=Icon,SetIcon(CLASS:ICON) +ContTitle=Fixed Icon +ClassName=static +Name=FixedIcon +Size=32,32 +GenerateCode=1 +Style=WS_CHILD|SS_ICON|WS_BORDER +HelpID=2205 +PropTabs=HyperLabel,GenFixedImage:General,FixedImageStyles:Styles,ExStyles +InitMethod=FIXEDICON(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:FixedIcon) +WindowStyle08=Real Size Image,SS_REALSIZEIMAGE(BOOL) +WindowStyle09=Center Image,SS_CENTERIMAGE(BOOL) +WindowStyle10=Right adjust,SS_RIGHTJUST(BOOL) + +[CONTROL:FIXEDBITMAP] +Method01=Bitmap,SetBitmap(CLASS:BITMAP) +ContTitle=Fixed Bitmap +ClassName=static +Name=FixedBitmap +Size=64,64 +GenerateCode=1 +Style=WS_CHILD|SS_BITMAP|WS_BORDER +HelpID=2565 +PropTabs=HyperLabel,GenFixedImage:General,FixedImageStyles:Styles,ExStyles +InitMethod=FIXEDBITMAP(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:FixedBitmap) +WindowStyle09=Center Image,SS_CENTERIMAGE(BOOL) +WindowStyle10=Right adjust,SS_RIGHTJUST(BOOL) + +[CONTROL:SCROLLBAR] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign03=Min Value,Range(numeric,) +Assign04=Max Value,Range(,numeric) +WindowStyle01=AutoSize,SBS_SIZEBOXTOPLEFTALIGN(BOOL) +WindowStyle02=Size Grip,SBS_SIZEGRIP|SBS_SIZEBOXBOTTOMRIGHTALIGN(BOOL) + +[CONTROL:SCROLLBAR:HORIZONTALSCROLLBAR] +ContTitle=Horizontal Scroll Bar +ClassName=scrollbar +Name=HorzScroll +Size=140,20 +Style=WS_CHILD|SBS_HORZ +HelpID=2215 +PropTabs=HyperLabel,GenScrollbar:General,ScrollBarStyles:Styles,ExStyles +InitMethod=HorizontalScrollBar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HorizontalScrollBar) + +[CONTROL:SCROLLBAR:VERTICALSCROLLBAR] +ContTitle=Vertical Scroll Bar +ClassName=scrollbar +Name=VertScroll +Size=20,140 +Style=WS_CHILD|SBS_VERT +HelpID=2220 +PropTabs=HyperLabel,GenScrollbar:General,ScrollBarStyles:Styles,ExStyles +InitMethod=VerticalScrollBar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:VerticalScrollBar) + +[CONTROL:TEXTCONTROL] +Method01=Font,Font(FONT) +Method02=Input Method Editor,Ime(OLOGIC) +Assign01=Text Color,TextColor(COLOR) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) + +[CONTROL:TEXTCONTROL:EDIT] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Text Limit,TextLimit(numeric) +WindowStyle09=Password,ES_PASSWORD(BOOL) +WindowStyle10=Retain Selection,ES_NOHIDESEL(BOOL) +WindowStyle11=OEM Conversion,ES_OEMCONVERT(BOOL) +WindowStyle12=Auto HScroll,ES_AUTOHSCROLL(BOOL) +WindowStyle13=Read Only,ES_READONLY(BOOL) +WindowStyle14=Conversion,WS_NULL:ES_UPPERCASE:ES_LOWERCASE(EDITCONVERT) +WindowStyle15=Numbers Only,ES_NUMBER(BOOL) +WindowStyle19=Alignment,ES_LEFT:ES_CENTER:ES_RIGHT(EDITALIGN) + +[CONTROL:TEXTCONTROL:EDIT:MULTILINEEDIT] +WindowStyle17=Auto VScroll,ES_AUTOVSCROLL(BOOL) +WindowStyle18=Return Key,ES_WANTRETURN(BOOL) +ContTitle=Multi-Line Edit +ClassName=edit +Name=MultiLineEdit +Size=80,60 +Style=WS_CHILD|ES_MULTILINE|WS_TABSTOP|WS_BORDER|ES_AUTOVSCROLL|ES_AUTOHSCROLL|ES_WANTRETURN +ExStyle=WS_EX_CLIENTEDGE +HelpID=2190 +PropTabs=HyperLabel,GenEdit:General,MultiLineStyles:Styles,ExStyles +InitMethod=MultiLineEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:MultiLineEdit) + +[CONTROL:TEXTCONTROL:EDIT:SINGLELINEEDIT] +Assign01=Block,Block(string) +Assign02=Block Owner,BlockOwner(STRING) +Assign03=OverWrite,OverWrite(OVERWRITE) +Assign04=Picture,Picture(STRING) +Assign05=Scroll Mode,ScrollMode(SCRMODE) +Assign06=Focus Select,FocusSelect(FSELECT) +Assign07=Auto Focus Change,AutoFocusChange(BOOL) +ContTitle=Single-Line Edit +ClassName=edit +Name=SingleLineEdit +Size=80,20 +Style=WS_CHILD|WS_TABSTOP|WS_BORDER|ES_AUTOHSCROLL +ExStyle=WS_EX_CLIENTEDGE +HelpID=2185 +PropTabs=HyperLabel,GenSingleEdit:General,SingleLineStyles:Styles,ExStyles +InitMethod=SingleLineEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:SingleLineEdit) + +[CONTROL:TEXTCONTROL:BASELISTBOX] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign03=Text Color,TextColor(COLOR) +Method01=Fill Using,FillUsing( ) + +[CONTROL:TEXTCONTROL:BASELISTBOX:LISTBOX] +WindowStyle22=Sort,LBS_SORT(BOOL) +WindowStyle23=Notify Parent,LBS_NOTIFY(BOOL) +WindowStyle24=Use Tab Stops,LBS_USETABSTOPS(BOOL) +WindowStyle25=No Redraw,LBS_NOREDRAW(BOOL) +WindowStyle26=Multi Column,LBS_MULTICOLUMN(BOOL) +WindowStyle27=No Integral Height,LBS_NOINTEGRALHEIGHT(BOOL) +WindowStyle28=Want Keyboard Input,LBS_WANTKEYBOARDINPUT(BOOL) +WindowStyle29=Multiple Selection,LBS_MULTIPLESEL(BOOL) +WindowStyle30=Extended Selection,LBS_EXTENDEDSEL(BOOL) +WindowStyle31=Disable if no Scroll,LBS_DISABLENOSCROLL(BOOL) +WindowStyle32=Owner Draw,WS_NULL:LBS_OWNERDRAWFIXED:LBS_OWNERDRAWVARIABLE(OWNERDRAW) +ContTitle=List Box +ClassName=listbox +Name=ListBox +Size=80,80 +Style=WS_TABSTOP|WS_CHILD|WS_VSCROLL|LBS_NOTIFY|WS_BORDER|LBS_SORT|LBS_NOINTEGRALHEIGHT|LBS_DISABLENOSCROLL +ExStyle=WS_EX_CLIENTEDGE +HelpID=2160 +PropTabs=HyperLabel,GenListbox:General,ListBoxStyles:Styles,ExStyles +InitMethod=ListBox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ListBox:-ComboBox) + +[CONTROL:TEXTCONTROL:BASELISTBOX:COMBOBOX] +WindowStyle32=ComboBox Type,CBS_SIMPLE:CBS_DROPDOWN:CBS_DROPDOWNLIST(CBTYPE) +WindowStyle33=Sort,CBS_SORT(BOOL) +WindowStyle34=Auto HScroll,CBS_AUTOHSCROLL(BOOL) +WindowStyle35=No Integral Height,CBS_NOINTEGRALHEIGHT(BOOL) +WindowStyle36=OEM Convert,CBS_OEMCONVERT(BOOL) +WindowStyle37=Disable if no Scroll,CBS_DISABLENOSCROLL(BOOL) +WindowStyle38=OwnerDraw,WS_NULL:CBS_OWNERDRAWFIXED:CBS_OWNERDRAWVARIABLE(OWNERDRAW) +ContTitle=Combo Box +ClassName=combobox +Name=ComboBox +Size=80,120 +Style=WS_TABSTOP|WS_CHILD|CBS_DROPDOWN|WS_VSCROLL|CBS_SORT|CBS_DISABLENOSCROLL +HelpID=2165 +PropTabs=HyperLabel,GenListbox:General,ComboBoxStyles:Styles,ExStyles +InitMethod=combobox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ComboBox) + + +[CONTROL:TEXTCONTROL:BUTTON] +assign01=Use for Tooltip,UseHLforToolTip(BOOL) +assign02=Image,Image(CLASS:Icon:+Bitmap) +WindowStyle06=Text Left,BS_LEFTTEXT(BOOL) +WindowStyle07=Multiline,BS_MULTILINE(BOOL) +WindowStyle08=Flat,BS_FLAT(BOOL) +WindowStyle09=Horizontal Alignment,WS_NULL:BS_LEFT:BS_RIGHT:BS_CENTER(BUTTONHALIGN) +WindowStyle10=Vertical Alignment,WS_NULL:BS_TOP:BS_BOTTOM:BS_VCENTER(BUTTONVALIGN) +WindowStyle11=Image Type,WS_NULL:BS_ICON:BS_BITMAP:WS_NULL(BUTTONIMAGETYPE) +WindowStyle12=Push Like,BS_PUSHLIKE(BOOL) + +[CONTROL:TEXTCONTROL:BUTTON:CHECKBOX] +Assign01=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign02=Text Color,TextColor(COLOR) +WindowStyle05=Selection,BS_CHECKBOX:BS_AUTOCHECKBOX:BS_3STATE:BS_AUTO3STATE(CBAUTOSTYLE) +ContTitle=Check Box +ClassName=button +Name=CheckBox +Text=CheckBox +Size=120,18 +HelpID=2155 +Style=WS_TABSTOP|WS_CHILD|BS_AUTOCHECKBOX +PropTabs=HyperLabel,GenCheckbox:General,CheckBoxStyles:Styles,ExStyles +InitMethod=CheckBox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:CheckBox) + +[CONTROL:TEXTCONTROL:BUTTON:PUSHBUTTON] +WindowStyle04=Default Button,BS_DEFPUSHBUTTON(BOOL) +Event01=Click Event,MyBtnName( ) +ContTitle=Push Button +Type=CommandControl +ClassName=button +Name=PushButton +text=Push +Size=80,20 +Style=WS_CHILD|WS_TABSTOP +PropTabs=HyperLabel,GenPushButton:General,PushButtonStyles:Styles,ExStyles +HelpID=2170 +InitMethod=PushButton(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:PushButton) + +[CONTROL:TEXTCONTROL:BUTTON:RADIOBUTTON] +Method01=Group Value,Value(numeric) +Assign01=Text Color,TextColor(COLOR) +WindowStyle07=AutoSelect,BS_AUTORADIOBUTTON:BS_RADIOBUTTON(BOOL) +ContTitle=Radio Button +Type=CommandControl +ClassName=button +Name=RadioButton +text=RadioButton +Size=120,18 +Style=WS_CHILD|BS_AUTORADIOBUTTON +HelpID=2175 +PropTabs=HyperLabel,GenRadioButton:General,RadioButtonStyles:Styles,ExStyles +InitMethod=RadioButton(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:RadioButton) + +[CONTROL:TEXTCONTROL:FIXEDTEXT] +Assign01=Text Color,TextColor(COLOR) +WindowStyle20=No Prefix,SS_NOPREFIX(BOOL) +WindowStyle21=Alignment,SS_LEFT:SS_CENTER:SS_RIGHT:SS_SIMPLE:SS_LEFTNOWORDWRAP(FIXEDALIGN) +WindowStyle22=Center vertically,SS_CENTERIMAGE(BOOL) +ContTitle=Fixed Text +InitMethod=FixedText(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:FixedText) +ClassName=Static +text=Fixed Text +Name=FixedText +Size=80,20 +Style=WS_CHILD +HelpID=2210 +PropTabs=HyperLabel,GenFixedText:General,FixedTextStyles:Styles,ExStyles + +[CONTROL:TEXTCONTROL:GROUPBOX] +assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Text Color,TextColor(COLOR) +WindowStyle01=Flat,BS_FLAT(BOOL) +ContTitle=Group Box +ClassName=Button +Text=GroupBox +Name=GroupBox +Size=100,80 +Style=WS_CHILD|BS_GROUPBOX|WS_GROUP +HelpID=2200 +PropTabs=HyperLabel,GenGroupbox:General,GroupBoxStyles:Styles,ExStyles +InitMethod=GroupBox(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:GroupBox:-RadioButtonGroup) + +[CONTROL:TEXTCONTROL:RADIOBUTTONGROUP] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Field Spec,FieldSpec(CLASS:FIELDSPEC) +Assign03=Text Color,TextColor(COLOR) +ContTitle=Radio Button Group +ClassName=Button +Text=RadioButtonGrp +Name=RadioButtonGroup +Size=100,80 +Style=WS_CHILD|BS_GROUPBOX|WS_GROUP +PropTabs=HyperLabel,GenRadioButtonGroup:General,GroupBoxStyles:Styles,ExStyles +HelpID=2180 +InitMethod=RadioButtonGroup(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:RadioButtonGroup) + +[CONTROL:COMMONCONTROL] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Method01=Font,Font(FONT) + +[CONTROL:COMMONCONTROL:PROGRESSBAR] +WindowStyle01=Smooth,PBS_SMOOTH(BOOL) +WindowStyle02=Vertical,PBS_VERTICAL(BOOL) +Assign01=Min Value,Range(numeric,) +Assign02=Max Value,Range(,numeric) +Assign03=Bar Color,BarColor(COLOR) +Assign04=Background,BackgroundColor(COLOR) +ContTitle=Progress Bar +ClassName=msctls_progress32 +Name=ProgressBar +Size=140,20 +Style=WS_CHILD +HelpID=2260 +PropTabs=HyperLabel,GenProgBar:General,ProgressStyles:Styles,ExStylesNoStaticEdge:ExStyles +InitMethod=ProgressBar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ProgressBar) + +[CONTROL:SCROLLBAR:SLIDER] +WindowStyle38=Auto Ticks,TBS_AUTOTICKS(BOOL) +WindowStyle39=No Ticks,TBS_NOTICKS(BOOL) +WindowStyle40=Enable Selection Range,TBS_ENABLESELRANGE(BOOL) +WindowStyle41=Fixed Length,TBS_FIXEDLENGTH(BOOL) +WindowStyle42=No Thumb,TBS_NOTHUMB(BOOL) +WindowStyle43=Tooltips,TBS_TOOLTIPS(BOOL) + + +[CONTROL:SCROLLBAR:SLIDER:HORIZONTALSLIDER] +ContTitle=Horizontal Slider +ClassName=msctls_trackbar32 +Name=HorizontalSlider +Size=100,30 +Style=WS_CHILD|TBS_AUTOTICKS +HelpID=2265 +PropTabs=HyperLabel,GenScrollbar:General,SliderStyles:Styles,ExStyles +InitMethod=HorizontalSlider(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HorizontalSlider) + +[CONTROL:SCROLLBAR:SLIDER:VERTICALSLIDER] +ContTitle=Vertical Slider +ClassName=msctls_trackbar32 +Name=VerticalSlider +Size=30,100 +Style=WS_CHILD|TBS_AUTOTICKS|TBS_VERT +HelpID=2560 +PropTabs=HyperLabel,GenScrollbar:General,SliderStyles:Styles,ExStyles +InitMethod=VerticalSlider(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:VerticalSlider) + +[CONTROL:SCROLLBAR:SPINNER] +WindowStyle43=Wrap,UDS_WRAP(BOOL) +WindowStyle44=Alignment,WS_NULL:UDS_ALIGNLEFT:UDS_ALIGNRIGHT(UPDOWNALIGN) +WindowStyle45=Auto Buddy,UDS_AUTOBUDDY(BOOL) +WindowStyle46=Arrow Keys,UDS_ARROWKEYS(BOOL) +WindowStyle47=No Thousands,UDS_NOTHOUSANDS(BOOL) +WindowStyle48=Set Buddy Int,UDS_SETBUDDYINT(BOOL) + +[CONTROL:SCROLLBAR:SPINNER:VERTICALSPINNER] +ContTitle=Vertical Spinner +ClassName=msctls_updown32 +Name=VerticalSpinner +Size=20,30 +Style=WS_CHILD|UDS_AUTOBUDDY +HelpID=2555 +PropTabs=HyperLabel,GenScrollbar:General,SpinnerStyles:Styles,ExStyles +InitMethod=VerticalSpinner(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:VerticalSpinner) + +[CONTROL:SCROLLBAR:SPINNER:HORIZONTALSPINNER] +ContTitle=Horizontal Spinner +ClassName=msctls_updown32 +Name=HorizontalSpinner +Size=30,20 +Style=WS_CHILD|UDS_AUTOBUDDY|UDS_HORZ +HelpID=2555 +PropTabs=HyperLabel,GenScrollbar:General,SpinnerStyles:Styles,ExStyles +InitMethod=HorizontalSpinner(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HorizontalSpinner) + +[CONTROL:COMMONCONTROL:TABCONTROL] +Assign01=AutoSize,AutoSize(BOOL) +WindowStyle01=Force Icon Left,TCS_FORCEICONLEFT(BOOL) +WindowStyle02=Force Label Left,TCS_FORCELABELLEFT(BOOL) +WindowStyle03=Buttons,TCS_BUTTONS(BOOL) +WindowStyle04=Multiline,TCS_MULTILINE(BOOL) +WindowStyle05=Focus On Button Down,TCS_FOCUSONBUTTONDOWN(BOOL) +WindowStyle06=Has ToolTips,TCS_TOOLTIPS(BOOL) +WindowStyle07=Focus Never,TCS_FOCUSNEVER(BOOL) +WindowStyle08=Tab Position,WS_NULL:TCS_VERTICAL:TCS_BOTTOM:TCS_VERTICAL|TCS_RIGHT(TABPOSITION) +WindowStyle09=Hot Track,TCS_HOTTRACK(BOOL) +ContTitle=Tab Control +ClassName=SysTabControl32 +Name=TabControl +Size=180,100 +Style=WS_CHILD +HelpID=2280 +PropTabs=HyperLabel,GenTabControl:General,TCStyles:Styles,ExStyles +InitMethod=TabControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:TabControl) + +[CONTROL:COMMONCONTROL:TREEVIEW] +WindowStyle55=Has Buttons,TVS_HASBUTTONS(BOOL) +WindowStyle56=Has Lines,TVS_HASLINES(BOOL) +WindowStyle57=Lines at Root,TVS_LINESATROOT(BOOL) +WindowStyle58=Disable Drag&Drop,TVS_DISABLEDRAGDROP(BOOL) +WindowStyle59=Show Selection Always,TVS_SHOWSELALWAYS(BOOL) +WindowStyle60=Edit Labels,TVS_EDITLABELS(BOOL) +ContTitle=Tree View +ClassName=SysTreeView32 +Name=TreeView +Size=150,100 +Style=WS_CHILD|WS_BORDER|TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT|TVS_EDITLABELS +HelpID=2240 +PropTabs=HyperLabel,GenComControls:General,TVStyles:Styles,ExStyles +InitMethod=TreeView(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:TreeView) + +[CONTROL:COMMONCONTROL:LISTVIEW] +WindowStyle60=List View Type,LVS_ICON:LVS_SMALLICON:LVS_REPORT:LVS_LIST(LVTYPE) +WindowStyle61=Single Selection,LVS_SINGLESEL(BOOL) +WindowStyle62=Show Selection Always,LVS_SHOWSELALWAYS(BOOL) +WindowStyle63=Sort,WS_NULL:LVS_SORTASCENDING:LVS_SORTDESCENDING(LVSORT) +WindowStyle64=No Label Wrap,LVS_NOLABELWRAP(BOOL) +WindowStyle65=Auto Arrange,LVS_AUTOARRANGE(BOOL) +WindowStyle66=Edit Labels,LVS_EDITLABELS(BOOL) +WindowStyle67=No Scroll,LVS_NOSCROLL(BOOL) +WindowStyle68=Align Left,LVS_ALIGNLEFT(BOOL) +WindowStyle69=No Column Header,LVS_NOCOLUMNHEADER(BOOL) +WindowStyle70=No Sort Header,LVS_NOSORTHEADER(BOOL) +Assign01=Background,BackgroundColor(COLOR) +Assign02=Grid Lines,GridLines(BOOL) +Assign03=Header Drag&Drop,HeaderDragDrop(BOOL) +Assign04=Full Row Select,FullRowSelect(BOOL) +Assign05=Checkboxes,CheckBoxes(BOOL) +Assign06=Track Selection,TrackSelection(BOOL) +ContTitle=List View +ClassName=SysListView32 +Name=ListView +Size=150,120 +Style=WS_CHILD|WS_BORDER|LVS_REPORT|LVS_EDITLABELS +HelpID=2235 +PropTabs=HyperLabel,GenListView:General,LVStyles:Styles,LVExStyles:ExStyles +InitMethod=ListView(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ListView) + +[CONTROL:COMMONCONTROL:LISTVIEW:DATALISTVIEW] +Assign01=Server,Server(CLASS:DBSERVER:+SQLTable) +ContTitle=Data List View +ClassName=SysListView32 +Name=DataListView +Size=150,120 +Style=WS_CHILD|WS_BORDER|LVS_REPORT|WS_HSCROLL|LVS_SINGLESEL|LVS_SHOWSELALWAYS|LVS_OWNERDATA +HelpID=2920 +PropTabs=HyperLabel,GenListView:General,DLVStyles:Styles,LVExStyles:ExStyles +InitMethod=DataListView(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DataListView) + +[CONTROL:TEXTCONTROL:EDIT:MULTILINEEDIT:RICHEDIT] +WindowStyle74=Save Selection,ES_SAVESEL(BOOL) +WindowStyle75=Sunken,ES_SUNKEN(BOOL) +WindowStyle76=Disable No Scroll,ES_DISABLENOSCROLL(BOOL) +WindowStyle77=Align to Parent,ES_SELECTIONBAR(BOOL) +Assign01=Background,BackgroundColor(COLOR) +ContTitle=Rich Edit Control +ClassName=RICHEDIT20A +Name=RichEdit +Size=100,100 +Style=WS_CHILD|WS_BORDER|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL +HelpID=2245 +PropTabs=HyperLabel,GenRTFEdit:General,RichEditStyles:Styles,ExStylesNoClientEdge:ExStyles +InitMethod=RichEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:RichEdit) + +[CONTROL:TEXTCONTROL:HOTKEYEDIT] +ContTitle=HotKey Edit +ClassName=msctls_hotkey32 +Name=HotKeyEdit +Size=90,20 +Style=WS_CHILD +HelpID=2255 +PropTabs=HyperLabel,GenComControls:General,Styles,ExStylesNoClientEdge:ExStyles +InitMethod=HotKeyEdit(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:HotKeyEdit) + +[CONTROL:COMMONCONTROL:ANIMATIONCONTROL] +WindowStyle71=Center,ACS_CENTER(BOOL) +WindowStyle72=Transparent Background,ACS_TRANSPARENT(BOOL) +WindowStyle73=Auto Play,ACS_AUTOPLAY(BOOL) +Method01=Resource,OpenResource(numeric) +Assign01=AVI File,FileSpec(STRING) +ContTitle=Animation Control +ClassName=SysAnimate32 +Name=Animation +Size=60,60 +Style=WS_CHILD|WS_BORDER +HelpID=2250 +PropTabs=HyperLabel,GenAniControls:General,AnimStyles:Styles,ExStyles +InitMethod=AnimationControl(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:AnimationControl) + +[CONTROL:TEXTCONTROL:DATETIMEPICKER] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +Assign02=Format,Format(STRING) +WindowStyle01=Type,WS_NULL:DTS_LONGDATEFORMAT:DTS_TIMEFORMAT(DTPTYPE) +WindowStyle02=App Can Parse,DTS_APPCANPARSE(BOOL) +WindowStyle03=Right Align MC,DTS_RIGHTALIGN(BOOL) +WindowStyle04=Show None,DTS_SHOWNONE(BOOL) +WindowStyle05=Up-Down,DTS_UPDOWN(BOOL) +ContTitle=Date Time Picker Control +ClassName=SysDateTimePick32 +Name=DateTimePicker +Size=85,22 +Style=WS_CHILD|DTS_TIMEFORMAT|WS_TABSTOP +HelpID=2925 +PropTabs=HyperLabel,GenDTPick:General,DTPStyles:Styles,ExStylesNoClientEdge:ExStyles +InitMethod=DateTimePicker(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:DateTimePicker) + +[CONTROL:TEXTCONTROL:MONTHCALENDAR] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +WindowStyle01=Day State,MCS_DAYSTATE(BOOL) +WindowStyle02=Multi Select,MCS_MULTISELECT(BOOL) +WindowStyle03=No Today,MCS_NOTODAY(BOOL) +WindowStyle04=No Today Circle,MCS_NOTODAYCIRCLE(BOOL) +WindowStyle05=Week Numbers,MCS_WEEKNUMBERS(BOOL) +ContTitle=Month Calendar Control +ClassName=SysMonthCal32 +Name=MonthCalendar +Size=180,160 +Style=WS_CHILD|WS_TABSTOP +ExStyle=WS_EX_CLIENTEDGE +HelpID=2935 +PropTabs=HyperLabel,GenMonthCal:General,MCStyles:Styles,ExStyles +InitMethod=MonthCalendar(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:MonthCalendar) + +[CONTROL:TEXTCONTROL:BASELISTBOX:COMBOBOX:COMBOBOXEX] +ContTitle=ComboBoxEx +ClassName=ComboBoxEx32 +Name=ComboBoxEx +Size=80,120 +Style=WS_TABSTOP|WS_CHILD|CBS_DROPDOWN +HelpID=2910 +PropTabs=HyperLabel,GenListbox:General,ComboBoxStyles:Styles,ExStyles +InitMethod=comboboxex(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:ComboBoxEx) + +[CONTROL:TEXTCONTROL:IPADDRESS] +Assign01=Use for Tooltip,UseHLforToolTip(BOOL) +ContTitle=IP Address +ClassName=SysIPAddress32 +Text=IPAddress +Name=IPAddress +Size=100,20 +Style=WS_CHILD|WS_TABSTOP +HelpID=2930 +PropTabs=HyperLabel,GenIPAddress:General,Styles,ExStyles +InitMethod=IPAddress(PARENT,ID,POSITION,SIZE) +InheritClassName=Inherit from Class,InheritClassName(CLASS:IPAddress) + +[AssignMap] +BackgroundColor=Color +BarColor=Color +Background=Brush +TextLimit= +TextColor=Color +Caption= +AllowInPlace= +ActivateOnDblClk= +AllowResize= +AutoSizeOnCreate= +ReadOnly= +ClipperKeys= +AutoSize= +OverWrite= +Picture= +PreventAutoLayout= +TooltipText= +UseHLforTooltip= +AllowDocView= +DeferUse= +GridLines= +HeaderDragDrop= +FullRowSelect= +CheckBoxes= +TrackSelection= +QuitOnClose= +Automated= +Format= +AllowServerClose= +ScrollMode= +FocusSelect= +AutoFocusChange= +OwnerAlignment= +FileName= + +[StdProperties] +;**** Types +FONT=FONTSYSTEM8,FONTMODERN8,FONTMODERN10,FONTMODERN12,FONTSWISS8,FONTSWISS10,FONTSWISS12,FONTSWISS14,FONTSWISS18,FONTSWISS24,FONTROMAN8,FONTROMAN10,FONTROMAN12,FONTROMAN14,FONTROMAN18,FONTROMAN24 +BRUSH=BRUSHWHITE,BRUSHBLACK,BRUSHDARK,BRUSHMEDIUM,BRUSHLIGHT,BRUSHHOLLOW,BRUSHCLEAR +COLOR=COLORBLACK,COLORBLUE,COLORCYAN,COLORGREEN,COLORMAGENTA,COLORRED,COLORYELLOW,COLORWHITE +LOGIC=Yes +BOOL=True,False +OLOGIC=#ON,#OFF +VIEWS=#FormView,#BrowseView +BUTTONIMAGESTYLE=No Image,Icon,Bitmap +BUTTONHALIGN=Auto,Left,Right,Center +BUTTONVALIGN=Auto,Top,Bottom,Center +BUTTONIMAGETYPE=No Image,Icon,Bitmap +CBAUTOSTYLE=No AutoSelect,AutoSelect,3 State,AutoSelect 3 State +EDITCONVERT=No Conversion,Uppercase,Lowercase +EDITALIGN=Left,Center,Right +FIXEDALIGN=Left,Center,Right,Simple,Left No Wrap, +UPDOWNALIGN=No Alignment,Left,Right +OWNERDRAW=No Ownerdraw,Fixed,Variable +CBTYPE=Simple,Drop Down,Drop Down List +LVTYPE=Icons,Small Icons,Report,List +LVSORT=No Sort,Ascending,Descending +CAPTIONBAR=No Caption Bar,Caption Bar Only,System Menu,Minimize Box,Maximize Box,Both Boxes +DIALOGPOS=Auto,Center,Center Mouse +DIALOGTYPE=Popup Dialog,Tab Page +TABKEY=Form Only,Include Parent +OVERWRITE=OVERWRITE_NEVER,OVERWRITE_ONKEY,OVERWRITE_ALWAYS +SCRMODE=SCRMODE_FULL,SCRMODE_PART,SCRMODE_NO +FSELECT=FSEL_ALL,FSEL_TRIM,FSEL_HOME,FSEL_END,FSEL_TRIMEND +DTPTYPE=Short Date,Long Date,Time +TABPOSITION=Top,Left,Bottom,Right +EXALIGNMENT=Left,Right +OWNERALIGNMENT=OA_LEFT,OA_TOP,OA_RIGHT,OA_BOTTOM,OA_CENTER,OA_LEFT_AUTOSIZE,OA_TOP_AUTOSIZE,OA_RIGHT_AUTOSIZE,OA_BOTTOM_AUTOSIZE,OA_FULL_SIZE,OA_X,OA_X_Y,OA_X_PY, OA_X_PY_PHEIGHT,OA_X_HEIGHT,OA_X_PHEIGHT,OA_PX,OA_PX_Y,OA_PX_Y_PWIDTH,OA_PX_PY_PHEIGHT,OA_PX_PY_PWIDTH_PHEIGHT,OA_PX_PWIDTH,OA_PX_PWIDTH_HEIGHT,OA_PX_PWIDTH_PHEIGHT,OA_PX_HEIGHT,OA_PX_PHEIGHT,OA_Y,OA_Y_WIDTH,OA_Y_PWIDTH,OA_PY,OA_PY_WIDTH_PHEIGHT,OA_PY_PWIDTH_PHEIGHT,OA_PY_PHEIGHT,OA_WIDTH,OA_WIDTH_HEIGHT,OA_WIDTH_PHEIGHT,OA_PWIDTH,OA_PWIDTH_HEIGHT,OA_PWIDTH_PHEIGHT,OA_HEIGHT,OA_PHEIGHT + +;**** Association between Tabs and methods/assigns/styles +HyperLabel=(Hyperlabel Info)Caption,Name,Description,Help Context,Use for Tooltip +DataWindow=(DataWindow Properties)Inherit from Class,_DBInhFrom,_DCInhFrom,Class Declaration,No Access/Assign,Export Controls,Pixel Positions,Automated,Large Icon,Small Icon,Accelerator Table,Background Color,Menu,Context Menu,Help File Name,View As,Clipper Keys,Tab Key,Data Server,Prevent Auto Layout,Allow Server Close,Defer USE,Quit On Close,Font,StatusBar,Notify,PreValidate,PreInit Actions,PostInit Actions,_Width,_Height,Owner Alignment +DataDialog=(DataDialog Properties)Inherit from Class,_DBInhFrom,_DCInhFrom,Class Declaration,No Access/Assign,Export Controls,Pixel Positions,Automated,Large Icon,Small Icon,Accelerator Table,Background Color,Context Menu,Help File Name,View As,Clipper Keys,Data Server,Prevent Auto Layout,Allow Server Close,Defer USE,Font,Notify,PreValidate,PreInit Actions,PostInit Actions,_Width,_Height +ShellWindow=(ShellWindow Properties)Inherit from Class,Class Declaration,Large Icon,Small Icon,Mouse Pointer,Menu,Context Menu,Help File Name,PreInit Actions,PostInit Actions,_Width,_Height +DlgWindow=(DialogWindow Properties)Inherit from Class,Class Declaration,Type,Export Controls,Pixel Positions,Automated,Large Icon,Small Icon,Font,Modeless,Background Color,Mouse Pointer,Clipper Keys,Tab Key,Help File Name,PreInit Actions,PostInit Actions,_Width,_Height +Mouse Events=(Window Mouse Events)MouseButtonDoubleClick,MouseButtonDown,MouseButtonUp,MouseDrag,MouseMove +Window Events=(Windows Events)Activate,Close,Deactivate,Draw,Expose,FocusChange,HelpRequest,Move,QueryClose,Resize +Menu Events=(Window Menu Events)MenuCommand,MenuInit,MenuSelect +Control Events=(Window Control Events)ButtonClick,ButtonDoubleClick,EditChange,EditFocusChange,EditScroll,Keydown,Keyup,ListBoxClick,ListBoxSelect,HorizontalScroll,VerticalScroll,HorizontalSlide,VerticalSlide,HorizontalSpin,VerticalSpin +CommonControl Events=(CommonControl Events)AnimationStart,AnimationStop,RichEditDropFiles,RichEditProtected,RichEditSelChange,RichEditUndoLost,TabSelect,TabSelChanging,TabKeyDown,MonthCalSelChanged,DateTimeSelChanged +TreeView Events=(TreeView Events)TreeViewMouseDown,TreeViewMouseDoubleClick,TreeViewItemDrag,TreeViewItemEdit,TreeViewItemDelete,TreeViewItemExpanded,TreeViewItemExpanding,TreeViewKeyDown,TreeViewSelChanged,TreeViewSelChanging +ListView Events=(ListView Events)ListViewItemDrag,ListViewItemEdit,ListViewColumnClick,ListViewItemDelete,ListViewKeyDown,ListViewMouseDown,ListViewMouseDoubleClick +GenMultiSel=(General Multiple Selection Properties)Context Menu,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenCustCtrl=(General CustomControl Properties)Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenMMCont=(General MultiMedia Container Properties)Field Spec,Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,Owner Alignment,File Name,_Width,_Height,_Left,_Top +GenSubData=(General SubDataWindow Properties)Name,Relation String,Order,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenPushButton=(General PushButton Properties)Click Event,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Image,Owner Alignment,_Width,_Height,_Left,_Top +GenRadioButton=(General RadioButton Properties)Group Value,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Image,Owner Alignment,_Width,_Height,_Left,_Top +GenCheckbox=(General CheckBox Properties)Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Image,Owner Alignment,_Width,_Height,_Left,_Top +GenScrollbar=(General ScrollBar Properties)Field Spec,Min Value,Max Value,Background Color,Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenEdit=(General Edit Properties)Field Spec,Text Limit,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenSingleEdit=(General SinglelineEdit Properties)Block,Block Owner,Field Spec,Text Limit,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Picture,Overwrite,Scroll Mode,Focus Select,Auto Focus Change,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenListbox=(General ListBox Properties)Fill Using,Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_GenCode,_Visible,Owner Alignment,_Width,_Height,_Left,_Top +GenFixedText=(General FixedText Properties)Text Color,Background Color,Inherit from Class,Context Menu,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenFixedImage=(General FixedImage Properties)Background Color,Inherit from Class,Context Menu,Icon,Bitmap,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenGroupbox=(General GroupBox Properties)Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenRadioButtonGroup=(General RadioButtonGroup Properties)Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenComControls=(General CommonControl Properties)Background Color,Inherit from Class,Context Menu,Tooltip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenAniControls=(General AnimationControl Properties)Background Color,Inherit from Class,Context Menu,Tooltip,Resource,AVI File,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenTabControl=(General TabControl Properties)Inherit from Class,Context Menu,Font,AutoSize,_Visible,_GenCode,_IsDataPage,_PageCaption,_PageName,Owner Alignment,_Width,_Height,_Left,_Top +GenListView=(General CommonControl Properties)Background,Inherit from Class,Server,Context Menu,Tooltip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenProgBar=(General ProgressBar Properties)Inherit From Class,Context Menu,Tooltip,Background,Bar Color,Min Value,Max Value,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenRTFEdit=(General Edit Properties)Field Spec,Text Limit,Text Color,Background,Inherit from Class,Context Menu,Tooltip,Font,Input Method Editor,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenDTPick=(General Date Time Picker Properties)Field Spec,Text Color,Background Color,Inherit from Class,Context Menu,Tooltip,Font,Format,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenMonthCal=(General Month Calendar Properties)Field Spec,Text Color,Background,Inherit from Class,Context Menu,Tooltip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +GenOleObject=(General OLE Object Properties)Field Spec,Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,AllowInPlace,ActivateOnDblClk,AllowResize,AutoSizeOnCreate,ReadOnly,AllowDocView,Owner Alignment,_Width,_Height,_Left,_Top +GenOleControl=(General OLE Control Properties)Inherit from Class,Context Menu,Tooltip,_Visible,_GenCode,AllowInPlace,ActivateOnDblClk,AllowResize,AutoSizeOnCreate,ReadOnly,Owner Alignment,_Width,_Height,_Left,_Top +GenIPAddress=(General IPAddress Properties)Field Spec,Inherit from Class,Context Menu,ToolTip,Font,_Visible,_GenCode,Owner Alignment,_Width,_Height,_Left,_Top +OCXProperties=(OLE Control Properties)_OCXPropertyPages,_OCXPropertyList +OCXEvents=(OLE Control Events)_OCXEventList +Styles=(Window Styles)Disabled,Tab Stop,Group +ExStyles=(Extended Window Styles)Clip Siblings,Right-To-Left Reading,ExAlignment,No Parent Notify,Accept Files,Transparent,Client Edge,Static Edge,Modal Frame +ExStylesNoStaticEdge=(Extended Window Styles)Clip Siblings,Right-To-Left Reading,ExAlignment,No Parent Notify,Accept Files,Transparent,Client Edge,Modal Frame +ExStylesNoClientEdge=(Extended Window Styles)Clip Siblings,Right-To-Left Reading,ExAlignment,No Parent Notify,Accept Files,Transparent,Static Edge,Modal Frame +SubDataStyles=(Sub Data Window Styles)Tab Stop,Border +OLEObjStyles=(OLE Object Window Styles)Disabled,Tab Stop,Group,Border +CustomCtlStyles=(Custom Control Window Styles)Disabled,Tab Stop,Group,Border +MMContStyles=(MulitMedia Container Window Styles)Disabled,Tab Stop,Group,Border +FixedTextStyles=(FixedText Window Styles)Disabled,Tab Stop,Group,Border,No Prefix,Alignment,Center vertically +FixedImageStyles=(FixedImage Window Styles)Disabled,Tab Stop,Group,Border,Real Size Image,Center Image,Right adjust +PushButtonStyles=(PushButton Window Styles)Disabled,Tab Stop,Group,Default Button,Multiline,Flat,Horizontal Alignment,Vertical Alignment,Image Type +CheckBoxStyles=(CheckBox Window Styles)Disabled,Tab Stop,Group,Text Left,Selection,Multiline,Flat,Horizontal Alignment,Vertical Alignment,Push Like,Image Type +RadioButtonStyles=(RadioButton Window Styles)Disabled,Tab Stop,Group,Text Left,Flat,AutoSelect,Multiline,Horizontal Alignment,Vertical Alignment,Push Like,Image Type +GroupBoxStyles=(GroupBox Window Styles)Disabled,Tab Stop,Group,Flat +ProgressStyles=(ProgressBar Styles)Disabled,Tab Stop,Group,Smooth,Vertical +SingleLineStyles=(SingleLine Edit Window Styles)Disabled,Tab Stop,Group,Border,Password,Retain Selection,OEM Conversion,Auto HScroll,Read Only,Conversion,Numbers Only,Alignment +MultiLineStyles=(MultiLine Edit Window Styles)Disabled,Tab Stop,Group,Border,Password,Retain Selection,OEM Conversion,Vertical Scrollbar,Horizontal Scrollbar,Auto VScroll,Auto HScroll,Return Key,Read Only,Conversion,Alignment +ListBoxStyles=(ListBox Window Styles)Disabled,Tab Stop,Group,Border,Sort,Notify Parent,Vertical Scrollbar,Horizontal Scrollbar,Use Tab Stops,No Redraw,Multi Column,No Integral Height,Want Keyboard Input,Multiple Selection,Extended Selection,Disable if no Scroll,Owner Draw +ComboBoxStyles=(ComboBox Window Styles)Disabled,Tab Stop,Group,ComboBox Type,Sort,Vertical Scrollbar,Auto HScroll,No Integral Height,OEM Convert,Disable if no Scroll,OwnerDraw +ScrollBarStyles=(ScrollBar Window Styles)Disabled,Tab Stop,Group,AutoSize,Size Grip +SliderStyles=(Slider Window Styles)Disabled,Tab Stop,Group,Auto Ticks,No Ticks,Enable Selection Range,Fixed Length,No Thumb,Tooltips +SpinnerStyles=(Spinner Window Styles)Disabled,Tab Stop,Group,Wrap,Alignment,Auto Buddy,Set Buddy Int,Arrow Keys,No Thousands +TCStyles=(TabControl Window Styles)Disabled,Tab Stop,Group,Force Icon Left,Force Label Left,Buttons,Multiline,Focus On Button Down,Has ToolTips,Focus Never,Tab Position,Hot Track +TVStyles=(TreeView Window Styles)Disabled,Tab Stop,Group,Border,Has Buttons,Has Lines,Lines at Root,Disable Drag&Drop,Show Selection Always,Edit Labels +LVStyles=(ListView Window Styles)Disabled,Tab Stop,Group,Border,List View Type,Single Selection,Show Selection Always,Sort,No Label Wrap,Auto Arrange,Edit Labels,No Scroll,Align Left,No Column Header,No Sort Header +DLVStyles=(ListView Window Styles)Disabled,Tab Stop,Group,Border,Label Wrap,Edit Labels,No Scroll,Align Left,No Column Header,No Sort Header +AnimStyles=(AnimationControl Window Styles)Disabled,Tab Stop,Border,Group,Center,Transparent Background,Auto Play +RichEditStyles=(RichEdit Control Window Styles)Disabled,Tab Stop,Group,Border,Retain Selection,Vertical Scrollbar,Horizontal Scrollbar,Auto VScroll,Auto HScroll,Return Key,Read Only,Alignment,Save Selection,Sunken,Disable No Scroll,Align to Parent +DlgWndStyles=(DialogWindow Styles)Disabled,Caption Bar,Clip Siblings,Clip Children,Absolute Align,System Modal,No Idle Message,Resizable,Position +MCStyles=(Month Calendar Styles)Disabled,Tab Stop,Group,Day State,Multi Select,No Today,No Today Circle,Week Numbers +DTPStyles=(Date Time Picker Styles)Disabled,Tab Stop,Group,Type,Right Align MC,Show None,Up-Down +LVExStyles=(Extended ListView Styles)Clip Siblings,Right-To-Left Reading,No Parent Notify,Accept Files,Transparent,Client Edge,Static Edge,Modal Frame,Grid Lines,Full Row Select,Header Drag&Drop,Checkboxes,Track Selection + +[SupplementalFiles] +File00= +File01= +File02= +File03= +File04= + diff --git a/src/Templates/working/content/p_vosdiapplication/cavowed.tpl b/src/Templates/working/content/p_vosdiapplication/cavowed.tpl new file mode 100644 index 0000000000..aa43daa7fd --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/cavowed.tpl @@ -0,0 +1,464 @@ +; +; syntax of templates: +; +; [
] +; +; +; where
is the name of the section. This name can be used +; in CODE:
syntax of description file +; +; consists of code. Use \t for a tab character. Other +; substitution keywords are: +; +; %CONTROL:% for a control property +; %FORM:% for a form property +; +; ie: %CONTROL:NAME% for control's name +; %CONTROL:CLASSNAME% for control's class name +; +; %INITPARAMS% for the parameters of the INIT method +; +; Note: semicolon (';') in first column designates a comment line + + +[ClassDeclaration] +class %FORM:NAME% inherit %FORM:CLASSNAME% + +[Activate] +method Activate(oEvent) class %FORM:NAME% +\tsuper:Activate(oEvent) +\t//Put your changes here +\treturn NIL + +[ButtonClick] +method ButtonClick(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ButtonClick(oControlEvent) +\t//Put your changes here +\treturn NIL + +[ButtonDoubleClick] +method ButtonDoubleClick(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ButtonDoubleClick(oControlEvent) +\t//Put your changes here +\treturn NIL + +[Close] +method Close(oEvent) class %FORM:NAME% +\tsuper:Close(oEvent) +\t//Put your changes here +\treturn NIL + +[Deactivate] +method Deactivate(oEvent) class %FORM:NAME% +\tsuper:Deactivate(oEvent) +\t//Put your changes here +\treturn NIL + +[Draw] +method Draw(oDrawObject) class %FORM:NAME% +\tsuper:Draw(oDrawObject) +\t//Put your changes here +return NIL + +[EditChange] +method EditChange(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:EditChange(oControlEvent) +\t//Put your changes here +\treturn NIL\r\n + +[EditFocusChange] +method EditFocusChange(oEditFocusChangeEvent) class %FORM:NAME% +\tlocal oControl as Control +\tlocal lGotFocus as logic +\toControl := IIf(oEditFocusChangeEvent == NULL_OBJECT, NULL_OBJECT, oEditFocusChangeEvent:Control) +\tlGotFocus := IIf(oEditFocusChangeEvent == NULL_OBJECT, FALSE, oEditFocusChangeEvent:GotFocus) +\tsuper:EditFocusChange(oEditFocusChangeEvent) +\t//Put your changes here +\treturn NIL + +[EditScroll] +method EditScroll(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:EditScroll(oControlEvent) +\t//Put your changes here +\treturn NIL + +[Expose] +method Expose(oExposeEvent) class %FORM:NAME% +\tlocal oBoundingBox as BoundingBox +\toBoundingBox := IIf(oExposeEvent == NULL_OBJECT, NULL_OBJECT, oExposeEvent:ExposedArea) +\tsuper:Expose(oExposeEvent) +\t//Put your changes here +\treturn NIL\r\n + +[FocusChange] +method FocusChange(oFocusChangeEvent) class %FORM:NAME% +\tlocal lGotFocus as logic +\tlGotFocus := IIf(oFocusChangeEvent == NULL_OBJECT, FALSE, oFocusChangeEvent:GotFocus) +\tsuper:FocusChange(oFocusChangeEvent) +\t//Put your changes here +\treturn NIL + +[PreInit] +method PreInit(%INITPARAMS%) class %FORM:NAME% +\t//Put your PreInit additions here +\treturn NIL + +[PostInit] +method PostInit(%INITPARAMS%) class %FORM:NAME% +\t//Put your PostInit additions here +\treturn NIL + +[PreInitCall] +; this section is inserted at the end of the INIT method of the form +; use %INITPARAMS% to insert the parameters of INIT +self:PreInit(%INITPARAMS%) + +[PostInitCall] +; this section is inserted at the end of the INIT method the form +; use %INITPARAMS% to insert the parameters of INIT +self:PostInit(%INITPARAMS%) + +[HelpRequest] +method HelpRequest(oHelpRequestEvent) class %FORM:NAME% +\tsuper:HelpRequest(oHelpRequestEvent) +\t//Put your changes here +\treturn NIL + +[HorizontalScroll] +method HorizontalScroll(oScrollEvent) class %FORM:NAME% +\tsuper:HorizontalScroll(oScrollEvent) +\t//Put your changes here +\treturn NIL + +[Keydown] +method KeyDown(oKeyEvent) class %FORM:NAME% +\tlocal nKeyCode as int +\tnKeyCode := IIf(oKeyEvent = NULL_OBJECT, 0, IIf(IsNil(oKeyEvent:ASCIIChar), oKeyEvent:KeyCode, oKeyEvent:ASCIIChar)) +\tsuper:KeyDown(oKeyEvent) +\t//Put your changes here +\treturn NIL + +[Keyup] +method KeyUp(oKeyEvent) class %FORM:NAME% +\tlocal nKeyCode as int +\tnKeyCode := IIf(oKeyEvent = NULL_OBJECT, 0, IIf(IsNil(oKeyEvent:ASCIIChar), oKeyEvent:KeyCode, oKeyEvent:ASCIIChar)) +\tsuper:KeyUp(oKeyEvent) +\t//Put your changes here +\treturn NIL + +[ListBoxClick] +method ListBoxClick(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ListBoxClick(oControlEvent) +\t//Put your changes here +\treturn NIL + +[ListBoxSelect] +method ListBoxSelect(oControlEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlEvent == NULL_OBJECT, NULL_OBJECT, oControlEvent:Control) +\tsuper:ListBoxSelect(oControlEvent) +\t//Put your changes here +\treturn NIL + +[MenuCommand] +method MenuCommand(oMenuCommandEvent) class %FORM:NAME% +\tsuper:MenuCommand(oMenuCommandEvent) +\t//Put your changes here +\treturn NIL + +[MenuInit] +method MenuInit(oMenuInitEvent) class %FORM:NAME% +\tsuper:MenuInit(oMenuInitEvent) +\t//Put your changes here +\treturn NIL + +[MenuSelect] +method MenuSelect(oMenuSelectEvent) class %FORM:NAME% +\tsuper:MenuSelect(oMenuSelectEvent) +\t//Put your changes here +\treturn NIL + +[MouseButtonDoubleClick] +method MouseButtonDoubleClick(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseButtonDoubleClick(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseButtonDown] +method MouseButtonDown(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseButtonDown(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseButtonUp] +method MouseButtonUp(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseButtonUp(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseDrag] +method MouseDrag(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseDrag(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[MouseMove] +method MouseMove(oMouseEvent) class %FORM:NAME% +\tlocal nButtonID as int +\tnButtonID := IIf(oMouseEvent == NULL_OBJECT, 0, oMouseEvent:ButtonID) +\tsuper:MouseMove(oMouseEvent) +\t//Put your changes here +\treturn NIL + +[Move] +method Move(oMoveEvent) class %FORM:NAME% +\tsuper:Move(oMoveEvent) +\t//Put your changes here +\treturn NIL + +[Notify] +method Notify(kNotifyName, uDescription) class %FORM:NAME% +\tlocal uValue as usual +\tuValue := super:Notify(kNotifyName, uDescription) +\t//Put your changes here +\treturn uValue + +[PreValidate] +method PreValidate() class %FORM:NAME% +\tsuper:PreValidate() +\t//Put your changes here +\treturn NIL + +[QueryClose] +method QueryClose(oEvent) class %FORM:NAME% +\tlocal lAllowClose as logic +\tlAllowClose := super:QueryClose(oEvent) +\t//Put your changes here +\treturn lAllowClose + +[Resize] +method Resize(oResizeEvent) class %FORM:NAME% +\tsuper:Resize(oResizeEvent) +\t//Put your changes here +\treturn NIL + +[VerticalScroll] +method VerticalScroll(oScrollEvent) class %FORM:NAME% +\tsuper:VerticalScroll(oScrollEvent) +\t//Put your changes here +\treturn NIL + +[HorizontalSlide] +method HorizontalSlide(oSlideEvent) class %FORM:NAME% +\tsuper:HorizontalSlide(oSlideEvent) +\t//Put your changes here +\treturn NIL + +[VerticalSlide] +method VerticalSlide(oSlideEvent) class %FORM:NAME% +\tsuper:VerticalSlide(oSlideEvent) +\t//Put your changes here +\treturn NIL + +[HorizontalSpin] +method HorizontalSpin(oSpinEvent) class %FORM:NAME% +\tsuper:HorizontalSpin(oSpinEvent) +\t//Put your changes here +\treturn NIL + +[VerticalSpin] +method VerticalSpin(oSpinEvent) class %FORM:NAME% +\tsuper:VerticalSpin(oSpinEvent) +\t//Put your changes here +\treturn NIL + +[AnimationStart] +method AnimationStart(oControlNotifyEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlNotifyEvent == NULL_OBJECT, NULL_OBJECT, oControlNotifyEvent:Control) +\tsuper:AnimationStart(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[AnimationStop] +method AnimationStop(oControlNotifyEvent) class %FORM:NAME% +\tlocal oControl as Control +\toControl := IIf(oControlNotifyEvent == NULL_OBJECT, NULL_OBJECT, oControlNotifyEvent:Control) +\tsuper:AnimationStop(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[RichEditDropFiles] +method RichEditDropFiles(oRichEditDropEvent) class %FORM:NAME% +\tsuper:RichEditDropFiles(oRichEditDropEvent) +\t//Put your changes here +\treturn NIL + +[RichEditProtected] +method RichEditProtected(oRichEditProtectEvent) class %FORM:NAME% +\tsuper:RichEditProtected(oRichEditProtectEvent) +\t//Put your changes here +\treturn NIL + +[RichEditSelectionChange] +method RichEditSelectionChange(oRichEditSelectionEvent) class %FORM:NAME% +\tsuper:RichEditSelectionChange(oRichEditSelectionEvent) +\t//Put your changes here +\treturn NIL + +[RichEditUndoLost] +method RichEditUndoLost(oControlNotifyEvent) class %FORM:NAME% +\tsuper:RichEditUndoLost(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[ListViewItemDrag] +method ListViewItemDrag(oListViewDragEvent) class %FORM:NAME% +\tsuper:ListViewItemDrag(oListViewDragEvent) +\t//Put your changes here +\treturn NIL + +[ListViewItemEdit] +method ListViewItemEdit(oListViewEditEvent) class %FORM:NAME% +\tsuper:ListViewItemEdit(oListViewEditEvent) +\t//Put your changes here +\treturn NIL + +[ListViewColumnClick] +method ListViewColumnClick(oListViewColumnClickEvent) class %FORM:NAME% +\tsuper:ListViewColumnClick(oListViewColumnClickEvent) +\t//Put your changes here +\treturn NIL + +[ListViewItemDelete] +method ListViewItemDelete(oListViewDeleteEvent) class %FORM:NAME% +\tsuper:ListViewItemDelete(oListViewDeleteEvent) +\t//Put your changes here +\treturn NIL + +[ListViewKeyDown] +method ListViewKeyDown(oListViewKeyEvent) class %FORM:NAME% +\tsuper:ListViewKeyDown(oListViewKeyEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewMouseButtonDown] +method TreeViewMouseButtonDown(oTreeViewMouseEvent) class %FORM:NAME% +\tsuper:TreeViewMouseButtonDown(oTreeViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[ListViewMouseButtonDown] +method ListViewMouseButtonDown(oListViewMouseEvent) class %FORM:NAME% +\tsuper:ListViewMouseButtonDown(oListViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewMouseButtonDoubleClick] +method TreeViewMouseButtonDoubleClick(oTreeViewMouseEvent) class %FORM:NAME% +\tsuper:TreeViewMouseButtonDoubleClick(oTreeViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[ListViewMouseButtonDoubleClick] +method ListViewMouseButtonDoubleClick(oListViewMouseEvent) class %FORM:NAME% +\tsuper:ListViewMouseButtonDoubleClick(oListViewMouseEvent) +\t//Put your changes here +\treturn NIL + +[TabSelect] +method TabSelect(oControlNotifyEvent) class %FORM:NAME% +\tsuper:TabSelect(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[TabSelectionChanging] +method TabSelectionChanging(oControlNotifyEvent) class %FORM:NAME% +\tsuper:TabSelectionChanging(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[TabKeyDown] +method TabKeyDown(oControlNotifyEvent) class %FORM:NAME% +\tsuper:TabKeyDown(oControlNotifyEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemDrag] +method TreeViewItemDrag(oTreeViewDragEvent) class %FORM:NAME% +\tsuper:TreeViewItemDrag(oTreeViewDragEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemEdit] +method TreeViewItemEdit(oTreeViewEditEvent) class %FORM:NAME% +\tsuper:TreeViewItemEdit(oTreeViewEditEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemDelete] +method TreeViewItemDelete(oTreeViewDeleteEvent) class %FORM:NAME% +\tsuper:TreeViewItemDelete(oTreeViewDeleteEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemExpanded] +method TreeViewItemExpanded(oTreeViewExpandedEvent) class %FORM:NAME% +\tsuper:TreeViewItemExpanded(oTreeViewExpandedEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewItemExpanding] +method TreeViewItemExpanding(oTreeViewExpandingEvent) class %FORM:NAME% +\tsuper:TreeViewItemExpanding(oTreeViewExpandingEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewKeyDown] +method TreeViewKeyDown(oTreeViewKeyEvent) class %FORM:NAME% +\tsuper:TreeViewKeyDown(oTreeViewKeyEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewSelectionChanged] +method TreeViewSelectionChanged(oTreeViewSelectionEvent) class %FORM:NAME% +\tsuper:TreeViewSelectionChanged(oTreeViewSelectionEvent) +\t//Put your changes here +\treturn NIL + +[TreeViewSelectionChanging] +method TreeViewSelectionChanging(oTreeViewSelectionEvent) class %FORM:NAME% +\tsuper:TreeViewSelectionChanging(oTreeViewSelectionEvent) +\t//Put your changes here +\treturn NIL + +[MonthCalSelectionChanged] +method MonthCalSelectionChanged(oMonthCalSelectionEvent) class %FORM:NAME% +\tsuper:MonthCalSelectionChanged(oMonthCalSelectionEvent) +\t//Put your changes here +\treturn NIL + +[DateTimeSelectionChanged] +method DateTimeSelectionChanged(oDateTimeSelectionEvent) class %FORM:NAME% +\tsuper:DateTimeSelectionChanged(oDateTimeSelectionEvent) +\t//Put your changes here +\treturn NIL + diff --git a/src/Templates/working/content/p_vosdiapplication/cctl6.man b/src/Templates/working/content/p_vosdiapplication/cctl6.man new file mode 100644 index 0000000000..184d3bffa9 --- /dev/null +++ b/src/Templates/working/content/p_vosdiapplication/cctl6.man @@ -0,0 +1,23 @@ + + + +Visual Objects Application. + + + + + + + diff --git a/src/Templates/working/content/p_vulcanconsole/.template.config/VulcanConsole.png b/src/Templates/working/content/p_vulcanconsole/.template.config/VulcanConsole.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5358675badd22dd40cf1c218dbe792e9276b68 GIT binary patch literal 7177 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 + + + Exe + VulcanApplication + Vulcan + true + true + True + False + net8.0 + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/webmap/.template.config/template.json b/src/Templates/working/content/p_webmap/.template.config/template.json similarity index 100% rename from src/Templates/working/content/webmap/.template.config/template.json rename to src/Templates/working/content/p_webmap/.template.config/template.json diff --git a/src/Templates/working/content/webmap/DataId.prg b/src/Templates/working/content/p_webmap/DataId.prg similarity index 100% rename from src/Templates/working/content/webmap/DataId.prg rename to src/Templates/working/content/p_webmap/DataId.prg diff --git a/src/Templates/working/content/webmap/DataUser.prg b/src/Templates/working/content/p_webmap/DataUser.prg similarity index 100% rename from src/Templates/working/content/webmap/DataUser.prg rename to src/Templates/working/content/p_webmap/DataUser.prg diff --git a/src/Templates/working/content/webmap/Program.prg b/src/Templates/working/content/p_webmap/Program.prg similarity index 100% rename from src/Templates/working/content/webmap/Program.prg rename to src/Templates/working/content/p_webmap/Program.prg diff --git a/src/Templates/working/content/webmap/Properties/launchSettings.json b/src/Templates/working/content/p_webmap/Properties/launchSettings.json similarity index 100% rename from src/Templates/working/content/webmap/Properties/launchSettings.json rename to src/Templates/working/content/p_webmap/Properties/launchSettings.json diff --git a/src/Templates/working/content/webmap/RESTful.prg b/src/Templates/working/content/p_webmap/RESTful.prg similarity index 100% rename from src/Templates/working/content/webmap/RESTful.prg rename to src/Templates/working/content/p_webmap/RESTful.prg diff --git a/src/Templates/working/content/webmap/Readme.md b/src/Templates/working/content/p_webmap/Readme.md similarity index 100% rename from src/Templates/working/content/webmap/Readme.md rename to src/Templates/working/content/p_webmap/Readme.md diff --git a/src/Templates/working/content/webmap/RouteId.prg b/src/Templates/working/content/p_webmap/RouteId.prg similarity index 100% rename from src/Templates/working/content/webmap/RouteId.prg rename to src/Templates/working/content/p_webmap/RouteId.prg diff --git a/src/Templates/working/content/webmap/RouteUsers.prg b/src/Templates/working/content/p_webmap/RouteUsers.prg similarity index 100% rename from src/Templates/working/content/webmap/RouteUsers.prg rename to src/Templates/working/content/p_webmap/RouteUsers.prg diff --git a/src/Templates/working/content/webmap/XSharp.WebMap.xsproj b/src/Templates/working/content/p_webmap/XSharp.WebMap.xsproj similarity index 100% rename from src/Templates/working/content/webmap/XSharp.WebMap.xsproj rename to src/Templates/working/content/p_webmap/XSharp.WebMap.xsproj diff --git a/src/Templates/working/content/webmap/testRest/Readme.md b/src/Templates/working/content/p_webmap/testRest/Readme.md similarity index 100% rename from src/Templates/working/content/webmap/testRest/Readme.md rename to src/Templates/working/content/p_webmap/testRest/Readme.md diff --git a/src/Templates/working/content/webmap/testRest/getUsers.http b/src/Templates/working/content/p_webmap/testRest/getUsers.http similarity index 100% rename from src/Templates/working/content/webmap/testRest/getUsers.http rename to src/Templates/working/content/p_webmap/testRest/getUsers.http diff --git a/src/Templates/working/content/webmap/testRest/postId.http b/src/Templates/working/content/p_webmap/testRest/postId.http similarity index 100% rename from src/Templates/working/content/webmap/testRest/postId.http rename to src/Templates/working/content/p_webmap/testRest/postId.http diff --git a/src/Templates/working/content/webmap/testRest/updateUser.http b/src/Templates/working/content/p_webmap/testRest/updateUser.http similarity index 100% rename from src/Templates/working/content/webmap/testRest/updateUser.http rename to src/Templates/working/content/p_webmap/testRest/updateUser.http diff --git a/src/Templates/working/content/webroute/.template.config/template.json b/src/Templates/working/content/p_webroute/.template.config/template.json similarity index 100% rename from src/Templates/working/content/webroute/.template.config/template.json rename to src/Templates/working/content/p_webroute/.template.config/template.json diff --git a/src/Templates/working/content/webroute/Customer.prg b/src/Templates/working/content/p_webroute/Customer.prg similarity index 100% rename from src/Templates/working/content/webroute/Customer.prg rename to src/Templates/working/content/p_webroute/Customer.prg diff --git a/src/Templates/working/content/webroute/CustomersController.prg b/src/Templates/working/content/p_webroute/CustomersController.prg similarity index 100% rename from src/Templates/working/content/webroute/CustomersController.prg rename to src/Templates/working/content/p_webroute/CustomersController.prg diff --git a/src/Templates/working/content/webroute/LowerCasePolicy.prg b/src/Templates/working/content/p_webroute/LowerCasePolicy.prg similarity index 100% rename from src/Templates/working/content/webroute/LowerCasePolicy.prg rename to src/Templates/working/content/p_webroute/LowerCasePolicy.prg diff --git a/src/Templates/working/content/webroute/Program.prg b/src/Templates/working/content/p_webroute/Program.prg similarity index 100% rename from src/Templates/working/content/webroute/Program.prg rename to src/Templates/working/content/p_webroute/Program.prg diff --git a/src/Templates/working/content/webroute/Properties/launchSettings.json b/src/Templates/working/content/p_webroute/Properties/launchSettings.json similarity index 100% rename from src/Templates/working/content/webroute/Properties/launchSettings.json rename to src/Templates/working/content/p_webroute/Properties/launchSettings.json diff --git a/src/Templates/working/content/webroute/RESTful.prg b/src/Templates/working/content/p_webroute/RESTful.prg similarity index 100% rename from src/Templates/working/content/webroute/RESTful.prg rename to src/Templates/working/content/p_webroute/RESTful.prg diff --git a/src/Templates/working/content/webroute/Reame.md b/src/Templates/working/content/p_webroute/Reame.md similarity index 100% rename from src/Templates/working/content/webroute/Reame.md rename to src/Templates/working/content/p_webroute/Reame.md diff --git a/src/Templates/working/content/webroute/XSharp.WebRoute.xsproj b/src/Templates/working/content/p_webroute/XSharp.WebRoute.xsproj similarity index 71% rename from src/Templates/working/content/webroute/XSharp.WebRoute.xsproj rename to src/Templates/working/content/p_webroute/XSharp.WebRoute.xsproj index b0a63e8a3d..a2e0737710 100644 --- a/src/Templates/working/content/webroute/XSharp.WebRoute.xsproj +++ b/src/Templates/working/content/p_webroute/XSharp.WebRoute.xsproj @@ -1,3 +1,4 @@ + @@ -7,7 +8,7 @@ - + diff --git a/src/Templates/working/content/webroute/testRest/Readme.md b/src/Templates/working/content/p_webroute/testRest/Readme.md similarity index 100% rename from src/Templates/working/content/webroute/testRest/Readme.md rename to src/Templates/working/content/p_webroute/testRest/Readme.md diff --git a/src/Templates/working/content/webroute/testRest/getCustomers.http b/src/Templates/working/content/p_webroute/testRest/getCustomers.http similarity index 100% rename from src/Templates/working/content/webroute/testRest/getCustomers.http rename to src/Templates/working/content/p_webroute/testRest/getCustomers.http diff --git a/src/Templates/working/content/webroute/testRest/postCustomer.http b/src/Templates/working/content/p_webroute/testRest/postCustomer.http similarity index 100% rename from src/Templates/working/content/webroute/testRest/postCustomer.http rename to src/Templates/working/content/p_webroute/testRest/postCustomer.http diff --git a/src/Templates/working/content/webroute/testRest/postCustomers.http b/src/Templates/working/content/p_webroute/testRest/postCustomers.http similarity index 100% rename from src/Templates/working/content/webroute/testRest/postCustomers.http rename to src/Templates/working/content/p_webroute/testRest/postCustomers.http diff --git a/src/Templates/working/content/p_windowsformsapplication/.template.config/WinFormApp.png b/src/Templates/working/content/p_windowsformsapplication/.template.config/WinFormApp.png new file mode 100644 index 0000000000000000000000000000000000000000..00dd13162fbc8c6ecf27c11295f4694c8c4d8de7 GIT binary patch literal 6798 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 Zm>~Oo>;zGK^6%ye(9ty1s8@R&^&d$=Qwab7 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_windowsformsapplication/.template.config/template.json b/src/Templates/working/content/p_windowsformsapplication/.template.config/template.json new file mode 100644 index 0000000000..ef8a14370b --- /dev/null +++ b/src/Templates/working/content/p_windowsformsapplication/.template.config/template.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Desktop" + ], + "Identity": "XSharp.WindowsFormsApplication", + "Name": "Windows Forms Application", + "Description": "A project for creating an application with a Windows Forms user interface.", + "SourceName": "XSharp.WindowsFormsApplication", + "ShortName": "xswindowsformsapplication", + "Tags": { + "language": "X#", + "type": "project", + "icon": "WinFormApp.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "WindowsFormsApplication", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/winform/Form1.designer.prg b/src/Templates/working/content/p_windowsformsapplication/Form1.designer.prg similarity index 96% rename from src/Templates/working/content/winform/Form1.designer.prg rename to src/Templates/working/content/p_windowsformsapplication/Form1.designer.prg index 6ecda4d3ca..d8cbddfc38 100644 --- a/src/Templates/working/content/winform/Form1.designer.prg +++ b/src/Templates/working/content/p_windowsformsapplication/Form1.designer.prg @@ -1,4 +1,4 @@ -begin namespace XSharp.WinFormsCore +begin namespace Company.Namespace1 partial class Form1 diff --git a/src/Templates/working/content/winform/Form1.prg b/src/Templates/working/content/p_windowsformsapplication/Form1.prg similarity index 75% rename from src/Templates/working/content/winform/Form1.prg rename to src/Templates/working/content/p_windowsformsapplication/Form1.prg index 825b50ea43..17ef05120c 100644 --- a/src/Templates/working/content/winform/Form1.prg +++ b/src/Templates/working/content/p_windowsformsapplication/Form1.prg @@ -1,19 +1,20 @@ -USING System +USING System USING System.Collections.Generic USING System.ComponentModel USING System.Data USING System.Drawing USING System.Linq + USING System.Text using System.Threading.Tasks USING System.Windows.Forms -BEGIN NAMESPACE XSharp.WinFormsCore +BEGIN NAMESPACE Company.Namespace1 PUBLIC PARTIAL CLASS Form1 INHERIT System.Windows.Forms.Form - PUBLIC CONSTRUCTOR() STRICT//$safeitemrootname$ + PUBLIC CONSTRUCTOR() STRICT//XSharp.WindowsFormsApplication SELF:InitializeComponent() RETURN END CONSTRUCTOR diff --git a/src/Templates/working/content/winform/Program.prg b/src/Templates/working/content/p_windowsformsapplication/Program.prg similarity index 75% rename from src/Templates/working/content/winform/Program.prg rename to src/Templates/working/content/p_windowsformsapplication/Program.prg index ae8b63aaed..7e760d02e2 100644 --- a/src/Templates/working/content/winform/Program.prg +++ b/src/Templates/working/content/p_windowsformsapplication/Program.prg @@ -1,8 +1,10 @@ -USING System +USING System USING System.Collections.Generic +USING System.Linq +USING System.Text USING System.Windows.Forms -USING XSharp.WinFormsCore +USING Company.Namespace1 [STAThread] ; FUNCTION Start() AS VOID diff --git a/src/Templates/working/content/p_windowsformsapplication/Resources.resx b/src/Templates/working/content/p_windowsformsapplication/Resources.resx new file mode 100644 index 0000000000..2e088a35d1 --- /dev/null +++ b/src/Templates/working/content/p_windowsformsapplication/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_windowsformsapplication/Settings.settings b/src/Templates/working/content/p_windowsformsapplication/Settings.settings new file mode 100644 index 0000000000..033d7a5e9e --- /dev/null +++ b/src/Templates/working/content/p_windowsformsapplication/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_windowsformsapplication/XSharp.WindowsFormsApplication.xsproj b/src/Templates/working/content/p_windowsformsapplication/XSharp.WindowsFormsApplication.xsproj new file mode 100644 index 0000000000..31e4323f4e --- /dev/null +++ b/src/Templates/working/content/p_windowsformsapplication/XSharp.WindowsFormsApplication.xsproj @@ -0,0 +1,11 @@ + + + + WindowsFormsApplication + WinExe + Core + True + True + net8.0 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_wpfapplication/.template.config/WPFApplication.png b/src/Templates/working/content/p_wpfapplication/.template.config/WPFApplication.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6b651131f480c061697636b51c3d57d58566d0 GIT binary patch literal 7489 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 literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_wpfapplication/.template.config/template.json b/src/Templates/working/content/p_wpfapplication/.template.config/template.json new file mode 100644 index 0000000000..f25fe2c306 --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/.template.config/template.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Desktop" + ], + "Identity": "XSharp.WPFApplication", + "Name": "WPF Application", + "Description": "Windows Presentation Foundation client application.", + "SourceName": "XSharp.WPFApplication", + "ShortName": "xswpfapplication", + "Tags": { + "language": "X#", + "type": "project", + "icon": "WPFApplication.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "WpfApplication", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_wpfapplication/App.xaml b/src/Templates/working/content/p_wpfapplication/App.xaml new file mode 100644 index 0000000000..4f88d0fe5e --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/App.xaml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/Templates/working/content/p_wpfapplication/App.xaml.prg b/src/Templates/working/content/p_wpfapplication/App.xaml.prg new file mode 100644 index 0000000000..5a0e86ea7f --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/App.xaml.prg @@ -0,0 +1,19 @@ +USING System +USING System.Collections.Generic +USING System.Configuration +USING System.Data +USING System.Linq +USING System.Threading.Tasks +USING System.Windows + + +BEGIN NAMESPACE Company.Namespace1 + + /// + /// Interaction logic for App.xaml + /// + PARTIAL CLASS App INHERIT Application + + END CLASS + +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/p_wpfapplication/MainWindow.xaml b/src/Templates/working/content/p_wpfapplication/MainWindow.xaml new file mode 100644 index 0000000000..c3139a4ed3 --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/MainWindow.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/src/Templates/working/content/p_wpfapplication/MainWindow.xaml.prg b/src/Templates/working/content/p_wpfapplication/MainWindow.xaml.prg new file mode 100644 index 0000000000..c76e3c230f --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/MainWindow.xaml.prg @@ -0,0 +1,29 @@ +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text +USING System.Threading.Tasks +USING System.Windows +USING System.Windows.Controls +USING System.Windows.Data +USING System.Windows.Documents +USING System.Windows.Input +USING System.Windows.Media +USING System.Windows.Media.Imaging +USING System.Windows.Navigation +USING System.Windows.Shapes + +BEGIN NAMESPACE Company.Namespace1 + + /// + /// Interaction logic for MainWindow.xaml + /// + PUBLIC PARTIAL CLASS MainWindow INHERIT Window + + PUBLIC CONSTRUCTOR() STRICT + SELF:InitializeComponent() + RETURN + END CONSTRUCTOR + + END CLASS +END NAMESPACE // Company.Namespace1 diff --git a/src/Templates/working/content/p_wpfapplication/Resources.resx b/src/Templates/working/content/p_wpfapplication/Resources.resx new file mode 100644 index 0000000000..2e088a35d1 --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_wpfapplication/Settings.settings b/src/Templates/working/content/p_wpfapplication/Settings.settings new file mode 100644 index 0000000000..033d7a5e9e --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/Templates/working/content/p_wpfapplication/XSharp.WPFApplication.xsproj b/src/Templates/working/content/p_wpfapplication/XSharp.WPFApplication.xsproj new file mode 100644 index 0000000000..0c96a357ac --- /dev/null +++ b/src/Templates/working/content/p_wpfapplication/XSharp.WPFApplication.xsproj @@ -0,0 +1,14 @@ + + + + Debug + AnyCPU + {5ADB76EC-7017-476A-A8E0-25D4202FFCF0};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{AA6C8D78-22FF-423A-9C7C-5F2393824E04} + WinExe + WpfApplication + Core + True + True + net8.0 + + \ No newline at end of file diff --git a/src/Templates/working/content/p_xppconsole/.template.config/XPPConsole.png b/src/Templates/working/content/p_xppconsole/.template.config/XPPConsole.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a104be8a8f75315bab1a874b41e21012d9eb4b GIT binary patch literal 7661 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 E1y9WzH~;_u literal 0 HcmV?d00001 diff --git a/src/Templates/working/content/p_xppconsole/.template.config/template.json b/src/Templates/working/content/p_xppconsole/.template.config/template.json new file mode 100644 index 0000000000..597991b5ae --- /dev/null +++ b/src/Templates/working/content/p_xppconsole/.template.config/template.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json.schemastore.org/template", + "Author": "XSharp B.V.", + "Classifications": [ + "Windows", + "Console", + "XPP" + ], + "Identity": "XSharp.XPPConsole", + "Name": "Xbase\u002B\u002B Console Application", + "Description": "A project for creating a X# command-line application in the Xbase\u002B\u002B Dialect.", + "SourceName": "XSharp.XPPConsole", + "ShortName": "xsxppconsole", + "Tags": { + "language": "X#", + "type": "project", + "icon": "XPPConsole.png", + "is-icon-path": "true" + }, + "PreferNameDirectory": true, + "DefaultName": "ConsoleApplication", + "Symbols": { + "TargetNetFramework": { + "Type": "parameter", + "Description": "Target .NET version", + "Datatype": "choice", + "Choices": [ + { + "Choice": "net8.0", + "Description": "Target .NET 8" + }, + { + "Choice": "net9.0", + "Description": "Target .NET 9" + }, + { + "Choice": "net10.0", + "Description": "Target .NET 10" + } + ], + "Replaces": "net8.0", + "DefaultValue": "net8.0" + }, + "DefaultNamespace": { + "Type": "parameter", + "Datatype": "string", + "Replaces": "Company.Namespace1", + "DefaultValue": "Company.Namespace1" + } + } +} \ No newline at end of file diff --git a/src/Templates/working/content/p_xppconsole/XSharp.XPPConsole.prg b/src/Templates/working/content/p_xppconsole/XSharp.XPPConsole.prg new file mode 100644 index 0000000000..b5535d9b34 --- /dev/null +++ b/src/Templates/working/content/p_xppconsole/XSharp.XPPConsole.prg @@ -0,0 +1,12 @@ + + +USING System +USING System.Collections.Generic +USING System.Linq +USING System.Text + + +Procedure Main + ? "Hello World! Today is ",Date() + WAIT + RETURN diff --git a/src/Templates/working/content/consoleXPP/XSharp.ConsoleXPP.xsproj b/src/Templates/working/content/p_xppconsole/XSharp.XPPConsole.xsproj similarity index 74% rename from src/Templates/working/content/consoleXPP/XSharp.ConsoleXPP.xsproj rename to src/Templates/working/content/p_xppconsole/XSharp.XPPConsole.xsproj index da478eb372..45fdb5c4ea 100644 --- a/src/Templates/working/content/consoleXPP/XSharp.ConsoleXPP.xsproj +++ b/src/Templates/working/content/p_xppconsole/XSharp.XPPConsole.xsproj @@ -1,10 +1,8 @@ - - + + Exe - net8.0 - enable - enable + ConsoleApplication XPP true true @@ -25,10 +23,11 @@ true true False - + net8.0 + - + - + \ No newline at end of file diff --git a/src/Templates/working/content/p_xunitclasslibrary/.template.config/XUnitTestClassLibrary.png b/src/Templates/working/content/p_xunitclasslibrary/.template.config/XUnitTestClassLibrary.png new file mode 100644 index 0000000000000000000000000000000000000000..9616f874ea93a9955ebf7d6966ecedc4e28edaf8 GIT binary patch literal 17563 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 + + + Library + XUnitTestClassLibrary + Core + True + True + net8.0 + + \ No newline at end of file diff --git a/src/Templates/working/content/webmap/.vscode/launch.json b/src/Templates/working/content/webmap/.vscode/launch.json deleted file mode 100644 index 26ef66dce7..0000000000 --- a/src/Templates/working/content/webmap/.vscode/launch.json +++ /dev/null @@ -1,14 +0,0 @@ -{ -"version": "0.2.0", - "configurations": [ - { - "name": "X# Launch", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "${workspaceFolder}/bin/net8.0/${workspaceFolderBasename}.dll", - "console": "integratedTerminal", - "stopAtEntry": false - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/webmap/.vscode/tasks.json b/src/Templates/working/content/webmap/.vscode/tasks.json deleted file mode 100644 index 7e91fa7ebf..0000000000 --- a/src/Templates/working/content/webmap/.vscode/tasks.json +++ /dev/null @@ -1,25 +0,0 @@ -{ -"version": "2.0.0", - "tasks": [ - { - "label": "build", - "command": "dotnet", - "type": "process", - "args": [ - "build", - "${workspaceFolder}/${workspaceFolderBasename}.xsproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary" - ], - "problemMatcher": "$msCompile", - "group": { - "kind": "build", - "isDefault": true // Optionnal but useful to execute "build" with Ctrl+Shift+B - }, - "presentation": { - "reveal": "always", // Always show Terminal for the task - "panel": "new" // Always open in a new panel - } - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/webmap/appsettings.Development.json b/src/Templates/working/content/webmap/appsettings.Development.json deleted file mode 100644 index 0c208ae918..0000000000 --- a/src/Templates/working/content/webmap/appsettings.Development.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/src/Templates/working/content/webmap/appsettings.json b/src/Templates/working/content/webmap/appsettings.json deleted file mode 100644 index 10f68b8c8b..0000000000 --- a/src/Templates/working/content/webmap/appsettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/src/Templates/working/content/webroute/.vscode/launch.json b/src/Templates/working/content/webroute/.vscode/launch.json deleted file mode 100644 index 26ef66dce7..0000000000 --- a/src/Templates/working/content/webroute/.vscode/launch.json +++ /dev/null @@ -1,14 +0,0 @@ -{ -"version": "0.2.0", - "configurations": [ - { - "name": "X# Launch", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build", - "program": "${workspaceFolder}/bin/net8.0/${workspaceFolderBasename}.dll", - "console": "integratedTerminal", - "stopAtEntry": false - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/webroute/.vscode/tasks.json b/src/Templates/working/content/webroute/.vscode/tasks.json deleted file mode 100644 index 7e91fa7ebf..0000000000 --- a/src/Templates/working/content/webroute/.vscode/tasks.json +++ /dev/null @@ -1,25 +0,0 @@ -{ -"version": "2.0.0", - "tasks": [ - { - "label": "build", - "command": "dotnet", - "type": "process", - "args": [ - "build", - "${workspaceFolder}/${workspaceFolderBasename}.xsproj", - "/property:GenerateFullPaths=true", - "/consoleloggerparameters:NoSummary" - ], - "problemMatcher": "$msCompile", - "group": { - "kind": "build", - "isDefault": true // Optionnal but useful to execute "build" with Ctrl+Shift+B - }, - "presentation": { - "reveal": "always", // Always show Terminal for the task - "panel": "new" // Always open in a new panel - } - } - ] -} \ No newline at end of file diff --git a/src/Templates/working/content/webroute/Helpers.prg b/src/Templates/working/content/webroute/Helpers.prg deleted file mode 100644 index 13c1f8b515..0000000000 --- a/src/Templates/working/content/webroute/Helpers.prg +++ /dev/null @@ -1,63 +0,0 @@ -using XSharp.RDD -using XSharp.RDD.Support - - -FUNCTION RecordToCustomer( oDBF AS DBF ) AS Customer - LOCAL oCustomer AS Customer - // Convert the DBF record to a Customer object - oCustomer := Customer{} - FOR VAR i := 1 TO oDBF:FieldCount - VAR name := oDBF:FieldName(i):ToLower() - SWITCH name - CASE "custnum" - oCustomer:CustNum := Convert.ToInt32( oDBF:GetValue(i) ) - CASE "firstname" - oCustomer:FirstName := oDBF:GetValue(i):ToString() - CASE "lastname" - oCustomer:LastName := oDBF:GetValue(i):ToString() - CASE "address" - oCustomer:Address := oDBF:GetValue(i):ToString() - CASE "city" - oCustomer:City := oDBF:GetValue(i):ToString() - CASE "state" - oCustomer:State := oDBF:GetValue(i):ToString() - CASE "zip" - oCustomer:Zip := oDBF:GetValue(i):ToString() - CASE "fax" - oCustomer:Fax := oDBF:GetValue(i):ToString() - CASE "phone" - oCustomer:Phone := oDBF:GetValue(i):ToString() - END SWITCH - NEXT - oCustomer:Recno := oDbf:Recno - oCustomer:Deleted := oDbf:Deleted - // - RETURN oCustomer - - -PROCEDURE CustomerToRecord( oCustomer AS Customer, oDBF AS DBF ) - FOR VAR i := 1 TO oDBF:FieldCount - VAR name := oDBF:FieldName(i):ToLower() - SWITCH name - CASE "custnum" - oDBF:PutValue( i, oCustomer:CustNum ) - CASE "firstname" - oDBF:PutValue( i, oCustomer:FirstName ) - CASE "lastname" - oDBF:PutValue( i, oCustomer:LastName ) - CASE "address" - oDBF:PutValue( i, oCustomer:Address ) - CASE "city" - oDBF:PutValue( i, oCustomer:City ) - CASE "state" - oDBF:PutValue( i, oCustomer:State ) - CASE "zip" - oDBF:PutValue( i, oCustomer:Zip ) - CASE "fax" - oDBF:PutValue( i, oCustomer:Fax ) - CASE "phone" - oDBF:PutValue( i, oCustomer:Phone ) - END SWITCH - NEXT - // - RETURN \ No newline at end of file diff --git a/src/Templates/working/content/webroute/appsettings.Development.json b/src/Templates/working/content/webroute/appsettings.Development.json deleted file mode 100644 index 0c208ae918..0000000000 --- a/src/Templates/working/content/webroute/appsettings.Development.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/src/Templates/working/content/webroute/appsettings.json b/src/Templates/working/content/webroute/appsettings.json deleted file mode 100644 index 10f68b8c8b..0000000000 --- a/src/Templates/working/content/webroute/appsettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/src/Templates/working/content/webroute/customer.dbf b/src/Templates/working/content/webroute/customer.dbf deleted file mode 100644 index b4a72935c7ecdf5ab0e6520e8289b06738f8b3c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2303 zcmZuyO>Y}F5Zxpwf)+?~>7nh3Z7&j#HJ0Bba$2oqOR}V>mJ%m91fV6_T6ncIR+0nf z_w?Lje_w~(m7ECSf#7h49L~Hq!)Gs_KKmt#qRx{A%tzx{6lHH`^U2$B^v|d9&2S(nbyXU%#VIyWNZ4YzB_U*`J{Q z?dW_qn16^G{cF&_JkrnR>AV-!=ZBzwdZhn2m_~d32=vGApZ4EO_WHj;|KjNUY5M+f z{?m8#FCydzxo}su+WKYh-jo}^K#~$PbgOdXN;KP6)&@N&CiXM>;HukT1>y&cd4gL6 zleQEr#)OGSK}i|x$k+6TGshOk*Cv3Yy6Ia2!4`m8cVany+MJlK!xW&N*3X1I5gg=(IBB0%8F%OEm<6TMYBI zmNaIHkst`FV$FD+C_aQ6>Qr~#?q&tJJRmI@8k^h$aqG z4{yO75(RluwV-&cx%RID^2~M{h~AG2vs@JU^)=8;@dKm2_JFcgzA*b35E_gCU@Th{ z7^SF=6-mHf5CD5F>O`rj*%iS98ar1tjA8=yPEar3*mC7Q!@E1h{Ssp7nxZgu%>K;$ zy&^sef>~Qh2I&Vzc|mFt6ABOYLuaPiyD-%j^6xh(fYDoDnQCE{wsHsBeg*de@Ca}x zG$5>)h$$!HD?t-~8BT_-$rHNF7q|5bp@PuN?SN(bLTFfU)u2A#`rGU+NW<-lcQPk@;L6U}#Lr4Zxk{P(1#` zOi4jSOJmyh)s{%bY5{=ZoM3N+*;(P5CUt3w&B|{gfX=7QY*%YfvZ>iOzCpRPcNV5H zG_5y%rX}$t5^V{$Y9VP56!WB&fl-*l#oM}?vK4fn!mkD6Xq1-=SCrpW9+XaD^PBn| z@RUiWv0(n;x(x}7siHCnf{|Dd9;zFQ+155-`W{z1(~zm5y#^Bawt8tE01U;UR@2?4 z;dO`>>H^@VEe_SjI7C5(3W6XCuora{@*TX^mcC1!m*(y+9EC>T_m7>r95mn}?84;# zi;*jr4Xd)bWL(1+0S!cH=ov!EATS(&sa>cu>#Cc;$?>A=N>f0mCI||$a>X}Y*1PFi zQ(eKg(zqNCh|*AP6yR2Z$57a;79b?(D9YR6P~9~RKj!PTt$?;jNdcg zccm+K#jbJD9|&MAYbpOF(ZnZ;)PjVpNgPN^NC)^-ziJGPwS-FWjG`RP^EG_AD1$%a jb|20uzy<$GQRLwZ_MKJ=9Ga_EGRC|SfCDkcg#Z3O48|T| diff --git a/src/Templates/working/content/winform/.template.config/template.json b/src/Templates/working/content/winform/.template.config/template.json deleted file mode 100644 index a27b123fd7..0000000000 --- a/src/Templates/working/content/winform/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "WinForms", "X#" ], - "identity": "XSharpBV.WinFormsCoreTemplate.XSharp", - "name": "WinForms Application - Core Dialect", - "description": "A project for creating a WinForms application with the X# Core dialect.", - "sourceName":"XSharp.WinFormsCore", - "shortName": "xswinforms", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "WinFormsApp1" -} diff --git a/src/Templates/working/content/winform/XSharp.WinFormsCore.xsproj b/src/Templates/working/content/winform/XSharp.WinFormsCore.xsproj deleted file mode 100644 index 3eec618c15..0000000000 --- a/src/Templates/working/content/winform/XSharp.WinFormsCore.xsproj +++ /dev/null @@ -1,15 +0,0 @@ - - - WinExe - net8.0 - XSharp.WinFormsCore - XSharp.WinFormsCore - - enable - true - Core - enable - True - True - - diff --git a/src/Templates/working/content/winformcctrli/.template.config/template.json b/src/Templates/working/content/winformcctrli/.template.config/template.json deleted file mode 100644 index dda6b9a689..0000000000 --- a/src/Templates/working/content/winformcctrli/.template.config/template.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "WinForms", "X#", "Item" ], - "identity": "XSharpBV.WinFormsCCtrlTemplate.XSharp", - "name": "WinForms Custom Control - Core Dialect", - "description": "An item to add a WinForms CustomControl with the X# Core dialect.", - "sourceName":"XSharp.WinFormsCCtrlI", - "shortName": "xswinformscctrli", - "tags": { - "language": "X#", - "type": "item" - }, - "symbols": { - "ClassName":{ - "type": "parameter", - "description": "The name of the code file and class.", - "datatype": "text", - "replaces": "CustomControl1", - "fileRename": "CustomControl1", - "defaultValue": "CustomControl1" - } - } -} diff --git a/src/Templates/working/content/winformcctrli/CustomControl1.designer.prg b/src/Templates/working/content/winformcctrli/CustomControl1.designer.prg deleted file mode 100644 index a408053823..0000000000 --- a/src/Templates/working/content/winformcctrli/CustomControl1.designer.prg +++ /dev/null @@ -1,35 +0,0 @@ -begin namespace XSharp.WinFormsCCtrlI - - partial class CustomControl1 - - /// - /// Required designer variable. - /// - private components := NULL as System.ComponentModel.IContainer - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override method Dispose(disposing as logic) as void STRICT - - if (disposing .AND. (components != null)) - components:Dispose() - endif - Super:Dispose(disposing) - return - end method - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private method InitializeComponent() as void STRICT - self:components := System.ComponentModel.Container{} - return - end method - #endregion - end class - -END NAMESPACE diff --git a/src/Templates/working/content/winformcctrli/CustomControl1.prg b/src/Templates/working/content/winformcctrli/CustomControl1.prg deleted file mode 100644 index 9dc13e03c2..0000000000 --- a/src/Templates/working/content/winformcctrli/CustomControl1.prg +++ /dev/null @@ -1,27 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.ComponentModel -USING System.Data -USING System.Drawing -USING System.Linq -USING System.Text -using System.Threading.Tasks -USING System.Windows.Forms - -BEGIN NAMESPACE XSharp.WinFormsCCtrlI - - PUBLIC PARTIAL CLASS CustomControl1 INHERIT System.Windows.Forms.UserControl - - PUBLIC CONSTRUCTOR() STRICT - SELF:InitializeComponent() - RETURN - END CONSTRUCTOR - - - PROTECTED OVERRIDE METHOD OnPaint(pe AS System.Windows.Forms.PaintEventArgs) AS VOID STRICT - SUPER:OnPaint(pe) - RETURN - END METHOD - - END CLASS -END NAMESPACE diff --git a/src/Templates/working/content/winformctrli/.template.config/template.json b/src/Templates/working/content/winformctrli/.template.config/template.json deleted file mode 100644 index 25b4a5cf33..0000000000 --- a/src/Templates/working/content/winformctrli/.template.config/template.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "WinForms", "X#", "Item" ], - "identity": "XSharpBV.WinFormsCtrlTemplate.XSharp", - "name": "WinForms Control - Core Dialect", - "description": "An item to add a WinForms UserControl with the X# Core dialect.", - "sourceName":"XSharp.WinFormsCtrlI", - "shortName": "xswinformsctrli", - "tags": { - "language": "X#", - "type": "item" - }, - "symbols": { - "name":{ - "type": "parameter", - "description": "The name of the code file and class.", - "datatype": "text", - "replaces": "UserControl1", - "fileRename": "UserControl1", - "defaultValue": "UserControl1" - } - } -} diff --git a/src/Templates/working/content/winformctrli/UserControl1.prg b/src/Templates/working/content/winformctrli/UserControl1.prg deleted file mode 100644 index 2007446dcb..0000000000 --- a/src/Templates/working/content/winformctrli/UserControl1.prg +++ /dev/null @@ -1,21 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.ComponentModel -USING System.Data -USING System.Drawing -USING System.Linq -USING System.Text -using System.Threading.Tasks -USING System.Windows.Forms - -BEGIN NAMESPACE XSharp.WinFormsCtrlI - - PUBLIC PARTIAL CLASS UserControl1 INHERIT System.Windows.Forms.Control - - PUBLIC CONSTRUCTOR() STRICT - SELF:InitializeComponent() - RETURN - END CONSTRUCTOR - - END CLASS -END NAMESPACE diff --git a/src/Templates/working/content/winformlib/.template.config/template.json b/src/Templates/working/content/winformlib/.template.config/template.json deleted file mode 100644 index 27c5e4eacf..0000000000 --- a/src/Templates/working/content/winformlib/.template.config/template.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ "Common", "WinForms", "X#" ], - "identity": "XSharpBV.WinFormsLibCoreTemplate.XSharp", - "name": "WinForms Library - Core Dialect", - "description": "A project for creating a WinForms library with the X# Core dialect.", - "sourceName":"XSharp.WinFormsLib", - "shortName": "xswinformslib", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "WinFormsLibrary1" -} diff --git a/src/Templates/working/content/winformlib/Class1.prg b/src/Templates/working/content/winformlib/Class1.prg deleted file mode 100644 index 7c4abae143..0000000000 --- a/src/Templates/working/content/winformlib/Class1.prg +++ /dev/null @@ -1,21 +0,0 @@ -USING System -USING System.Collections.Generic -USING System.ComponentModel -USING System.Data -USING System.Drawing -USING System.Linq -USING System.Text -using System.Threading.Tasks - -USING System.Windows.Forms - -BEGIN NAMESPACE XSharp.WinFormsLib - - PUBLIC PARTIAL CLASS Class1 - - PUBLIC CONSTRUCTOR() - RETURN - END CONSTRUCTOR - - END CLASS -END NAMESPACE diff --git a/src/Templates/working/content/winformlib/XSharp.WinFormsLib.xsproj b/src/Templates/working/content/winformlib/XSharp.WinFormsLib.xsproj deleted file mode 100644 index 2bd9261ddb..0000000000 --- a/src/Templates/working/content/winformlib/XSharp.WinFormsLib.xsproj +++ /dev/null @@ -1,15 +0,0 @@ - - - Library - net8.0 - XSharp.WinFormsLib - XSharp.WinFormsLib - - enable - true - Core - enable - True - True - - diff --git a/src/Templates/working/content/wpfapp/.template.config/template.json b/src/Templates/working/content/wpfapp/.template.config/template.json deleted file mode 100644 index 3928b32841..0000000000 --- a/src/Templates/working/content/wpfapp/.template.config/template.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ - "Common", - "WPF", - "X#" - ], - "identity": "XSharpBV.WPFCoreTemplate.XSharp", - "name": "WPF Application - Core Dialect", - "description": "A project for creating a WPF application with the X# Core dialect.", - "sourceName": "XSharp.WpfCore", - "shortName": "xswpf", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "WpfApp1" -} \ No newline at end of file diff --git a/src/Templates/working/content/wpfapp/App.xaml b/src/Templates/working/content/wpfapp/App.xaml deleted file mode 100644 index ab09cf0a9f..0000000000 --- a/src/Templates/working/content/wpfapp/App.xaml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - diff --git a/src/Templates/working/content/wpfapp/App.xaml.prg b/src/Templates/working/content/wpfapp/App.xaml.prg deleted file mode 100644 index e7833c3c4d..0000000000 --- a/src/Templates/working/content/wpfapp/App.xaml.prg +++ /dev/null @@ -1,13 +0,0 @@ -using System.Configuration -using System.Data -using System.Windows - -BEGIN NAMESPACE XSharp.WpfCore - /// - /// Interaction logic for App.xaml - /// - PUBLIC PARTIAL CLASS App INHERIT Application - - END CLASS - -END NAMESPACE diff --git a/src/Templates/working/content/wpfapp/AssemblyInfo.prg b/src/Templates/working/content/wpfapp/AssemblyInfo.prg deleted file mode 100644 index 3686ba37fb..0000000000 --- a/src/Templates/working/content/wpfapp/AssemblyInfo.prg +++ /dev/null @@ -1,10 +0,0 @@ -using System.Windows - -[assembly: ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) -)] diff --git a/src/Templates/working/content/wpfapp/MainWindow.xaml b/src/Templates/working/content/wpfapp/MainWindow.xaml deleted file mode 100644 index 707bd395c0..0000000000 --- a/src/Templates/working/content/wpfapp/MainWindow.xaml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/src/Templates/working/content/wpfapp/XSharp.WpfCore.xsproj b/src/Templates/working/content/wpfapp/XSharp.WpfCore.xsproj deleted file mode 100644 index a866217237..0000000000 --- a/src/Templates/working/content/wpfapp/XSharp.WpfCore.xsproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - WinExe - net8.0-windows - XSharp.WpfCore - XSharp.WpfCore - - enable - true - Core - enable - True - True - - - diff --git a/src/Templates/working/content/wpfcctrllib/.template.config/template.json b/src/Templates/working/content/wpfcctrllib/.template.config/template.json deleted file mode 100644 index c65afe7a32..0000000000 --- a/src/Templates/working/content/wpfcctrllib/.template.config/template.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ - "Common", - "WPF", - "X#" - ], - "identity": "XSharpBV.WPFCCtrlLibTemplate.XSharp", - "name": "WPF CustomControl Library - Core Dialect", - "description": "A project for creating a WPF CustomControl Library with the X# Core dialect.", - "sourceName": "XSharp.WpfCCtrlLib", - "shortName": "xswpfcctrllib", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "WpfCustomControlLibrary1" -} \ No newline at end of file diff --git a/src/Templates/working/content/wpfcctrllib/CustomControl1.prg b/src/Templates/working/content/wpfcctrllib/CustomControl1.prg deleted file mode 100644 index d49240e37b..0000000000 --- a/src/Templates/working/content/wpfcctrllib/CustomControl1.prg +++ /dev/null @@ -1,51 +0,0 @@ -using System.Text -using System.Windows -using System.Windows.Controls -using System.Windows.Data -using System.Windows.Documents -using System.Windows.Input -using System.Windows.Media -using System.Windows.Media.Imaging -using System.Windows.Navigation -using System.Windows.Shapes - -BEGIN NAMESPACE XSharp.WpfCCtrlLib - - - /// - /// Follow steps 1a or 1b and then 2 to use this custom control in a XAML file. - /// - /// Step 1a) Using this custom control in a XAML file that exists in the current project. - /// Add this XmlNamespace attribute to the root element of the markup file where it is - /// to be used: - /// - /// xmlns:MyNamespace="clr-namespace:WpfCustomControlLibrary1" - /// - /// - /// Step 1b) Using this custom control in a XAML file that exists in a different project. - /// Add this XmlNamespace attribute to the root element of the markup file where it is - /// to be used: - /// - /// xmlns:MyNamespace="clr-namespace:WpfCustomControlLibrary1;assembly=WpfCustomControlLibrary1" - /// - /// You will also need to add a project reference from the project where the XAML file lives - /// to this project and Rebuild to avoid compilation errors: - /// - /// Right click on the target project in the Solution Explorer and - /// "Add Reference"->"Projects"->[Select this project] - /// - /// - /// Step 2) - /// Go ahead and use your control in the XAML file. - /// - /// - /// - /// - PUBLIC CLASS CustomControl1 INHERIT Control - - STATIC CONSTRUCTOR() - DefaultStyleKeyProperty.OverrideMetadata(TYPEOF(CustomControl1), FrameworkPropertyMetadata{TYPEOF(CustomControl1)}) - END CONSTRUCTOR - END NAMESPACE - -END NAMESPACE \ No newline at end of file diff --git a/src/Templates/working/content/wpfcctrllib/XSharp.WpfCCtrlLib.xsproj b/src/Templates/working/content/wpfcctrllib/XSharp.WpfCCtrlLib.xsproj deleted file mode 100644 index b537974c4c..0000000000 --- a/src/Templates/working/content/wpfcctrllib/XSharp.WpfCCtrlLib.xsproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - Library - net8.0-windows - - enable - true - Core - enable - True - True - - - diff --git a/src/Templates/working/content/wpfctrl/.template.config/template.json b/src/Templates/working/content/wpfctrl/.template.config/template.json deleted file mode 100644 index 5c5baac6fd..0000000000 --- a/src/Templates/working/content/wpfctrl/.template.config/template.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ - "Common", - "WPF", - "X#" - ], - "identity": "XSharpBV.WPFCtrlTemplate.XSharp", - "name": "WPF UserControl Library - Core Dialect", - "description": "A project for creating a WPF UserControl Library with the X# Core dialect.", - "sourceName": "XSharp.WpfCtrl", - "shortName": "xswpfctrl", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "WpfControlLibrary1" -} \ No newline at end of file diff --git a/src/Templates/working/content/wpfctrl/AssemblyInfo.prg b/src/Templates/working/content/wpfctrl/AssemblyInfo.prg deleted file mode 100644 index 3686ba37fb..0000000000 --- a/src/Templates/working/content/wpfctrl/AssemblyInfo.prg +++ /dev/null @@ -1,10 +0,0 @@ -using System.Windows - -[assembly: ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) -)] diff --git a/src/Templates/working/content/wpfctrl/UserControl1.xaml.prg b/src/Templates/working/content/wpfctrl/UserControl1.xaml.prg deleted file mode 100644 index 3dbf8343a5..0000000000 --- a/src/Templates/working/content/wpfctrl/UserControl1.xaml.prg +++ /dev/null @@ -1,26 +0,0 @@ -using System.Text -using System.Windows -using System.Windows.Controls -using System.Windows.Data -using System.Windows.Documents -using System.Windows.Input -using System.Windows.Media -using System.Windows.Media.Imaging -using System.Windows.Navigation -using System.Windows.Shapes - -BEGIN NAMESPACE XSharp.WpfCtrl - - /// - /// Interaction logic for UserControl1.xaml - /// - PUBLIC PARTIAL CLASS UserControl1 INHERIT UserControl - - PUBLIC CONSTRUCTOR() - - InitializeComponent() - END CONSTRUCTOR - - END CLASS - -END NAMESPACE \ No newline at end of file diff --git a/src/Templates/working/content/wpfctrl/XSharp.WpfCtrl.xsproj b/src/Templates/working/content/wpfctrl/XSharp.WpfCtrl.xsproj deleted file mode 100644 index fb7b7a8332..0000000000 --- a/src/Templates/working/content/wpfctrl/XSharp.WpfCtrl.xsproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - Library - net8.0-windows - XSharp.WpfCtrl - XSharp.WpfCtrl - - enable - true - Core - enable - True - True - - - diff --git a/src/Templates/working/content/wpflib/.template.config/template.json b/src/Templates/working/content/wpflib/.template.config/template.json deleted file mode 100644 index 9eddae3d87..0000000000 --- a/src/Templates/working/content/wpflib/.template.config/template.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/template", - "author": "XSharp B.V.", - "classifications": [ - "Common", - "WPF", - "X#" - ], - "identity": "XSharpBV.WPFLibTemplate.XSharp", - "name": "WPF Library - Core Dialect", - "description": "A project for creating a WPF Library with the X# Core dialect.", - "sourceName": "XSharp.WpfLib", - "shortName": "xswpflib", - "tags": { - "language": "X#", - "type": "project" - }, - "preferNameDirectory": true, - "defaultName": "WpfLibrary1" -} \ No newline at end of file diff --git a/src/Templates/working/content/wpflib/Class1.prg b/src/Templates/working/content/wpflib/Class1.prg deleted file mode 100644 index d8a54a3e0f..0000000000 --- a/src/Templates/working/content/wpflib/Class1.prg +++ /dev/null @@ -1,22 +0,0 @@ -using System.Text -using System.Windows -using System.Windows.Controls -using System.Windows.Data -using System.Windows.Documents -using System.Windows.Input -using System.Windows.Media -using System.Windows.Media.Imaging -using System.Windows.Navigation -using System.Windows.Shapes - -BEGIN NAMESPACE XSharp.WpfLib - - PUBLIC CLASS Class1 - - PUBLIC CONSTRUCTOR() - - END CONSTRUCTOR - - END CLASS - -END NAMESPACE \ No newline at end of file diff --git a/src/Templates/working/content/wpflib/XSharp.WpfLib.xsproj b/src/Templates/working/content/wpflib/XSharp.WpfLib.xsproj deleted file mode 100644 index b537974c4c..0000000000 --- a/src/Templates/working/content/wpflib/XSharp.WpfLib.xsproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - Library - net8.0-windows - - enable - true - Core - enable - True - True - - -