umbrello 25.04.1
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 = nullptr, QWidget *parent = nullptr, const QString &name = QString());
29 virtual ~RefactoringAssistant();
30
31 void refactor(UMLClassifier *obj);
32
33Q_SIGNALS:
34
35// void moved();
36
37public Q_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 = nullptr, 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 Q_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
QMenu * m_menu
Definition refactoringassistant.h:76
void showContextMenu(const QPoint &)
Definition refactoringassistant.cpp:432
UMLClassifier * m_umlObject
Definition refactoringassistant.h:74
void addInterfaceImplementation()
Definition refactoringassistant.cpp:570
QAction * createAction(const QString &text, const char *method, const Icon_Utils::IconType icon=Icon_Utils::N_ICONTYPES)
Definition refactoringassistant.cpp:417
void addDerivedClassifier()
Definition refactoringassistant.cpp:525
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:733
void operationRemoved(UMLClassifierListItem *listItem)
Definition refactoringassistant.cpp:246
void createAttribute()
Definition refactoringassistant.cpp:611
void deleteItem()
Definition refactoringassistant.cpp:357
QMap< QTreeWidgetItem *, UMLObject * > m_umlObjectMap
Definition refactoringassistant.h:77
void addClassifier(UMLClassifier *classifier, QTreeWidgetItem *parent=nullptr, bool addSuper=true, bool addSub=true, bool recurse=false)
Definition refactoringassistant.cpp:638
void itemExecuted(QTreeWidgetItem *item, int column)
Definition refactoringassistant.cpp:137
void createOperation()
Definition refactoringassistant.cpp:589
UMLDoc * m_doc
Definition refactoringassistant.h:75
void attributeAdded(UMLClassifierListItem *listItem)
Definition refactoringassistant.cpp:262
void addBaseClassifier()
Definition refactoringassistant.cpp:480
void objectModified()
Definition refactoringassistant.cpp:195
QSet< UMLClassifier * > m_alreadySeen
recursive guard
Definition refactoringassistant.h:78
void editProperties()
Definition refactoringassistant.cpp:312
virtual void dropEvent(QDropEvent *event)
Definition refactoringassistant.cpp:768
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:63
The base class for UML objects.
Definition umlobject.h:70
IconType
Definition icon_utils.h:25
@ N_ICONTYPES
Definition icon_utils.h:219