schematic ui modification (#2241)
This commit is contained in:
parent
1d5937a1fe
commit
045b61c7fa
13 changed files with 48 additions and 12 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -455,16 +455,17 @@
|
|||
@schematic-FxColumn-color: @xsheet-FxColumn-color;
|
||||
@schematic-PaletteColumn-color: @xsheet-PaletteColumn-color;
|
||||
@schematic-MeshColumn-color: @xsheet-MeshColumn-color;
|
||||
@schematic-ReferenceColumn-color: @xsheet-ReferenceColumn-color;
|
||||
|
||||
@schematic-PreviewButtonBgOn-color: @xsheet-PreviewButtonBgOn-color;
|
||||
@schematic-PreviewButtonOnImage: @xsheet-PreviewButtonOnImage;
|
||||
@schematic-PreviewButtonBgOff-color: fade(@xsheet-PreviewButtonBgOn-color, 50%);
|
||||
@schematic-PreviewButtonBgOff-color: @xsheet-ReferenceColumn-color;
|
||||
@schematic-PreviewButtonOffImage: @xsheet-PreviewButtonOffImage;
|
||||
|
||||
@schematic-CamstandButtonBgOn-color: @xsheet-CamstandButtonBgOn-color;
|
||||
@schematic-CamstandButtonOnImage: @xsheet-CamstandButtonOnImage;
|
||||
@schematic-CamstandButtonTranspImage: @xsheet-CamstandButtonTranspImage;
|
||||
@schematic-CamstandButtonBgOff-color: fade(@xsheet-CamstandButtonBgOn-color, 50%);
|
||||
@schematic-CamstandButtonBgOff-color: @xsheet-ReferenceColumn-color;
|
||||
@schematic-CamstandButtonOffImage: @xsheet-CamstandButtonOffImage;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
|
|
@ -13,6 +13,7 @@ SchematicViewer {
|
|||
qproperty-FxColumnColor: @schematic-FxColumn-color;
|
||||
qproperty-PaletteColumnColor: @schematic-PaletteColumn-color;
|
||||
qproperty-MeshColumnColor: @schematic-MeshColumn-color;
|
||||
qproperty-ReferenceColumnColor: @schematic-ReferenceColumn-color;
|
||||
|
||||
qproperty-TableColor: @schematic-TableColor;
|
||||
qproperty-ActiveCameraColor: @schematic-ActiveCameraColor;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -45,6 +45,7 @@ class FxColumnPainter final : public QObject, public QGraphicsItem {
|
|||
double m_width, m_height;
|
||||
QString m_name;
|
||||
int m_type;
|
||||
bool m_isReference = false;
|
||||
|
||||
public:
|
||||
FxColumnPainter(FxSchematicColumnNode *parent, double width, double height,
|
||||
|
@ -55,6 +56,7 @@ public:
|
|||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
QWidget *widget = 0) override;
|
||||
void setName(const QString &name) { m_name = name; }
|
||||
void setIsReference(bool ref = true) { m_isReference = ref; }
|
||||
|
||||
public slots:
|
||||
|
||||
|
|
|
@ -185,6 +185,10 @@ class DVAPI SchematicViewer final : public QWidget {
|
|||
Q_PROPERTY(
|
||||
QColor MeshColumnColor READ getMeshColumnColor WRITE setMeshColumnColor)
|
||||
|
||||
// Reference column
|
||||
QColor m_referenceColumnColor;
|
||||
Q_PROPERTY(QColor ReferenceColumnColor MEMBER m_referenceColumnColor)
|
||||
|
||||
// Table node
|
||||
QColor m_tableColor;
|
||||
Q_PROPERTY(QColor TableColor READ getTableColor WRITE setTableColor)
|
||||
|
@ -328,6 +332,9 @@ public:
|
|||
void setMeshColumnColor(const QColor &color) { m_meshColumnColor = color; }
|
||||
QColor getMeshColumnColor() const { return m_meshColumnColor; }
|
||||
|
||||
// Reference column
|
||||
QColor getReferenceColumnColor() const { return m_referenceColumnColor; }
|
||||
|
||||
// Table node
|
||||
void setTableColor(const QColor &color) { m_tableColor = color; }
|
||||
QColor getTableColor() const { return m_tableColor; }
|
||||
|
|
|
@ -47,6 +47,7 @@ class ColumnPainter final : public QObject, public QGraphicsItem {
|
|||
double m_width, m_height;
|
||||
QString m_name;
|
||||
int m_type;
|
||||
bool m_isReference = false;
|
||||
|
||||
public:
|
||||
ColumnPainter(StageSchematicColumnNode *parent, double width, double height,
|
||||
|
@ -56,6 +57,7 @@ public:
|
|||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
QWidget *widget = 0) override;
|
||||
void setName(const QString &name) { m_name = name; }
|
||||
void setIsReference(bool ref = true) { m_isReference = ref; }
|
||||
|
||||
QLinearGradient getGradientByLevelType(int type);
|
||||
|
||||
|
|
|
@ -714,7 +714,7 @@ Preferences::Preferences()
|
|||
|
||||
getValue(*m_settings, "cursorOutlineEnabled", m_cursorOutlineEnabled);
|
||||
|
||||
r = 255, g = 0, b = 0;
|
||||
r = 255, g = 255, b = 0;
|
||||
getValue(*m_settings, "currentColumnColor.r", r);
|
||||
getValue(*m_settings, "currentColumnColor.g", g);
|
||||
getValue(*m_settings, "currentColumnColor.b", b);
|
||||
|
|
|
@ -176,8 +176,13 @@ void FxColumnPainter::paint(QPainter *painter,
|
|||
SchematicViewer *viewer = sceneFx->getSchematicViewer();
|
||||
viewer->getNodeColor(levelType, nodeColor);
|
||||
|
||||
if (m_isReference) {
|
||||
painter->setBrush(viewer->getReferenceColumnColor());
|
||||
painter->setPen(nodeColor);
|
||||
} else {
|
||||
painter->setBrush(nodeColor);
|
||||
painter->setPen(Qt::NoPen);
|
||||
}
|
||||
painter->drawRect(0, 0, m_width, m_height);
|
||||
|
||||
if (m_parent->isOpened() && m_parent->isNormalIconView()) {
|
||||
|
@ -2947,6 +2952,9 @@ FxSchematicColumnNode::FxSchematicColumnNode(FxSchematicScene *scene,
|
|||
m_renderToggle->setIsActive(column->isPreviewVisible());
|
||||
m_cameraStandToggle->setState(
|
||||
column->isCamstandVisible() ? (column->getOpacity() < 255 ? 2 : 1) : 0);
|
||||
if (!column->isControl() && !column->isRendered() &&
|
||||
!column->getMeshColumn())
|
||||
m_columnPainter->setIsReference();
|
||||
}
|
||||
|
||||
// set geometry
|
||||
|
|
|
@ -260,7 +260,12 @@ void SchematicToggle::paint(QPainter *painter,
|
|||
sourceRect.height() * getDevPixRatio());
|
||||
painter->drawPixmap(rect, redPm, newRect);
|
||||
} else if (!m_imageOff.isNull()) {
|
||||
painter->fillRect(boundingRect().toRect(), m_colorOff);
|
||||
QPen pen(m_colorOn);
|
||||
pen.setWidthF(0.5);
|
||||
painter->setPen(pen);
|
||||
painter->setBrush(m_colorOff);
|
||||
double d = pen.widthF() / 2.0;
|
||||
painter->drawRect(boundingRect().adjusted(d, d, -d, -d));
|
||||
QRect sourceRect =
|
||||
scene()->views()[0]->matrix().mapRect(QRect(0, 0, 18, 17));
|
||||
QPixmap redPm = m_imageOff.pixmap(sourceRect.size());
|
||||
|
|
|
@ -139,8 +139,14 @@ void ColumnPainter::paint(QPainter *painter,
|
|||
SchematicViewer *viewer = stageScene->getSchematicViewer();
|
||||
viewer->getNodeColor(levelType, nodeColor);
|
||||
|
||||
if (m_isReference && levelType != PLT_XSHLEVEL) {
|
||||
painter->setBrush(viewer->getReferenceColumnColor());
|
||||
painter->setPen(nodeColor);
|
||||
} else {
|
||||
painter->setBrush(nodeColor);
|
||||
painter->setPen(Qt::NoPen);
|
||||
}
|
||||
|
||||
if (levelType == PLT_XSHLEVEL)
|
||||
painter->drawRoundRect(0, 0, m_width, m_height, 32, 99);
|
||||
else
|
||||
|
@ -1744,6 +1750,10 @@ StageSchematicColumnNode::StageSchematicColumnNode(StageSchematicScene *scene,
|
|||
m_columnPainter = new ColumnPainter(this, m_width, m_height, m_name);
|
||||
m_columnPainter->setZValue(1);
|
||||
|
||||
if (column && !column->isControl() && !column->isRendered() &&
|
||||
!column->getMeshColumn())
|
||||
m_columnPainter->setIsReference();
|
||||
|
||||
int levelType;
|
||||
QString levelName;
|
||||
getLevelTypeAndName(levelType, levelName);
|
||||
|
|
Loading…
Reference in a new issue