Get user prefs at time of use

This commit is contained in:
WandererFan 2016-07-14 13:50:49 -04:00
parent 9dec3c540e
commit 2c8f497292
14 changed files with 206 additions and 122 deletions

View File

@ -197,12 +197,20 @@
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="Gui::PrefComboBox" name="cb_HidLine"> <widget class="Gui::PrefComboBox" name="cb_HidLine">
<property name="currentIndex">
<number>1</number>
</property>
<property name="prefEntry" stdset="0"> <property name="prefEntry" stdset="0">
<cstring>HiddenLine</cstring> <cstring>HiddenLine</cstring>
</property> </property>
<property name="prefPath" stdset="0"> <property name="prefPath" stdset="0">
<cstring>Mod/TechDraw</cstring> <cstring>Mod/TechDraw</cstring>
</property> </property>
<item>
<property name="text">
<string>NeverShow</string>
</property>
</item>
<item> <item>
<property name="text"> <property name="text">
<string>Solid</string> <string>Solid</string>

View File

@ -104,3 +104,34 @@ void QGCustomText::paint ( QPainter * painter, const QStyleOptionGraphicsItem *
QGraphicsTextItem::paint (painter, &myOption, widget); QGraphicsTextItem::paint (painter, &myOption, widget);
} }
QColor QGCustomText::getNormalColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroup();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000));
return fcColor.asValue<QColor>();
}
QColor QGCustomText::getPreColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroup();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000));
return fcColor.asValue<QColor>();
}
QColor QGCustomText::getSelectColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroup();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000));
return fcColor.asValue<QColor>();
}
Base::Reference<ParameterGrp> QGCustomText::getParmGroup()
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
return hGrp;
}

View File

@ -49,6 +49,10 @@ public:
virtual void centerAt(double cX, double cY); virtual void centerAt(double cX, double cY);
protected: protected:
QColor getNormalColor(void);
QColor getPreColor(void);
QColor getSelectColor(void);
Base::Reference<ParameterGrp> getParmGroup(void);
private: private:
@ -57,4 +61,3 @@ private:
} // namespace MDIViewPageGui } // namespace MDIViewPageGui
#endif // DRAWINGGUI_QGCUSTOMTEXT_H #endif // DRAWINGGUI_QGCUSTOMTEXT_H

View File

@ -43,27 +43,13 @@
using namespace TechDrawGui; using namespace TechDrawGui;
QGIEdge::QGIEdge(int index) : QGIEdge::QGIEdge(int index) :
projIndex(index) projIndex(index),
isCosmetic(false),
isHiddenEdge(false),
isSmoothEdge(false),
strokeWidth(1.0)
{ {
strokeWidth = 1.;
isCosmetic = false;
m_pen.setCosmetic(isCosmetic); m_pen.setCosmetic(isCosmetic);
isHiddenEdge = false;
isSmoothEdge = false;
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
m_defNormal = m_colNormal;
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("HiddenColor", 0x08080800));
m_colHid = fcColor.asValue<QColor>();
hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw");
m_styleHid = static_cast<Qt::PenStyle> (hGrp->GetInt("HiddenLine",2));
//m_pen.setStyle(Qt::SolidLine);
//m_pen.setCapStyle(Qt::RoundCap);
} }
QRectF QGIEdge::boundingRect() const QRectF QGIEdge::boundingRect() const
@ -96,15 +82,38 @@ void QGIEdge::setStrokeWidth(float width) {
void QGIEdge::setHiddenEdge(bool b) { void QGIEdge::setHiddenEdge(bool b) {
isHiddenEdge = b; isHiddenEdge = b;
if (b) { if (b) {
m_pen.setStyle(m_styleHid); m_styleCurrent = getHiddenStyle();
m_colNormal = m_colHid;
} else { } else {
m_pen.setStyle(Qt::SolidLine); m_styleCurrent = Qt::SolidLine;
m_colNormal = m_defNormal;
} }
update(); update();
} }
void QGIEdge::setPrettyNormal() {
if (isHiddenEdge) {
m_colCurrent = getHiddenColor();
} else {
m_colCurrent = getNormalColor();
}
update();
}
QColor QGIEdge::getHiddenColor()
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("HiddenColor", 0x08080800));
return fcColor.asValue<QColor>();
}
Qt::PenStyle QGIEdge::getHiddenStyle()
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->
GetGroup("Preferences")->GetGroup("Mod/TechDraw");
Qt::PenStyle hidStyle = static_cast<Qt::PenStyle> (hGrp->GetInt("HiddenLine",2));
return hidStyle;
}
void QGIEdge::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget) { void QGIEdge::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget) {
QStyleOptionGraphicsItem myOption(*option); QStyleOptionGraphicsItem myOption(*option);
myOption.state &= ~QStyle::State_Selected; myOption.state &= ~QStyle::State_Selected;

View File

@ -49,6 +49,7 @@ public:
bool getHiddenEdge() { return(isHiddenEdge); } bool getHiddenEdge() { return(isHiddenEdge); }
void setSmoothEdge(bool b) { isSmoothEdge = b; } void setSmoothEdge(bool b) { isSmoothEdge = b; }
bool getSmoothEdge() { return(isSmoothEdge); } bool getSmoothEdge() { return(isSmoothEdge); }
virtual void setPrettyNormal();
protected: protected:
int projIndex; //index of edge in Projection. must exist. int projIndex; //index of edge in Projection. must exist.
@ -56,12 +57,11 @@ protected:
bool isCosmetic; bool isCosmetic;
bool isHiddenEdge; bool isHiddenEdge;
bool isSmoothEdge; bool isSmoothEdge;
QColor getHiddenColor();
Qt::PenStyle getHiddenStyle();
private: private:
float strokeWidth; float strokeWidth;
QColor m_colHid;
QColor m_defNormal;
Qt::PenStyle m_styleHid;
}; };
} }

