void SCgVisualObject::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { mColor = scg_cfg_get_value_color(isSelected() ? scg_key_element_color_selected : scg_key_element_color_normal); if (mTextItem != 0) mTextItem->setDefaultTextColor(scg_cfg_get_value_color(isSelected() ? scg_key_element_font_color_selected : scg_key_element_font_color_normal)); QGraphicsItem::hoverLeaveEvent(event); }
void SCgVisualControl::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { mBackColor = scg_cfg_get_value_color(isSelected() ? scg_key_control_backcolor_selected : scg_key_control_backcolor_normal); mColor = scg_cfg_get_value_color(isSelected() ? scg_key_control_color_selected : scg_key_control_color_normal); mTextItem->setDefaultTextColor(scg_cfg_get_value_color(scg_key_control_font_color)); QGraphicsItem::hoverLeaveEvent(event); }
void SCgTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { if (!isSelected()) setDefaultTextColor(scg_cfg_get_value_color(scg_text_element_color_normal)); else setDefaultTextColor(scg_cfg_get_value_color(scg_text_element_color_selected)); QGraphicsTextItem::hoverLeaveEvent(event); }
QVariant SCgObject::itemChange(GraphicsItemChange change, const QVariant &value) { // item selection changed if (change == QGraphicsItem::ItemSelectedHasChanged) { if (isSelected()) { mColor = scg_cfg_get_value_color(scg_key_element_color_selected);//QColor(255, 128, 64); //setCursor(QCursor(Qt::SizeAllCursor)); } else { mColor = scg_cfg_get_value_color(scg_key_element_color_normal);//QColor(0, 0, 0); //setCursor(QCursor(Qt::ArrowCursor)); } } // move to correct position automaticly if (change == QGraphicsItem::ItemParentChange && scene()) { // we need to set this flag to prevent processing ItemPositionHasChanged, // because item position at this moment not actual mParentChanging = true; QGraphicsItem* newParent = value.value<QGraphicsItem*>(); if(newParent) setPos(newParent->mapFromScene(scenePos())); else setPos(scenePos()); } if (change == QGraphicsItem::ItemParentHasChanged) { // now item position has valid value mParentChanging = false; updateConnected(); } // Change stacking order if (scene() && change == QGraphicsItem::ItemSelectedHasChanged && isSelected() && scene()->selectedItems().size() == 1) { QGraphicsItem* top = this; QList<QGraphicsItem*> lst = scene()->items(); foreach(QGraphicsItem* it, lst) { if(it != this && it->type() == type() && it->parentItem() == parentItem()) { it->stackBefore(top); top = it; } } }
void SCgVisualObject::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { if (!isSelected()) { mColor = scg_cfg_get_value_color(scg_key_element_color_highlight); if (mTextItem != 0) mTextItem->setDefaultTextColor(scg_cfg_get_value_color(scg_key_element_font_color_highlight)); } QGraphicsItem::hoverEnterEvent(event); }
void SCgVisualControl::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { if (!isSelected() && mTextItem) { mBackColor = scg_cfg_get_value_color(scg_key_control_backcolor_highlight); mColor = scg_cfg_get_value_color(scg_key_control_color_highlight); mTextItem->setDefaultTextColor(scg_cfg_get_value_color(scg_key_control_font_color)); } QGraphicsItem::hoverEnterEvent(event); }
QVariant SCgVisualObject::itemChange(GraphicsItemChange change, const QVariant &value) { // item selection changed if (change == QGraphicsItem::ItemSelectedHasChanged) { if (mTextItem != 0) mTextItem->setDefaultTextColor(scg_cfg_get_value_color(isSelected() ? scg_key_element_font_color_selected : scg_key_element_font_color_normal)); mColor = scg_cfg_get_value_color(isSelected() ? scg_key_element_color_selected : scg_key_element_color_normal); } return QGraphicsItem::itemChange(change, value); }
QVariant SCgVisualControl::itemChange(GraphicsItemChange change, const QVariant &value) { if (change == QGraphicsItem::ItemSelectedHasChanged) { mBackColor = scg_cfg_get_value_color(isSelected() ? scg_key_control_backcolor_selected : scg_key_control_backcolor_normal); mColor = scg_cfg_get_value_color(isSelected() ? scg_key_control_color_selected : scg_key_control_color_normal); mTextItem->setDefaultTextColor(scg_cfg_get_value_color(scg_key_control_font_color)); return QVariant(); } return SCgVisualObject::itemChange(change, value); }
void SCgNode::setIdtfValue(const QString &idtf) { mIdtfValue = idtf; if (idtf != "") { if (!mTextItem) { mTextItem = new SCgNodeTextItem(idtf,this); QFont font("Times New Roman [Arial]", 10, 10, false); font.setBold(true); font.setItalic(true); mTextItem->setFont(font); mTextItem->setParentItem(this); mTextItem->setZValue(7); mTextItem->setDefaultTextColor(scg_cfg_get_value_color(scg_text_element_color_normal)); } mTextItem->setPlainText(mIdtfValue); } else if (mTextItem) { delete mTextItem; mTextItem = 0; } positionChanged(); }
void SCgTextItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { if (!isSelected()) setDefaultTextColor(scg_cfg_get_value_color(scg_text_element_color_highlight)); QGraphicsTextItem::hoverEnterEvent(event); }
QVariant SCgTextItem::itemChange(GraphicsItemChange change, const QVariant &value) { if (change == QGraphicsItem::ItemSelectedHasChanged) { if (isSelected()) { setDefaultTextColor(scg_cfg_get_value_color(scg_text_element_color_selected)); } else { setDefaultTextColor(scg_cfg_get_value_color(scg_text_element_color_normal)); } } return QGraphicsTextItem::itemChange(change, value); }
SCgVisualControl::SCgVisualControl(QGraphicsScene *scene) : SCgVisualObject(scene), mDragLength(-1.f) { mBackColor = scg_cfg_get_value_color(scg_key_control_backcolor_normal); mColor = scg_cfg_get_value_color(scg_key_control_color_normal); #if ENABLE_VISUAL_EFFECTS_SUPPORT if (scg_cfg_get_value_uint(scg_key_effects_enabled) != 0) { QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect(this); effect->setOffset(3, 3); setGraphicsEffect(effect); } #endif }
void SCgVisualControl::_update(SCgObjectObserver::UpdateEventType eventType, SCgObject *object) { if (eventType == SCgObjectObserver::IdentifierChanged) { if (mTextItem == 0) { QFont font(scg_cfg_get_value_string(scg_key_control_font_name), scg_cfg_get_value_uint(scg_key_control_font_size), 10, false); font.setBold(true); //font.setItalic(true); mTextItem = new QGraphicsTextItem(this); mTextItem->setFont(font); mTextItem->setDefaultTextColor(scg_cfg_get_value_color(scg_key_control_font_color)); } mTextItem->setPlainText(object->identifier()); QRectF textBound = mTextItem->boundingRect(); baseObject()->setSize(QSizeF(textBound.width() + 10, textBound.height() + 10)); mTextItem->setPos(-textBound.width() / 2.f, -textBound.height() / 2.f); return; } SCgVisualObject::_update(eventType, object); }
SCgObject::SCgObject(QGraphicsItem *parent, QGraphicsScene *scene) : QGraphicsItem(parent, scene), mConstType(SCgAlphabet::ConstUnknown), mIsBoundingBoxVisible(false), mTextItem(0), mIsDead(false), mParentChanging(false) { mColor = scg_cfg_get_value_color(scg_key_element_color_normal); setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemSendsGeometryChanges); setAcceptHoverEvents(true); }
SCgVisualObject::SCgVisualObject(QGraphicsScene *scene) : QGraphicsItem(0, scene), mIsBoundingBoxVisible(false), mTextItem(0), mParentChanging(false), mBaseObject(0) { mColor = scg_cfg_get_value_color(scg_key_element_color_normal); setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemSendsGeometryChanges); //Do not set this flag. All position and geometry manipulations are hand made. setFlag(QGraphicsItem::ItemIsMovable, false); setAcceptHoverEvents(true); }