[TD]fix Dim selection fails to clear prev selection
This commit is contained in:
@@ -1260,31 +1260,6 @@ void MDIViewPage::setTreeToSceneSelect(void)
|
||||
continue;
|
||||
}
|
||||
|
||||
QGIDatumLabel *dimLabel = dynamic_cast<QGIDatumLabel*>(*it);
|
||||
if(dimLabel) {
|
||||
QGraphicsItem*dimParent = dimLabel->QGraphicsItem::parentItem();
|
||||
if(!dimParent)
|
||||
continue;
|
||||
|
||||
QGIView *dimItem = dynamic_cast<QGIView *>(dimParent);
|
||||
|
||||
if(!dimItem)
|
||||
continue;
|
||||
|
||||
TechDraw::DrawView *dimObj = dimItem->getViewObject();
|
||||
if (!dimObj) {
|
||||
continue;
|
||||
}
|
||||
const char* name = dimObj->getNameInDocument();
|
||||
if (!name) { //can happen during undo/redo if Dim is selected???
|
||||
//Base::Console().Log("INFO - MDIVP::sceneSelectionChanged - dimObj name is null!\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
//bool accepted =
|
||||
static_cast<void> (Gui::Selection().addSelection(dimObj->getDocument()->getName(),dimObj->getNameInDocument()));
|
||||
}
|
||||
|
||||
QGMText *mText = dynamic_cast<QGMText*>(*it);
|
||||
if(mText) {
|
||||
// Base::Console().Message("MDIVP::setTreeToScene - mTextSelected!\n");
|
||||
|
||||
@@ -104,7 +104,6 @@ QGIDatumLabel::QGIDatumLabel()
|
||||
setFlag(ItemIsMovable, true);
|
||||
setFlag(ItemIsSelectable, true);
|
||||
setAcceptHoverEvents(true);
|
||||
setFiltersChildEvents(true);
|
||||
|
||||
m_dimText = new QGCustomText();
|
||||
m_dimText->setParentItem(this);
|
||||
@@ -125,8 +124,10 @@ QVariant QGIDatumLabel::itemChange(GraphicsItemChange change, const QVariant &va
|
||||
{
|
||||
if (change == ItemSelectedHasChanged && scene()) {
|
||||
if(isSelected()) {
|
||||
Q_EMIT selected(true);
|
||||
setPrettySel();
|
||||
} else {
|
||||
Q_EMIT selected(false);
|
||||
setPrettyNormal();
|
||||
}
|
||||
update();
|
||||
@@ -433,8 +434,6 @@ QGIViewDimension::QGIViewDimension() :
|
||||
{
|
||||
setHandlesChildEvents(false);
|
||||
setFlag(QGraphicsItem::ItemIsMovable, false);
|
||||
setFlag(QGraphicsItem::ItemIsSelectable, false);
|
||||
setAcceptHoverEvents(false);
|
||||
setCacheMode(QGraphicsItem::NoCache);
|
||||
|
||||
datumLabel = new QGIDatumLabel();
|
||||
@@ -457,9 +456,6 @@ QGIViewDimension::QGIViewDimension() :
|
||||
dimLines->setZValue(ZVALUE::DIMENSION);
|
||||
dimLines->setStyle(Qt::SolidLine);
|
||||
|
||||
//centerMark = new QGICMark();
|
||||
//addToGroup(centerMark);
|
||||
|
||||
// connecting the needed slots and signals
|
||||
QObject::connect(
|
||||
datumLabel, SIGNAL(dragging(bool)),
|
||||
@@ -489,7 +485,6 @@ QVariant QGIViewDimension::itemChange(GraphicsItemChange change, const QVariant
|
||||
{
|
||||
if (change == ItemSelectedHasChanged && scene()) {
|
||||
if(isSelected()) {
|
||||
setSelected(false);
|
||||
datumLabel->setSelected(true);
|
||||
} else {
|
||||
datumLabel->setSelected(false);
|
||||
@@ -512,13 +507,8 @@ void QGIViewDimension::setGroupSelection(bool b)
|
||||
|
||||
void QGIViewDimension::select(bool state)
|
||||
{
|
||||
// Base::Console().Message("QGIVD::select(%d)\n", state);
|
||||
if (state) {
|
||||
// setPrettySel();
|
||||
} else {
|
||||
// setPrettyNormal();
|
||||
}
|
||||
// draw();
|
||||
setSelected(state);
|
||||
draw();
|
||||
}
|
||||
|
||||
//surrogate for hover enter (true), hover leave (false) events
|
||||
@@ -671,7 +661,6 @@ QString QGIViewDimension::getLabelText(void)
|
||||
{
|
||||
QString result;
|
||||
QString first = datumLabel->getDimText()->toPlainText();
|
||||
// QString second = datumLabel->getTolText()->toPlainText();
|
||||
QString second = datumLabel->getTolTextOver()->toPlainText();
|
||||
QString third = datumLabel->getTolTextUnder()->toPlainText();
|
||||
if (second.length() > third.length()) {
|
||||
@@ -680,7 +669,6 @@ QString QGIViewDimension::getLabelText(void)
|
||||
result = first + third;
|
||||
}
|
||||
|
||||
// result = first + second;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user