add properties window

gui-branch-qt
an 2019-05-16 00:28:33 -04:00
parent 7bc56dc171
commit 9d57058b0d
12 changed files with 531 additions and 69 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@
Cargo.lock
perf.data*
*.bat
*.user

View File

@ -16,9 +16,12 @@ add_executable(
maraiah-tycho
WIN32
source/tycho-qt/main.cc
source/tycho-qt/mainwindow.cc
source/tycho-qt/mainwindow.h
source/tycho-qt/mainwindow.ui
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
)
add_custom_target(

View File

@ -1,4 +1,4 @@
#include "mainwindow.h"
#include "winmenu.h"
#include <QApplication>
#include <cstdio>
@ -10,7 +10,7 @@ int main(int argc, char *argv[])
test_fn();
QApplication a(argc, argv);
MainWindow w;
WinMenu w;
w.show();
return a.exec();
}

View File

@ -1,16 +0,0 @@
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
// EOF

View File

@ -1,24 +0,0 @@
#pragma once
#ifndef tycho_qt__mainwindow_h
#define tycho_qt__mainwindow_h
#include <QMainWindow>
namespace Ui
{
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif

View File

@ -1,24 +0,0 @@
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle" >
<string>MainWindow</string>
</property>
<widget class="QMenuBar" name="menuBar" />
<widget class="QToolBar" name="mainToolBar" />
<widget class="QWidget" name="centralWidget" />
<widget class="QStatusBar" name="statusBar" />
</widget>
<layoutDefault spacing="6" margin="11" />
<pixmapfunction></pixmapfunction>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,15 @@
#include "mapprops.h"
#include "ui_mapprops.h"
MapProps::MapProps(QWidget *parent) :
QWidget(parent),
ui(new Ui::MapProps)
{
ui->setupUi(this);
}
MapProps::~MapProps()
{
}
// EOF

View File

@ -0,0 +1,23 @@
#pragma once
#include <QWidget>
#include <memory>
namespace Ui
{
class MapProps;
}
class MapProps : public QWidget
{
Q_OBJECT
public:
explicit MapProps(QWidget *parent = nullptr);
~MapProps();
private:
std::unique_ptr<Ui::MapProps> ui;
};
// EOF

333
source/tycho-qt/mapprops.ui Normal file
View File

@ -0,0 +1,333 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MapProps</class>
<widget class="QWidget" name="MapProps">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>467</width>
<height>628</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>194</height>
</size>
</property>
<property name="title">
<string>Map Info</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Map Name</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit">
<property name="toolTip">
<string>The name of the map.</string>
</property>
<property name="maxLength">
<number>65</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Texture Set</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="comboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>The texture set used by the map.</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Landscape</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="comboBox_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>The landscape/sky background for the map.</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Music No.</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="spinBox">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>The music number used in this map. Only enabled if the &quot;Music&quot; flag is on.</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Entry Flags</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="QCheckBox" name="checkBox_3">
<property name="text">
<string>Carnage</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="checkBox_4">
<property name="text">
<string>KTMWTB</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="checkBox_2">
<property name="text">
<string>Co-operative</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="checkBox">
<property name="text">
<string>Solo</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="checkBox_5">
<property name="text">
<string>King of the Hill</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="checkBox_6">
<property name="text">
<string>Defense</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="checkBox_7">
<property name="text">
<string>Rugby</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="checkBox_8">
<property name="text">
<string>Capture the Flag</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="1" rowspan="2">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Environment Flags</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="checkBox_17">
<property name="text">
<string>Vacuum</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_18">
<property name="text">
<string>Magnetic</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_19">
<property name="text">
<string>Rebellion</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_20">
<property name="text">
<string>Low Gravity</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_21">
<property name="text">
<string>Marathon 1 Glue</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_22">
<property name="text">
<string>Lava Floor</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_23">
<property name="text">
<string>Rebellion (No Strip)</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_24">
<property name="text">
<string>Music</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_25">
<property name="text">
<string>Terminals Stop Time</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_26">
<property name="text">
<string>M1 Monster Limits</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_27">
<property name="text">
<string>M1 Weapon Differences</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Mission Flags</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QCheckBox" name="checkBox_9">
<property name="text">
<string>Extermination</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_10">
<property name="text">
<string>Exploration</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_11">
<property name="text">
<string>Retrieval</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_12">
<property name="text">
<string>Repair</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_13">
<property name="text">
<string>Rescue</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_14">
<property name="text">
<string>M1 Exploration</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_15">
<property name="text">
<string>M1 Rescue</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_16">
<property name="text">
<string>M1 Repair</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -0,0 +1,17 @@
#include "winmenu.h"
#include "ui_winmenu.h"
WinMenu::WinMenu(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::WinMenu)
{
ui->setupUi(this);
props = new MapProps(ui->dockScrollArea);
ui->dockScrollArea->setWidget(props);
}
WinMenu::~WinMenu()
{
}
// EOF

26
source/tycho-qt/winmenu.h Normal file
View File

@ -0,0 +1,26 @@
#pragma once
#include "mapprops.h"
#include <QMainWindow>
#include <memory>
namespace Ui
{
class WinMenu;
}
class WinMenu : public QMainWindow
{
Q_OBJECT
public:
explicit WinMenu(QWidget *parent = nullptr);
~WinMenu();
private:
std::unique_ptr<Ui::WinMenu> ui;
MapProps *props;
};
// EOF

108
source/tycho-qt/winmenu.ui Normal file
View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>WinMenu</class>
<widget class="QMainWindow" name="WinMenu">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>400</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>500</width>
<height>400</height>
</size>
</property>
<property name="windowTitle">
<string>Tycho</string>
</property>
<widget class="QWidget" name="widget_3"/>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>30</height>
</rect>
</property>
<widget class="QMenu" name="menu">
<property name="title">
<string>File</string>
</property>
<addaction name="actionNew"/>
<addaction name="actionOpen"/>
</widget>
<addaction name="menu"/>
</widget>
<widget class="QStatusBar" name="statusBar"/>
<widget class="QToolBar" name="toolBar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
</widget>
<widget class="QDockWidget" name="dockWidget">
<property name="floating">
<bool>false</bool>
</property>
<property name="features">
<set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
</property>
<property name="allowedAreas">
<set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set>
</property>
<property name="windowTitle">
<string>Property Editor</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="widget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QScrollArea" name="dockScrollArea">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="widget_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>80</width>
<height>289</height>
</rect>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
<action name="actionOpen">
<property name="text">
<string>Open Project</string>
</property>
</action>
<action name="actionNew">
<property name="text">
<string>New Project</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>