1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-23 20:29:42 +00:00

Adds Enterprise new machine dialogue for Qt.

This commit is contained in:
Thomas Harte 2021-06-29 21:04:17 -04:00
parent ab059b63fd
commit a46ff5590d
3 changed files with 242 additions and 69 deletions

View File

@ -953,6 +953,7 @@ void MainWindow::setButtonPressed(int index, bool isPressed) {
#include "../../Analyser/Static/AppleIIgs/Target.hpp"
#include "../../Analyser/Static/AtariST/Target.hpp"
#include "../../Analyser/Static/Commodore/Target.hpp"
#include "../../Analyser/Static/Enterprise/Target.hpp"
#include "../../Analyser/Static/Macintosh/Target.hpp"
#include "../../Analyser/Static/MSX/Target.hpp"
#include "../../Analyser/Static/Oric/Target.hpp"
@ -973,6 +974,7 @@ void MainWindow::startMachine() {
TEST(amstradCPC);
TEST(atariST);
TEST(electron);
TEST(enterprise);
TEST(macintosh);
TEST(msx);
TEST(oric);
@ -1057,6 +1059,38 @@ void MainWindow::start_electron() {
launchTarget(std::move(target));
}
void MainWindow::start_enterprise() {
using Target = Analyser::Static::Enterprise::Target;
auto target = std::make_unique<Target>();
switch(ui->enterpriseModelComboBox->currentIndex()) {
default: target->model = Target::Model::Enterprise64; break;
case 1: target->model = Target::Model::Enterprise128; break;
case 2: target->model = Target::Model::Enterprise256; break;
}
switch(ui->enterpriseEXOSComboBox->currentIndex()) {
default: target->exos_version = Target::EXOSVersion::v10; break;
case 1: target->exos_version = Target::EXOSVersion::v20; break;
case 2: target->exos_version = Target::EXOSVersion::v21; break;
case 3: target->exos_version = Target::EXOSVersion::v23; break;
}
switch(ui->enterpriseBASICComboBox->currentIndex()) {
default: target->basic_version = Target::BASICVersion::None; break;
case 1: target->basic_version = Target::BASICVersion::v10; break;
case 2: target->basic_version = Target::BASICVersion::v11; break;
case 3: target->basic_version = Target::BASICVersion::v21; break;
}
switch(ui->enterpriseDOSComboBox->currentIndex()) {
default: target->dos = Target::DOS::None; break;
case 1: target->dos = Target::DOS::EXDOS; break;
}
launchTarget(std::move(target));
}
void MainWindow::start_macintosh() {
using Target = Analyser::Static::Macintosh::Target;
auto target = std::make_unique<Target>();
@ -1212,6 +1246,12 @@ void MainWindow::launchTarget(std::unique_ptr<Analyser::Static::Target> &&target
CheckBox(electronAP6CheckBox, "electron.hasAP6"); \
CheckBox(electronSidewaysRAMCheckBox, "electron.fillSidewaysRAM"); \
\
/* Enterprise. */ \
ComboBox(enterpriseModelComboBox, "enterprise.model"); \
ComboBox(enterpriseEXOSComboBox, "enterprise.exos"); \
ComboBox(enterpriseBASICComboBox, "enterprise.basic"); \
ComboBox(enterpriseDOSComboBox, "enterprise.dos"); \
\
/* Macintosh. */ \
ComboBox(macintoshModelComboBox, "macintosh.model"); \
\

View File

@ -91,6 +91,7 @@ class MainWindow : public QMainWindow, public Outputs::Speaker::Speaker::Delegat
void start_amstradCPC();
void start_atariST();
void start_electron();
void start_enterprise();
void start_macintosh();
void start_msx();
void start_oric();

View File

@ -310,6 +310,138 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="enterpriseTab">
<attribute name="title">
<string>Enterprise</string>
</attribute>
<layout class="QVBoxLayout" name="enterpriseLayout">
<item>
<layout class="QHBoxLayout" name="enterpriseHorizontalLayout">
<item>
<layout class="QFormLayout" name="enterpriseFormLayout">
<item row="0" column="0">
<widget class="QLabel" name="enterpriseModelLabel">
<property name="text">
<string>Model:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="enterpriseModelComboBox">
<item>
<property name="text">
<string>Enterprise 64</string>
</property>
</item>
<item>
<property name="text">
<string>Enterprise 128</string>
</property>
</item>
<item>
<property name="text">
<string>Enterprise 256</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="enterpriseEXOSLabel">
<property name="text">
<string>EXOS:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="enterpriseEXOSComboBox">
<item>
<property name="text">
<string>Version 1.0</string>
</property>
</item>
<item>
<property name="text">
<string>Version 2.0</string>
</property>
</item>
<item>
<property name="text">
<string>Version 2.1</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="enterpriseBASICLabel">
<property name="text">
<string>BASIC:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="enterpriseBASICComboBox">
<item>
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text">
<string>Version 1.0</string>
</property>
</item>
<item>
<property name="text">
<string>Version 1.1</string>
</property>
</item>
<item>
<property name="text">
<string>Version 2.1</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="enterpriseDOSLabel">
<property name="text">
<string>DOS:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="enterpriseDOSComboBox">
<item>
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text">
<string>EXDOS</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="enterpriseHSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="macintoshTab">
<attribute name="title">
<string>Macintosh</string>
@ -533,75 +665,6 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="spectrumTab">
<attribute name="title">
<string>Spectrum</string>
</attribute>
<layout class="QVBoxLayout" name="spectrumLayout">
<item>
<layout class="QHBoxLayout" name="spectrumHorizontalLayout">
<item>
<layout class="QFormLayout" name="spectrumFormLayout">
<item row="0" column="0">
<widget class="QLabel" name="spectrumModelLabel">
<property name="text">
<string>Model:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="spectrumModelComboBox">
<item>
<property name="text">
<string>16kb</string>
</property>
</item>
<item>
<property name="text">
<string>48kb</string>
</property>
</item>
<item>
<property name="text">
<string>128kb</string>
</property>
</item>
<item>
<property name="text">
<string>+2</string>
</property>
</item>
<item>
<property name="text">
<string>+2a</string>
</property>
</item>
<item>
<property name="text">
<string>+3</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="spectrumHSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="vic20Tab">
<attribute name="title">
<string>Vic-20</string>
@ -830,6 +893,75 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="spectrumTab">
<attribute name="title">
<string>ZX Spectrum</string>
</attribute>
<layout class="QVBoxLayout" name="spectrumLayout">
<item>
<layout class="QHBoxLayout" name="spectrumHorizontalLayout">
<item>
<layout class="QFormLayout" name="spectrumFormLayout">
<item row="0" column="0">
<widget class="QLabel" name="spectrumModelLabel">
<property name="text">
<string>Model:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="spectrumModelComboBox">
<item>
<property name="text">
<string>16kb</string>
</property>
</item>
<item>
<property name="text">
<string>48kb</string>
</property>
</item>
<item>
<property name="text">
<string>128kb</string>
</property>
</item>
<item>
<property name="text">
<string>+2</string>
</property>
</item>
<item>
<property name="text">
<string>+2a</string>
</property>
</item>
<item>
<property name="text">
<string>+3</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="spectrumHSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
<item alignment="Qt::AlignBottom">