1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
struct Panel : VerticalLayout {
using VerticalLayout::VerticalLayout;
};
using View = HorizontalLayout;
#include "system-selection.hpp"
#include "home.hpp"
#include "game-manager.hpp"
#include "game-importer.hpp"
struct ProgramWindow : Window {
ProgramWindow();
auto show(Panel&) -> void;
auto hide(Panel&) -> void;
MenuBar menuBar{this};
Menu actionMenu{&menuBar};
MenuItem quitAction{&actionMenu};
Menu settingsMenu{&menuBar};
MenuCheckItem createManifests{&settingsMenu};
MenuCheckItem useDatabase{&settingsMenu};
MenuCheckItem useHeuristics{&settingsMenu};
Menu helpMenu{&menuBar};
MenuItem aboutAction{&helpMenu};
HorizontalLayout panels{this};
SystemSelection systemSelection{&panels};
HorizontalResizeGrip resizeGrip{&panels, Size{7, ~0}};
Home home{&panels};
GameManager gameManager{&panels};
GameImporter gameImporter{&panels};
maybe<Panel&> activePanel;
float resizeWidth = 0;
};
namespace Instances { extern Instance<ProgramWindow> programWindow; }
extern ProgramWindow& programWindow;
|