schematic ui modification (#2241)

This commit is contained in:
shun-iwasawa 2018-09-11 14:43:04 +09:00 committed by masafumi-inoue
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

View file

@ -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;
// -----------------------------------------------------------------------------

View file

@ -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

View file

@ -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:

View file

@ -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; }

View file

@ -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);

View file

@ -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);

View file

@ -176,8 +176,13 @@ void FxColumnPainter::paint(QPainter *painter,
SchematicViewer *viewer = sceneFx->getSchematicViewer();
viewer->getNodeColor(levelType, nodeColor);
painter->setBrush(nodeColor);
painter->setPen(Qt::NoPen);
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

View file

@ -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());

View file

@ -139,8 +139,14 @@ void ColumnPainter::paint(QPainter *painter,
SchematicViewer *viewer = stageScene->getSchematicViewer();
viewer->getNodeColor(levelType, nodeColor);
painter->setBrush(nodeColor);
painter->setPen(Qt::NoPen);
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);