fix: splitter ratio
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
#include "gui/network/Network.h"
|
#include "gui/network/Network.h"
|
||||||
#include <qpushbutton.h>
|
#include <qpushbutton.h>
|
||||||
#include <qsplitter.h>
|
#include <qsplitter.h>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
EnzoUI::EnzoUI()
|
EnzoUI::EnzoUI()
|
||||||
{
|
{
|
||||||
@@ -12,16 +13,29 @@ EnzoUI::EnzoUI()
|
|||||||
|
|
||||||
// title and size
|
// title and size
|
||||||
setWindowTitle("Enzo");
|
setWindowTitle("Enzo");
|
||||||
setMinimumSize(1920/2, 1080/2);
|
constexpr float scale = 0.8;
|
||||||
|
resize(1920*scale, 1080*scale);
|
||||||
|
|
||||||
Viewport* viewport = new Viewport();
|
Viewport* viewport = new Viewport();
|
||||||
Network* network = new Network(this);
|
Network* network = new Network(this);
|
||||||
network->setMinimumWidth(400);
|
|
||||||
|
|
||||||
viewportSplitter_ = new QSplitter(this);
|
viewportSplitter_ = new QSplitter(this);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
viewportSplitter_->addWidget(viewport);
|
viewportSplitter_->addWidget(viewport);
|
||||||
viewportSplitter_->addWidget(network);
|
viewportSplitter_->addWidget(network);
|
||||||
|
// viewportSplitter_->addWidget(new QPushButton("hello world"));
|
||||||
|
|
||||||
|
viewportSplitter_->setStretchFactor(0, 10);
|
||||||
|
viewportSplitter_->setStretchFactor(1, 1);
|
||||||
|
|
||||||
mainLayout_->addWidget(viewportSplitter_);
|
mainLayout_->addWidget(viewportSplitter_);
|
||||||
|
|
||||||
|
QTimer::singleShot(100, this, [=] {
|
||||||
|
std::cout << "Viewport size: " << viewport->width() << " x " << viewport->height() << std::endl;
|
||||||
|
std::cout << "Network size: " << network->width() << " x " << network->height() << std::endl;
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ Network::Network(QWidget* parent)
|
|||||||
|
|
||||||
mainLayout_ = new QVBoxLayout(parent);
|
mainLayout_ = new QVBoxLayout(parent);
|
||||||
mainLayout_->setContentsMargins(0,0,0,0);
|
mainLayout_->setContentsMargins(0,0,0,0);
|
||||||
|
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this->setLayout(mainLayout_);
|
this->setLayout(mainLayout_);
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public:
|
|||||||
Network(QWidget* parent = nullptr);
|
Network(QWidget* parent = nullptr);
|
||||||
void socketClicked(SocketGraphic* socket, QMouseEvent *event);
|
void socketClicked(SocketGraphic* socket, QMouseEvent *event);
|
||||||
void mouseMoved(QMouseEvent *event);
|
void mouseMoved(QMouseEvent *event);
|
||||||
|
QSize sizeHint() const override { return QSize(-1, -1); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QLayout* mainLayout_;
|
QLayout* mainLayout_;
|
||||||
NetworkGraphicsScene* scene_;
|
NetworkGraphicsScene* scene_;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ NetworkGraphicsView::NetworkGraphicsView(QWidget *parent, Network* network, QGra
|
|||||||
{
|
{
|
||||||
setScene(scene_);
|
setScene(scene_);
|
||||||
setMouseTracking(true);
|
setMouseTracking(true);
|
||||||
|
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
|
||||||
initUI();
|
initUI();
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ class NetworkGraphicsView
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NetworkGraphicsView(QWidget *parent = nullptr, Network* network=nullptr, QGraphicsScene* scene = nullptr);
|
NetworkGraphicsView(QWidget *parent = nullptr, Network* network=nullptr, QGraphicsScene* scene = nullptr);
|
||||||
|
QSize sizeHint() const override { return QSize(-1, -1); }
|
||||||
private:
|
private:
|
||||||
QPointF panStartPos;
|
QPointF panStartPos;
|
||||||
void initUI();
|
void initUI();
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#include <QTextDocument>
|
#include <QTextDocument>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <qgraphicsitem.h>
|
#include <qgraphicsitem.h>
|
||||||
|
#include <qnamespace.h>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "gui/network/DisplayFlagButton.h"
|
#include "gui/network/DisplayFlagButton.h"
|
||||||
@@ -135,11 +136,17 @@ QRectF NodeGraphic::boundingRect() const
|
|||||||
|
|
||||||
void NodeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
|
void NodeGraphic::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
|
||||||
{
|
{
|
||||||
|
// default outline
|
||||||
|
QPen defaultPen = Qt::NoPen;
|
||||||
|
defaultPen.setWidth(1);
|
||||||
|
// outline when selected
|
||||||
|
QPen selectedPen = QPen("#edd044");
|
||||||
|
// choose outline
|
||||||
|
if(isSelected()) painter->setPen(selectedPen);
|
||||||
|
else painter->setPen(defaultPen);
|
||||||
|
|
||||||
|
// set fill
|
||||||
QBrush whiteBrush = QBrush("white");
|
QBrush whiteBrush = QBrush("white");
|
||||||
QPen greenPen = QPen(Qt::green);
|
|
||||||
greenPen.setWidth(6);
|
|
||||||
if(isSelected()) painter->setPen(QPen(QColor("#edd044")));
|
|
||||||
else painter->setPen(Qt::NoPen);
|
|
||||||
painter->setBrush(QBrush(QColor("#1b1b1b")));
|
painter->setBrush(QBrush(QColor("#1b1b1b")));
|
||||||
|
|
||||||
painter->drawRoundedRect(bodyRect_, 5, 5);
|
painter->drawRoundedRect(bodyRect_, 5, 5);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ class MyGLWidget : public QOpenGLWidget
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MyGLWidget(QWidget *parent) : QOpenGLWidget(parent) { }
|
MyGLWidget(QWidget *parent) : QOpenGLWidget(parent) { }
|
||||||
|
QSize sizeHint() const override { return QSize(-1, -1); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initializeGL() override
|
void initializeGL() override
|
||||||
@@ -14,6 +15,8 @@ protected:
|
|||||||
f->glClearColor(0.16f, 0.16f, 0.16f, 1.0f);
|
f->glClearColor(0.16f, 0.16f, 0.16f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void resizeGL(int w, int h) override
|
void resizeGL(int w, int h) override
|
||||||
{
|
{
|
||||||
// // Update projection matrix and other size related settings:
|
// // Update projection matrix and other size related settings:
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
#include "gui/viewport/Viewport.h"
|
#include "gui/viewport/Viewport.h"
|
||||||
#include <qboxlayout.h>
|
#include <qboxlayout.h>
|
||||||
#include <qpushbutton.h>
|
#include <qpushbutton.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
Viewport::Viewport(QWidget *parent, Qt::WindowFlags f)
|
Viewport::Viewport(QWidget *parent, Qt::WindowFlags f)
|
||||||
: QWidget(parent, f)
|
: QWidget(parent, f)
|
||||||
@@ -8,7 +10,15 @@ Viewport::Viewport(QWidget *parent, Qt::WindowFlags f)
|
|||||||
mainLayout_=new QVBoxLayout();
|
mainLayout_=new QVBoxLayout();
|
||||||
openGLWidget_ = new MyGLWidget(this);
|
openGLWidget_ = new MyGLWidget(this);
|
||||||
mainLayout_->addWidget(openGLWidget_);
|
mainLayout_->addWidget(openGLWidget_);
|
||||||
|
openGLWidget_->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
// mainLayout_->addWidget(new QPushButton("hello world"));
|
||||||
|
this->setLayout(mainLayout_);
|
||||||
|
// this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
|
// QTimer::singleShot(100, this, [=] {
|
||||||
|
// std::cout << "MyGLWidget size: " << openGLWidget_->width() << " x " << openGLWidget_->height() << std::endl;
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
setLayout(mainLayout_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user