mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-10 09:19:01 +00:00
merge
This commit is contained in:
commit
8f3350180a
3 changed files with 164 additions and 39 deletions
|
@ -6,13 +6,13 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>361</width>
|
||||
<width>206</width>
|
||||
<height>555</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>300</width>
|
||||
<width>200</width>
|
||||
<height>83</height>
|
||||
</size>
|
||||
</property>
|
||||
|
@ -33,21 +33,21 @@
|
|||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tileTab">
|
||||
<attribute name="title">
|
||||
<string>Paint Tiles</string>
|
||||
<string>Tiles</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QWidget" name="colorTab">
|
||||
<attribute name="title">
|
||||
<string>Paint Colors</string>
|
||||
<string>Colors</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="QWidget" name="displaceTab">
|
||||
<attribute name="title">
|
||||
<string>Paint Displacement</string>
|
||||
<string>Displacement</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</widget>
|
||||
|
|
|
@ -1,9 +1,18 @@
|
|||
#include "zone_painter_main_window.h"
|
||||
#include "ui_zone_painter_main_window.h"
|
||||
|
||||
#include <QMenu>
|
||||
#include <QSignalMapper>
|
||||
#include <QColor>
|
||||
#include <QColorDialog>
|
||||
#include <QSettings>
|
||||
|
||||
#include "qnel_widget.h"
|
||||
#include "painter_dock_widget.h"
|
||||
#include <QtGui/QMenu>
|
||||
|
||||
#include "../core/icore.h"
|
||||
#include "../core/imenu_manager.h"
|
||||
#include "../core/core_constants.h"
|
||||
|
||||
ZonePainterMainWindow::ZonePainterMainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
|
@ -13,45 +22,141 @@ ZonePainterMainWindow::ZonePainterMainWindow(QWidget *parent) :
|
|||
m_nelWidget = new NLQT::QNLWidget(this);
|
||||
setCentralWidget(m_nelWidget);
|
||||
|
||||
// Load the settings.
|
||||
loadConfig();
|
||||
|
||||
// Set up dock widget(s) and toolbar.
|
||||
m_painterDockWidget = new PainterDockWidget(this);
|
||||
addDockWidget(Qt::RightDockWidgetArea, m_painterDockWidget);
|
||||
m_painterDockWidget->setVisible(true);
|
||||
|
||||
// Insert tool modes
|
||||
_toolModeMenu = new QMenu(tr("Tool Mode"), ui->painterToolBar);
|
||||
_toolModeMenu->setIcon(QIcon(":/painterTools/images/draw-brush.png"));
|
||||
ui->painterToolBar->addAction(_toolModeMenu->menuAction());
|
||||
//connect(_renderModeMenu->menuAction(), SIGNAL(triggered()), this, SLOT(setRenderMode()));
|
||||
|
||||
//QSignalMapper *modeMapper = new QSignalMapper(this);
|
||||
|
||||
_toolPaintModeAction = _toolModeMenu->addAction(tr("Paint Mode"));
|
||||
_toolPaintModeAction->setIcon(QIcon(":/painterTools/images/draw-brush.png"));
|
||||
_toolPaintModeAction->setStatusTip(tr("Set paint mode"));
|
||||
//connect(_pointRenderModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
//modeMapper->setMapping(_pointRenderModeAction, 0);
|
||||
|
||||
_toolFillModeAction = _toolModeMenu->addAction(tr("Fill Mode"));
|
||||
_toolFillModeAction->setStatusTip(tr("Set fill mode"));
|
||||
_toolFillModeAction->setIcon(QIcon(":/painterTools/images/color-fill.png"));
|
||||
//connect(_lineRenderModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
//modeMapper->setMapping(_lineRenderModeAction, 1);
|
||||
|
||||
_toolSelectModeAction = _toolModeMenu->addAction(tr("Select mode"));
|
||||
_toolSelectModeAction->setIcon(QIcon(":/painterTools/images/go-jump-4.png"));
|
||||
_toolSelectModeAction->setStatusTip(tr("Set select mode"));
|
||||
//connect(_fillRenderModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
//modeMapper->setMapping(_fillRenderModeAction, 2);
|
||||
|
||||
_toolPickModeAction = _toolModeMenu->addAction(tr("Pick mode"));
|
||||
_toolPickModeAction->setIcon(QIcon(":/painterTools/images/color-picker-black.png"));
|
||||
_toolPickModeAction->setStatusTip(tr("Set color picking mode"));
|
||||
//connect(_fillRenderModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
//modeMapper->setMapping(_fillRenderModeAction, 2);
|
||||
|
||||
//connect(modeMapper, SIGNAL(mapped(int)), this, SLOT(setRenderMode(int)));
|
||||
_toolModeMenu = new QMenu(tr("Tool Mode"), ui->painterToolBar);
|
||||
_toolModeMenu->setIcon(QIcon(":/painterTools/images/draw-brush.png"));
|
||||
ui->painterToolBar->addAction(_toolModeMenu->menuAction());
|
||||
//connect(_renderModeMenu->menuAction(), SIGNAL(triggered()), this, SLOT(setRenderMode()));
|
||||
|
||||
QSignalMapper *modeMapper = new QSignalMapper(this);
|
||||
|
||||
_toolPaintModeAction = _toolModeMenu->addAction(tr("Paint Mode"));
|
||||
_toolPaintModeAction->setIcon(QIcon(":/painterTools/images/draw-brush.png"));
|
||||
_toolPaintModeAction->setStatusTip(tr("Set paint mode"));
|
||||
connect(_toolPaintModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
modeMapper->setMapping(_toolPaintModeAction, 0);
|
||||
|
||||
_toolFillModeAction = _toolModeMenu->addAction(tr("Fill Mode"));
|
||||
_toolFillModeAction->setStatusTip(tr("Set fill mode"));
|
||||
_toolFillModeAction->setIcon(QIcon(":/painterTools/images/color-fill.png"));
|
||||
connect(_toolFillModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
modeMapper->setMapping(_toolFillModeAction, 1);
|
||||
|
||||
_toolSelectModeAction = _toolModeMenu->addAction(tr("Select mode"));
|
||||
_toolSelectModeAction->setIcon(QIcon(":/painterTools/images/go-jump-4.png"));
|
||||
_toolSelectModeAction->setStatusTip(tr("Set select mode"));
|
||||
connect(_toolSelectModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
modeMapper->setMapping(_toolSelectModeAction, 2);
|
||||
|
||||
_toolPickModeAction = _toolModeMenu->addAction(tr("Pick mode"));
|
||||
_toolPickModeAction->setIcon(QIcon(":/painterTools/images/color-picker-black.png"));
|
||||
_toolPickModeAction->setStatusTip(tr("Set color picking mode"));
|
||||
connect(_toolPickModeAction, SIGNAL(triggered()), modeMapper, SLOT(map()));
|
||||
modeMapper->setMapping(_toolPickModeAction, 2);
|
||||
|
||||
connect(modeMapper, SIGNAL(mapped(int)), this, SLOT(setToolMode(int)));
|
||||
|
||||
m_statusBarTimer = new QTimer(this);
|
||||
connect(m_statusBarTimer, SIGNAL(timeout()), this, SLOT(updateStatusBar()));
|
||||
m_statusInfo = new QLabel(this);
|
||||
m_statusInfo->hide();
|
||||
|
||||
// Set Background Color Toolbar
|
||||
|
||||
|
||||
connect(ui->actionBackground_Dlg, SIGNAL(triggered()), this, SLOT(setBackgroundColor()));
|
||||
|
||||
|
||||
Core::ICore::instance()->mainWindow()->statusBar()->addPermanentWidget(m_statusInfo);
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::showEvent(QShowEvent *showEvent)
|
||||
{
|
||||
QMainWindow::showEvent(showEvent);
|
||||
m_statusBarTimer->start(1000);
|
||||
m_statusInfo->show();
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::hideEvent(QHideEvent *hideEvent)
|
||||
{
|
||||
m_statusBarTimer->stop();
|
||||
m_statusInfo->hide();
|
||||
QMainWindow::hideEvent(hideEvent);
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::updateStatusBar()
|
||||
{
|
||||
m_statusInfo->setText(QString("Tool Mode: Paint Mode"));
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::setToolMode(int value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case 0:
|
||||
//Modules::objView().getDriver()->setPolygonMode (NL3D::UDriver::Point);
|
||||
break;
|
||||
case 1:
|
||||
//Modules::objView().getDriver()->setPolygonMode (NL3D::UDriver::Line);
|
||||
break;
|
||||
case 2:
|
||||
//Modules::objView().getDriver()->setPolygonMode (NL3D::UDriver::Filled);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::setToolMode()
|
||||
{
|
||||
//switch (Modules::objView().getDriver()->getPolygonMode())
|
||||
//{
|
||||
//case NL3D::UDriver::Filled:
|
||||
// Modules::objView().getDriver()->setPolygonMode (NL3D::UDriver::Line);
|
||||
// break;
|
||||
//case NL3D::UDriver::Line:
|
||||
// Modules::objView().getDriver()->setPolygonMode (NL3D::UDriver::Point);
|
||||
// break;
|
||||
//case NL3D::UDriver::Point:
|
||||
// Modules::objView().getDriver()->setPolygonMode (NL3D::UDriver::Filled);
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::setBackgroundColor() {
|
||||
QColor color = QColorDialog::getColor(QColor(m_nelWidget->backgroundColor().R,
|
||||
m_nelWidget->backgroundColor().G,
|
||||
m_nelWidget->backgroundColor().B));
|
||||
if (color.isValid())
|
||||
m_nelWidget->setBackgroundColor(NLMISC::CRGBA(color.red(), color.green(), color.blue()));
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::loadConfig() {
|
||||
QSettings *settings = Core::ICore::instance()->settings();
|
||||
settings->beginGroup("ZonePainter");
|
||||
|
||||
QColor color;
|
||||
color = settings->value("BackgroundColor", QColor(80, 80, 80)).value<QColor>();
|
||||
m_nelWidget->setBackgroundColor(NLMISC::CRGBA(color.red(), color.green(), color.blue(), color.alpha()));
|
||||
}
|
||||
|
||||
void ZonePainterMainWindow::saveConfig() {
|
||||
QSettings *settings = Core::ICore::instance()->settings();
|
||||
settings->beginGroup("ZonePainter" );
|
||||
|
||||
QColor color(m_nelWidget->backgroundColor().R, m_nelWidget->backgroundColor().G, m_nelWidget->backgroundColor().B, m_nelWidget->backgroundColor().A);
|
||||
settings->setValue("BackgroundColor", color);
|
||||
|
||||
settings->endGroup();
|
||||
settings->sync();
|
||||
}
|
||||
|
||||
ZonePainterMainWindow::~ZonePainterMainWindow()
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
#define ZONE_PAINTER_MAIN_WINDOW_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QTimer>
|
||||
#include <QLabel>
|
||||
#include <QAction>
|
||||
|
||||
namespace NLQT {
|
||||
class QNLWidget;
|
||||
|
@ -21,16 +24,33 @@ public:
|
|||
explicit ZonePainterMainWindow(QWidget *parent = 0);
|
||||
~ZonePainterMainWindow();
|
||||
|
||||
void loadConfig();
|
||||
void saveConfig();
|
||||
|
||||
public Q_SLOTS:
|
||||
void setToolMode(int value);
|
||||
void setToolMode();
|
||||
void updateStatusBar();
|
||||
void setBackgroundColor();
|
||||
|
||||
protected:
|
||||
virtual void showEvent(QShowEvent *showEvent);
|
||||
virtual void hideEvent(QHideEvent *hideEvent);
|
||||
|
||||
private:
|
||||
Ui::ZonePainterMainWindow *ui;
|
||||
NLQT::QNLWidget *m_nelWidget;
|
||||
PainterDockWidget *m_painterDockWidget;
|
||||
QTimer *m_statusBarTimer;
|
||||
QLabel *m_statusInfo;
|
||||
|
||||
QAction *_toolPaintModeAction;
|
||||
QAction *_toolFillModeAction;
|
||||
QAction *_toolSelectModeAction;
|
||||
QAction *_toolPickModeAction;
|
||||
QMenu *_toolModeMenu;
|
||||
|
||||
//QAction *m_setBackColorAction;
|
||||
};
|
||||
|
||||
#endif // ZONE_PAINTER_MAIN_WINDOW_H
|
||||
|
|
Loading…
Reference in a new issue