Main Panel
- Key Model
- WPF Single-User Desktop Application: Self-hosted LocalProjectService
- Web Page Application: Service inherits from <xref:Hi.MachiningProcs.IPathedMachiningProjectHost>
- Other Model: AppService
Main Panel Layout
- Top
Navigation MenuProject Menu DropdownProject Path Text FieldNew MenuItemLoad MenuItemSave MenuItemSave As MenuItem
Environment Menu Dropdown- Machine Tool MenuItem Open Machine Tool Page Sole window in WPF app. The page manages MachiningEquipment.<Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.MachiningChain>.
- Controller MenuItem Open Controller Page
- Tool House MenuItem
- Fixture MenuItem Open Fixture Page
- Workpiece MenuItem Open Workpiece Page
- Mission MenuItem Open Mission Page
- Player MenuItem Link to Player Panel (Not exist on WPF app.)
- Player Belonged Tool Bars. See Player Panel. Shows only if the Main Panel content is Player Panel.
- Preference Menu Dropdown
- Log MenuItem Open Log Viewer to display application logs for the current day. The Log Viewer provides real-time access to system logs with filtering and download capabilities. It reads log files from the server's log directory and presents them in a formatted, searchable interface. Users can refresh the log content or download the current day's log file for offline analysis.
- Central
Page Panel - Message Section on Main Panel
Behavior of Navigation Menu/Project
Project Path Text Field Shows the Project Path if the project is assinged.
Tip
Project Path Text Field should not be button style. It should be a pure text field that can be selected and copied.
The Project Menu Managing MachiningProject.
To New (create), Save and Save As the MachiningProject, See DemoBuildGeomOnlyMachiningProject for the example.
To Load MachiningProject, See DemoUseMachiningProject for the example.
Show message for the actions result (successed or has exception) by MessageKit.
Tip
Recommmand using static function of MessageKit to do the job. Read document of MessageKit to ensure the proper usage.
On project loaded (Navigation Menu/Project/Load MenuItem)
, set the Player.Panel.RenderingCanvas.DispEngine to SetViewToIsometricView().
Tip
Using async to comfort the process
WPF Application Specification
Limit the GUI that only single Page/Window existed in the application for the sub window from the Main Panel, include Mission, Workpiece and Fixture.
Don't create the Player MenuItem if the target application is WPF Application. Since the Main panel is the Player Panel and the panel is fixed to the main panel.
Web-Page Application Specification
Apply Player Panel as the default panel.
Application Specification and Source Code Path
See this page for git repository.
WPF Application Source Code Path
- MainWindow
Web Page Application Source Code Path
- Environments/PreferenceController.cs
- Environments/ProjectController.cs
- wwwroot/app.js
- wwwroot/index.html
- wwwroot/preference/log-viewer.js
Web Page Application Specification
The page and URL are bi-directional.