Ignore:
Timestamp:
2012-10-20T20:27:24+02:00 (12 years ago)
Author:
adeas31
Message:
  • Removed some old classes.
  • Better connection support for array type connectors.
  • Don't call getClassNames every time for searching of Modelica classes.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/OMEdit/OMEditGUI/CornerItem.cpp

    r13405 r13537  
    3535
    3636#include "CornerItem.h"
    37 
    38 RectangleCornerItem::RectangleCornerItem(qreal x, qreal y, int connectedPointIndex, ShapeAnnotation *pParent)
    39   : QGraphicsItem(pParent), mItemClicked(false), mConnectedPointIndex(connectedPointIndex)
    40 {
    41   setFlags(QGraphicsItem::ItemIgnoresTransformations | QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable
    42            | QGraphicsItem::ItemSendsGeometryChanges);
    43   setAcceptHoverEvents(true);
    44   scale(1.0, -1.0);
    45   mActivePen = QPen(Qt::red);
    46   mHoverPen = QPen(Qt::darkRed);
    47   setPos(x, y);
    48   mRectangle = QRectF (-3, -3, 6, 6);
    49   setActive();
    50 
    51   mpShapeAnnotation = pParent;
    52   connect(this, SIGNAL(itemMoved(int,QPointF)), mpShapeAnnotation, SLOT(updatePoint(int,QPointF)));
    53   connect(this, SIGNAL(itemClicked()), mpShapeAnnotation, SLOT(doSelect()));
    54   connect(this, SIGNAL(itemUnClicked()), mpShapeAnnotation, SLOT(doUnSelect()));
    55   connect(this, SIGNAL(itemPositionUpdate()), mpShapeAnnotation->mpGraphicsView, SLOT(addClassAnnotation()));
    56 }
    57 
    58 //! Tells the box to become visible and use active style.
    59 //! @see setPassive();
    60 //! @see setHovered();
    61 void RectangleCornerItem::setActive()
    62 {
    63   setVisible(true);
    64   mPen = mActivePen;
    65   update();
    66 }
    67 
    68 //! Tells the box to become invisible.
    69 //! @see setActive();
    70 //! @see setHovered();
    71 void RectangleCornerItem::setPassive()
    72 {
    73   setVisible(false);
    74 }
    75 
    76 //! Tells the box to become visible and use hovered style.
    77 //! @see setActive();
    78 //! @see setPassive();
    79 void RectangleCornerItem::setHovered()
    80 {
    81   setVisible(true);
    82   mPen = mHoverPen;
    83 }
    84 
    85 QRectF RectangleCornerItem::boundingRect() const
    86 {
    87   return mRectangle;
    88 }
    89 
    90 void RectangleCornerItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
    91 {
    92   Q_UNUSED(option);
    93   Q_UNUSED(widget);
    94   painter->setPen(mPen);
    95   painter->setBrush(mPen.color());
    96   painter->drawRect(mRectangle);
    97 }
    98 
    99 //! Event when mouse cursor enters component icon.
    100 void RectangleCornerItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
    101 {
    102   Q_UNUSED(event);
    103   setCursor(Qt::ArrowCursor);
    104 }
    105 
    106 //! Event when mouse cursor leaves component icon.
    107 void RectangleCornerItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
    108 {
    109   Q_UNUSED(event);
    110   unsetCursor();
    111 }
    112 
    113 void RectangleCornerItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
    114 {
    115   emit itemClicked();
    116   mClickPos = mapToScene(event->pos());
    117   QGraphicsItem::mousePressEvent(event);
    118 }
    119 
    120 void RectangleCornerItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
    121 {
    122   emit itemUnClicked();
    123   if (mClickPos != mapToScene(event->pos()))
    124   {
    125     emit itemPositionUpdate();
    126   }
    127   mpShapeAnnotation->setSelected(true);
    128   QGraphicsItem::mouseReleaseEvent(event);
    129 }
    130 
    131 QVariant RectangleCornerItem::itemChange(GraphicsItemChange change, const QVariant &value)
    132 {
    133   QGraphicsItem::itemChange(change, value);
    134   if (change == QGraphicsItem::ItemPositionHasChanged)
    135   {
    136     emit itemMoved(mConnectedPointIndex, value.toPointF());
    137   }
    138   return value;
    139 }
    14037
    14138ResizerItem::ResizerItem(int index, QGraphicsItem *pParent)
Note: See TracChangeset for help on using the changeset viewer.