umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
refactoringassistant.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3
4 SPDX-FileCopyrightText: 2003 Luis De la Parra <lparrab@gmx.net>
5 SPDX-FileCopyrightText: 2004-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
6*/
7
8#ifndef REFACTORING_ASSISTANT_H
9#define REFACTORING_ASSISTANT_H
10
11#include "icon_utils.h"
12
13#include <QDropEvent>
14#include <QTreeWidget>
15
16class QPoint;
17class QMenu;
18class UMLObject;
19class UMLClassifier;
21class UMLDoc;
22
23class RefactoringAssistant : public QTreeWidget
24{
25 Q_OBJECT
26public:
27
28 explicit RefactoringAssistant(UMLDoc *doc, UMLClassifier *obj = 0, QWidget *parent = 0, const QString &name = QString());
29 virtual ~RefactoringAssistant();
30
31 void refactor(UMLClassifier *obj);
32
33signals:
34
35// void moved();
36
37public slots:
38
39 void addBaseClassifier();
42 void createOperation();
43 void createAttribute();
44 void editProperties();
45 void deleteItem();
46
47 void objectModified();
48
51
54
55 void itemExecuted(QTreeWidgetItem *item, int column);
56
57protected:
58
59 UMLObject* findUMLObject(const QTreeWidgetItem*);
60
61 QTreeWidgetItem* findListViewItem(const UMLObject *obj);
62
63 void editProperties(UMLObject *obj);
64
65 void deleteItem(QTreeWidgetItem *item, UMLObject *obj);
66
67 void addClassifier(UMLClassifier *classifier, QTreeWidgetItem *parent = 0, bool addSuper = true, bool addSub = true, bool recurse = false);
68
69 virtual void dragMoveEvent(QDragMoveEvent *event);
70 virtual void dropEvent(QDropEvent *event);
71
72 void setVisibilityIcon(QTreeWidgetItem *item, const UMLObject *obj);
73
76 QMenu * m_menu;
77 QMap<QTreeWidgetItem*, UMLObject*> m_umlObjectMap;
78 QSet<UMLClassifier *> m_alreadySeen;
79
80private slots:
81
82 void showContextMenu(const QPoint&);
83
84private:
85
86 QAction* createAction(const QString& text, const char * method, const Icon_Utils::IconType icon = Icon_Utils::N_ICONTYPES);
87
88};
89
90#endif
Definition: refactoringassistant.h:24
void operationAdded(UMLClassifierListItem *listItem)
Definition: refactoringassistant.cpp:215
void attributeRemoved(UMLClassifierListItem *listItem)
Definition: refactoringassistant.cpp:294
void addClassifier(UMLClassifier *classifier, QTreeWidgetItem *parent=0, bool addSuper=true, bool addSub=true, bool recurse=false)
Definition: refactoringassistant.cpp:642
QMenu * m_menu
Definition: refactoringassistant.h:76
void showContextMenu(const QPoint &)
Definition: refactoringassistant.cpp:436
UMLClassifier * m_umlObject
Definition: refactoringassistant.h:74
void addInterfaceImplementation()
Definition: refactoringassistant.cpp:574
QAction * createAction(const QString &text, const char *method, const Icon_Utils::IconType icon=Icon_Utils::N_ICONTYPES)
Definition: refactoringassistant.cpp:421
void addDerivedClassifier()
Definition: refactoringassistant.cpp:529
UMLObject * findUMLObject(const QTreeWidgetItem *)
Definition: refactoringassistant.cpp:99
QTreeWidgetItem * findListViewItem(const UMLObject *obj)
Definition: refactoringassistant.cpp:118
void setVisibilityIcon(QTreeWidgetItem *item, const UMLObject *obj)
Definition: refactoringassistant.cpp:151
virtual ~RefactoringAssistant()
Definition: refactoringassistant.cpp:65
void refactor(UMLClassifier *obj)
Definition: refactoringassistant.cpp:75
virtual void dragMoveEvent(QDragMoveEvent *event)
Definition: refactoringassistant.cpp:737
void operationRemoved(UMLClassifierListItem *listItem)
Definition: refactoringassistant.cpp:246
void createAttribute()
Definition: refactoringassistant.cpp:615
void deleteItem()
Definition: refactoringassistant.cpp:361
QMap< QTreeWidgetItem *, UMLObject * > m_umlObjectMap
Definition: refactoringassistant.h:77
void itemExecuted(QTreeWidgetItem *item, int column)
Definition: refactoringassistant.cpp:137
void createOperation()
Definition: refactoringassistant.cpp:593
UMLDoc * m_doc
Definition: refactoringassistant.h:75
void attributeAdded(UMLClassifierListItem *listItem)
Definition: refactoringassistant.cpp:262
void addBaseClassifier()
Definition: refactoringassistant.cpp:484
void objectModified()
Definition: refactoringassistant.cpp:195
QSet< UMLClassifier * > m_alreadySeen
recursive guard
Definition: refactoringassistant.h:78
RefactoringAssistant(UMLDoc *doc, UMLClassifier *obj=0, QWidget *parent=0, const QString &name=QString())
Definition: refactoringassistant.cpp:38
void editProperties()
Definition: refactoringassistant.cpp:312
virtual void dropEvent(QDropEvent *event)
Definition: refactoringassistant.cpp:772
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:25
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Definition: umldoc.h:70
The base class for UML objects.
Definition: umlobject.h:70
IconType
Definition: icon_utils.h:30
@ N_ICONTYPES
Definition: icon_utils.h:224