Implement advanced mode

This commit is contained in:
2025-12-20 20:24:39 +01:00
parent 2ff9d533c3
commit cbf2c3d4a9
20 changed files with 628 additions and 210 deletions
+13
View File
@@ -7,6 +7,7 @@
#include "models/projecttreemodel.h" #include "models/projecttreemodel.h"
#include "mainwindow.h" #include "mainwindow.h"
#include "editorguiutils.h" #include "editorguiutils.h"
#include "editorsettings.h"
AddEventDialog::AddEventDialog(ProjectTreeModel &projectModel, MainWindow &mainWindow, QWidget *parent) : AddEventDialog::AddEventDialog(ProjectTreeModel &projectModel, MainWindow &mainWindow, QWidget *parent) :
QDialog{parent}, QDialog{parent},
@@ -86,6 +87,10 @@ AddEventDialog::AddEventDialog(ProjectTreeModel &projectModel, MainWindow &mainW
menu->addAction(tr("Add/Modify Triggers..."), this, [this](){ m_mainWindow.showDefineTriggers(); reject(); }); menu->addAction(tr("Add/Modify Triggers..."), this, [this](){ m_mainWindow.showDefineTriggers(); reject(); });
m_ui->pushButtonTrigger->setMenu(menu); m_ui->pushButtonTrigger->setMenu(menu);
} }
connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
this, &AddEventDialog::advancedModeChanged);
advancedModeChanged(mainWindow.settings().advancedMode());
} }
AddEventDialog::~AddEventDialog() = default; AddEventDialog::~AddEventDialog() = default;
@@ -107,3 +112,11 @@ void AddEventDialog::reject()
QDialog::reject(); QDialog::reject();
} }
void AddEventDialog::advancedModeChanged(bool advancedMode)
{
for (QWidget *widgets[] {
m_ui->pushButtonTrigger
}; QWidget *widget : widgets)
widget->setVisible(advancedMode);
}
+3
View File
@@ -25,6 +25,9 @@ public:
void accept() override; void accept() override;
void reject() override; void reject() override;
private slots:
void advancedModeChanged(bool advancedMode);
private: private:
ProjectTreeModel &m_projectModel; ProjectTreeModel &m_projectModel;
MainWindow &m_mainWindow; MainWindow &m_mainWindow;
@@ -11,6 +11,7 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "imagehelpers.h" #include "imagehelpers.h"
#include "editorguiutils.h" #include "editorguiutils.h"
#include "editorsettings.h"
BackgroundPropertiesDialog::BackgroundPropertiesDialog(Background &background, ProjectTreeModel &projectModel, MainWindow &mainWindow) : BackgroundPropertiesDialog::BackgroundPropertiesDialog(Background &background, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow}, QDialog{&mainWindow},
@@ -44,6 +45,10 @@ BackgroundPropertiesDialog::BackgroundPropertiesDialog(Background &background, P
this, &BackgroundPropertiesDialog::changed); this, &BackgroundPropertiesDialog::changed);
connect(m_ui->checkBoxTileset, &QCheckBox::checkStateChanged, connect(m_ui->checkBoxTileset, &QCheckBox::checkStateChanged,
this, &BackgroundPropertiesDialog::changed); this, &BackgroundPropertiesDialog::changed);
connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
this, &BackgroundPropertiesDialog::advancedModeChanged);
advancedModeChanged(mainWindow.settings().advancedMode());
} }
BackgroundPropertiesDialog::~BackgroundPropertiesDialog() = default; BackgroundPropertiesDialog::~BackgroundPropertiesDialog() = default;
@@ -166,6 +171,15 @@ void BackgroundPropertiesDialog::backgroundNameChanged(const Background &backgro
updateTitle(); updateTitle();
} }
void BackgroundPropertiesDialog::advancedModeChanged(bool advancedMode)
{
for (QWidget *widgets[] {
m_ui->pushButtonSave,
m_ui->checkBoxTileset
}; QWidget *widget : widgets)
widget->setVisible(advancedMode);
}
void BackgroundPropertiesDialog::updateTitle() void BackgroundPropertiesDialog::updateTitle()
{ {
setWindowTitle(tr("Background Properties: %0%1") setWindowTitle(tr("Background Properties: %0%1")
@@ -30,6 +30,8 @@ private slots:
void backgroundNameChanged(const Background &background); void backgroundNameChanged(const Background &background);
void advancedModeChanged(bool advancedMode);
private: private:
void updateTitle(); void updateTitle();
void updateSpriteInfo(); void updateSpriteInfo();
@@ -12,6 +12,7 @@
#include "models/objecteventsmodel.h" #include "models/objecteventsmodel.h"
#include "addeventdialog.h" #include "addeventdialog.h"
#include "editorguiutils.h" #include "editorguiutils.h"
#include "editorsettings.h"
ObjectPropertiesDialog::ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, MainWindow &mainWindow) : ObjectPropertiesDialog::ObjectPropertiesDialog(Object &object, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow}, QDialog{&mainWindow},
@@ -120,6 +121,10 @@ ObjectPropertiesDialog::ObjectPropertiesDialog(Object &object, ProjectTreeModel
connect(m_ui->actionsWidget, &ActionsContainerWidget::changed, connect(m_ui->actionsWidget, &ActionsContainerWidget::changed,
this, &ObjectPropertiesDialog::changed); this, &ObjectPropertiesDialog::changed);
connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
this, &ObjectPropertiesDialog::advancedModeChanged);
advancedModeChanged(mainWindow.settings().advancedMode());
} }
ObjectPropertiesDialog::~ObjectPropertiesDialog() = default; ObjectPropertiesDialog::~ObjectPropertiesDialog() = default;
@@ -439,6 +444,15 @@ void ObjectPropertiesDialog::setMaskSprite(const Sprite &sprite)
changed(); changed();
} }
void ObjectPropertiesDialog::advancedModeChanged(bool advancedMode)
{
for (QWidget *widgets[] {
m_ui->widgetDetails,
m_ui->pushButtonShowInformation
}; QWidget *widget : widgets)
widget->setVisible(advancedMode);
}
void ObjectPropertiesDialog::updateTitle() void ObjectPropertiesDialog::updateTitle()
{ {
setWindowTitle(tr("Object Properties: %0%1") setWindowTitle(tr("Object Properties: %0%1")
@@ -53,6 +53,8 @@ private slots:
void clearMaskSprite(); void clearMaskSprite();
void setMaskSprite(const Sprite &sprite); void setMaskSprite(const Sprite &sprite);
void advancedModeChanged(bool advancedMode);
private: private:
void updateTitle(); void updateTitle();
void updateSpritePreview(); void updateSpritePreview();
+95 -99
View File
@@ -21,7 +21,7 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayoutName">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="labelName"> <widget class="QLabel" name="labelName">
<property name="text"> <property name="text">
@@ -68,7 +68,7 @@
</size> </size>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property> </property>
</widget> </widget>
</item> </item>
@@ -92,7 +92,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="popupMode"> <property name="popupMode">
<enum>QToolButton::InstantPopup</enum> <enum>QToolButton::ToolButtonPopupMode::InstantPopup</enum>
</property> </property>
</widget> </widget>
</item> </item>
@@ -164,105 +164,101 @@
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QFormLayout" name="formLayout_2"> <widget class="QWidget" name="widgetDetails" native="true">
<item row="0" column="0"> <layout class="QFormLayout" name="formLayoutDetails">
<widget class="QLabel" name="labelDepth"> <item row="0" column="0">
<property name="text"> <widget class="QLabel" name="labelDepth">
<string>Depth:</string> <property name="text">
</property> <string>Depth:</string>
<property name="buddy"> </property>
<cstring>spinBoxDepth</cstring> <property name="buddy">
</property> <cstring>spinBoxDepth</cstring>
</widget> </property>
</item> </widget>
<item row="0" column="1"> </item>
<widget class="QSpinBox" name="spinBoxDepth"> <item row="0" column="1">
<property name="sizePolicy"> <widget class="QSpinBox" name="spinBoxDepth">
<sizepolicy hsizetype="Ignored" vsizetype="Fixed"> <property name="toolTip">
<horstretch>0</horstretch> <string>The depth at which the object is drawn</string>
<verstretch>0</verstretch> </property>
</sizepolicy> </widget>
</property> </item>
<property name="toolTip"> <item row="1" column="1">
<string>The depth at which the object is drawn</string> <widget class="QCheckBox" name="checkBoxPersistent">
</property> <property name="toolTip">
</widget> <string>Wheter the object is persistent between rooms</string>
</item> </property>
<item row="1" column="1"> <property name="text">
<widget class="QCheckBox" name="checkBoxPersistent"> <string>Persistent</string>
<property name="toolTip"> </property>
<string>Wheter the object is persistent between rooms</string> </widget>
</property> </item>
<property name="text"> <item row="2" column="0">
<string>Persistent</string> <widget class="QLabel" name="labelParent">
</property> <property name="text">
</widget> <string>Parent:</string>
</item> </property>
<item row="2" column="0"> <property name="buddy">
<widget class="QLabel" name="labelParent"> <cstring>widgetParent</cstring>
<property name="text"> </property>
<string>Parent:</string> </widget>
</property> </item>
<property name="buddy"> <item row="2" column="1">
<cstring>widgetParent</cstring> <widget class="ObjectParentSelectorWidget" name="widgetParent" native="true"/>
</property> </item>
</widget> <item row="3" column="1">
</item> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item row="2" column="1"> <item>
<widget class="ObjectParentSelectorWidget" name="widgetParent" native="true"/> <widget class="QLineEditWithMenu" name="lineEditMask">
</item> <property name="sizePolicy">
<item row="3" column="1"> <sizepolicy hsizetype="Ignored" vsizetype="Fixed">
<layout class="QHBoxLayout" name="horizontalLayout_3"> <horstretch>0</horstretch>
<item> <verstretch>0</verstretch>
<widget class="QLineEditWithMenu" name="lineEditMask"> </sizepolicy>
<property name="sizePolicy"> </property>
<sizepolicy hsizetype="Ignored" vsizetype="Fixed"> <property name="toolTip">
<horstretch>0</horstretch> <string>The image used as a collision mask for the object</string>
<verstretch>0</verstretch> </property>
</sizepolicy> <property name="text">
</property> <string>&lt;same as sprite&gt;</string>
<property name="toolTip"> </property>
<string>The image used as a collision mask for the object</string> <property name="readOnly">
</property> <bool>true</bool>
<property name="text"> </property>
<string>&lt;same as sprite&gt;</string> </widget>
</property> </item>
<property name="readOnly"> <item>
<bool>true</bool> <widget class="QToolButton" name="toolButtonMask">
</property> <property name="text">
</widget> <string>...</string>
</item> </property>
<item> <property name="popupMode">
<widget class="QToolButton" name="toolButtonMask"> <enum>QToolButton::ToolButtonPopupMode::InstantPopup</enum>
<property name="text"> </property>
<string>...</string> </widget>
</property> </item>
<property name="popupMode"> </layout>
<enum>QToolButton::InstantPopup</enum> </item>
</property> <item row="3" column="0">
</widget> <widget class="QLabel" name="labelMask">
</item> <property name="text">
</layout> <string>Mask:</string>
</item> </property>
<item row="3" column="0"> <property name="buddy">
<widget class="QLabel" name="labelMask"> <cstring>lineEditMask</cstring>
<property name="text"> </property>
<string>Mask:</string> </widget>
</property> </item>
<property name="buddy"> </layout>
<cstring>lineEditMask</cstring> </widget>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeType"> <property name="sizeType">
<enum>QSizePolicy::Minimum</enum> <enum>QSizePolicy::Policy::Minimum</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -295,7 +291,7 @@
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -308,7 +304,7 @@
<item> <item>
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons"> <property name="standardButtons">
<set>QDialogButtonBox::Ok</set> <set>QDialogButtonBox::StandardButton::Ok</set>
</property> </property>
<property name="centerButtons"> <property name="centerButtons">
<bool>true</bool> <bool>true</bool>
@@ -338,7 +334,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="contextMenuPolicy"> <property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum> <enum>Qt::ContextMenuPolicy::CustomContextMenu</enum>
</property> </property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
@@ -14,6 +14,7 @@
#include "editorguiutils.h" #include "editorguiutils.h"
#include "genericcodeeditordialog.h" #include "genericcodeeditordialog.h"
#include "mainwindow.h" #include "mainwindow.h"
#include "editorsettings.h"
RoomPropertiesDialog::RoomPropertiesDialog(Room &room, ProjectTreeModel &projectModel, MainWindow &mainWindow) : RoomPropertiesDialog::RoomPropertiesDialog(Room &room, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow}, QDialog{&mainWindow},
@@ -192,6 +193,10 @@ RoomPropertiesDialog::RoomPropertiesDialog(Room &room, ProjectTreeModel &project
if (!m_projectModel.project()->objects.empty()) if (!m_projectModel.project()->objects.empty())
setObject(m_projectModel.project()->objects.back()); setObject(m_projectModel.project()->objects.back());
connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
this, &RoomPropertiesDialog::advancedModeChanged);
advancedModeChanged(mainWindow.settings().advancedMode());
} }
RoomPropertiesDialog::~RoomPropertiesDialog() = default; RoomPropertiesDialog::~RoomPropertiesDialog() = default;
@@ -422,6 +427,18 @@ void RoomPropertiesDialog::cursorMoved(const QPoint &point)
m_labelY->setText(tr("Y: %0").arg(point.y())); m_labelY->setText(tr("Y: %0").arg(point.y()));
} }
void RoomPropertiesDialog::advancedModeChanged(bool advancedMode)
{
for (QWidget *widgets[] {
m_ui->checkBoxPersistent,
m_ui->pushButtonCreationCode
}; QWidget *widget : widgets)
widget->setVisible(advancedMode);
m_ui->tabWidget->setTabVisible(m_ui->tabWidget->indexOf(m_ui->tabTiles), advancedMode);
m_ui->tabWidget->setTabVisible(m_ui->tabWidget->indexOf(m_ui->tabViews), advancedMode);
}
void RoomPropertiesDialog::setObject(const Object &object) void RoomPropertiesDialog::setObject(const Object &object)
{ {
m_selectedObject = &object; m_selectedObject = &object;
@@ -50,6 +50,8 @@ private slots:
void cursorMoved(const QPoint &point); void cursorMoved(const QPoint &point);
void advancedModeChanged(bool advancedMode);
private: private:
void setObject(const Object &object); void setObject(const Object &object);
void updateTitle(); void updateTitle();
+51 -36
View File
@@ -36,10 +36,10 @@
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QFrame" name="frame">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Panel</enum> <enum>QFrame::Shape::Panel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Shadow::Raised</enum>
</property> </property>
<layout class="QHBoxLayout"> <layout class="QHBoxLayout">
<property name="spacing"> <property name="spacing">
@@ -94,11 +94,11 @@
<item> <item>
<widget class="QSplitter" name="splitter"> <widget class="QSplitter" name="splitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="tabPosition"> <property name="tabPosition">
<enum>QTabWidget::West</enum> <enum>QTabWidget::TabPosition::West</enum>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
@@ -126,7 +126,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property> </property>
<widget class="QLabel" name="labelObjectPreview"> <widget class="QLabel" name="labelObjectPreview">
<property name="geometry"> <property name="geometry">
@@ -134,11 +134,11 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>595</width> <width>595</width>
<height>527</height> <height>528</height>
</rect> </rect>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property> </property>
</widget> </widget>
</widget> </widget>
@@ -146,10 +146,10 @@
<item> <item>
<widget class="QFrame" name="frame_2"> <widget class="QFrame" name="frame_2">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::Shape::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Shadow::Raised</enum>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
@@ -174,7 +174,7 @@
<string>...</string> <string>...</string>
</property> </property>
<property name="popupMode"> <property name="popupMode">
<enum>QToolButton::InstantPopup</enum> <enum>QToolButton::ToolButtonPopupMode::InstantPopup</enum>
</property> </property>
</widget> </widget>
</item> </item>
@@ -313,11 +313,14 @@
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Minimum</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>0</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@@ -337,11 +340,14 @@
<item> <item>
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Minimum</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>0</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@@ -352,7 +358,7 @@
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -380,7 +386,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>577</width> <width>577</width>
<height>539</height> <height>540</height>
</rect> </rect>
</property> </property>
</widget> </widget>
@@ -389,10 +395,10 @@
<item> <item>
<widget class="QFrame" name="frame_3"> <widget class="QFrame" name="frame_3">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::Shape::StyledPanel</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Shadow::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_4" stretch="0,1"> <layout class="QHBoxLayout" name="horizontalLayout_4" stretch="0,1">
<item> <item>
@@ -451,7 +457,7 @@
<item> <item>
<spacer name="horizontalSpacer_4"> <spacer name="horizontalSpacer_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -471,7 +477,7 @@
<item> <item>
<spacer name="horizontalSpacer_5"> <spacer name="horizontalSpacer_5">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -488,11 +494,14 @@
<item> <item>
<spacer name="horizontalSpacer_3"> <spacer name="horizontalSpacer_3">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Minimum</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>177</width> <width>0</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@@ -618,7 +627,7 @@
<item row="1" column="1"> <item row="1" column="1">
<spacer name="horizontalSpacer_8"> <spacer name="horizontalSpacer_8">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -635,7 +644,7 @@
<item> <item>
<spacer name="horizontalSpacer_7"> <spacer name="horizontalSpacer_7">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -680,7 +689,7 @@
<item> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -695,11 +704,14 @@
<item> <item>
<spacer name="horizontalSpacer_6"> <spacer name="horizontalSpacer_6">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Minimum</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>119</width> <width>0</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@@ -930,7 +942,7 @@
<item> <item>
<spacer name="verticalSpacer_3"> <spacer name="verticalSpacer_3">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -945,11 +957,14 @@
<item> <item>
<spacer name="horizontalSpacer_9"> <spacer name="horizontalSpacer_9">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Minimum</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>255</width> <width>0</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@@ -970,7 +985,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> <set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property> </property>
<attribute name="title"> <attribute name="title">
<string>Custom Widget</string> <string>Custom Widget</string>
@@ -1184,17 +1199,17 @@
</action> </action>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget>
<class>QLineEditWithMenu</class>
<extends>QLineEdit</extends>
<header>widgets/qlineeditwithmenu.h</header>
</customwidget>
<customwidget> <customwidget>
<class>RoomEditWidget</class> <class>RoomEditWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header>widgets/roomeditwidget.h</header> <header>widgets/roomeditwidget.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget>
<class>QLineEditWithMenu</class>
<extends>QLineEdit</extends>
<header>widgets/qlineeditwithmenu.h</header>
</customwidget>
<customwidget> <customwidget>
<class>QScrollAreaWithMenu</class> <class>QScrollAreaWithMenu</class>
<extends>QScrollArea</extends> <extends>QScrollArea</extends>
@@ -11,6 +11,7 @@
#include "models/projecttreemodel.h" #include "models/projecttreemodel.h"
#include "mainwindow.h" #include "mainwindow.h"
#include "editorguiutils.h" #include "editorguiutils.h"
#include "editorsettings.h"
SoundPropertiesDialog::SoundPropertiesDialog(Sound &sound, ProjectTreeModel &projectModel, MainWindow &mainWindow) : SoundPropertiesDialog::SoundPropertiesDialog(Sound &sound, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow}, QDialog{&mainWindow},
@@ -84,6 +85,10 @@ SoundPropertiesDialog::SoundPropertiesDialog(Sound &sound, ProjectTreeModel &pro
this, &SoundPropertiesDialog::changed); this, &SoundPropertiesDialog::changed);
connect(m_ui->checkBoxPreload, &QCheckBox::checkStateChanged, connect(m_ui->checkBoxPreload, &QCheckBox::checkStateChanged,
this, &SoundPropertiesDialog::changed); this, &SoundPropertiesDialog::changed);
connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
this, &SoundPropertiesDialog::advancedModeChanged);
advancedModeChanged(mainWindow.settings().advancedMode());
} }
SoundPropertiesDialog::~SoundPropertiesDialog() = default; SoundPropertiesDialog::~SoundPropertiesDialog() = default;
@@ -238,6 +243,18 @@ void SoundPropertiesDialog::soundNameChanged(const Sound &sound)
updateTitle(); updateTitle();
} }
void SoundPropertiesDialog::advancedModeChanged(bool advancedMode)
{
for (QWidget *widgets[] {
m_ui->groupBoxKind,
m_ui->groupBoxEffects,
m_ui->widgetSliders,
m_ui->checkBoxPreload,
m_ui->pushButtonEdit
}; QWidget *widget : widgets)
widget->setVisible(advancedMode);
}
void SoundPropertiesDialog::updateTitle() void SoundPropertiesDialog::updateTitle()
{ {
setWindowTitle(tr("Sound Properties: %0%1") setWindowTitle(tr("Sound Properties: %0%1")
@@ -33,6 +33,8 @@ private slots:
void soundNameChanged(const Sound &sound); void soundNameChanged(const Sound &sound);
void advancedModeChanged(bool advancedMode);
private: private:
void updateTitle(); void updateTitle();
+67 -65
View File
@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>239</width> <width>239</width>
<height>534</height> <height>590</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -19,7 +19,7 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayoutName">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="labelName"> <widget class="QLabel" name="labelName">
<property name="text"> <property name="text">
@@ -194,66 +194,68 @@
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QFormLayout" name="formLayout_2"> <widget class="QWidget" name="widgetSliders" native="true">
<item row="0" column="0"> <layout class="QFormLayout" name="formLayoutSliders">
<widget class="QLabel" name="labelVolume"> <item row="0" column="0">
<property name="text"> <widget class="QLabel" name="labelVolume">
<string>Volume:</string> <property name="text">
</property> <string>Volume:</string>
<property name="buddy"> </property>
<cstring>horizontalSliderVolume</cstring> <property name="buddy">
</property> <cstring>horizontalSliderVolume</cstring>
</widget> </property>
</item> </widget>
<item row="0" column="1"> </item>
<widget class="QSlider" name="horizontalSliderVolume"> <item row="0" column="1">
<property name="toolTip"> <widget class="QSlider" name="horizontalSliderVolume">
<string>Indicates the default volume for the sound</string> <property name="toolTip">
</property> <string>Indicates the default volume for the sound</string>
<property name="maximum"> </property>
<number>100</number> <property name="maximum">
</property> <number>100</number>
<property name="value"> </property>
<number>100</number> <property name="value">
</property> <number>100</number>
<property name="orientation"> </property>
<enum>Qt::Horizontal</enum> <property name="orientation">
</property> <enum>Qt::Orientation::Horizontal</enum>
</widget> </property>
</item> </widget>
<item row="1" column="0"> </item>
<widget class="QLabel" name="labelPan"> <item row="1" column="0">
<property name="text"> <widget class="QLabel" name="labelPan">
<string>Pan:</string> <property name="text">
</property> <string>Pan:</string>
<property name="buddy"> </property>
<cstring>horizontalSliderPan</cstring> <property name="buddy">
</property> <cstring>horizontalSliderPan</cstring>
</widget> </property>
</item> </widget>
<item row="1" column="1"> </item>
<widget class="QSlider" name="horizontalSliderPan"> <item row="1" column="1">
<property name="toolTip"> <widget class="QSlider" name="horizontalSliderPan">
<string>Indicates the default pan for the sound</string> <property name="toolTip">
</property> <string>Indicates the default pan for the sound</string>
<property name="minimum"> </property>
<number>-100</number> <property name="minimum">
</property> <number>-100</number>
<property name="maximum"> </property>
<number>100</number> <property name="maximum">
</property> <number>100</number>
<property name="orientation"> </property>
<enum>Qt::Horizontal</enum> <property name="orientation">
</property> <enum>Qt::Orientation::Horizontal</enum>
<property name="invertedAppearance"> </property>
<bool>false</bool> <property name="invertedAppearance">
</property> <bool>false</bool>
<property name="invertedControls"> </property>
<bool>false</bool> <property name="invertedControls">
</property> <bool>false</bool>
</widget> </property>
</item> </widget>
</layout> </item>
</layout>
</widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="checkBoxPreload"> <widget class="QCheckBox" name="checkBoxPreload">
@@ -273,7 +275,7 @@
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -300,7 +302,7 @@
<item> <item>
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Orientation::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -315,7 +317,7 @@
<item> <item>
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons"> <property name="standardButtons">
<set>QDialogButtonBox::Ok</set> <set>QDialogButtonBox::StandardButton::Ok</set>
</property> </property>
<property name="centerButtons"> <property name="centerButtons">
<bool>true</bool> <bool>true</bool>
@@ -13,6 +13,7 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "imagehelpers.h" #include "imagehelpers.h"
#include "editorguiutils.h" #include "editorguiutils.h"
#include "editorsettings.h"
SpritePropertiesDialog::SpritePropertiesDialog(Sprite &sprite, ProjectTreeModel &projectModel, MainWindow &mainWindow) : SpritePropertiesDialog::SpritePropertiesDialog(Sprite &sprite, ProjectTreeModel &projectModel, MainWindow &mainWindow) :
QDialog{&mainWindow}, QDialog{&mainWindow},
@@ -59,6 +60,10 @@ SpritePropertiesDialog::SpritePropertiesDialog(Sprite &sprite, ProjectTreeModel
this, &SpritePropertiesDialog::changed); this, &SpritePropertiesDialog::changed);
connect(m_ui->checkBoxSeparateCollisionMasks, &QCheckBox::checkStateChanged, connect(m_ui->checkBoxSeparateCollisionMasks, &QCheckBox::checkStateChanged,
this, &SpritePropertiesDialog::changed); this, &SpritePropertiesDialog::changed);
connect(&mainWindow.settings(), &EditorSettings::advancedModeChanged,
this, &SpritePropertiesDialog::advancedModeChanged);
advancedModeChanged(mainWindow.settings().advancedMode());
} }
SpritePropertiesDialog::~SpritePropertiesDialog() = default; SpritePropertiesDialog::~SpritePropertiesDialog() = default;
@@ -205,6 +210,16 @@ void SpritePropertiesDialog::spriteNameChanged(const Sprite &sprite)
updateTitle(); updateTitle();
} }
void SpritePropertiesDialog::advancedModeChanged(bool advancedMode)
{
for (QWidget *widgets[] {
m_ui->pushButtonSave,
m_ui->groupBoxOrigin,
m_ui->groupBoxCollisionChecking
}; QWidget *widget : widgets)
widget->setVisible(advancedMode);
}
void SpritePropertiesDialog::updateTitle() void SpritePropertiesDialog::updateTitle()
{ {
setWindowTitle(tr("Sprite Properties: %0%1") setWindowTitle(tr("Sprite Properties: %0%1")
@@ -32,6 +32,8 @@ private slots:
void spriteNameChanged(const Sprite &sprite); void spriteNameChanged(const Sprite &sprite);
void advancedModeChanged(bool advancedMode);
private: private:
void updateTitle(); void updateTitle();
void updateSpriteInfo(); void updateSpriteInfo();
+13
View File
@@ -135,3 +135,16 @@ void EditorSettings::setHideWebsiteImage(bool hideWebsiteImage)
{ {
setValue("hideWebsiteImage", hideWebsiteImage); setValue("hideWebsiteImage", hideWebsiteImage);
} }
bool EditorSettings::advancedMode() const
{
return value("advancedMode", true).toBool();
}
void EditorSettings::setAdvancedMode(bool advancedMode)
{
if (advancedMode == this->advancedMode())
return;
setValue("advancedMode", advancedMode);
emit advancedModeChanged(advancedMode);
}
+7
View File
@@ -7,6 +7,7 @@
class EditorSettings : public QSettings class EditorSettings : public QSettings
{ {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool advancedMode READ advancedMode WRITE setAdvancedMode NOTIFY advancedModeChanged FINAL)
public: public:
using QSettings::QSettings; using QSettings::QSettings;
@@ -47,4 +48,10 @@ public:
bool hideWebsiteImage() const; bool hideWebsiteImage() const;
void setHideWebsiteImage(bool hideWebsiteImage); void setHideWebsiteImage(bool hideWebsiteImage);
bool advancedMode() const;
void setAdvancedMode(bool advancedMode);
signals:
void advancedModeChanged(bool advancedMode);
}; };
+40
View File
@@ -172,6 +172,11 @@ MainWindow::MainWindow(const QString &filePath, EditorSettings &settings, QWidge
updateVisibilities(); updateVisibilities();
m_ui->actionAdvancedMode->setChecked(m_settings.advancedMode());
connect(m_ui->actionAdvancedMode, &QAction::toggled, &m_settings, &EditorSettings::setAdvancedMode);
connect(&m_settings, &EditorSettings::advancedModeChanged, this, &MainWindow::advancedModeChanged);
advancedModeChanged(m_settings.advancedMode());
restoreGeometry(m_settings.mainWindowGeometry()); restoreGeometry(m_settings.mainWindowGeometry());
restoreState(m_settings.mainWindowState()); restoreState(m_settings.mainWindowState());
} }
@@ -591,6 +596,41 @@ void MainWindow::exportResources()
QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
} }
void MainWindow::advancedModeChanged(bool advancedMode)
{
for (const QModelIndex &index : {
m_projectTreeModel->rootFor<Path>(),
m_projectTreeModel->rootFor<Script>(),
m_projectTreeModel->rootFor<Font>(),
m_projectTreeModel->rootFor<TimeLine>(),
m_projectTreeModel->extensionPackagesRoot()
})
{
m_ui->treeView->setRowHidden(index.row(), index.parent(), !advancedMode);
}
for (QAction *action : {
m_ui->actionImportResources,
m_ui->actionExportResources,
m_ui->actionCreateGroup,
m_ui->actionFindResource,
m_ui->actionExpandResourceTree,
m_ui->actionCollapseResourceTree,
m_ui->actionShowObjectInformation,
m_ui->actionCreatePath,
m_ui->actionCreateScript,
m_ui->actionCreateFont,
m_ui->actionCreateTimeLine,
m_ui->actionExtensionPackages,
m_ui->actionDefineConstants,
m_ui->actionDefineTriggers,
m_ui->actionIncludedFiles
})
action->setVisible(advancedMode);
m_ui->menuScripts->menuAction()->setVisible(advancedMode);
}
void MainWindow::preferences() void MainWindow::preferences()
{ {
PreferencesDialog dialog{m_settings, this}; PreferencesDialog dialog{m_settings, this};
+1
View File
@@ -50,6 +50,7 @@ private slots:
void publishGame(); void publishGame();
void importResources(); void importResources();
void exportResources(); void exportResources();
void advancedModeChanged(bool advancedMode);
void preferences(); void preferences();
void create(); void create();
void duplicate(); void duplicate();
+251 -10
View File
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="contextMenuPolicy"> <property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum> <enum>Qt::ContextMenuPolicy::CustomContextMenu</enum>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
@@ -50,7 +50,7 @@
</size> </size>
</property> </property>
<property name="contextMenuPolicy"> <property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum> <enum>Qt::ContextMenuPolicy::CustomContextMenu</enum>
</property> </property>
<property name="acceptDrops"> <property name="acceptDrops">
<bool>true</bool> <bool>true</bool>
@@ -59,10 +59,10 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="dragDropMode"> <property name="dragDropMode">
<enum>QAbstractItemView::DragDrop</enum> <enum>QAbstractItemView::DragDropMode::DragDrop</enum>
</property> </property>
<property name="defaultDropAction"> <property name="defaultDropAction">
<enum>Qt::MoveAction</enum> <enum>Qt::DropAction::MoveAction</enum>
</property> </property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
@@ -77,7 +77,7 @@
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="tabPosition"> <property name="tabPosition">
<enum>QTabWidget::East</enum> <enum>QTabWidget::TabPosition::East</enum>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
@@ -462,7 +462,7 @@
<item row="15" column="0" colspan="3"> <item row="15" column="0" colspan="3">
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -762,7 +762,7 @@
<item row="10" column="0" colspan="3"> <item row="10" column="0" colspan="3">
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -1132,7 +1132,7 @@
<item row="13" column="0" colspan="3"> <item row="13" column="0" colspan="3">
<spacer name="verticalSpacer_3"> <spacer name="verticalSpacer_3">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -1477,7 +1477,7 @@
<item row="11" column="0" colspan="3"> <item row="11" column="0" colspan="3">
<spacer name="verticalSpacer_4"> <spacer name="verticalSpacer_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@@ -1493,7 +1493,248 @@
<attribute name="title"> <attribute name="title">
<string>Score</string> <string>Score</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayoutScore"/> <layout class="QGridLayout" name="gridLayoutScore">
<item row="3" column="0" colspan="3">
<widget class="QLabel" name="labelLives">
<property name="text">
<string>Lives</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QToolButton" name="toolButton_68">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QToolButton" name="toolButton_80">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QToolButton" name="toolButton_82">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QToolButton" name="toolButton_86">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QToolButton" name="toolButton_77">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="9" column="1">
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2">
<widget class="QToolButton" name="toolButton_75">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QToolButton" name="toolButton_85">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QToolButton" name="toolButton_74">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QToolButton" name="toolButton_79">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QToolButton" name="toolButton_83">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="6" column="0" colspan="3">
<widget class="QLabel" name="labelHealth">
<property name="text">
<string>Health</string>
</property>
<property name="icon" stdset="0">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize" stdset="0">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QToolButton" name="toolButton_76">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QToolButton" name="toolButton_84">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="labelScore">
<property name="text">
<string>Score</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QToolButton" name="toolButton_81">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QToolButton" name="toolButton_78">
<property name="icon">
<iconset resource="../resources_editor.qrc">
<normaloff>:/qtgameengine/icons/action.png</normaloff>:/qtgameengine/icons/action.png</iconset>
</property>
<property name="iconSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
</widget>
</item>
</layout>
</widget> </widget>
<widget class="QWidget" name="tabWidgetExtra"> <widget class="QWidget" name="tabWidgetExtra">
<attribute name="title"> <attribute name="title">