diff --git a/CMakeLists.txt b/CMakeLists.txt index 52fd884..fab9cf2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,13 +18,16 @@ find_package(Qt5Widgets CONFIG REQUIRED) add_executable( maraiah-tycho WIN32 - source/tycho-qt/main.cc - source/tycho-qt/mapprops.cc - source/tycho-qt/mapprops.h source/tycho-qt/mapprops.ui - source/tycho-qt/winmenu.cc - source/tycho-qt/winmenu.h source/tycho-qt/winmenu.ui + + source/tycho-qt/common.h + source/tycho-qt/mapprops.h + source/tycho-qt/winmenu.h + + source/tycho-qt/mapprops.cc + source/tycho-qt/winmenu.cc + source/tycho-qt/main.cc ) add_custom_target( diff --git a/source/tycho-qt/common.h b/source/tycho-qt/common.h new file mode 100644 index 0000000..92d49c3 --- /dev/null +++ b/source/tycho-qt/common.h @@ -0,0 +1,29 @@ +#pragma once + +#include +#include +#include + +#ifndef NDEBUG +# define DbgPrintFunc() std::puts(__func__) +#else +# define DbgPrintFunc() +#endif + +typedef float f32; +typedef double f64; + +typedef std::int8_t i8; +typedef std::int16_t i16; +typedef std::int32_t i32; +typedef std::int64_t i64; + +typedef std::uint8_t u8; +typedef std::uint16_t u16; +typedef std::uint32_t u32; +typedef std::uint64_t u64; + +typedef std::ptrdiff_t isize; +typedef std::size_t usize; + +// EOF diff --git a/source/tycho-qt/mapprops.cc b/source/tycho-qt/mapprops.cc index cd05bae..e08cd2b 100644 --- a/source/tycho-qt/mapprops.cc +++ b/source/tycho-qt/mapprops.cc @@ -1,8 +1,9 @@ +#include "common.h" #include "mapprops.h" #include "ui_mapprops.h" MapProps::MapProps(QWidget *parent) : - QWidget(parent), + QDialog(parent, Qt::Window), ui(new Ui::MapProps) { ui->setupUi(this); @@ -10,6 +11,7 @@ MapProps::MapProps(QWidget *parent) : MapProps::~MapProps() { + DbgPrintFunc(); } // EOF diff --git a/source/tycho-qt/mapprops.h b/source/tycho-qt/mapprops.h index aaac692..1d36eb0 100644 --- a/source/tycho-qt/mapprops.h +++ b/source/tycho-qt/mapprops.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include namespace Ui @@ -8,7 +8,7 @@ namespace Ui class MapProps; } -class MapProps : public QWidget +class MapProps : public QDialog { Q_OBJECT diff --git a/source/tycho-qt/mapprops.ui b/source/tycho-qt/mapprops.ui index 850ea95..dcc98e3 100644 --- a/source/tycho-qt/mapprops.ui +++ b/source/tycho-qt/mapprops.ui @@ -1,15 +1,21 @@ MapProps - + + + Qt::WindowModal + 0 0 467 - 628 + 668 + + Map Properties + @@ -326,8 +332,51 @@ + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + - + + + buttonBox + accepted() + MapProps + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + MapProps + reject() + + + 316 + 260 + + + 286 + 274 + + + + diff --git a/source/tycho-qt/winmenu.cc b/source/tycho-qt/winmenu.cc index 185c830..be1f35d 100644 --- a/source/tycho-qt/winmenu.cc +++ b/source/tycho-qt/winmenu.cc @@ -1,17 +1,28 @@ +#include "common.h" #include "winmenu.h" #include "ui_winmenu.h" +#include + WinMenu::WinMenu(QWidget *parent) : QMainWindow(parent), - ui(new Ui::WinMenu) + ui(new Ui::WinMenu), + props(new MapProps(this)) { ui->setupUi(this); - props = new MapProps(ui->dockScrollArea); - ui->dockScrollArea->setWidget(props); + + connect(ui->actionMapProps, &QAction::triggered, + this, &WinMenu::openMapProperties); } WinMenu::~WinMenu() { + DbgPrintFunc(); +} + +void WinMenu::openMapProperties() +{ + props->show(); } // EOF diff --git a/source/tycho-qt/winmenu.h b/source/tycho-qt/winmenu.h index f5fb5e6..b638118 100644 --- a/source/tycho-qt/winmenu.h +++ b/source/tycho-qt/winmenu.h @@ -18,6 +18,9 @@ public: explicit WinMenu(QWidget *parent = nullptr); ~WinMenu(); +public slots: + void openMapProperties(); + private: std::unique_ptr ui; MapProps *props; diff --git a/source/tycho-qt/winmenu.ui b/source/tycho-qt/winmenu.ui index 10542eb..4f71c0c 100644 --- a/source/tycho-qt/winmenu.ui +++ b/source/tycho-qt/winmenu.ui @@ -6,14 +6,14 @@ 0 0 - 500 - 400 + 800 + 600 - 500 - 400 + 800 + 600 @@ -25,81 +25,47 @@ 0 0 - 500 + 800 30 - + File - + + + Edit + + + + + - - - TopToolBarArea - - - false - - - - - false - - - QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable - - - Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea - - - Property Editor - - - 2 - - - - - - - QFrame::NoFrame - - - Qt::ScrollBarAlwaysOff - - - true - - - - - 0 - 0 - 80 - 289 - - - - - - - - Open Project + + Ctrl+O + New Project + + Ctrl+N + + + + + Map Properties +