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-FxColumn-color: @xsheet-FxColumn-color;
@schematic-PaletteColumn-color: @xsheet-PaletteColumn-color; @schematic-PaletteColumn-color: @xsheet-PaletteColumn-color;
@schematic-MeshColumn-color: @xsheet-MeshColumn-color; @schematic-MeshColumn-color: @xsheet-MeshColumn-color;
@schematic-ReferenceColumn-color: @xsheet-ReferenceColumn-color;
@schematic-PreviewButtonBgOn-color: @xsheet-PreviewButtonBgOn-color; @schematic-PreviewButtonBgOn-color: @xsheet-PreviewButtonBgOn-color;
@schematic-PreviewButtonOnImage: @xsheet-PreviewButtonOnImage; @schematic-PreviewButtonOnImage: @xsheet-PreviewButtonOnImage;
@schematic-PreviewButtonBgOff-color: fade(@xsheet-PreviewButtonBgOn-color, 50%); @schematic-PreviewButtonBgOff-color: @xsheet-ReferenceColumn-color;
@schematic-PreviewButtonOffImage: @xsheet-PreviewButtonOffImage; @schematic-PreviewButtonOffImage: @xsheet-PreviewButtonOffImage;
@schematic-CamstandButtonBgOn-color: @xsheet-CamstandButtonBgOn-color; @schematic-CamstandButtonBgOn-color: @xsheet-CamstandButtonBgOn-color;
@schematic-CamstandButtonOnImage: @xsheet-CamstandButtonOnImage; @schematic-CamstandButtonOnImage: @xsheet-CamstandButtonOnImage;
@schematic-CamstandButtonTranspImage: @xsheet-CamstandButtonTranspImage; @schematic-CamstandButtonTranspImage: @xsheet-CamstandButtonTranspImage;
@schematic-CamstandButtonBgOff-color: fade(@xsheet-CamstandButtonBgOn-color, 50%); @schematic-CamstandButtonBgOff-color: @xsheet-ReferenceColumn-color;
@schematic-CamstandButtonOffImage: @xsheet-CamstandButtonOffImage; @schematic-CamstandButtonOffImage: @xsheet-CamstandButtonOffImage;
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------

View file

