OSDN Git Service

[UI][Qt][M23] Add gui of SORD M23/M68.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 14 Jan 2023 13:46:39 +0000 (22:46 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 14 Jan 2023 13:46:39 +0000 (22:46 +0900)
source/src/qt/machines/m23/CMakeLists.txt [new file with mode: 0644]
source/src/qt/machines/m23/MainWindow.cpp [new file with mode: 0644]
source/src/qt/machines/m23/menuclasses.h [new file with mode: 0644]
source/src/res/m23.rc

diff --git a/source/src/qt/machines/m23/CMakeLists.txt b/source/src/qt/machines/m23/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9425452
--- /dev/null
@@ -0,0 +1,14 @@
+message("* qt/${EXE_NAME}")
+
+set(s_qt_${EXE_NAME}_headers
+         menuclasses.h
+)
+
+MAKE_WRAP_CPP(s_qt_${EXE_NAME}_headers_MOC ${s_qt_${EXE_NAME}_headers})
+
+add_library(qt_${EXE_NAME}
+         MainWindow.cpp
+         ${s_qt_${EXE_NAME}_headers_MOC}
+)
+
+
diff --git a/source/src/qt/machines/m23/MainWindow.cpp b/source/src/qt/machines/m23/MainWindow.cpp
new file mode 100644 (file)
index 0000000..2260620
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * Common Source code Project:
+ * Ui->Qt->MainWindow for SORE M23 / M68.
+ * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
+ *   License : GPLv2
+ *   History :
+ * Jan 14, 2022 : Split from eMP85
+ */
+
+#include <QApplication>
+#include <QVariant>
+#include <QtGui>
+#include <QMenu>
+
+#include "config.h"
+#include "commonclasses.h"
+#include "menuclasses.h"
+#include "emu.h"
+#include "qt_main.h"
+#include "menu_cmt.h"
+#include "menu_binary.h"
+
+extern config_t config;
+//QT_BEGIN_NAMESPACE
+
+void META_MainWindow::retranslateUi(void)
+{
+       Ui_MainWindowBase::retranslateUi();
+       retranslateControlMenu("", false);
+
+#if defined(USE_DIPSWITCH)
+       action_DipSWs[0]->setText(QApplication::translate("MachineM23", "SW1: OS Boot/Debug", 0));
+       action_DipSWs[1]->setText(QApplication::translate("MachineM23", "SW2: Debug", 0));
+       action_DipSWs[2]->setText(QApplication::translate("MachineM23", "SW3: Debug", 0));
+       action_DipSWs[3]->setText(QApplication::translate("MachineM23", "SW4: (Reserved)", 0));
+       action_DipSWs[4]->setText(QApplication::translate("MachineM23", "SW5: (Reserved)", 0));
+       action_DipSWs[5]->setText(QApplication::translate("MachineM23", "SW6: (Reserved)", 0));
+       action_DipSWs[6]->setText(QApplication::translate("MachineM23", "SW7: (Reserved)", 0));
+       action_DipSWs[7]->setText(QApplication::translate("MachineM23", "SW8: Memory Page #0", 0));
+       for(int i = 0; i < 8; i++) {
+               action_DipSWs[i]->setVisible(true);
+       }
+#endif 
+#if defined(USE_MONITOR_TYPE)
+       actionMonitorType[0]->setText(QApplication::translate("MenuM23", "Color Monitor"));
+       actionMonitorType[1]->setText(QApplication::translate("MenuM23", "Green Monitor"));
+#endif 
+       
+#if defined(USE_DRIVE_TYPE)
+       menuDriveType->setTitle(QApplication::translate("MachineM23", "Floppy Type", 0));
+       actionDriveType[0]->setText(QApplication::translate("MachineM23", "FD20-I (3.5inch-1DD)", 0));
+       actionDriveType[1]->setText(QApplication::translate("MachineM23", "FD20 (5.25inch-1DD)", 0));
+       actionDriveType[2]->setText(QApplication::translate("MachineM23", "DF44H (8inch-2D)", 0));
+#endif
+
+#if defined(USE_KEYBOARD_TYPE)
+       menuKeyboardType->setTitle(QApplication::translate("MachineM23", "Keyboard Mode", 0));
+       actionKeyboardType[0]->setText(QApplication::translate("MachineM23", "ASCII Keyboard", 0));
+       actionKeyboardType[1]->setText(QApplication::translate("MachineM23", "JIS Keyboard", 0));
+#endif
+
+#ifdef USE_DEBUGGER
+       actionDebugger[0]->setVisible(true);
+       actionDebugger[1]->setVisible(false);
+       actionDebugger[2]->setVisible(false);
+       actionDebugger[3]->setVisible(false);
+#endif
+       
+} // retranslateUi
+
+void META_MainWindow::setupUI_Emu(void)
+{
+       for(int i = 0; i < 8; i++) {
+               action_DipSWs[i] = nullptr;
+       }
+       menuMachine->addSeparator();
+       uint32_t _bit = 0x00000001;
+       for(int i = 0; i < 8; i++) {
+               SET_ACTION_SINGLE_DIPSWITCH_CONNECT(action_DipSWs[i], _bit,
+                                                                               p_config->dipswitch,
+                                                                               SIGNAL(toggled(bool)),
+                                                                               SLOT(do_set_single_dipswitch(bool)));
+               menuMachine->addAction(action_DipSWs[i]);
+               _bit <<= 1;
+       }
+
+}
+
+
+META_MainWindow::META_MainWindow(std::shared_ptr<USING_FLAGS> p, std::shared_ptr<CSP_Logger> logger, QWidget *parent) : Ui_MainWindow(p, logger, parent)
+{
+       setupUI_Emu();
+       retranslateUi();
+}
+
+
+META_MainWindow::~META_MainWindow()
+{
+}
+
+//QT_END_NAMESPACE
+
+
+
diff --git a/source/src/qt/machines/m23/menuclasses.h b/source/src/qt/machines/m23/menuclasses.h
new file mode 100644 (file)
index 0000000..54cc240
--- /dev/null
@@ -0,0 +1,29 @@
+
+#ifndef _CSP_QT_MENUCLASSES_H
+#define _CSP_QT_MENUCLASSES_H
+
+#include "mainwidget.h"
+#include "commonclasses.h"
+// This extends class CSP_MainWindow as Ui_MainWindow.
+// You may use this as 
+QT_BEGIN_NAMESPACE
+
+class Ui_MainWindow;
+class USING_FLAGS;
+class CSP_Logger;
+class META_MainWindow : public Ui_MainWindow {
+       Q_OBJECT
+protected:
+       Action_Control *action_DipSWs[8];
+       
+       void setupUI_Emu(void);
+       void retranslateUi(void);
+public:
+       META_MainWindow(std::shared_ptr<USING_FLAGS> p, std::shared_ptr<CSP_Logger> logger, QWidget *parent = 0);
+       ~META_MainWindow();
+public slots:
+};
+
+QT_END_NAMESPACE
+
+#endif // END
index 3775608..77bfe37 100644 (file)
@@ -197,6 +197,11 @@ BEGIN
             MENUITEM "FD20 (5.25inch-1DD)",     ID_VM_DRIVE_TYPE1\r
             MENUITEM "DF44H (8inch-2D)",        ID_VM_DRIVE_TYPE2\r
         END\r
+        POPUP "Keyboard"\r
+        BEGIN\r
+            MENUITEM "ASCII Keyboard",          ID_VM_KEYBOARD_TYPE0\r
+            MENUITEM "JIS Keyboard",            ID_VM_KEYBOARD_TYPE1\r
+        END\r
         POPUP "Sound"\r
         BEGIN\r
             MENUITEM "Play FDD Noise",          ID_VM_SOUND_NOISE_FDD\r
@@ -327,4 +332,3 @@ END
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 #endif    // not APSTUDIO_INVOKED\r
-\r