umbrello 2.37.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
|
The base class for graphical UML objects. More...
#include <umlwidget.h>
Public Types | |
enum | FontType { FT_NORMAL = 0 , FT_BOLD = 1 , FT_ITALIC = 2 , FT_UNDERLINE = 3 , FT_BOLD_ITALIC = 4 , FT_BOLD_UNDERLINE = 5 , FT_ITALIC_UNDERLINE = 6 , FT_BOLD_ITALIC_UNDERLINE = 7 , FT_INVALID = 8 } |
enum | AddWidgetOption { NoOption = 0 , SetupSize = 1 , SwitchDirection = 2 , ShowProperties = 4 , Default = SetupSize | ShowProperties } |
![]() | |
enum | WidgetType { wt_Min = 299 , wt_UMLWidget , wt_Actor , wt_UseCase , wt_Class , wt_Interface , wt_Datatype , wt_Enum , wt_Entity , wt_Package , wt_Object , wt_Note , wt_Box , wt_Message , wt_Text , wt_State , wt_Activity , wt_Component , wt_Artifact , wt_Node , wt_Association , wt_ForkJoin , wt_Precondition , wt_CombinedFragment , wt_FloatingDashLine , wt_Signal , wt_Pin , wt_ObjectNode , wt_Region , wt_Category , wt_Port , wt_Instance , wt_Max } |
Public Slots | |
virtual void | updateWidget () |
virtual void | slotMenuSelection (QAction *action) |
virtual void | slotWidgetMoved (Uml::ID::Type id) |
virtual void | slotFillColorChanged (Uml::ID::Type viewID) |
virtual void | slotLineColorChanged (Uml::ID::Type viewID) |
virtual void | slotTextColorChanged (Uml::ID::Type viewID) |
virtual void | slotLineWidthChanged (Uml::ID::Type viewID) |
void | slotSnapToGrid () |
![]() | |
virtual void | slotMenuSelection (QAction *trigger) |
Signals | |
void | sigWidgetMoved (Uml::ID::Type id) |
Public Member Functions | |
UMLWidget (UMLScene *scene, WidgetType type=wt_UMLWidget, UMLObject *o=0) | |
UMLWidget (UMLScene *scene, WidgetType type=wt_UMLWidget, Uml::ID::Type id=Uml::ID::None) | |
virtual | ~UMLWidget () |
UMLWidget & | operator= (const UMLWidget &other) |
bool | operator== (const UMLWidget &other) const |
virtual QSizeF | minimumSize () const |
void | setMinimumSize (const QSizeF &size) |
virtual QSizeF | maximumSize () |
void | setMaximumSize (const QSizeF &size) |
virtual void | setUseFillColor (bool fc) |
void | setUseFillColorCmd (bool fc) |
virtual void | setTextColor (const QColor &color) |
void | setTextColorCmd (const QColor &color) |
virtual void | setLineColor (const QColor &color) |
virtual void | setLineColorCmd (const QColor &color) |
virtual void | setLineWidth (uint width) |
void | setLineWidthCmd (uint width) |
virtual void | setFillColor (const QColor &color) |
void | setFillColorCmd (const QColor &color) |
void | setSelectedFlag (bool _select) |
virtual void | setSelected (bool _select) |
void | setScene (UMLScene *scene) |
virtual bool | activate (IDChangeLog *changeLog=0) |
void | setPenFromSettings (QPainter &p) |
void | setPenFromSettings (QPainter *p) |
virtual void | setFont (const QFont &font) |
void | setFontCmd (const QFont &font) |
bool | getStartMove () const |
virtual qreal | getX () const |
virtual qreal | getY () const |
virtual QPointF | getPos () const |
virtual void | setX (qreal x) |
virtual void | setY (qreal y) |
qreal | height () const |
qreal | width () const |
void | setSize (qreal width, qreal height) |
void | setSize (const QSizeF &size) |
virtual void | resizeWidget (qreal newW, qreal newH) |
virtual void | notifyParentResize () |
bool | getIgnoreSnapToGrid () const |
void | setIgnoreSnapToGrid (bool to) |
virtual bool | isLocatedIn (const UMLWidget *other) const |
void | moveByLocal (qreal dx, qreal dy) |
virtual void | removeAssoc (AssociationWidget *pAssoc) |
virtual void | addAssoc (AssociationWidget *pAssoc) |
AssociationWidgetList & | associationWidgetList () const |
bool | isInstance () const |
void | setIsInstance (bool isInstance) |
void | setInstanceName (const QString &instanceName) |
QString | instanceName () const |
Uml::ShowStereoType::Enum | showStereotype () const |
virtual void | setShowStereotype (Uml::ShowStereoType::Enum flag) |
QString | tags () const |
virtual bool | showPropertiesDialog () |
virtual void | adjustAssocs (qreal dx, qreal dy) |
virtual void | adjustUnselectedAssocs (qreal dx, qreal dy) |
bool | isActivated () const |
void | setActivated (bool active=true) |
virtual void | cleanup () |
void | updateGeometry (bool withAssocs=true) |
void | clipSize () |
void | forceUpdateFontMetrics (QPainter *painter) |
void | forceUpdateFontMetrics (QFont &font, QPainter *painter) |
virtual bool | loadFromXMI (QDomElement &qElement) |
virtual void | saveToXMI (QXmlStreamWriter &writer) |
QPointF | startMovePosition () const |
void | setStartMovePosition (const QPointF &position) |
QSizeF | startResizeSize () const |
virtual QSizeF | calculateSize (bool withExtensions=true) const |
void | resize () |
bool | fixedAspectRatio () const |
void | setFixedAspectRatio (bool state) |
bool | resizable () const |
void | setResizable (bool state) |
virtual void | setDefaultFontMetrics (QFont &font, UMLWidget::FontType fontType) |
virtual void | setDefaultFontMetrics (QFont &font, UMLWidget::FontType fontType, QPainter &painter) |
QFontMetrics & | getFontMetrics (UMLWidget::FontType fontType) const |
void | setFontMetrics (UMLWidget::FontType fontType, QFontMetrics fm) |
void | setupFontType (QFont &font, UMLWidget::FontType fontType) |
virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) |
![]() | |
WidgetBase (UMLScene *scene, WidgetType type=wt_UMLWidget, Uml::ID::Type id=Uml::ID::None) | |
virtual | ~WidgetBase () |
UMLObject * | umlObject () const |
virtual void | setUMLObject (UMLObject *obj) |
Uml::ID::Type | id () const |
void | setID (Uml::ID::Type id) |
void | setLocalID (Uml::ID::Type id) |
Uml::ID::Type | localID () const |
virtual UMLWidget * | widgetWithID (Uml::ID::Type id) |
WidgetType | baseType () const |
void | setBaseType (const WidgetType &baseType) |
QLatin1String | baseTypeStr () const |
QString | baseTypeStrWithoutPrefix () const |
virtual void | setSelected (bool select) |
UMLScene * | umlScene () const |
UMLDoc * | umlDoc () const |
QString | documentation () const |
bool | hasDocumentation () const |
virtual void | setDocumentation (const QString &doc) |
QString | name () const |
virtual void | setName (const QString &strName) |
QColor | lineColor () const |
virtual void | setLineColor (const QColor &color) |
uint | lineWidth () const |
virtual void | setLineWidth (uint width) |
QColor | textColor () const |
virtual void | setTextColor (const QColor &color) |
QColor | fillColor () const |
virtual void | setFillColor (const QColor &color) |
bool | usesDiagramLineColor () const |
void | setUsesDiagramLineColor (bool state) |
bool | usesDiagramLineWidth () const |
void | setUsesDiagramLineWidth (bool state) |
bool | useFillColor () const |
virtual void | setUseFillColor (bool state) |
bool | usesDiagramTextColor () const |
void | setUsesDiagramTextColor (bool state) |
bool | usesDiagramFillColor () const |
void | setUsesDiagramFillColor (bool state) |
bool | usesDiagramUseFillColor () const |
void | setUsesDiagramUseFillColor (bool state) |
virtual QFont | font () const |
virtual void | setFont (const QFont &font) |
bool | autoResize () const |
void | setAutoResize (bool state) |
bool | changesShape () const |
void | setChangesShape (bool state) |
virtual bool | showPropertiesDialog () |
virtual bool | loadFromXMI (QDomElement &qElement) |
virtual void | saveToXMI (QXmlStreamWriter &writer) |
virtual void | removeAssoc (AssociationWidget *pAssoc) |
virtual void | addAssoc (AssociationWidget *pAssoc) |
WidgetBase & | operator= (const WidgetBase &other) |
QRectF | rect () const |
void | setRect (const QRectF &rect) |
void | setRect (qreal x, qreal y, qreal width, qreal height) |
virtual QRectF | boundingRect () const |
virtual UMLWidget * | onWidget (const QPointF &p) |
virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) |
bool | isActivityWidget () const |
bool | isActorWidget () const |
bool | isArtifactWidget () const |
bool | isAssociationWidget () const |
bool | isBoxWidget () const |
bool | isCategoryWidget () const |
bool | isClassWidget () const |
bool | isCombinedFragmentWidget () const |
bool | isComponentWidget () const |
bool | isDatatypeWidget () const |
bool | isEntityWidget () const |
bool | isEnumWidget () const |
bool | isFloatingDashLineWidget () const |
bool | isForkJoinWidget () const |
bool | isInterfaceWidget () const |
bool | isMessageWidget () const |
bool | isNodeWidget () const |
bool | isNoteWidget () const |
bool | isObjectNodeWidget () const |
bool | isObjectWidget () const |
bool | isPackageWidget () const |
bool | isPinWidget () const |
bool | isPortWidget () const |
bool | isPreconditionWidget () const |
bool | isRegionWidget () const |
bool | isSignalWidget () const |
bool | isStateWidget () const |
bool | isTextWidget () const |
bool | isUseCaseWidget () const |
ActivityWidget * | asActivityWidget () |
ActorWidget * | asActorWidget () |
ArtifactWidget * | asArtifactWidget () |
AssociationWidget * | asAssociationWidget () |
BoxWidget * | asBoxWidget () |
CategoryWidget * | asCategoryWidget () |
ClassifierWidget * | asClassifierWidget () |
CombinedFragmentWidget * | asCombinedFragmentWidget () |
ComponentWidget * | asComponentWidget () |
DatatypeWidget * | asDatatypeWidget () |
EntityWidget * | asEntityWidget () |
EnumWidget * | asEnumWidget () |
FloatingDashLineWidget * | asFloatingDashLineWidget () |
ForkJoinWidget * | asForkJoinWidget () |
InterfaceWidget * | asInterfaceWidget () |
MessageWidget * | asMessageWidget () |
NodeWidget * | asNodeWidget () |
NoteWidget * | asNoteWidget () |
ObjectNodeWidget * | asObjectNodeWidget () |
ObjectWidget * | asObjectWidget () |
PackageWidget * | asPackageWidget () |
PinWidget * | asPinWidget () |
PinPortBase * | asPinPortBase () |
PortWidget * | asPortWidget () |
PreconditionWidget * | asPreconditionWidget () |
RegionWidget * | asRegionWidget () |
SignalWidget * | asSignalWidget () |
StateWidget * | asStateWidget () |
FloatingTextWidget * | asFloatingTextWidget () |
UseCaseWidget * | asUseCaseWidget () |
UMLWidget * | asUMLWidget () |
const ActivityWidget * | asActivityWidget () const |
const ActorWidget * | asActorWidget () const |
const ArtifactWidget * | asArtifactWidget () const |
const AssociationWidget * | asAssociationWidget () const |
const BoxWidget * | asBoxWidget () const |
const CategoryWidget * | asCategoryWidget () const |
const ClassifierWidget * | asClassifierWidget () const |
const CombinedFragmentWidget * | asCombinedFragmentWidget () const |
const ComponentWidget * | asComponentWidget () const |
const DatatypeWidget * | asDatatypeWidget () const |
const EntityWidget * | asEntityWidget () const |
const EnumWidget * | asEnumWidget () const |
const FloatingDashLineWidget * | asFloatingDashLineWidget () const |
const ForkJoinWidget * | asForkJoinWidget () const |
const InterfaceWidget * | asInterfaceWidget () const |
const MessageWidget * | asMessageWidget () const |
const NodeWidget * | asNodeWidget () const |
const NoteWidget * | asNoteWidget () const |
const ObjectNodeWidget * | asObjectNodeWidget () const |
const ObjectWidget * | asObjectWidget () const |
const PackageWidget * | asPackageWidget () const |
const PinWidget * | asPinWidget () const |
const PinPortBase * | asPinPortBase () const |
const PortWidget * | asPortWidget () const |
const PreconditionWidget * | asPreconditionWidget () const |
const RegionWidget * | asRegionWidget () const |
const SignalWidget * | asSignalWidget () const |
const StateWidget * | asStateWidget () const |
const FloatingTextWidget * | asFloatingTextWidget () const |
const UseCaseWidget * | asUseCaseWidget () const |
const UMLWidget * | asUMLWidget () const |
virtual bool | activate (IDChangeLog *changeLog=0) |
virtual void | setSelected (bool state) |
![]() | |
DiagramProxyWidget (UMLWidget *widget, qreal borderWidth=5) | |
virtual | ~DiagramProxyWidget () |
Uml::ID::Type | diagramLink () const |
UMLScene * | linkedDiagram () const |
bool | setDiagramLink (const Uml::ID::Type &id) |
const QRectF & | clientRect () const |
const QRectF & | sceneRect () const |
void | setClientRect (const QRectF &rect) |
bool | isProxyWidget () const |
UMLWidget * | getProxiedWidget (const QPointF &p) const |
QPointF | mapFromClient (const QPointF &p) const |
QRectF | mapFromClient (const QRectF &r) const |
QPointF | mapToClient (const QPointF &pos) const |
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0) |
bool | showLinkedDiagram () const |
void | setShowLinkedDiagram (bool showLinkedDiagram) |
QRectF | iconRect () const |
void | setIconRect (const QRectF &iconRect) |
Static Public Attributes | |
static const QSizeF | DefaultMinimumSize |
static const QSizeF | DefaultMaximumSize |
static const int | defaultMargin = 5 |
static const int | selectionMarkerSize = 4 |
static const int | resizeMarkerLineCount = 3 |
Protected Member Functions | |
virtual void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) |
virtual void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mousePressEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mouseMoveEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) |
virtual void | moveEvent (QGraphicsSceneMouseEvent *event) |
virtual void | moveWidgetBy (qreal diffX, qreal diffY) |
virtual void | constrainMovementForAllWidgets (qreal &diffX, qreal &diffY) |
virtual void | constrain (qreal &width, qreal &height) |
virtual bool | isInResizeArea (QGraphicsSceneMouseEvent *me) |
virtual QCursor | resizeCursor () const |
void | selectSingle (QGraphicsSceneMouseEvent *me) |
void | selectMultiple (QGraphicsSceneMouseEvent *me) |
void | deselect (QGraphicsSceneMouseEvent *me) |
void | setSelectionBounds () |
void | resize (QGraphicsSceneMouseEvent *me) |
bool | wasSizeChanged () |
bool | wasPositionChanged () |
virtual void | toForeground () |
void | addConnectedWidget (UMLWidget *widget, Uml::AssociationType::Enum type=Uml::AssociationType::Association, AddWidgetOptions options=Default) |
void | addConnectedUMLObject (UMLObject::ObjectType otype, Uml::AssociationType::Enum type) |
void | addWidget (UMLWidget *widget, bool showProperties=true) |
virtual void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) |
![]() | |
QVariant | itemChange (GraphicsItemChange change, const QVariant &value) |
![]() | |
DiagramProxyWidget & | operator= (const DiagramProxyWidget &other) |
bool | activate (IDChangeLog *changeLog=0) |
bool | loadFromXMI (QDomElement &qElement) |
void | saveToXMI (QXmlStreamWriter &writer) |
void | setupEvent (QGraphicsSceneMouseEvent &e, const QGraphicsSceneMouseEvent *event, const QPointF &pos) const |
void | setupEvent (QGraphicsSceneContextMenuEvent &e, const QGraphicsSceneContextMenuEvent *event, const QPointF &pos) const |
virtual void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) |
virtual void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mousePressEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mouseMoveEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) |
void | slotMenuSelection (QAction *action) |
Protected Attributes | |
QString | m_instanceName |
instance name (used if on a deployment diagram) More... | |
bool | m_isInstance |
holds whether this widget is a component instance (i.e. on a deployment diagram) More... | |
Uml::ShowStereoType::Enum | m_showStereotype |
if and how the stereotype should be displayed More... | |
bool | m_startMove |
QPointF | m_startMovePostion |
QSizeF | m_startResizeSize |
int | m_nPosX |
UMLDoc * | m_doc |
shortcut for UMLApp::app()->document() More... | |
bool | m_resizable |
QFontMetrics * | m_pFontMetrics [FT_INVALID] |
QSizeF | m_minimumSize |
QSizeF | m_maximumSize |
bool | m_activated |
true if the activate function has been called for this class instance More... | |
bool | m_ignoreSnapToGrid |
bool | m_ignoreSnapComponentSizeToGrid |
bool | m_fixedAspectRatio |
QString | m_oldStatusBarMsg |
The text in the status bar when the cursor was pressed. More... | |
QPointF | m_pressOffset |
QPointF | m_oldPos |
The X/Y position the widget had when the movement started. More... | |
qreal | m_oldW |
The width/height the widget had when the resize started. More... | |
qreal | m_oldH |
bool | m_shiftPressed |
If shift or control button were pressed in mouse press event. More... | |
bool | m_inMoveArea |
bool | m_inResizeArea |
bool | m_moved |
bool | m_resized |
![]() | |
UMLScene * | m_scene |
QPointer< UMLObject > | m_umlObject |
QString | m_Doc |
Only used if m_umlObject is not set. More... | |
QString | m_Text |
QRectF | m_rect |
Widget size. In this rectangle, the x and y coordinates are always 0. More... | |
Uml::ID::Type | m_nId |
Uml::ID::Type | m_nLocalID |
QColor | m_textColor |
Color of the text of the widget. Is saved to XMI. More... | |
QColor | m_lineColor |
Color of the lines of the widget. Is saved to XMI. More... | |
QColor | m_fillColor |
color of the background of the widget More... | |
QBrush | m_brush |
QFont | m_font |
uint | m_lineWidth |
Width of the lines of the widget. Is saved to XMI. More... | |
bool | m_useFillColor |
flag indicates if the UMLWidget uses the Diagram FillColour More... | |
bool | m_usesDiagramFillColor |
bool | m_usesDiagramLineColor |
bool | m_usesDiagramLineWidth |
bool | m_usesDiagramTextColor |
bool | m_usesDiagramUseFillColor |
bool | m_autoResize |
bool | m_changesShape |
The widget changes its shape when the number of connections or their positions are changed. More... | |
![]() | |
bool | m_calledFromItemChange {false} |
Private Member Functions | |
void | init () |
Private Attributes | |
AssociationWidgetList | m_Assocs |
A list of AssociationWidgets between the UMLWidget and other UMLWidgets in the diagram. More... | |
Friends | |
class | ToolBarStateArrow |
Additional Inherited Members | |
![]() | |
static QString | toString (WidgetType wt) |
static QString | toI18nString (WidgetType wt) |
static Icon_Utils::IconType | toIcon (WidgetType wt) |
static bool | widgetHasUMLObject (WidgetBase::WidgetType type) |
The base class for graphical UML objects.
This is the base class for nearly all graphical widgets.
enum UMLWidget::FontType |
|
explicit |
Creates a UMLWidget object.
scene | The view to be displayed on. |
type | The WidgetType to construct. This must be set to the appropriate value by the constructors of inheriting classes. |
o | The UMLObject to represent. |
|
explicit |
Creates a UMLWidget object.
scene | The view to be displayed on. |
type | The WidgetType to construct. This must be set to the appropriate value by the constructors of inheriting classes. |
id | The id of the widget. The default value (id_None) will prompt generation of a new ID. |
|
virtual |
Destructor.
|
virtual |
Reimplemented from WidgetBase
Reimplemented from WidgetBase.
Reimplemented in CombinedFragmentWidget, FloatingTextWidget, ObjectWidget, PinPortBase, MessageWidget, and PreconditionWidget.
|
virtual |
Reimplemented from class WidgetBase
Reimplemented from WidgetBase.
|
protected |
|
protected |
Adds a widget to the diagram, which is connected to the current widget
widget | widget instance to add to diagram |
type | association type |
options | widget options |
|
protected |
Adds a widget to the diagram, which is connected to the current widget
widget | widget instance to add to diagram |
showProperties | whether to show properties of the widget |
|
virtual |
Adjusts associations with the given co-ordinates
dx | The amount by which the widget moved in X direction. |
dy | The amount by which the widget moved in Y direction. |
Reimplemented in ComponentWidget.
|
virtual |
Adjusts all unselected associations with the given co-ordinates
dx | The amount by which the widget moved in X direction. |
dy | The amount by which the widget moved in Y direction. |
Reimplemented in ComponentWidget.
AssociationWidgetList & UMLWidget::associationWidgetList | ( | ) | const |
Returns the list of associations connected to this widget.
|
virtual |
calculate content related size of widget.
Reimplemented in ClassifierWidget, EntityWidget, and NoteWidget.
|
virtual |
Used to cleanup any other widget it may need to delete. Used by child classes. This should be called before deleting a widget of a diagram.
Reimplemented in CombinedFragmentWidget, MessageWidget, and ObjectWidget.
void UMLWidget::clipSize | ( | ) |
clip the size of this widget against the minimal and maximal limits.
|
protectedvirtual |
Apply possible constraints to the given candidate width and height. The default implementation limits input values to the bounds returned by minimumSize()/maximumSize().
width | input value, may be modified by the constraint |
height | input value, may be modified by the constraint |
Reimplemented in ActivityWidget, and ForkJoinWidget.
|
protectedvirtual |
Modifies the value of the diffX and diffY variables used to move the widgets.
It can be overridden to constrain movement of all the selected widgets only in one axis even when the user isn't constraining the movement with shift or control buttons, for example. The difference with moveWidgetBy is that the diff positions used here are applied to all the selected widgets instead of only to m_widget, and that moveWidgetBy, in fact, moves the widget, and here simply the diff positions are modified.
Default behaviour is do nothing.
diffX | The difference between current X position and new X position. |
diffY | The difference between current Y position and new Y position. |
Reimplemented in FloatingTextWidget, MessageWidget, and ObjectWidget.
|
protectedvirtual |
Event handler for context menu events.
Reimplemented from DiagramProxyWidget.
Reimplemented in StateWidget.
|
protected |
Deselects the widget and removes it from the list of selected widgets.
me | The QGraphicsSceneMouseEvent which made the selection. |
|
inline |
void UMLWidget::forceUpdateFontMetrics | ( | QFont & | font, |
QPainter * | painter | ||
) |
void UMLWidget::forceUpdateFontMetrics | ( | QPainter * | painter | ) |
Updates font metrics for widgets current m_font
QFontMetrics & UMLWidget::getFontMetrics | ( | UMLWidget::FontType | fontType | ) | const |
Returns the font metric used by this object for Text which uses bold/italic fonts.
bool UMLWidget::getIgnoreSnapToGrid | ( | ) | const |
Return the value of m_ignoreSnapToGrid.
|
virtual |
Gets the position. Currently, the only class that reimplements this method is PinPortBase.
Reimplemented in PinPortBase.
|
inline |
Returns whether we triggered the update of position movement. If so, you probably don't want to move it.
|
virtual |
Gets the x-coordinate. Currently, the only class that reimplements this method is PinPortBase.
Reimplemented in PinPortBase.
|
virtual |
Gets the y-coordinate. Currently, the only class that reimplements this method is PinPortBase.
Reimplemented in PinPortBase.
|
inline |
Returns the height of widget.
|
private |
Initializes key attributes of the class.
|
inline |
Read property of m_instanceName
bool UMLWidget::isActivated | ( | ) | const |
Returns true if the Activate method has been called for this instance
|
protectedvirtual |
Checks if the mouse is in resize area (right bottom corner), and sets the cursor depending on that. The cursor used when resizing is gotten from resizeCursor().
me | The QMouseEVent to check. |
Reimplemented in MessageWidget.
|
inline |
Read property of bool m_isInstance
|
virtual |
Return true if `this' is located in the bounding rectangle of `other'.
|
virtual |
A virtual method to load the properties of this widget from a QDomElement into this widget.
Subclasses should reimplement this to load additional properties required, calling this base method to load the basic properties of the widget.
qElement | A QDomElement which contains xml info for this widget. |
Reimplemented from WidgetBase.
Reimplemented in ActivityWidget, ClassifierWidget, CombinedFragmentWidget, DatatypeWidget, EntityWidget, EnumWidget, FloatingDashLineWidget, FloatingTextWidget, ForkJoinWidget, MessageWidget, NoteWidget, ObjectNodeWidget, ObjectWidget, PinPortBase, PreconditionWidget, RegionWidget, SignalWidget, and StateWidget.
|
virtual |
Compute the maximum possible width and height.
Reimplemented in ActivityWidget, and StateWidget.
|
virtual |
Compute the minimum possible width and height.
Reimplemented in ActivityWidget, ActorWidget, ArtifactWidget, CategoryWidget, ClassifierWidget, CombinedFragmentWidget, ComponentWidget, DatatypeWidget, EntityWidget, EnumWidget, FloatingTextWidget, ForkJoinWidget, MessageWidget, NodeWidget, NoteWidget, ObjectNodeWidget, ObjectWidget, PackageWidget, PreconditionWidget, RegionWidget, SignalWidget, StateWidget, and UseCaseWidget.
|
protectedvirtual |
Event handler for mouse double click events.
event | the QGraphicsSceneMouseEvent event. |
Reimplemented from DiagramProxyWidget.
Reimplemented in ClassifierWidget, NoteWidget, and StateWidget.
|
protectedvirtual |
Handles a mouse move event. It resizes or moves the widget, depending on where the cursor is pressed on the widget. Go on reading for more info about this.
If resizing, the widget is resized using UMLWidget::resizeWidget (where specific widget resize constraint can be applied), and then the associations are adjusted. The resizing can be constrained also to a specific axis using control and shift buttons. If one or another is pressed, it's constrained to X axis. If both are pressed, it's constrained to Y axis.
If not resizing, the widget is being moved. If the move is being started, the selection bounds are set (which includes updating the list of selected widgets). The difference between the previous position of the selection and the new one is calculated (taking in account the selection bounds so widgets don't go beyond the scene limits). Then, it's constrained to X or Y axis depending on shift and control buttons. A further constraint is made using constrainMovementForAllWidgets (for example, if the widget that receives the event can only be moved in Y axis, with this method the movement of all the widgets in the selection can be constrained to be moved only in Y axis). Then, all the selected widgets are moved using moveWidgetBy (where specific widget movement constraint can be applied) and, if a certain amount of time passed from the last move event, the associations are also updated (they're not updated always to be easy on the CPU). Finally, the scene is resized, and selection bounds updated.
event | The QGraphicsSceneMouseEvent event. |
Reimplemented from DiagramProxyWidget.
Reimplemented in StateWidget, ObjectWidget, and SignalWidget.
|
protectedvirtual |
Handles a mouse press event. It'll select the widget (or mark it to be deselected) and prepare it to be moved or resized. Go on reading for more info about this.
Widget values and message bar status are saved.
If shift or control buttons are pressed, we're in move area no matter where the button was pressed in the widget. Moreover, if the widget wasn't already selected, it's added to the selection. If already selected, it's marked to be deselected when releasing the button (provided it isn't moved). Also, if the widget is already selected with other widgets but shift nor control buttons are pressed, we're in move area. If finally we don't move the widget, it's selected and the other widgets deselected when releasing the left button.
If shift nor control buttons are pressed, we're facing a single selection. Depending on the position of the cursor, we're in move or in resize area. If the widget wasn't selected (both when there are no widgets selected, or when there're other widgets selected but not the one receiving the press event) it's selected and the others deselected, if any. If already selected, it's marked to be deselected when releasing the button (provided it wasn't moved or resized).
event | The QGraphicsSceneMouseEvent event. |
Reimplemented from DiagramProxyWidget.
Reimplemented in StateWidget, and ObjectWidget.
|
protectedvirtual |
Handles a mouse release event. It selects or deselects the widget and cancels or confirms the move or resize. Go on reading for more info about this. No matter which tool is selected, Z position of widget is updated.
Middle button release resets the selection. Left button release, if it wasn't moved nor resized, selects the widget and deselect the others if it wasn't selected and there were other widgets selected. If the widget was marked to be deselected, deselects it. If it was moved or resized, the document is set to modified if position or size changed. Also, if moved, all the associations are adjusted because the timer could have prevented the adjustment in the last move event before the release. If mouse was pressed in resize area, cursor is set again to normal cursor Right button release if right button was pressed shows the pop up menu for the widget. If left button was pressed, it cancels the move or resize with a mouse move event at the same position than the cursor was when pressed. Another left button release is also sent.
event | The QGraphicsSceneMouseEvent event. |
Reimplemented from DiagramProxyWidget.
Reimplemented in StateWidget.
void UMLWidget::moveByLocal | ( | qreal | dx, |
qreal | dy | ||
) |
Move the widget by an X and Y offset relative to the current position.
|
protectedvirtual |
|
protectedvirtual |
Moves the widget to a new position using the difference between the current position and the new position. This method doesn't adjust associations. It only moves the widget.
It can be overridden to constrain movement only in one axis even when the user isn't constraining the movement with shift or control buttons, for example. The movement policy set here is applied whenever the widget is moved, being it moving it explicitly, or as a part of a selection but not receiving directly the mouse events.
Default behaviour is move the widget to the new position using the diffs.
diffX | The difference between current X position and new X position. |
diffY | The difference between current Y position and new Y position. |
Reimplemented in ActivityWidget, ComponentWidget, FloatingTextWidget, MessageWidget, ObjectWidget, and PinPortBase.
|
virtual |
Notify child widget about parent resizes. Child widgets can override this function to move when their parent is resized.
Reimplemented in PinPortBase.
bool UMLWidget::operator== | ( | const UMLWidget & | other | ) | const |
Overload '==' operator
|
virtual |
Draws the UMLWidget on the given paint device
painter | The painter for the drawing device |
option | Painting related options |
widget | Background widget on which to paint (optional) |
Reimplemented from WidgetBase.
Reimplemented in ActivityWidget, ActorWidget, ArtifactWidget, BoxWidget, CategoryWidget, ClassifierWidget, CombinedFragmentWidget, ComponentWidget, DatatypeWidget, EntityWidget, EnumWidget, FloatingTextWidget, ForkJoinWidget, MessageWidget, NodeWidget, NoteWidget, ObjectNodeWidget, ObjectWidget, PackageWidget, PinPortBase, PreconditionWidget, RegionWidget, SignalWidget, StateWidget, UseCaseWidget, and FloatingDashLineWidget.
|
virtual |
Reimplemented from class WidgetBase
Reimplemented from WidgetBase.
|
inline |
void UMLWidget::resize | ( | ) |
Resize widget to minimum size.
|
protected |
Resizes the widget and adjusts the associations. It's called when a mouse move event happens and the cursor was in resize area when pressed. Resizing can be constrained to an specific axis using control and shift buttons.
me | The QGraphicsSceneMouseEvent to get the values from. |
|
protectedvirtual |
Returns the cursor to be shown when resizing the widget. Default cursor is KCursor::sizeFDiagCursor().
Reimplemented in ObjectWidget.
|
virtual |
Resizes the widget. It's called from resize, after the values are constrained and before the associations are adjusted.
Default behaviour is resize the widget using the new size values.
newW | The new width for the widget. |
newH | The new height for the widget. |
Reimplemented in MessageWidget, and ObjectWidget.
|
virtual |
A virtual method to save the properties of this widget into a QXmlStreamWriter i.e. XML.
Subclasses should first create a new dedicated element as the child of qElement parameter passed. Then this base method should be called to save basic widget properties.
writer | The QXmlStreamWriter to write to. |
Reimplemented from WidgetBase.
Reimplemented in ActivityWidget, ActorWidget, ArtifactWidget, BoxWidget, CategoryWidget, ClassifierWidget, CombinedFragmentWidget, ComponentWidget, DatatypeWidget, EntityWidget, EnumWidget, FloatingDashLineWidget, FloatingTextWidget, ForkJoinWidget, MessageWidget, NodeWidget, NoteWidget, ObjectNodeWidget, ObjectWidget, PackageWidget, PinPortBase, PreconditionWidget, RegionWidget, SignalWidget, StateWidget, and UseCaseWidget.
|
protected |
Selects the widget and adds it to the list of selected widgets.
me | The QGraphicsSceneMouseEvent which made the selection. |
|
protected |
Selects the widget and clears the other selected widgets, if any.
me | The QGraphicsSceneMouseEvent which made the selection. |
void UMLWidget::setActivated | ( | bool | active = true | ) |
Set the m_activated flag of a widget but does not perform the Activate method
active | Status of activation is to be set. |
|
virtual |
Template Method, override this to set the default font metric.
|
virtual |
Template Method, override this to set the default font metric.
|
virtual |
void UMLWidget::setFillColorCmd | ( | const QColor & | color | ) |
Sets the background fill color
color | the new fill color |
|
inline |
|
virtual |
void UMLWidget::setFontCmd | ( | const QFont & | font | ) |
Sets the font the widget is to use.
font | Font to be set. |
void UMLWidget::setFontMetrics | ( | UMLWidget::FontType | fontType, |
QFontMetrics | fm | ||
) |
Set the font metric to use.
void UMLWidget::setIgnoreSnapToGrid | ( | bool | to | ) |
Set m_ignoreSnapToGrid.
|
inline |
Write property of m_instanceName
|
inline |
Write property of bool m_isInstance
|
virtual |
Overrides the method from WidgetBase.
Reimplemented from WidgetBase.
|
virtual |
Overrides the method from WidgetBase.
Reimplemented in ObjectWidget.
|
virtual |
Overrides the method from WidgetBase, execute CmdChangeLineWidth
Reimplemented from WidgetBase.
void UMLWidget::setLineWidthCmd | ( | uint | width | ) |
Overrides the method from WidgetBase.
void UMLWidget::setMaximumSize | ( | const QSizeF & | newSize | ) |
This method is used to set the maximum size variable for this widget.
newSize | The size being set as maximum. |
void UMLWidget::setMinimumSize | ( | const QSizeF & | newSize | ) |
This method is used to set the minimum size variable for this widget.
newSize | The size being set as minimum. |
void UMLWidget::setPenFromSettings | ( | QPainter & | p | ) |
Set the pen.
void UMLWidget::setPenFromSettings | ( | QPainter * | p | ) |
Set the pen.
|
inline |
void UMLWidget::setScene | ( | UMLScene * | scene | ) |
Clears the selection, resets the toolbar and deselects the widget.
Sets the view the widget is on.
scene | The UMLScene the widget is on. |
|
virtual |
Sets the state of whether the widget is selected.
_select | The state of whether the widget is selected. |
Reimplemented from WidgetBase.
Reimplemented in MessageWidget, and ObjectWidget.
void UMLWidget::setSelectedFlag | ( | bool | _select | ) |
|
protected |
Fills m_selectedWidgetsList and sets the selection bounds ((m_min/m_max)X/Y attributes).
|
virtual |
Set the status of whether to show Stereotype.
flag | Value of type Uml::ShowStereoType::Enum |
Reimplemented in ClassifierWidget.
void UMLWidget::setSize | ( | const QSizeF & | size | ) |
Sets the size with another size.
void UMLWidget::setSize | ( | qreal | width, |
qreal | height | ||
) |
Sets the size. If m_scene->snapComponentSizeToGrid() is true then set the next larger size that snaps to the grid.
void UMLWidget::setStartMovePosition | ( | const QPointF & | position | ) |
Set the start position of the move action.
position | point where the move began |
|
virtual |
Overrides the method from WidgetBase.
Reimplemented from WidgetBase.
void UMLWidget::setTextColorCmd | ( | const QColor & | color | ) |
Overrides the method from WidgetBase.
void UMLWidget::setupFontType | ( | QFont & | font, |
UMLWidget::FontType | fontType | ||
) |
|
virtual |
Set the status of using fill color (undo action)
fc | the status of using fill color. |
Reimplemented from WidgetBase.
void UMLWidget::setUseFillColorCmd | ( | bool | fc | ) |
Set the status of using fill color.
fc | the status of using fill color. |
|
virtual |
Sets the x-coordinate. Currently, the only class that reimplements this method is ObjectWidget.
x | The x-coordinate to be set. |
Reimplemented in SignalWidget, and ObjectWidget.
|
virtual |
Sets the y-coordinate. Currently, the only class that reimplements this method is ObjectWidget.
y | The y-coordinate to be set. |
Reimplemented in SignalWidget, FloatingDashLineWidget, MessageWidget, and ObjectWidget.
|
virtual |
Show a properties dialog for a UMLWidget.
Reimplemented from WidgetBase.
Reimplemented in ActivityWidget, BoxWidget, ClassifierWidget, FloatingTextWidget, ForkJoinWidget, MessageWidget, NoteWidget, ObjectNodeWidget, ObjectWidget, SignalWidget, and StateWidget.
Uml::ShowStereoType::Enum UMLWidget::showStereotype | ( | ) | const |
Returns the status of whether to show Stereotype.
|
signal |
Emit when the widget moves its' position.
id | The id of the object behind the widget. |
|
virtualslot |
Captures a color change signal.
viewID | The id of the UMLScene behind the widget. |
|
virtualslot |
Captures a line color change signal.
viewID | The id of the UMLScene behind the widget. |
|
virtualslot |
Captures a linewidth change signal.
viewID | The id of the UMLScene behind the widget. |
|
virtualslot |
This is usually called synchronously after menu.exec() and trigger's parent is always the ListPopupMenu which can be used to get the type of action of trigger.
Reimplemented in FloatingDashLineWidget.
|
slot |
Tells the widget to snap to grid. Will use the grid settings of the UMLView it belongs to.
|
virtualslot |
Captures a text color change signal.
viewID | The id of the UMLScene behind the widget. |
|
virtualslot |
Captures when another widget moves if this widget is linked to it.
id | The id of object behind the widget. |
QPointF UMLWidget::startMovePosition | ( | ) | const |
Return the start position of the move action.
QSizeF UMLWidget::startResizeSize | ( | ) | const |
Return the start size of the resize action.
QString UMLWidget::tags | ( | ) | const |
Return stereotype concrete attributes concatenated into single string with the attribute name given before each value and delimited by "{" at start and "}" at end. Example: For a stereotype with attribute 'foo' of type Double and attribute 'bar' of type String and concrete values 1.0 for 'foo' and "hello" for 'bar', the result is: {foo=1.0,bar="hello"}
|
protectedvirtual |
Bring the widget at the pressed position to the foreground.
Reimplemented in BoxWidget, and CombinedFragmentWidget.
void UMLWidget::updateGeometry | ( | bool | withAssocs = true | ) |
Update the size of this widget.
withAssocs | true - update associations too |
|
virtualslot |
When a widget changes this slot captures that signal.
Reimplemented in PinPortBase.
|
protected |
Checks if the position of the widget changed respect to the position that it had when press event was fired.
|
protected |
Checks if the size of the widget changed respect to the size that it had when press event was fired.
|
inline |
Returns the width of the widget.
|
friend |
|
static |
|
static |
|
static |
|
protected |
true if the activate function has been called for this class instance
|
mutableprivate |
|
protected |
shortcut for UMLApp::app()->document()
|
protected |
|
protected |
|
protected |
Change Widget Behaviour
|
protected |
If cursor was in move/resize area when left button was pressed (and no other widgets were selected).
|
protected |
|
protected |
instance name (used if on a deployment diagram)
|
protected |
holds whether this widget is a component instance (i.e. on a deployment diagram)
|
protected |
|
protected |
|
protected |
If the widget was selected/moved/resized in the press and release cycle. Moved/resized is true if the widget was moved/resized even if the final position/size is the same as the starting one.
|
protected |
|
protected |
|
protected |
The X/Y position the widget had when the movement started.
|
protected |
The text in the status bar when the cursor was pressed.
|
protected |
The width/height the widget had when the resize started.
|
protected |
|
protected |
The X/Y offset from the position of the cursor when it was pressed to the upper left corner of the widget.
|
protected |
|
protected |
|
protected |
If shift or control button were pressed in mouse press event.
|
protected |
if and how the stereotype should be displayed
|
protected |
|
protected |
|
protected |
|
static |
|
static |