@ -13,6 +13,7 @@ SchematicViewer {
qproperty-FxColumnColor: @schematic-FxColumn-color; qproperty-FxColumnColor: @schematic-FxColumn-color;
qproperty-PaletteColumnColor: @schematic-PaletteColumn-color; qproperty-PaletteColumnColor: @schematic-PaletteColumn-color;
qproperty-MeshColumnColor: @schematic-MeshColumn-color; qproperty-MeshColumnColor: @schematic-MeshColumn-color;
qproperty-ReferenceColumnColor: @schematic-ReferenceColumn-color;
qproperty-TableColor: @schematic-TableColor; qproperty-TableColor: @schematic-TableColor;
qproperty-ActiveCameraColor: @schematic-ActiveCameraColor; 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; double m_width, m_height;
QString m_name; QString m_name;
int m_type; int m_type;
bool m_isReference = false;
public: public:
FxColumnPainter(FxSchematicColumnNode *parent, double width, double height, FxColumnPainter(FxSchematicColumnNode *parent, double width, double height,
@ -55,6 +56,7 @@ public:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget = 0) override; QWidget *widget = 0) override;
void setName(const QString &name) { m_name = name; } void setName(const QString &name) { m_name = name; }
void setIsReference(bool ref = true) { m_isReference = ref; }
public slots: public slots:

View file

@ -185,6 +185,10 @@ class DVAPI SchematicViewer final : public QWidget {
Q_PROPERTY( Q_PROPERTY(
QColor MeshColumnColor READ getMeshColumnColor WRITE setMeshColumnColor) QColor MeshColumnColor READ getMeshColumnColor WRITE setMeshColumnColor)
// Reference column
QColor m_referenceColumnColor;
Q_PROPERTY(QColor ReferenceColumnColor MEMBER m_referenceColumnColor)
// Table node // Table node
QColor m_tableColor; QColor m_tableColor;
Q_PROPERTY(QColor TableColor READ getTableColor WRITE setTableColor) Q_PROPERTY(QColor TableColor READ getTableColor WRITE setTableColor)
@ -328,6 +332,9 @@ public:
void setMeshColumnColor(const QColor &color) { m_meshColumnColor = color; } void setMeshColumnColor(const QColor &color) { m_meshColumnColor = color; }
QColor getMeshColumnColor() const { return m_meshColumnColor; } QColor getMeshColumnColor() const { return m_meshColumnColor; }
// Reference column
QColor getReferenceColumnColor() const { return m_referenceColumnColor; }
// Table node // Table node
void setTableColor(const QColor &color) { m_tableColor = color; } void setTableColor(const QColor &color) { m_tableColor = color; }
QColor getTableColor() const { return m_tableColor; } QColor getTableColor() const { return m_tableColor; }

View file

@ -47,6 +47,7 @@ class ColumnPainter final : public QObject, public QGraphicsItem {
double m_width, m_height; double m_width, m_height;
QString m_name; QString m_name;
int m_type; int m_type;
bool m_isReference = false;
public: public:
ColumnPainter(StageSchematicColumnNode *parent, double width, double height, ColumnPainter(StageSchematicColumnNode *parent, double width, double height,
@ -56,6 +57,7 @@ public:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget = 0) override; QWidget *widget = 0) override;
void setName(const QString &name) { m_name = name; } void setName(const QString &name) { m_name = name; }
void setIsReference(bool ref = true) { m_isReference = ref; }
QLinearGradient getGradientByLevelType(int type); QLinearGradient getGradientByLevelType(int type);

View file

@ -714,7 +714,7 @@ Preferences::Preferences()
getValue(*m_settings, "cursorOutlineEnabled", m_cursorOutlineEnabled); 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.r", r);
getValue(*m_settings, "currentColumnColor.g", g); getValue(*m_settings, "currentColumnColor.g", g);
getValue(*m_settings, "currentColumnColor.b", b); getValue(*m_settings, "currentColumnColor.b", b);

View file

@ -176,8 +176,13 @@ void FxColumnPainter::paint(QPainter *painter,
SchematicViewer *viewer = sceneFx->getSchematicViewer(); SchematicViewer *viewer = sceneFx->getSchematicViewer();
viewer->getNodeColor(levelType, nodeColor); viewer->getNodeColor(levelType, nodeColor);
if (m_isReference) {
painter->setBrush(viewer->getReferenceColumnColor());
painter->setPen(nodeColor);
} else {
painter->setBrush(nodeColor); painter->setBrush(nodeColor);
painter->setPen(Qt::NoPen); painter->setPen(Qt::NoPen);
}
painter->drawRect(0, 0, m_width, m_height); painter->drawRect(0, 0, m_width, m_height);
if (m_parent->isOpened() && m_parent->isNormalIconView()) { if (m_parent->isOpened() && m_parent->isNormalIconView()) {
@ -2947,6 +2952,9 @@ FxSchematicColumnNode::FxSchematicColumnNode(FxSchematicScene *scene,
m_renderToggle->setIsActive(column->isPreviewVisible()); m_renderToggle->setIsActive(column->isPreviewVisible());
m_cameraStandToggle->setState( m_cameraStandToggle->setState(
column->isCamstandVisible() ? (column->getOpacity() < 255 ? 2 : 1) : 0); column->isCamstandVisible() ? (column->getOpacity() < 255 ? 2 : 1) : 0);
if (!column->isControl() && !column->isRendered() &&
!column->getMeshColumn())
m_columnPainter->setIsReference();
} }
// set geometry // set geometry

View file

@ -260,7 +260,12 @@ void SchematicToggle::paint(QPainter *painter,
sourceRect.height() * getDevPixRatio()); sourceRect.height() * getDevPixRatio());
painter->drawPixmap(rect, redPm, newRect); painter->drawPixmap(rect, redPm, newRect);
} else if (!m_imageOff.isNull()) { } 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 = QRect sourceRect =
scene()->views()[0]->matrix().mapRect(QRect(0, 0, 18, 17)); scene()->views()[0]->matrix().mapRect(QRect(0, 0, 18, 17));
QPixmap redPm = m_imageOff.pixmap(sourceRect.size()); QPixmap redPm = m_imageOff.pixmap(sourceRect.size());

View file

@ -139,8 +139,14 @@ void ColumnPainter::paint(QPainter *painter,
SchematicViewer *viewer = stageScene->getSchematicViewer(); SchematicViewer *viewer = stageScene->getSchematicViewer();
viewer->getNodeColor(levelType, nodeColor); viewer->getNodeColor(levelType, nodeColor);
if (m_isReference && levelType != PLT_XSHLEVEL) {
painter->setBrush(viewer->getReferenceColumnColor());
painter->setPen(nodeColor);
} else {
painter->setBrush(nodeColor); painter->setBrush(nodeColor);
painter->setPen(Qt::NoPen); painter->setPen(Qt::NoPen);
}
if (levelType == PLT_XSHLEVEL) if (levelType == PLT_XSHLEVEL)
painter->drawRoundRect(0, 0, m_width, m_height, 32, 99); painter->drawRoundRect(0, 0, m_width, m_height, 32, 99);
else else
@ -1744,6 +1750,10 @@ StageSchematicColumnNode::StageSchematicColumnNode(StageSchematicScene *scene,
m_columnPainter = new ColumnPainter(this, m_width, m_height, m_name); m_columnPainter = new ColumnPainter(this, m_width, m_height, m_name);
m_columnPainter->setZValue(1); m_columnPainter->setZValue(1);
if (column && !column->isControl() && !column->isRendered() &&
!column->getMeshColumn())
m_columnPainter->setIsReference();
int levelType; int levelType;
QString levelName; QString levelName;
getLevelTypeAndName(levelType, levelName); getLevelTypeAndName(levelType, levelName);