View File

@ -61,7 +61,7 @@ QGIFace::QGIFace(int index) :
setFlag(QGraphicsItem::ItemClipsChildrenToShape,true); setFlag(QGraphicsItem::ItemClipsChildrenToShape,true);
//setFiltersChildEvents(true); //setFiltersChildEvents(true);
m_pen.setCosmetic(true); m_styleCurrent = Qt::NoPen; //don't draw face lines, just fill
m_styleNormal = m_styleDef; m_styleNormal = m_styleDef;
m_colNormalFill = m_colDefFill; m_colNormalFill = m_colDefFill;
@ -88,13 +88,13 @@ void QGIFace::setPrettyNormal() {
void QGIFace::setPrettyPre() { void QGIFace::setPrettyPre() {
m_fillStyle = m_styleSelect; m_fillStyle = m_styleSelect;
m_fillColor = m_colPre; m_fillColor = getPreColor();
QGIPrimPath::setPrettyPre(); QGIPrimPath::setPrettyPre();
} }
void QGIFace::setPrettySel() { void QGIFace::setPrettySel() {
m_fillStyle = m_styleSelect; m_fillStyle = m_styleSelect;
m_fillColor = m_colSel; m_fillColor = getSelectColor();
QGIPrimPath::setPrettySel(); QGIPrimPath::setPrettySel();
} }

View File

@ -34,7 +34,6 @@
#include <App/Application.h> #include <App/Application.h>
#include <App/Material.h> #include <App/Material.h>
#include <Base/Console.h> #include <Base/Console.h>
#include <Base/Parameter.h>
#include "QGIPrimPath.h" #include "QGIPrimPath.h"
#include "QGIView.h" #include "QGIView.h"
@ -51,21 +50,11 @@ QGIPrimPath::QGIPrimPath()
setAcceptHoverEvents(true); setAcceptHoverEvents(true);
isHighlighted = false; isHighlighted = false;
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000));
m_colNormal = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000));
m_colSel = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000));
m_colPre = fcColor.asValue<QColor>();
setPrettyNormal(); setPrettyNormal();
m_pen.setColor(m_colNormal); m_colCurrent = getNormalColor();
m_pen.setStyle(Qt::SolidLine); m_styleCurrent = Qt::SolidLine;
m_pen.setStyle(m_styleCurrent);
m_pen.setCapStyle(Qt::RoundCap); m_pen.setCapStyle(Qt::RoundCap);
} }
@ -110,17 +99,17 @@ void QGIPrimPath::setHighlighted(bool b)
} }
void QGIPrimPath::setPrettyNormal() { void QGIPrimPath::setPrettyNormal() {
m_colCurrent = m_colNormal; m_colCurrent = getNormalColor();
update(); update();
} }
void QGIPrimPath::setPrettyPre() { void QGIPrimPath::setPrettyPre() {
m_colCurrent = m_colPre; m_colCurrent = getPreColor();
update(); update();
} }
void QGIPrimPath::setPrettySel() { void QGIPrimPath::setPrettySel() {
m_colCurrent = m_colSel; m_colCurrent = getSelectColor();
update(); update();
} }
@ -129,6 +118,38 @@ void QGIPrimPath::paint ( QPainter * painter, const QStyleOptionGraphicsItem * o
myOption.state &= ~QStyle::State_Selected; myOption.state &= ~QStyle::State_Selected;
m_pen.setColor(m_colCurrent); m_pen.setColor(m_colCurrent);
m_pen.setStyle(m_styleCurrent);
setPen(m_pen); setPen(m_pen);
QGraphicsPathItem::paint (painter, &myOption, widget); QGraphicsPathItem::paint (painter, &myOption, widget);
} }
QColor QGIPrimPath::getNormalColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroup();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000));
return fcColor.asValue<QColor>();
}
QColor QGIPrimPath::getPreColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroup();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000));
return fcColor.asValue<QColor>();
}
QColor QGIPrimPath::getSelectColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroup();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000));
return fcColor.asValue<QColor>();
}
Base::Reference<ParameterGrp> QGIPrimPath::getParmGroup()
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
return hGrp;
}

