This software is a part of a complex software solution consisting in a Visual Objects program and a 3rd party Visual Basic program. The part of the "Door Configurator" is to select doors and it's components and optionals.
The configuration data on wich the software is based on a complex Excel table with several sheets, and is read into a SQLite database by another X# program using the free EPPlus .NET component:
PConfig is written in 100% X# code, using XIDE, and the MVVM principles. Other than importing the data from the Excel sheet,. It can export all texts from the configuration database to another Excel sheet, and import the Italian, English and Francais descriptions. It can also convert the images in a folder to the images needed fort he program and create bitmaps for RAL colors.
This is a view to the source with a partially expanded folder:
The Door Configurator itself is written in pure X# code using XIDE, and with a few custom controls. One is the TreeView where the options are shown and can be changed with a double click or Return:
The window itself is a XAML window defined per code and fully adjustable for different screen sizes and resolutions.
The options can be configured in another window where the main control is a usercontrol with a WrapPanel and subclassed pushbuttons, all with complete databinding to adhere to the MVVM principles:
The door models itself can be configured in a similar window (both window types have a common parent class):
As for the main screen, this window is fully resizeable and adjustable to different window sizes:
The Door Configurator itself has no access to the database, as all the configuration logic combined with the access to the data is in a DLL that is loaded at runtime. There are plans to use the configuration DLL later to build a webservice for an eventual web based and/or mobile App based configurator.
Again you will see how the program is structured in the XIDE project tree, with partially expanded items:
To give an overview: the projects consists of 155 prg files with total of 450 kb, without counting my base DLLs I use in all projects (another 104 prg files with a total of 220 kb). All of this code is handwritten, none generated by any tool.