tycho: use a QWidget base for project views
parent
18a8318b70
commit
01a5cdc683
|
@ -1 +1 @@
|
||||||
Subproject commit 598336e657cb4bf5ef5070dfa35b999b7dfd341b
|
Subproject commit 8a37b359ca9dba414d84472b1750e952a42710f6
|
|
@ -41,7 +41,6 @@ add_library(
|
||||||
ui/about.ui
|
ui/about.ui
|
||||||
ui/license.ui
|
ui/license.ui
|
||||||
ui/mapprops.ui
|
ui/mapprops.ui
|
||||||
ui/mapview.ui
|
|
||||||
ui/menu.ui
|
ui/menu.ui
|
||||||
ui/points.ui
|
ui/points.ui
|
||||||
ui/project.ui
|
ui/project.ui
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"IMapView": {
|
"IMapView": {
|
||||||
"type": "Object",
|
"type": "Widget",
|
||||||
"baseClass": "IProjectView",
|
"baseClass": "IProjectView",
|
||||||
"functions": {
|
"functions": {
|
||||||
},
|
},
|
||||||
|
|
|
@ -32,16 +32,14 @@ signals:
|
||||||
void selected(std::uint16_t index);
|
void selected(std::uint16_t index);
|
||||||
};
|
};
|
||||||
|
|
||||||
class IProjectView : public QObject
|
class IProjectView : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
using QObject::QObject;
|
using QWidget::QWidget;
|
||||||
|
|
||||||
virtual ~IProjectView() {}
|
virtual ~IProjectView() {}
|
||||||
|
|
||||||
virtual QWidget *widget() = 0;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// EOF
|
// EOF
|
||||||
|
|
|
@ -2,10 +2,9 @@
|
||||||
|
|
||||||
MapView::MapView(Project *parent) :
|
MapView::MapView(Project *parent) :
|
||||||
IMapView(parent),
|
IMapView(parent),
|
||||||
m_internal(parent),
|
|
||||||
m_mapModel(parent->mapModel())
|
m_mapModel(parent->mapModel())
|
||||||
{
|
{
|
||||||
setupUi(&m_internal);
|
setMinimumSize(320, 240);
|
||||||
|
|
||||||
dbgPrintFunc();
|
dbgPrintFunc();
|
||||||
}
|
}
|
||||||
|
@ -15,9 +14,17 @@ MapView::~MapView()
|
||||||
dbgPrintFunc();
|
dbgPrintFunc();
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget *MapView::widget()
|
void MapView::paintEvent(QPaintEvent *)
|
||||||
{
|
{
|
||||||
return &m_internal;
|
[[maybe_unused]] QPainter painter{this};
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: move to paint.cc
|
||||||
|
extern "C" {
|
||||||
|
void paint_point(QPainter *view, int x, int y)
|
||||||
|
{
|
||||||
|
view->drawPoint(x, y);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// EOF
|
// EOF
|
||||||
|
|
|
@ -30,7 +30,7 @@ Project::Project(Type type) :
|
||||||
setAttribute(Qt::WA_DeleteOnClose);
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
|
|
||||||
listView->setModel(m_model);
|
listView->setModel(m_model);
|
||||||
verticalLayout->insertWidget(0, m_view->widget());
|
verticalLayout->insertWidget(0, m_view);
|
||||||
|
|
||||||
connect(listView,
|
connect(listView,
|
||||||
SIGNAL(doubleClicked(QModelIndex const &)),
|
SIGNAL(doubleClicked(QModelIndex const &)),
|
||||||
|
|
|
@ -15,11 +15,11 @@
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QMdiSubWindow>
|
#include <QMdiSubWindow>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QPainter>
|
||||||
|
|
||||||
#include "../ui/ui_about.h"
|
#include "../ui/ui_about.h"
|
||||||
#include "../ui/ui_license.h"
|
#include "../ui/ui_license.h"
|
||||||
#include "../ui/ui_mapprops.h"
|
#include "../ui/ui_mapprops.h"
|
||||||
#include "../ui/ui_mapview.h"
|
|
||||||
#include "../ui/ui_menu.h"
|
#include "../ui/ui_menu.h"
|
||||||
#include "../ui/ui_project.h"
|
#include "../ui/ui_project.h"
|
||||||
|
|
||||||
|
@ -47,8 +47,7 @@ private:
|
||||||
QVariant data(const QModelIndex &index, int role) const override;
|
QVariant data(const QModelIndex &index, int role) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MapView final : public IMapView,
|
class MapView final : public IMapView
|
||||||
private Ui::MapView
|
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
@ -56,10 +55,10 @@ public:
|
||||||
explicit MapView(Project *parent);
|
explicit MapView(Project *parent);
|
||||||
~MapView();
|
~MapView();
|
||||||
|
|
||||||
QWidget *widget();
|
protected:
|
||||||
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget m_internal;
|
|
||||||
MapModel *const m_mapModel;
|
MapModel *const m_mapModel;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>MapView</class>
|
|
||||||
<widget class="QWidget" name="MapView">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>400</width>
|
|
||||||
<height>300</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Map View</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QGraphicsView" name="graphicsView"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
Loading…
Reference in New Issue