View File

@ -30,6 +30,8 @@ class QPainter;
class QStyleOptionGraphicsItem; class QStyleOptionGraphicsItem;
QT_END_NAMESPACE QT_END_NAMESPACE
#include <Base/Parameter.h>
namespace TechDrawGui namespace TechDrawGui
{ {
@ -54,12 +56,15 @@ protected:
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
QVariant itemChange(GraphicsItemChange change, const QVariant &value); QVariant itemChange(GraphicsItemChange change, const QVariant &value);
QColor getNormalColor(void);
QColor getPreColor(void);
QColor getSelectColor(void);
Base::Reference<ParameterGrp> getParmGroup(void);
bool isHighlighted; bool isHighlighted;
QPen m_pen; QPen m_pen;
QColor m_colCurrent; QColor m_colCurrent;
QColor m_colNormal; Qt::PenStyle m_styleCurrent;
QColor m_colPre;
QColor m_colSel;
private: private:

View File

@ -1,3 +1,5 @@
/*************************************************************************** /***************************************************************************
* Copyright (c) 2012-2013 Luke Parry <l.parry@warwick.ac.uk> * * Copyright (c) 2012-2013 Luke Parry <l.parry@warwick.ac.uk> *
* * * *
@ -43,7 +45,6 @@
#include <App/Document.h> #include <App/Document.h>
#include <App/Material.h> #include <App/Material.h>
#include <Base/Console.h> #include <Base/Console.h>
#include <Base/Parameter.h>
#include <Gui/Selection.h> #include <Gui/Selection.h>
#include <Gui/Command.h> #include <Gui/Command.h>
@ -75,22 +76,9 @@ QGIView::QGIView()
setFlag(QGraphicsItem::ItemSendsGeometryChanges,true); setFlag(QGraphicsItem::ItemSendsGeometryChanges,true);
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter() m_colCurrent = getNormalColor();
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000));
m_colNormal = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF00000));
m_colSel = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000));
m_colPre = fcColor.asValue<QColor>();
m_colCurrent = m_colNormal;
m_pen.setColor(m_colCurrent); m_pen.setColor(m_colCurrent);
hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw");
std::string fontName = hGrp->GetASCII("LabelFont", "Sans");
m_font.setFamily(QString::fromStdString(fontName));
m_font.setPointSize(5.0); //scene units (mm), not points m_font.setPointSize(5.0); //scene units (mm), not points
m_decorPen.setStyle(Qt::DashLine); m_decorPen.setStyle(Qt::DashLine);
@ -98,7 +86,6 @@ QGIView::QGIView()
m_label = new QGCustomLabel(); m_label = new QGCustomLabel();
addToGroup(m_label); addToGroup(m_label);
m_label->setFont(m_font);
m_border = new QGCustomBorder(); m_border = new QGCustomBorder();
addToGroup(m_border); addToGroup(m_border);
@ -151,9 +138,9 @@ QVariant QGIView::itemChange(GraphicsItemChange change, const QVariant &value)
if (change == ItemSelectedHasChanged && scene()) { if (change == ItemSelectedHasChanged && scene()) {
if(isSelected()) { if(isSelected()) {
m_colCurrent = m_colSel; m_colCurrent = getSelectColor();
} else { } else {
m_colCurrent = m_colNormal; m_colCurrent = getNormalColor();
} }
drawBorder(); drawBorder();
} }
@ -195,11 +182,11 @@ void QGIView::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{ {
// TODO don't like this but only solution at the minute (MLP) // TODO don't like this but only solution at the minute (MLP)
if (isSelected()) { if (isSelected()) {
m_colCurrent = m_colSel; m_colCurrent = getSelectColor();
} else { } else {
m_colCurrent = m_colPre; m_colCurrent = getPreColor();
//if(shape().contains(event->pos())) { // TODO don't like this for determining preselect (MLP) //if(shape().contains(event->pos())) { // TODO don't like this for determining preselect (MLP)
// m_colCurrent = m_colPre; // m_colCurrent = getPreColor();
//} //}
} }
drawBorder(); drawBorder();
@ -209,9 +196,9 @@ void QGIView::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
void QGIView::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) void QGIView::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
{ {
if(isSelected()) { if(isSelected()) {
m_colCurrent = m_colSel; m_colCurrent = getSelectColor();
} else { } else {
m_colCurrent = m_colNormal; m_colCurrent = getNormalColor();
} }
drawBorder(); drawBorder();
//update(); //update();
@ -321,6 +308,7 @@ void QGIView::drawBorder()
m_border->hide(); m_border->hide();
m_label->setDefaultTextColor(m_colCurrent); m_label->setDefaultTextColor(m_colCurrent);
m_font.setFamily(getPrefFont());
m_label->setFont(m_font); m_label->setFont(m_font);
QString labelStr = QString::fromUtf8(getViewObject()->Label.getValue()); QString labelStr = QString::fromUtf8(getViewObject()->Label.getValue());
m_label->setPlainText(labelStr); m_label->setPlainText(labelStr);
@ -385,6 +373,48 @@ QRectF QGIView::customChildrenBoundingRect() {
return result; return result;
} }
QColor QGIView::getNormalColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroupCol();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000));
m_colNormal = fcColor.asValue<QColor>();
return m_colNormal;
}
QColor QGIView::getPreColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroupCol();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000));
m_colPre = fcColor.asValue<QColor>();
return m_colPre;
}
QColor QGIView::getSelectColor()
{
Base::Reference<ParameterGrp> hGrp = getParmGroupCol();
App::Color fcColor;
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000));
m_colSel = fcColor.asValue<QColor>();
return m_colSel;
}
Base::Reference<ParameterGrp> QGIView::getParmGroupCol()
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
return hGrp;
}
QString QGIView::getPrefFont()
{
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter().
GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw");
std::string fontName = hGrp->GetASCII("LabelFont", "Sans");
return QString::fromStdString(fontName);
}
void _debugRect(char* text, QRectF r) { void _debugRect(char* text, QRectF r) {
Base::Console().Message("TRACE - %s - rect: (%.3f,%.3f) x (%.3f,%.3f)\n",text, Base::Console().Message("TRACE - %s - rect: (%.3f,%.3f) x (%.3f,%.3f)\n",text,
r.left(),r.top(),r.right(),r.bottom()); r.left(),r.top(),r.right(),r.bottom());

View File

@ -24,10 +24,11 @@
#define DRAWINGGUI_QGRAPHICSITEMVIEW_H #define DRAWINGGUI_QGRAPHICSITEMVIEW_H
#include <QGraphicsItemGroup> #include <QGraphicsItemGroup>
#include <QObject>
#include <QPen> #include <QPen>
#include <QFont> #include <QFont>
#include <App/PropertyLinks.h> #include <App/PropertyLinks.h>
#include <Base/Parameter.h>
#include <Mod/TechDraw/App/DrawView.h> #include <Mod/TechDraw/App/DrawView.h>
@ -88,6 +89,12 @@ protected:
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
virtual QRectF customChildrenBoundingRect(void); virtual QRectF customChildrenBoundingRect(void);
QColor getNormalColor(void);
QColor getPreColor(void);
QColor getSelectColor(void);
QString getPrefFont(void);
Base::Reference<ParameterGrp> getParmGroupCol(void);
TechDraw::DrawView *viewObj; TechDraw::DrawView *viewObj;
std::string viewName; std::string viewName;

View File

@ -88,15 +88,6 @@ QGIDatumLabel::QGIDatumLabel(int ref, QGraphicsScene *scene ) : reference(ref)
setFlag(ItemIsMovable, true); setFlag(ItemIsMovable, true);
setFlag(ItemIsSelectable, true); setFlag(ItemIsSelectable, true);
setAcceptHoverEvents(true); setAcceptHoverEvents(true);
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("NormalColor", 0x00000000));
m_colNormal = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x0000FF00));
m_colSel = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0x00080800));
m_colPre = fcColor.asValue<QColor>();
} }
QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &value) QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &value)
@ -104,10 +95,10 @@ QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &va
if (change == ItemSelectedHasChanged && scene()) { if (change == ItemSelectedHasChanged && scene()) {
if(isSelected()) { if(isSelected()) {
Q_EMIT selected(true); Q_EMIT selected(true);
setDefaultTextColor(m_colSel); setDefaultTextColor(getSelectColor());
} else { } else {
Q_EMIT selected(false); Q_EMIT selected(false);
setDefaultTextColor(m_colNormal); setDefaultTextColor(getNormalColor());
} }
update(); update();
} else if(change == ItemPositionHasChanged && scene()) { } else if(change == ItemPositionHasChanged && scene()) {
@ -134,7 +125,7 @@ void QGIDatumLabel::setLabelCenter()
void QGIDatumLabel::hoverEnterEvent(QGraphicsSceneHoverEvent *event) void QGIDatumLabel::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{ {
Q_EMIT hover(true); Q_EMIT hover(true);
setDefaultTextColor(m_colPre); setDefaultTextColor(getPreColor());
update(); update();
} }
@ -145,7 +136,7 @@ void QGIDatumLabel::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
Q_EMIT hover(false); Q_EMIT hover(false);
if(!isSelected() && !view->isSelected()) { if(!isSelected() && !view->isSelected()) {
setDefaultTextColor(m_colNormal); setDefaultTextColor(getNormalColor());
update(); update();
} }
} }
@ -193,15 +184,6 @@ QGIViewDimension::QGIViewDimension() :
pen.setCosmetic(true); pen.setCosmetic(true);
pen.setWidthF(1.); pen.setWidthF(1.);
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors");
App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("NormalColor", 0x00000000));
m_colNormal = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x0000FF00));
m_colSel = fcColor.asValue<QColor>();
fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0x00080800));
m_colPre = fcColor.asValue<QColor>();
addToGroup(arrows); addToGroup(arrows);
addToGroup(datumLabel); addToGroup(datumLabel);
addToGroup(centreLines); addToGroup(centreLines);
@ -332,11 +314,11 @@ void QGIViewDimension::draw()
// Crude method of determining state [TODO] improve // Crude method of determining state [TODO] improve
if(isSelected()) { if(isSelected()) {
pen.setColor(m_colSel); pen.setColor(getSelectColor());
} else if (hasHover) { } else if (hasHover) {
pen.setColor(m_colPre); pen.setColor(getPreColor());
} else { } else {
pen.setColor(m_colNormal); pen.setColor(getNormalColor());
} }
QString labelText = lbl->toPlainText(); QString labelText = lbl->toPlainText();

View File

@ -119,9 +119,6 @@ protected:
std::vector<QGraphicsItem*> arw; //arrowheads std::vector<QGraphicsItem*> arw; //arrowheads
std::vector<TechDrawGeometry::BaseGeom *> projGeom; std::vector<TechDrawGeometry::BaseGeom *> projGeom;
QPen pen; QPen pen;
QColor m_colNormal;
QColor m_colPre;
QColor m_colSel;
}; };
} // namespace MDIViewPageGui } // namespace MDIViewPageGui

View File

@ -35,20 +35,17 @@
#include <QPainterPathStroker> #include <QPainterPathStroker>
#include <QPainter> #include <QPainter>
#include <QTextOption> #include <QTextOption>
#endif // #ifndef _PreComp_
#include <QBitmap> #include <QBitmap>
#include <QImage> #include <QImage>
#include <QString> #include <QString>
#include <QSvgRenderer> #include <QSvgRenderer>
#endif // #ifndef _PreComp_
#include <App/Application.h> #include <App/Application.h>
#include <App/Document.h> #include <App/Document.h>
#include <App/DocumentObject.h> #include <App/DocumentObject.h>
#include <App/Material.h> #include <App/Material.h>
#include <Base/Console.h> #include <Base/Console.h>
#include <Base/Parameter.h>
#include <Mod/TechDraw/App/DrawUtil.h> #include <Mod/TechDraw/App/DrawUtil.h>
#include <Mod/TechDraw/App/DrawViewPart.h> #include <Mod/TechDraw/App/DrawViewPart.h>
@ -75,13 +72,6 @@ QGIViewPart::QGIViewPart()
setFlag(QGraphicsItem::ItemIsMovable, true); setFlag(QGraphicsItem::ItemIsMovable, true);
setFlag(QGraphicsItem::ItemSendsScenePositionChanges, true); setFlag(QGraphicsItem::ItemSendsScenePositionChanges, true);
setFlag(QGraphicsItem::ItemSendsGeometryChanges,true); setFlag(QGraphicsItem::ItemSendsGeometryChanges,true);
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Drawing/Colors");
App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("HiddenColor", 0x08080800));
m_colHid = fcColor.asValue<QColor>();
} }
QGIViewPart::~QGIViewPart() QGIViewPart::~QGIViewPart()
@ -253,9 +243,12 @@ void QGIViewPart::updateView(bool update)
viewPart->isTouched() || viewPart->isTouched() ||
viewPart->Source.isTouched() || viewPart->Source.isTouched() ||
viewPart->Direction.isTouched() || viewPart->Direction.isTouched() ||
viewPart->XAxisDirection.isTouched() ||
viewPart->Tolerance.isTouched() || viewPart->Tolerance.isTouched() ||
viewPart->Scale.isTouched() || viewPart->Scale.isTouched() ||
viewPart->ShowHiddenLines.isTouched()) { viewPart->ShowHiddenLines.isTouched() ||
viewPart->ShowSmoothLines.isTouched() ||
viewPart->ShowSeamLines.isTouched() ) {
// Remove all existing graphical representations (QGIxxxx) otherwise BRect only grows, never shrinks? // Remove all existing graphical representations (QGIxxxx) otherwise BRect only grows, never shrinks?
// is this where selection messes up? // is this where selection messes up?
prepareGeometryChange(); prepareGeometryChange();
@ -272,7 +265,8 @@ void QGIViewPart::updateView(bool update)
} }
} }
draw(); draw();
} else if(viewPart->LineWidth.isTouched() || } else if (update ||
viewPart->LineWidth.isTouched() ||
viewPart->HiddenWidth.isTouched()) { viewPart->HiddenWidth.isTouched()) {
QList<QGraphicsItem*> items = childItems(); QList<QGraphicsItem*> items = childItems();
for(QList<QGraphicsItem*>::iterator it = items.begin(); it != items.end(); ++it) { for(QList<QGraphicsItem*>::iterator it = items.begin(); it != items.end(); ++it) {
@ -333,7 +327,6 @@ void QGIViewPart::drawViewPart()
const std::vector<TechDrawGeometry::BaseGeom *> &geoms = viewPart->getEdgeGeometry(); const std::vector<TechDrawGeometry::BaseGeom *> &geoms = viewPart->getEdgeGeometry();
std::vector<TechDrawGeometry::BaseGeom *>::const_iterator itEdge = geoms.begin(); std::vector<TechDrawGeometry::BaseGeom *>::const_iterator itEdge = geoms.begin();
QGIEdge* item; QGIEdge* item;
for(int i = 0 ; itEdge != geoms.end(); itEdge++, i++) { for(int i = 0 ; itEdge != geoms.end(); itEdge++, i++) {
bool showEdge = false; bool showEdge = false;
if ((*itEdge)->visible) { if ((*itEdge)->visible) {

View File

@ -26,9 +26,9 @@
#include <QObject> #include <QObject>
#include <QPainter> #include <QPainter>
#include "QGIView.h" #include <Base/Parameter.h>
#include <Mod/TechDraw/App/Geometry.h> #include <Mod/TechDraw/App/Geometry.h>
#include "QGIView.h"
namespace TechDraw { namespace TechDraw {
class DrawViewPart; class DrawViewPart;
@ -86,8 +86,6 @@ protected:
TechDraw::DrawHatch* faceIsHatched(int i,std::vector<TechDraw::DrawHatch*> hatchObjs) const; TechDraw::DrawHatch* faceIsHatched(int i,std::vector<TechDraw::DrawHatch*> hatchObjs) const;
void dumpPath(const char* text,QPainterPath path); void dumpPath(const char* text,QPainterPath path);
QColor m_colHid;
private: private:
QList<QGraphicsItem*> deleteItems; QList<QGraphicsItem*> deleteItems;
}; };