mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-28 01:56:24 +00:00
Added: #1301 Added filter for list zones in landscape editor.
--HG-- branch : gsoc2011-worldeditorqt
This commit is contained in:
parent
92e553802a
commit
f6bcb791ec
13 changed files with 827 additions and 352 deletions
|
@ -12,12 +12,13 @@ SET(OVQT_EXT_SYS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin.
|
||||||
SET(OVQT_PLUGIN_LANDSCAPE_EDITOR_HDR landscape_editor_plugin.h
|
SET(OVQT_PLUGIN_LANDSCAPE_EDITOR_HDR landscape_editor_plugin.h
|
||||||
landscape_editor_window.h
|
landscape_editor_window.h
|
||||||
landscape_scene.h
|
landscape_scene.h
|
||||||
zone_list_model.h
|
list_zones_model.h
|
||||||
zone_list_widget.h
|
list_zones_widget.h
|
||||||
|
landscape_actions.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(OVQT_PLUGIN_LANDSCAPE_EDITOR_UIS landscape_editor_window.ui
|
SET(OVQT_PLUGIN_LANDSCAPE_EDITOR_UIS landscape_editor_window.ui
|
||||||
zone_list_widget.ui
|
list_zones_widget.ui
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(OVQT_PLUGIN_LANDSCAPE_EDITOR_RCS landscape_editor.qrc)
|
SET(OVQT_PLUGIN_LANDSCAPE_EDITOR_RCS landscape_editor.qrc)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
// Project includes
|
// Project includes
|
||||||
#include "builder_zone.h"
|
#include "builder_zone.h"
|
||||||
#include "zone_list_model.h"
|
#include "list_zones_model.h"
|
||||||
|
|
||||||
// NeL includes
|
// NeL includes
|
||||||
#include <nel/misc/debug.h>
|
#include <nel/misc/debug.h>
|
||||||
|
@ -32,7 +32,7 @@ namespace LandscapeEditor
|
||||||
ZoneBuilder::ZoneBuilder()
|
ZoneBuilder::ZoneBuilder()
|
||||||
: m_zoneListModel(0)
|
: m_zoneListModel(0)
|
||||||
{
|
{
|
||||||
m_zoneListModel = new ZoneListModel();
|
m_zoneListModel = new ListZonesModel();
|
||||||
m_lastPathName = "";
|
m_lastPathName = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,6 @@ bool ZoneBuilder::init(const QString &pathName, bool makeAZone)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((makeAZone) && (bRet))
|
if ((makeAZone) && (bRet))
|
||||||
newZone();
|
newZone();
|
||||||
return bRet;
|
return bRet;
|
||||||
|
@ -92,7 +91,7 @@ bool ZoneBuilder::initZoneBank (const QString &pathName)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ZoneListModel *ZoneBuilder::zoneModel() const
|
ListZonesModel *ZoneBuilder::zoneModel() const
|
||||||
{
|
{
|
||||||
return m_zoneListModel;
|
return m_zoneListModel;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
namespace LandscapeEditor
|
namespace LandscapeEditor
|
||||||
{
|
{
|
||||||
class ZoneListModel;
|
class ListZonesModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@class ZoneBuilder
|
@class ZoneBuilder
|
||||||
|
@ -56,7 +56,7 @@ public:
|
||||||
{
|
{
|
||||||
return m_zoneBank;
|
return m_zoneBank;
|
||||||
}
|
}
|
||||||
ZoneListModel *zoneModel() const;
|
ListZonesModel *zoneModel() const;
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// Scan ./zoneligos dir and add all *.ligozone files to zoneBank
|
// Scan ./zoneligos dir and add all *.ligozone files to zoneBank
|
||||||
|
@ -65,7 +65,7 @@ private:
|
||||||
sint32 m_minX, m_maxX, m_minY, m_maxY;
|
sint32 m_minX, m_maxX, m_minY, m_maxY;
|
||||||
QString m_lastPathName;
|
QString m_lastPathName;
|
||||||
|
|
||||||
ZoneListModel *m_zoneListModel;
|
ListZonesModel *m_zoneListModel;
|
||||||
NLLIGO::CZoneBank m_zoneBank;
|
NLLIGO::CZoneBank m_zoneBank;
|
||||||
std::vector<NLLIGO::CZoneBankElement*> m_currentSelection;
|
std::vector<NLLIGO::CZoneBankElement*> m_currentSelection;
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
// Project includes
|
// Project includes
|
||||||
#include "zone_list_widget.h"
|
#include "landscape_actions.h"
|
||||||
|
|
||||||
// NeL includes
|
// NeL includes
|
||||||
#include <nel/misc/debug.h>
|
#include <nel/misc/debug.h>
|
||||||
|
@ -25,20 +25,4 @@
|
||||||
|
|
||||||
namespace LandscapeEditor
|
namespace LandscapeEditor
|
||||||
{
|
{
|
||||||
|
|
||||||
ZoneListWidget::ZoneListWidget(QWidget *parent)
|
|
||||||
: QWidget(parent)
|
|
||||||
{
|
|
||||||
m_ui.setupUi(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
ZoneListWidget::~ZoneListWidget()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void ZoneListWidget::setModel(QAbstractItemModel *model)
|
|
||||||
{
|
|
||||||
m_ui.listView->setModel(model);
|
|
||||||
}
|
|
||||||
|
|
||||||
} /* namespace LandscapeEditor */
|
} /* namespace LandscapeEditor */
|
|
@ -15,11 +15,10 @@
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#ifndef ZONE_LIST_WIDGET_H
|
#ifndef LANDSCAPE_ACTIONS_H
|
||||||
#define ZONE_LIST_WIDGET_H
|
#define LANDSCAPE_ACTIONS_H
|
||||||
|
|
||||||
// Project includes
|
// Project includes
|
||||||
#include "ui_zone_list_widget.h"
|
|
||||||
|
|
||||||
// NeL includes
|
// NeL includes
|
||||||
|
|
||||||
|
@ -27,28 +26,7 @@
|
||||||
|
|
||||||
namespace LandscapeEditor
|
namespace LandscapeEditor
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
@class ZoneListWidget
|
|
||||||
@brief ZoneListWidget
|
|
||||||
@details
|
|
||||||
*/
|
|
||||||
class ZoneListWidget: public QWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
ZoneListWidget(QWidget *parent = 0);
|
|
||||||
~ZoneListWidget();
|
|
||||||
|
|
||||||
void setModel(QAbstractItemModel *model);
|
|
||||||
|
|
||||||
Q_SIGNALS:
|
|
||||||
public Q_SLOTS:
|
|
||||||
private Q_SLOTS:
|
|
||||||
private:
|
|
||||||
Ui::ZoneListWidget m_ui;
|
|
||||||
}; /* ZoneListWidget */
|
|
||||||
|
|
||||||
} /* namespace LandscapeEditor */
|
} /* namespace LandscapeEditor */
|
||||||
|
|
||||||
#endif // ZONE_LIST_WIDGET_H
|
#endif // LANDSCAPE_ACTIONS_H
|
|
@ -18,7 +18,7 @@
|
||||||
// Project includes
|
// Project includes
|
||||||
#include "landscape_editor_window.h"
|
#include "landscape_editor_window.h"
|
||||||
#include "landscape_editor_constants.h"
|
#include "landscape_editor_constants.h"
|
||||||
#include "zone_list_model.h"
|
#include "list_zones_model.h"
|
||||||
|
|
||||||
#include "../core/icore.h"
|
#include "../core/icore.h"
|
||||||
#include "../core/imenu_manager.h"
|
#include "../core/imenu_manager.h"
|
||||||
|
@ -41,11 +41,11 @@ LandscapeEditorWindow::LandscapeEditorWindow(QWidget *parent)
|
||||||
m_ui.setupUi(this);
|
m_ui.setupUi(this);
|
||||||
|
|
||||||
m_undoStack = new QUndoStack(this);
|
m_undoStack = new QUndoStack(this);
|
||||||
/*
|
|
||||||
m_zoneBuilder = new ZoneBuilder();
|
m_zoneBuilder = new ZoneBuilder();
|
||||||
m_zoneBuilder->init("e:/-nel-/install/continents/newbieland", false);
|
m_zoneBuilder->init("e:/-nel-/install/continents/newbieland", false);
|
||||||
m_ui.zoneListWidget->setModel(m_zoneBuilder->zoneModel());
|
m_ui.zoneListWidget->setModel(m_zoneBuilder->zoneModel());
|
||||||
*/
|
m_ui.zoneListWidget->setZoneBuilder(m_zoneBuilder);
|
||||||
|
m_ui.zoneListWidget->updateUi();
|
||||||
createMenus();
|
createMenus();
|
||||||
readSettings();
|
readSettings();
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,14 +42,14 @@
|
||||||
<attribute name="dockWidgetArea">
|
<attribute name="dockWidgetArea">
|
||||||
<number>2</number>
|
<number>2</number>
|
||||||
</attribute>
|
</attribute>
|
||||||
<widget class="LandscapeEditor::ZoneListWidget" name="zoneListWidget"/>
|
<widget class="LandscapeEditor::ListZonesWidget" name="zoneListWidget"/>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>LandscapeEditor::ZoneListWidget</class>
|
<class>LandscapeEditor::ListZonesWidget</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
<header>zone_list_widget.h</header>
|
<header>list_zones_widget.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
// Project includes
|
// Project includes
|
||||||
#include "zone_list_model.h"
|
#include "list_zones_model.h"
|
||||||
|
|
||||||
// NeL includes
|
// NeL includes
|
||||||
#include <nel/misc/debug.h>
|
#include <nel/misc/debug.h>
|
||||||
|
@ -33,28 +33,28 @@
|
||||||
namespace LandscapeEditor
|
namespace LandscapeEditor
|
||||||
{
|
{
|
||||||
|
|
||||||
ZoneListModel::ZoneListModel(int pixmapSize, QObject *parent)
|
ListZonesModel::ListZonesModel(int pixmapSize, QObject *parent)
|
||||||
: QAbstractListModel(parent),
|
: QAbstractListModel(parent),
|
||||||
m_pixmapSize(pixmapSize)
|
m_pixmapSize(pixmapSize)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
ZoneListModel::~ZoneListModel()
|
ListZonesModel::~ListZonesModel()
|
||||||
{
|
{
|
||||||
resetModel();
|
resetModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
int ZoneListModel::rowCount(const QModelIndex & /* parent */) const
|
int ListZonesModel::rowCount(const QModelIndex & /* parent */) const
|
||||||
{
|
{
|
||||||
return m_pixmapMap.count();
|
return m_pixmapNameList.count();
|
||||||
}
|
}
|
||||||
|
|
||||||
int ZoneListModel::columnCount(const QModelIndex & /* parent */) const
|
int ListZonesModel::columnCount(const QModelIndex & /* parent */) const
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant ZoneListModel::data(const QModelIndex &index, int role) const
|
QVariant ListZonesModel::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
if (!index.isValid())
|
if (!index.isValid())
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
@ -75,7 +75,7 @@ QVariant ZoneListModel::data(const QModelIndex &index, int role) const
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant ZoneListModel::headerData(int section,
|
QVariant ListZonesModel::headerData(int section,
|
||||||
Qt::Orientation /* orientation */,
|
Qt::Orientation /* orientation */,
|
||||||
int role) const
|
int role) const
|
||||||
{
|
{
|
||||||
|
@ -84,12 +84,20 @@ QVariant ZoneListModel::headerData(int section,
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneListModel::setSmallPixmapSize(int pixmapSize)
|
void ListZonesModel::setSmallPixmapSize(int pixmapSize)
|
||||||
{
|
{
|
||||||
m_pixmapSize = pixmapSize;
|
m_pixmapSize = pixmapSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneListModel::resetModel()
|
void ListZonesModel::setListZones(QStringList &listZones)
|
||||||
|
{
|
||||||
|
beginResetModel();
|
||||||
|
m_pixmapNameList.clear();
|
||||||
|
m_pixmapNameList = listZones;
|
||||||
|
endResetModel();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesModel::resetModel()
|
||||||
{
|
{
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
Q_FOREACH(QString name, m_pixmapNameList)
|
Q_FOREACH(QString name, m_pixmapNameList)
|
||||||
|
@ -105,12 +113,13 @@ void ZoneListModel::resetModel()
|
||||||
endResetModel();
|
endResetModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ZoneListModel::rebuildModel(const QString &zonePath, NLLIGO::CZoneBank &zoneBank)
|
bool ListZonesModel::rebuildModel(const QString &zonePath, NLLIGO::CZoneBank &zoneBank)
|
||||||
{
|
{
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
m_zonePath = zonePath;
|
m_zonePath = zonePath;
|
||||||
|
|
||||||
QProgressDialog *progressDialog = new QProgressDialog();
|
QProgressDialog *progressDialog = new QProgressDialog();
|
||||||
|
progressDialog->show();
|
||||||
|
|
||||||
std::vector<std::string> zoneNames;
|
std::vector<std::string> zoneNames;
|
||||||
zoneBank.getCategoryValues ("zone", zoneNames);
|
zoneBank.getCategoryValues ("zone", zoneNames);
|
||||||
|
@ -129,19 +138,22 @@ bool ZoneListModel::rebuildModel(const QString &zonePath, NLLIGO::CZoneBank &zon
|
||||||
const std::vector<bool> &rMask = zoneBankItem->getMask();
|
const std::vector<bool> &rMask = zoneBankItem->getMask();
|
||||||
|
|
||||||
QPixmap *pixmap = new QPixmap(zonePath + zonePixmapName + ".png");
|
QPixmap *pixmap = new QPixmap(zonePath + zonePixmapName + ".png");
|
||||||
|
if (pixmap->isNull())
|
||||||
|
{
|
||||||
|
// Generate filled pixmap
|
||||||
|
}
|
||||||
QPixmap *smallPixmap = new QPixmap(pixmap->scaled(m_pixmapSize * sizeX, m_pixmapSize * sizeY));
|
QPixmap *smallPixmap = new QPixmap(pixmap->scaled(m_pixmapSize * sizeX, m_pixmapSize * sizeY));
|
||||||
|
|
||||||
m_pixmapMap.insert(zonePixmapName, pixmap);
|
m_pixmapMap.insert(zonePixmapName, pixmap);
|
||||||
m_smallPixmapMap.insert(zonePixmapName, smallPixmap);
|
m_smallPixmapMap.insert(zonePixmapName, smallPixmap);
|
||||||
|
|
||||||
}
|
}
|
||||||
m_pixmapNameList = m_pixmapMap.keys();
|
|
||||||
endResetModel();
|
endResetModel();
|
||||||
delete progressDialog;
|
delete progressDialog;
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap *ZoneListModel::getPixmap(const QString &zoneName) const
|
QPixmap *ListZonesModel::getPixmap(const QString &zoneName) const
|
||||||
{
|
{
|
||||||
QPixmap *result = 0;
|
QPixmap *result = 0;
|
||||||
if (!m_pixmapMap.contains(zoneName))
|
if (!m_pixmapMap.contains(zoneName))
|
||||||
|
@ -151,7 +163,7 @@ QPixmap *ZoneListModel::getPixmap(const QString &zoneName) const
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap *ZoneListModel::getSmallPixmap(const QString &zoneName) const
|
QPixmap *ListZonesModel::getSmallPixmap(const QString &zoneName) const
|
||||||
{
|
{
|
||||||
QPixmap *result = 0;
|
QPixmap *result = 0;
|
||||||
if (!m_pixmapMap.contains(zoneName))
|
if (!m_pixmapMap.contains(zoneName))
|
|
@ -15,8 +15,8 @@
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#ifndef ZONE_LIST_MODEL_H
|
#ifndef LIST_ZONES_MODEL_H
|
||||||
#define ZONE_LIST_MODEL_H
|
#define LIST_ZONES_MODEL_H
|
||||||
|
|
||||||
// Project includes
|
// Project includes
|
||||||
|
|
||||||
|
@ -33,17 +33,17 @@ namespace LandscapeEditor
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@class ZoneListModel
|
@class ListZonesModel
|
||||||
@brief ZoneListModel contains the image database for QGraphicsScene and
|
@brief ListZonesModel contains the image database for QGraphicsScene and
|
||||||
small images for QListView
|
small images for QListView
|
||||||
@details
|
@details
|
||||||
*/
|
*/
|
||||||
class ZoneListModel : public QAbstractListModel
|
class ListZonesModel : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
ZoneListModel(int pixmapSize = 64, QObject *parent = 0);
|
ListZonesModel(int pixmapSize = 64, QObject *parent = 0);
|
||||||
~ZoneListModel();
|
~ListZonesModel();
|
||||||
|
|
||||||
int rowCount(const QModelIndex &parent) const;
|
int rowCount(const QModelIndex &parent) const;
|
||||||
int columnCount(const QModelIndex &parent) const;
|
int columnCount(const QModelIndex &parent) const;
|
||||||
|
@ -58,6 +58,8 @@ public:
|
||||||
/// Unload all images and reset model
|
/// Unload all images and reset model
|
||||||
void resetModel();
|
void resetModel();
|
||||||
|
|
||||||
|
void setListZones(QStringList &listZones);
|
||||||
|
|
||||||
/// Load all images(png) from zonePath, list images gets from zoneBank
|
/// Load all images(png) from zonePath, list images gets from zoneBank
|
||||||
bool rebuildModel(const QString &zonePath, NLLIGO::CZoneBank &zoneBank);
|
bool rebuildModel(const QString &zonePath, NLLIGO::CZoneBank &zoneBank);
|
||||||
|
|
||||||
|
@ -79,4 +81,4 @@ private:
|
||||||
|
|
||||||
} /* namespace LandscapeEditor */
|
} /* namespace LandscapeEditor */
|
||||||
|
|
||||||
#endif // ZONE_LIST_MODEL_H
|
#endif // LIST_ZONES_MODEL_H
|
|
@ -0,0 +1,219 @@
|
||||||
|
// Object Viewer Qt - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
// Copyright (C) 2011 Dzmitry Kamiahin <dnk-88@tut.by>
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
#include "list_zones_widget.h"
|
||||||
|
#include "builder_zone.h"
|
||||||
|
#include "list_zones_model.h"
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
#include <nel/misc/debug.h>
|
||||||
|
#include <nel/ligo/zone_bank.h>
|
||||||
|
#include <nel/ligo/zone_region.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
// Qt includes
|
||||||
|
#include <QtGui/QIcon>
|
||||||
|
|
||||||
|
namespace LandscapeEditor
|
||||||
|
{
|
||||||
|
|
||||||
|
ListZonesWidget::ListZonesWidget(QWidget *parent)
|
||||||
|
: QWidget(parent),
|
||||||
|
m_zoneBuilder(0)
|
||||||
|
{
|
||||||
|
m_ui.setupUi(this);
|
||||||
|
|
||||||
|
m_ui.addFilterButton_1->setChecked(false);
|
||||||
|
m_ui.addFilterButton_2->setChecked(false);
|
||||||
|
m_ui.addFilterButton_3->setChecked(false);
|
||||||
|
|
||||||
|
connect(m_ui.categoryTypeComboBox_1, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateFilters_1(QString)));
|
||||||
|
connect(m_ui.categoryTypeComboBox_2, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateFilters_2(QString)));
|
||||||
|
connect(m_ui.categoryTypeComboBox_3, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateFilters_3(QString)));
|
||||||
|
connect(m_ui.categoryTypeComboBox_4, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateFilters_4(QString)));
|
||||||
|
connect(m_ui.categoryValueComboBox_1, SIGNAL(currentIndexChanged(int)), this, SLOT(updateListZones()));
|
||||||
|
connect(m_ui.categoryValueComboBox_2, SIGNAL(currentIndexChanged(int)), this, SLOT(updateListZones()));
|
||||||
|
connect(m_ui.categoryValueComboBox_3, SIGNAL(currentIndexChanged(int)), this, SLOT(updateListZones()));
|
||||||
|
connect(m_ui.categoryValueComboBox_4, SIGNAL(currentIndexChanged(int)), this, SLOT(updateListZones()));
|
||||||
|
connect(m_ui.logicComboBox_2, SIGNAL(currentIndexChanged(int)), this, SLOT(updateListZones()));
|
||||||
|
connect(m_ui.logicComboBox_3, SIGNAL(currentIndexChanged(int)), this, SLOT(updateListZones()));
|
||||||
|
connect(m_ui.logicComboBox_4, SIGNAL(currentIndexChanged(int)), this, SLOT(updateListZones()));
|
||||||
|
}
|
||||||
|
|
||||||
|
ListZonesWidget::~ListZonesWidget()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::updateUi()
|
||||||
|
{
|
||||||
|
if (m_zoneBuilder == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
disableSignals(true);
|
||||||
|
std::vector<std::string> listCategoryType;
|
||||||
|
m_zoneBuilder->getZoneBank().getCategoriesType(listCategoryType);
|
||||||
|
|
||||||
|
QStringList listCategories;
|
||||||
|
|
||||||
|
listCategories << STRING_UNUSED;
|
||||||
|
for (size_t i = 0; i < listCategoryType.size(); ++i)
|
||||||
|
listCategories << QString(listCategoryType[i].c_str());
|
||||||
|
|
||||||
|
m_ui.categoryTypeComboBox_1->clear();
|
||||||
|
m_ui.categoryTypeComboBox_2->clear();
|
||||||
|
m_ui.categoryTypeComboBox_3->clear();
|
||||||
|
m_ui.categoryTypeComboBox_4->clear();
|
||||||
|
|
||||||
|
m_ui.categoryTypeComboBox_1->addItems(listCategories);
|
||||||
|
m_ui.categoryTypeComboBox_2->addItems(listCategories);
|
||||||
|
m_ui.categoryTypeComboBox_3->addItems(listCategories);
|
||||||
|
m_ui.categoryTypeComboBox_4->addItems(listCategories);
|
||||||
|
|
||||||
|
disableSignals(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::setModel(QAbstractItemModel *model)
|
||||||
|
{
|
||||||
|
m_ui.listView->setModel(model);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::setZoneBuilder(ZoneBuilder *zoneBuilder)
|
||||||
|
{
|
||||||
|
m_zoneBuilder = zoneBuilder;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::updateFilters_1(const QString &value)
|
||||||
|
{
|
||||||
|
disableSignals(true);
|
||||||
|
std::vector<std::string> allCategoryValues;
|
||||||
|
m_zoneBuilder->getZoneBank().getCategoryValues(value.toStdString(), allCategoryValues);
|
||||||
|
m_ui.categoryValueComboBox_1->clear();
|
||||||
|
for(size_t i = 0; i < allCategoryValues.size(); ++i)
|
||||||
|
m_ui.categoryValueComboBox_1->addItem(QString(allCategoryValues[i].c_str()));
|
||||||
|
|
||||||
|
disableSignals(false);
|
||||||
|
updateListZones();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::updateFilters_2(const QString &value)
|
||||||
|
{
|
||||||
|
disableSignals(true);
|
||||||
|
std::vector<std::string> allCategoryValues;
|
||||||
|
m_zoneBuilder->getZoneBank().getCategoryValues(value.toStdString(), allCategoryValues);
|
||||||
|
|
||||||
|
m_ui.categoryValueComboBox_2->clear();
|
||||||
|
for(size_t i = 0; i < allCategoryValues.size(); ++i)
|
||||||
|
m_ui.categoryValueComboBox_2->addItem(QString(allCategoryValues[i].c_str()));
|
||||||
|
|
||||||
|
disableSignals(false);
|
||||||
|
updateListZones();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::updateFilters_3(const QString &value)
|
||||||
|
{
|
||||||
|
disableSignals(true);
|
||||||
|
std::vector<std::string> allCategoryValues;
|
||||||
|
m_zoneBuilder->getZoneBank().getCategoryValues(value.toStdString(), allCategoryValues);
|
||||||
|
|
||||||
|
m_ui.categoryValueComboBox_3->clear();
|
||||||
|
for(size_t i = 0; i < allCategoryValues.size(); ++i)
|
||||||
|
m_ui.categoryValueComboBox_3->addItem(QString(allCategoryValues[i].c_str()));
|
||||||
|
|
||||||
|
disableSignals(false);
|
||||||
|
updateListZones();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::updateFilters_4(const QString &value)
|
||||||
|
{
|
||||||
|
disableSignals(true);
|
||||||
|
std::vector<std::string> allCategoryValues;
|
||||||
|
m_zoneBuilder->getZoneBank().getCategoryValues(value.toStdString(), allCategoryValues);
|
||||||
|
|
||||||
|
m_ui.categoryValueComboBox_4->clear();
|
||||||
|
for(size_t i = 0; i < allCategoryValues.size(); ++i)
|
||||||
|
m_ui.categoryValueComboBox_4->addItem(QString(allCategoryValues[i].c_str()));
|
||||||
|
|
||||||
|
disableSignals(false);
|
||||||
|
updateListZones();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::updateListZones()
|
||||||
|
{
|
||||||
|
// Execute the filter
|
||||||
|
NLLIGO::CZoneBank &zoneBank = m_zoneBuilder->getZoneBank();
|
||||||
|
zoneBank.resetSelection ();
|
||||||
|
|
||||||
|
if(m_ui.categoryTypeComboBox_1->currentIndex() > 0 )
|
||||||
|
zoneBank.addOrSwitch (m_ui.categoryTypeComboBox_1->currentText().toStdString()
|
||||||
|
, m_ui.categoryValueComboBox_1->currentText().toStdString());
|
||||||
|
|
||||||
|
if(m_ui.categoryTypeComboBox_2->currentIndex() > 0 )
|
||||||
|
{
|
||||||
|
if (m_ui.logicComboBox_2->currentIndex() == 0) // AND switch wanted
|
||||||
|
zoneBank.addAndSwitch(m_ui.categoryTypeComboBox_2->currentText().toStdString()
|
||||||
|
,m_ui.categoryValueComboBox_2->currentText().toStdString());
|
||||||
|
else // OR switch wanted
|
||||||
|
zoneBank.addOrSwitch(m_ui.categoryTypeComboBox_2->currentText().toStdString()
|
||||||
|
,m_ui.categoryValueComboBox_2->currentText().toStdString());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_ui.categoryTypeComboBox_3->currentIndex() > 0 )
|
||||||
|
{
|
||||||
|
if (m_ui.logicComboBox_3->currentIndex() == 0) // AND switch wanted
|
||||||
|
zoneBank.addAndSwitch(m_ui.categoryTypeComboBox_3->currentText().toStdString()
|
||||||
|
,m_ui.categoryValueComboBox_3->currentText().toStdString());
|
||||||
|
else // OR switch wanted
|
||||||
|
zoneBank.addOrSwitch(m_ui.categoryTypeComboBox_3->currentText().toStdString()
|
||||||
|
,m_ui.categoryValueComboBox_3->currentText().toStdString());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_ui.categoryTypeComboBox_4->currentIndex() > 0 )
|
||||||
|
{
|
||||||
|
if (m_ui.logicComboBox_4->currentIndex() == 0) // AND switch wanted
|
||||||
|
zoneBank.addAndSwitch(m_ui.categoryTypeComboBox_4->currentText().toStdString()
|
||||||
|
,m_ui.categoryValueComboBox_4->currentText().toStdString());
|
||||||
|
else // OR switch wanted
|
||||||
|
zoneBank.addOrSwitch(m_ui.categoryTypeComboBox_4->currentText().toStdString()
|
||||||
|
,m_ui.categoryValueComboBox_4->currentText().toStdString());
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<NLLIGO::CZoneBankElement *> currentSelection;
|
||||||
|
zoneBank.getSelection (currentSelection);
|
||||||
|
|
||||||
|
QStringList listSelection;
|
||||||
|
for (size_t i = 0; i < currentSelection.size(); ++i)
|
||||||
|
listSelection << currentSelection[i]->getName().c_str();
|
||||||
|
m_zoneBuilder->zoneModel()->setListZones(listSelection);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListZonesWidget::disableSignals(bool block)
|
||||||
|
{
|
||||||
|
m_ui.categoryTypeComboBox_1->blockSignals(block);
|
||||||
|
m_ui.categoryTypeComboBox_2->blockSignals(block);
|
||||||
|
m_ui.categoryTypeComboBox_3->blockSignals(block);
|
||||||
|
m_ui.categoryTypeComboBox_4->blockSignals(block);
|
||||||
|
m_ui.categoryValueComboBox_1->blockSignals(block);
|
||||||
|
m_ui.categoryValueComboBox_2->blockSignals(block);
|
||||||
|
m_ui.categoryValueComboBox_3->blockSignals(block);
|
||||||
|
m_ui.categoryValueComboBox_4->blockSignals(block);
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* namespace LandscapeEditor */
|
|
@ -0,0 +1,68 @@
|
||||||
|
// Object Viewer Qt - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
// Copyright (C) 2011 Dzmitry Kamiahin <dnk-88@tut.by>
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Affero General Public License as
|
||||||
|
// published by the Free Software Foundation, either version 3 of the
|
||||||
|
// License, or (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Affero General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef LIST_ZONES_WIDGET_H
|
||||||
|
#define LIST_ZONES_WIDGET_H
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
#include "ui_list_zones_widget.h"
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
|
||||||
|
// Qt includes
|
||||||
|
|
||||||
|
namespace LandscapeEditor
|
||||||
|
{
|
||||||
|
class ZoneBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
@class ZoneListWidget
|
||||||
|
@brief ZoneListWidget
|
||||||
|
@details
|
||||||
|
*/
|
||||||
|
class ListZonesWidget: public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
ListZonesWidget(QWidget *parent = 0);
|
||||||
|
~ListZonesWidget();
|
||||||
|
|
||||||
|
void updateUi();
|
||||||
|
void setZoneBuilder(ZoneBuilder *zoneBuilder);
|
||||||
|
void setModel(QAbstractItemModel *model);
|
||||||
|
|
||||||
|
Q_SIGNALS:
|
||||||
|
public Q_SLOTS:
|
||||||
|
void updateFilters_1(const QString &value);
|
||||||
|
void updateFilters_2(const QString &value);
|
||||||
|
void updateFilters_3(const QString &value);
|
||||||
|
void updateFilters_4(const QString &value);
|
||||||
|
|
||||||
|
private Q_SLOTS:
|
||||||
|
void updateListZones();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void disableSignals(bool block);
|
||||||
|
|
||||||
|
ZoneBuilder *m_zoneBuilder;
|
||||||
|
Ui::ListZonesWidget m_ui;
|
||||||
|
}; /* ZoneListWidget */
|
||||||
|
|
||||||
|
} /* namespace LandscapeEditor */
|
||||||
|
|
||||||
|
#endif // LIST_ZONES_WIDGET_H
|
|
@ -0,0 +1,478 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>ListZonesWidget</class>
|
||||||
|
<widget class="QWidget" name="ListZonesWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>359</width>
|
||||||
|
<height>579</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<property name="margin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="title">
|
||||||
|
<string>Filter</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<property name="margin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="categoryTypeComboBox_1"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QComboBox" name="categoryValueComboBox_1"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QComboBox" name="comboBox_11">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Random</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Fyll cycle</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QComboBox" name="categoryTypeComboBox_2">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QComboBox" name="categoryValueComboBox_2">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3">
|
||||||
|
<widget class="QComboBox" name="logicComboBox_2">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>And</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Or</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QComboBox" name="categoryTypeComboBox_3">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
|
<widget class="QComboBox" name="categoryValueComboBox_3">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="3">
|
||||||
|
<widget class="QComboBox" name="logicComboBox_3">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>And</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Or</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QComboBox" name="categoryTypeComboBox_4">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="2">
|
||||||
|
<widget class="QComboBox" name="categoryValueComboBox_4">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="3">
|
||||||
|
<widget class="QComboBox" name="logicComboBox_4">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>And</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Or</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QToolButton" name="addFilterButton_1">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../core/core.qrc">
|
||||||
|
<normaloff>:/core/icons/ic_nel_add_item.png</normaloff>
|
||||||
|
<normalon>:/core/icons/ic_nel_delete_item.png</normalon>:/core/icons/ic_nel_add_item.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QToolButton" name="addFilterButton_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../core/core.qrc">
|
||||||
|
<normaloff>:/core/icons/ic_nel_add_item.png</normaloff>
|
||||||
|
<normalon>:/core/icons/ic_nel_delete_item.png</normalon>:/core/icons/ic_nel_add_item.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QToolButton" name="addFilterButton_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../core/core.qrc">
|
||||||
|
<normaloff>:/core/icons/ic_nel_add_item.png</normaloff>
|
||||||
|
<normalon>:/core/icons/ic_nel_delete_item.png</normalon>:/core/icons/ic_nel_add_item.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Placement</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<property name="margin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QComboBox" name="comboBox">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>0°</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>90°</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>180°</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>170°</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Random</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Full cycle</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBox_2">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>NoFlip</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Flip</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Random</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Fyll cycle</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QCheckBox" name="checkBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Force</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QCheckBox" name="checkBox_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Not propogate</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QListView" name="listView"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources>
|
||||||
|
<include location="../core/core.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_1</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>categoryTypeComboBox_2</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>20</x>
|
||||||
|
<y>36</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>81</x>
|
||||||
|
<y>53</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_1</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>categoryValueComboBox_2</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>24</x>
|
||||||
|
<y>32</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>181</x>
|
||||||
|
<y>50</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_1</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>logicComboBox_2</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>20</x>
|
||||||
|
<y>31</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>301</x>
|
||||||
|
<y>55</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_2</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>categoryTypeComboBox_3</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>27</x>
|
||||||
|
<y>62</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>57</x>
|
||||||
|
<y>75</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_2</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>categoryValueComboBox_3</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>23</x>
|
||||||
|
<y>58</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>156</x>
|
||||||
|
<y>76</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_2</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>logicComboBox_3</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>23</x>
|
||||||
|
<y>53</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>255</x>
|
||||||
|
<y>77</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_3</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>categoryTypeComboBox_4</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>32</x>
|
||||||
|
<y>94</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>44</x>
|
||||||
|
<y>104</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_3</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>categoryValueComboBox_4</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>32</x>
|
||||||
|
<y>94</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>207</x>
|
||||||
|
<y>103</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_3</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>logicComboBox_4</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>21</x>
|
||||||
|
<y>81</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>278</x>
|
||||||
|
<y>104</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_2</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>addFilterButton_3</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>15</x>
|
||||||
|
<y>59</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>16</x>
|
||||||
|
<y>80</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>addFilterButton_1</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>addFilterButton_2</receiver>
|
||||||
|
<slot>setVisible(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>13</x>
|
||||||
|
<y>35</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>17</x>
|
||||||
|
<y>60</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
|
@ -1,266 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>ZoneListWidget</class>
|
|
||||||
<widget class="QWidget" name="ZoneListWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>359</width>
|
|
||||||
<height>579</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Form</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
|
||||||
<property name="margin">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
|
||||||
<property name="title">
|
|
||||||
<string>Filter</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
|
||||||
<property name="margin">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QComboBox" name="comboBox_3">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string><Unused></string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QComboBox" name="comboBox_7"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<widget class="QComboBox" name="comboBox_11">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Random</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Fyll cycle</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QComboBox" name="comboBox_6">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string><Unused></string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QComboBox" name="comboBox_8">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2">
|
|
||||||
<widget class="QComboBox" name="comboBox_12">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>And</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Or</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QComboBox" name="comboBox_4">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string><Unused></string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QComboBox" name="comboBox_9">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="2">
|
|
||||||
<widget class="QComboBox" name="comboBox_13">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>And</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Or</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QComboBox" name="comboBox_5">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string><Unused></string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QComboBox" name="comboBox_10">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="2">
|
|
||||||
<widget class="QComboBox" name="comboBox_14">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>And</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Or</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QGroupBox" name="groupBox">
|
|
||||||
<property name="title">
|
|
||||||
<string>Placement</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
|
||||||
<property name="margin">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QComboBox" name="comboBox">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>0°</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>90°</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>180°</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>170°</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Random</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Full cycle</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QComboBox" name="comboBox_2">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>NoFlip</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Flip</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Random</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Fyll cycle</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<widget class="QCheckBox" name="checkBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Force</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="3">
|
|
||||||
<widget class="QCheckBox" name="checkBox_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Not propogate</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QListView" name="listView"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
Loading…
Reference in a new issue