revise CSS and allow modular icons

This commit is contained in:
itsmattkc
2019-07-14 23:56:55 -04:00
parent df32b881c2
commit 944e933762
514 changed files with 155122 additions and 198 deletions
+4 -5
View File
@@ -22,18 +22,17 @@
#include <QGraphicsRectItem>
#include "nodeviewitem.h"
NodeView::NodeView(QWidget *parent) :
QGraphicsView(parent),
graph_(nullptr)
{
setScene(&scene_);
QGraphicsRectItem* rect = scene_.addRect(0, 0, 50, 50, QPen(Qt::red), Qt::blue);
NodeViewItem* item = new NodeViewItem();
QGraphicsTextItem* text = scene_.addText("text");
QGraphicsItemGroup* group = scene_.createItemGroup({rect, text});
group->setFlag(QGraphicsItem::ItemIsMovable);
scene_.addItem(item);
}
void NodeView::SetGraph(NodeGraph *graph)
+53 -2
View File
@@ -20,7 +20,58 @@
#include "nodeviewitem.h"
NodeViewItem::NodeViewItem()
{
#include <QApplication>
#include <QBrush>
#include <QFontMetrics>
#include <QPainter>
#include <QPen>
#include <QStyleOptionGraphicsItem>
const int kNodeViewItemBorderWidth = 2;
const int kNodeViewItemWidth = 250;
const int kNodeViewItemPadding = 5;
NodeViewItem::NodeViewItem(QGraphicsItem *parent) :
QGraphicsRectItem(parent),
node_(nullptr)
{
setFlag(QGraphicsItem::ItemIsMovable);
setFlag(QGraphicsItem::ItemIsSelectable);
QFont f;
QFontMetrics fm(f);
setRect(0, 0, kNodeViewItemWidth, fm.height() + kNodeViewItemPadding * 2);
}
void NodeViewItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(widget)
// Set up border, which will change color if selected
QPen pen;
pen.setWidth(kNodeViewItemBorderWidth);
if (option->state & QStyle::State_Selected) {
pen.setColor(qApp->palette().highlight().color());
} else {
// FIXME: Not configurable?
pen.setColor(Qt::black);
}
// Draw rect
painter->setPen(pen);
painter->setBrush(qApp->palette().window());
painter->drawRect(rect());
// Draw text
if (node_ != nullptr) {
painter->setPen(qApp->palette().text().color());
QRectF text_rect = rect();
text_rect.adjust(kNodeViewItemPadding, kNodeViewItemPadding, -kNodeViewItemPadding, -kNodeViewItemPadding);
painter->drawText(text_rect, Qt::AlignTop | Qt::AlignLeft, node_->Name());
}
}
+12 -2
View File
@@ -21,10 +21,20 @@
#ifndef NODEVIEWITEM_H
#define NODEVIEWITEM_H
class NodeViewItem
#include <QGraphicsRectItem>
#include "node/node.h"
class NodeViewItem : public QGraphicsRectItem
{
public:
NodeViewItem();
NodeViewItem(QGraphicsItem* parent = nullptr);
protected:
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override;
private:
Node* node_;
};
#endif // NODEVIEWITEM_H
+1 -12
View File
@@ -67,8 +67,7 @@ void PanelWidget::paintEvent(QPaintEvent *event)
highlight_border.adjust(0, 0, -1, -1);
// Set the color to the palette's highlight color
p.setPen(QPen(border_color_));
p.setPen(palette().highlight().color());
// Draw the highlight border
p.drawRect(highlight_border);
@@ -85,13 +84,3 @@ void PanelWidget::UpdateTitle()
setWindowTitle(tr("%1: %2").arg(title_, subtitle_));
}
}
QColor PanelWidget::GetBorderColor()
{
return border_color_;
}
void PanelWidget::SetBorderColor(QColor c)
{
border_color_ = c;
}
-7
View File
@@ -29,7 +29,6 @@
*/
class PanelWidget : public QDockWidget {
Q_OBJECT
Q_PROPERTY(QColor border READ GetBorderColor WRITE SetBorderColor DESIGNABLE true)
public:
/**
* @brief PanelWidget Constructor
@@ -89,12 +88,6 @@ private:
*/
void UpdateTitle();
QColor GetBorderColor();
void SetBorderColor(QColor c);
QColor border_color_;
/**
* @brief Internal title string
*/