umbrello  2.39.2
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 
16 class QPoint;
17 class QMenu;
18 class UMLObject;
19 class UMLClassifier;
21 class UMLDoc;
22 
23 class RefactoringAssistant : public QTreeWidget
24 {
25  Q_OBJECT
26 public:
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 
33 signals:
34 
35 // void moved();
36 
37 public slots:
38 
39  void addBaseClassifier();
40  void addDerivedClassifier();
42  void createOperation();
43  void createAttribute();
44  void editProperties();
45  void deleteItem();
46 
47  void objectModified();
48 
49  void operationAdded(UMLClassifierListItem *listItem);
51 
52  void attributeAdded(UMLClassifierListItem *listItem);
54 
55  void itemExecuted(QTreeWidgetItem *item, int column);
56 
57 protected:
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 
80 private slots:
81 
82  void showContextMenu(const QPoint&);
83 
84 private:
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:638
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 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
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: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