fix: splitter ratio
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "gui/network/Network.h"
|
||||
#include <qpushbutton.h>
|
||||
#include <qsplitter.h>
|
||||
#include <QTimer>
|
||||
|
||||
EnzoUI::EnzoUI()
|
||||
{
|
||||
@@ -12,16 +13,29 @@ EnzoUI::EnzoUI()
|
||||
|
||||
// title and size
|
||||
setWindowTitle("Enzo");
|
||||
setMinimumSize(1920/2, 1080/2);
|
||||
constexpr float scale = 0.8;
|
||||
resize(1920*scale, 1080*scale);
|
||||
|
||||
Viewport* viewport = new Viewport();
|
||||
Network* network = new Network(this);
|
||||
network->setMinimumWidth(400);
|
||||
|
||||
|
||||
viewportSplitter_ = new QSplitter(this);
|
||||
|
||||
|
||||
|
||||
viewportSplitter_->addWidget(viewport);
|
||||
viewportSplitter_->addWidget(network);
|
||||
// viewportSplitter_->addWidget(new QPushButton("hello world"));
|
||||
|
||||
viewportSplitter_->setStretchFactor(0, 10);
|
||||
viewportSplitter_->setStretchFactor(1, 1);
|
||||
|
||||
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_->setContentsMargins(0,0,0,0);
|
||||
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
|
||||
|
||||
|
||||
this->setLayout(mainLayout_);
|
||||
|
||||
@@ -18,6 +18,8 @@ public:
|
||||
Network(QWidget* parent = nullptr);
|
||||
void socketClicked(SocketGraphic* socket, QMouseEvent *event);
|
||||
void mouseMoved(QMouseEvent *event);
|
||||
QSize sizeHint() const override { return QSize(-1, -1); }
|
||||
|
||||
private:
|
||||
QLayout* mainLayout_;
|
||||
NetworkGraphicsScene* scene_;
|
||||
|
||||
@@ -15,6 +15,7 @@ NetworkGraphicsView::NetworkGraphicsView(QWidget *parent, Network* network, QGra
|
||||
{
|
||||
setScene(scene_);
|
||||
setMouseTracking(true);
|
||||
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
|
||||
initUI();
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ class NetworkGraphicsView
|
||||
{
|
||||
public:
|
||||
NetworkGraphicsView(QWidget *parent = nullptr, Network* network=nullptr, QGraphicsScene* scene = nullptr);
|
||||
QSize sizeHint() const override { return QSize(-1, -1); }
|
||||
private:
|
||||
QPointF panStartPos;
|
||||
void initUI();
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include <QTextDocument>
|
||||
#include <iostream>
|
||||
#include <qgraphicsitem.h>
|
||||
#include <qnamespace.h>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include "gui/network/DisplayFlagButton.h"
|
||||
@@ -135,11 +136,17 @@ QRectF NodeGraphic::boundingRect() const
|
||||
|
||||
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");
|
||||
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->drawRoundedRect(bodyRect_, 5, 5);
|
||||
|
||||
@@ -5,6 +5,7 @@ class MyGLWidget : public QOpenGLWidget
|
||||
{
|
||||
public:
|
||||
MyGLWidget(QWidget *parent) : QOpenGLWidget(parent) { }
|
||||
QSize sizeHint() const override { return QSize(-1, -1); }
|
||||
|
||||
protected:
|
||||
void initializeGL() override
|
||||
@@ -14,6 +15,8 @@ protected:
|
||||
f->glClearColor(0.16f, 0.16f, 0.16f, 1.0f);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void resizeGL(int w, int h) override
|
||||
{
|
||||
// // Update projection matrix and other size related settings:
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "gui/viewport/Viewport.h"
|
||||
#include <qboxlayout.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <iostream>
|
||||
#include <QTimer>
|
||||
|
||||
Viewport::Viewport(QWidget *parent, Qt::WindowFlags f)
|
||||
: QWidget(parent, f)
|
||||
@@ -8,7 +10,15 @@ Viewport::Viewport(QWidget *parent, Qt::WindowFlags f)
|
||||
mainLayout_=new QVBoxLayout();
|
||||
openGLWidget_ = new MyGLWidget(this);
|
||||
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