umbrello  2.39.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umlclipboard.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2002-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef UMLCLIPBOARD_H
7 #define UMLCLIPBOARD_H
8 
10 #include "umlobjectlist.h"
11 #include "umllistviewitemlist.h"
12 #include "umllistviewitem.h"
13 #include "umlviewlist.h"
14 #include "umlwidgetlist.h"
15 
16 class QMimeData;
17 
27 class UMLClipboard : public QObject
28 {
29  Q_OBJECT
30 public:
31 
32  UMLClipboard();
33 
34  virtual ~UMLClipboard();
35 
36  bool paste(const QMimeData* data);
37 
38  QMimeData* copy(bool fromView = false);
39 
42  {
43  clip1 = 1,
44  clip2 = 2,
45  clip3 = 3,
46  clip4 = 4,
47  clip5 = 5
48  };
49 
50 private:
51 
52  bool pasteClip1(const QMimeData* data);
53  bool pasteClip2(const QMimeData* data);
54  bool pasteClip3(const QMimeData* data);
55  bool pasteClip4(const QMimeData* data);
56  bool pasteClip5(const QMimeData* data);
57 
64 
65 private:
66  void addRelatedWidgets();
67 
68  void fillObjectListForWidgets(const UMLWidgetList& widgets);
69 
70  bool fillSelectionLists(UMLListViewItemList& selectedItems);
71 
72  void setCopyType(UMLListViewItemList& selectedItems);
73 
75  bool& withDiagrams,
76  bool& withObjects,
77  bool& onlyAttsOps);
78 
80  UMLListViewItemList& selectedItems);
81 
83 };
84 
85 #endif
QList< QPointer< AssociationWidget > > AssociationWidgetList
Definition: associationwidgetlist.h:15
Clipboard management class.
Definition: umlclipboard.h:28
void checkItemForCopyType(UMLListViewItem *item, bool &withDiagrams, bool &withObjects, bool &onlyAttsOps)
Definition: umlclipboard.cpp:385
void fillObjectListForWidgets(const UMLWidgetList &widgets)
Definition: umlclipboard.cpp:271
UMLCopyType
Enumeration that codes the different types of UML clips.
Definition: umlclipboard.h:42
@ clip4
UMLObjects, Associations and UMLWidgets.
Definition: umlclipboard.h:46
@ clip2
UMLObjects, UMLListViewItems (not diagrams) and diagrams.
Definition: umlclipboard.h:44
@ clip5
Only Attributes, Operations, Templates and EnumLiterals.
Definition: umlclipboard.h:47
@ clip1
UMLObjects (not diagrams)
Definition: umlclipboard.h:43
@ clip3
UMLListViewItems (not diagrams)
Definition: umlclipboard.h:45
bool insertItemChildren(UMLListViewItem *item, UMLListViewItemList &selectedItems)
Definition: umlclipboard.cpp:424
virtual ~UMLClipboard()
Definition: umlclipboard.cpp:57
AssociationWidgetList m_AssociationList
Definition: umlclipboard.h:61
UMLObjectList m_ObjectList
Definition: umlclipboard.h:58
UMLCopyType m_type
Type of copy operation to perform.
Definition: umlclipboard.h:63
bool paste(const QMimeData *data)
Definition: umlclipboard.cpp:191
bool pasteClip1(const QMimeData *data)
Definition: umlclipboard.cpp:451
UMLWidgetList m_WidgetList
Definition: umlclipboard.h:60
UMLViewList m_ViewList
Definition: umlclipboard.h:62
bool pasteClip4(const QMimeData *data)
Definition: umlclipboard.cpp:521
UMLListViewItemList m_ItemList
Definition: umlclipboard.h:59
void setCopyType(UMLListViewItemList &selectedItems)
Definition: umlclipboard.cpp:357
void addRelatedWidgets()
Definition: umlclipboard.cpp:234
UMLClipboard()
Definition: umlclipboard.cpp:49
void pasteItemAlreadyExists()
Definition: umlclipboard.cpp:747
bool pasteClip3(const QMimeData *data)
Definition: umlclipboard.cpp:501
bool fillSelectionLists(UMLListViewItemList &selectedItems)
Definition: umlclipboard.cpp:306
bool pasteClip2(const QMimeData *data)
Definition: umlclipboard.cpp:463
QMimeData * copy(bool fromView=false)
Definition: umlclipboard.cpp:66
bool pasteClip5(const QMimeData *data)
Definition: umlclipboard.cpp:604
Items used by UMLListView.
Definition: umllistviewitem.h:36
Definition: umlobjectlist.h:25
QList< UMLListViewItem * > UMLListViewItemList
Definition: umllistviewitemlist.h:12
QList< QPointer< UMLView > > UMLViewList
Definition: umlviewlist.h:14
QList< QPointer< UMLWidget > > UMLWidgetList
Definition: umlwidgetlist.h:13