umbrello  2.32.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
notewidget.h
UMLObject::id
virtual Uml::ID::Type id() const
Definition: umlobject.cpp:420
UMLEntity
Non-graphical Information for an Entity.
Definition: entity.h:29
UMLApp::currentView
UMLView * currentView() const
Definition: uml.cpp:3175
Model_Utils::typeIsDiagram
bool typeIsDiagram(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1394
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1389
template.h
umllistviewitemlist.h
AssociationWidget
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:46
UMLObject::asUMLEnumLiteral
UMLEnumLiteral * asUMLEnumLiteral()
Definition: umlobject.cpp:1397
UMLScene::isActivityDiagram
bool isActivityDiagram() const
Definition: umlscene.h:317
UMLClipboard::clip1
@ clip1
UMLObjects (not diagrams)
Definition: umlclipboard.h:43
UMLClipboard::UMLClipboard
UMLClipboard()
Definition: umlclipboard.cpp:47
UMLClipboard::paste
bool paste(const QMimeData *data)
Definition: umlclipboard.cpp:189
UMLDoc::assignNewIDs
bool assignNewIDs(UMLObject *obj)
Definition: umldoc.cpp:3135
UMLDragData::decodeClip2
static bool decodeClip2(const QMimeData *mimeData, UMLObjectList &objects, UMLViewList &diagrams)
Definition: umldragdata.cpp:301
UMLObject::asUMLOperation
UMLOperation * asUMLOperation()
Definition: umlobject.cpp:1404
UMLObject::name
QString name() const
Definition: umlobject.cpp:206
umlview.h
UMLWidget
The base class for graphical UML objects.
Definition: umlwidget.h:35
UMLScene::associationList
const AssociationWidgetList associationList() const
Definition: umlscene.cpp:585
IDChangeLog::findNewID
Uml::ID::Type findNewID(Uml::ID::Type OldID)
Definition: idchangelog.cpp:57
UMLClipboard::m_type
UMLCopyType m_type
Type of copy operation to perform.
Definition: umlclipboard.h:63
UMLOperation::getParmList
UMLAttributeList getParmList() const
Definition: operation.cpp:173
entity.h
UMLListViewItem::ListViewType
ListViewType
Definition: umllistviewitem.h:38
UMLListViewItem::umlObject
UMLObject * umlObject() const
Definition: umllistviewitem.cpp:315
UMLClipboard::clip3
@ clip3
UMLListViewItems (not diagrams)
Definition: umlclipboard.h:45
UMLObject::asUMLAttribute
UMLAttribute * asUMLAttribute()
Definition: umlobject.cpp:1385
UMLClipboard::clip2
@ clip2
UMLObjects, UMLListViewItems (not diagrams) and diagrams.
Definition: umlclipboard.h:44
UMLListViewItem
Items used by UMLListView.
Definition: umllistviewitem.h:35
operation.h
UMLScene::endPartialWidgetPaste
void endPartialWidgetPaste()
Definition: umlscene.cpp:2224
umlclipboard.h
WidgetBase::setID
void setID(Uml::ID::Type id)
Definition: widgetbase.cpp:207
UMLListViewItem::ID
Uml::ID::Type ID() const
Definition: umllistviewitem.cpp:274
UMLClipboard::pasteClip1
bool pasteClip1(const QMimeData *data)
Definition: umlclipboard.cpp:448
UMLListViewItem::type
ListViewType type() const
Definition: umllistviewitem.cpp:229
Uml::RoleType::A
@ A
Definition: basictypes.h:237
UMLCanvasObject::uniqChildName
virtual QString uniqChildName(const UMLObject::ObjectType type, const QString &prefix=QString()) const
Definition: umlcanvasobject.cpp:175
UMLDragData::decodeClip1
static bool decodeClip1(const QMimeData *mimeData, UMLObjectList &objects)
Definition: umldragdata.cpp:260
UMLObject::setID
virtual void setID(Uml::ID::Type NewID)
Definition: umlobject.cpp:178
UMLObject::ot_Attribute
@ ot_Attribute
Definition: umlobject.h:88
Uml::DiagramType::Enum
Enum
Definition: basictypes.h:63
UMLClipboard::~UMLClipboard
virtual ~UMLClipboard()
Definition: umlclipboard.cpp:55
UMLEnumLiteral
Sets up attribute information.
Definition: enumliteral.h:20
UMLClipboard::pasteClip4
bool pasteClip4(const QMimeData *data)
Definition: umlclipboard.cpp:518
Uml::ID::toString
QString toString(const ID::Type &id)
Definition: basictypes.cpp:1300
UMLObject::setName
virtual void setName(const QString &strName)
Definition: umlobject.cpp:187
Diagram_Utils::importGraph
bool importGraph(const QStringList &lines, UMLScene *scene, const QString &fileName)
Definition: diagram_utils.cpp:312
umlwidgetlist.h
UMLDragData
Definition: umldragdata.h:32
UMLClipboard::fillSelectionLists
bool fillSelectionLists(UMLListViewItemList &selectedItems)
Definition: umlclipboard.cpp:304
Uml::ID::Type
std::string Type
Definition: basictypes.h:371
UMLScene::selectedWidgetsExt
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2040
WidgetBase::asMessageWidget
MessageWidget * asMessageWidget()
Definition: widgetbase.cpp:1489
UMLClipboard::m_ViewList
UMLViewList m_ViewList
Definition: umlclipboard.h:62
UMLScene::clearSelected
void clearSelected()
Definition: umlscene.cpp:1459
model_utils.h
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
UMLScene::activate
void activate()
Definition: umlscene.cpp:1962
UMLClipboard::pasteClip5
bool pasteClip5(const QMimeData *data)
Definition: umlclipboard.cpp:601
diagram_utils.h
UMLObject::asUMLEntityAttribute
UMLEntityAttribute * asUMLEntityAttribute()
Definition: umlobject.cpp:1394
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1396
UMLClipboard::UMLCopyType
UMLCopyType
Enumeration that codes the different types of UML clips.
Definition: umlclipboard.h:41
UMLObject::baseType
ObjectType baseType() const
Definition: umlobject.cpp:392
UMLClipboard::clip4
@ clip4
UMLObjects, Associations and UMLWidgets.
Definition: umlclipboard.h:46
UMLObject::ot_EnumLiteral
@ ot_EnumLiteral
Definition: umlobject.h:90
floatingtextwidget.h
UMLDragData::getCodingType
static int getCodingType(const QMimeData *mimeData)
Definition: umldragdata.cpp:881
UMLObject::asUMLEntity
UMLEntity * asUMLEntity()
Definition: umlobject.cpp:1393
UMLScene::beginPartialWidgetPaste
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2215
UMLDragData::decodeClip3
static bool decodeClip3(const QMimeData *mimeData, UMLListViewItemList &umlListViewItems, const UMLListView *parentListView=0)
Definition: umldragdata.cpp:415
UMLDoc::endPaste
void endPaste()
Definition: umldoc.cpp:3228
AssociationWidgetList
QList< QPointer< AssociationWidget > > AssociationWidgetList
Definition: associationwidgetlist.h:15
umldragdata.h
WidgetBase::umlObject
UMLObject * umlObject() const
Definition: widgetbase.cpp:189
IDChangeLog
Definition: idchangelog.h:21
NoteWidget::s_pCurrentNote
static QPointer< NoteWidget > s_pCurrentNote
Definition: notewidget.h:63
entityattribute.h
UMLView
Definition: umlview.h:29
UMLScene::selectWidgets
void selectWidgets(qreal px, qreal py, qreal qx, qreal qy)
Definition: umlscene.cpp:1780
umlviewlist.h
attribute.h
UMLScene::addAssociation
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2105
number
it is up to the author donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License If the distribution and or use of the Library is restricted in certain countries either by patents or by copyrighted the original copyright holder who places the Library under this License may add an geographical distribution limitation excluding those so that distribution is permitted only in or among countries not thus excluded In such this License incorporates the limitation as if written in the body of this License The Free Software Foundation may publish revised and or new versions of the Library General Public License from time to time Such new versions will be similar in spirit to the present but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Library specifies a version number of this License which applies to it and any later you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation If the Library does not specify a license version number
Definition: LGPL-2.0-only.txt:368
UMLScene::isStateDiagram
bool isStateDiagram() const
Definition: umlscene.h:316
UMLClassifier::findTemplate
UMLTemplate * findTemplate(const QString &name) const
Definition: classifier.cpp:1115
UMLApp::listView
UMLListView * listView() const
Definition: uml.cpp:1073
UMLClassifier::addOperation
bool addOperation(UMLOperation *op, int position=-1)
Definition: classifier.cpp:305
umlwidget.h
uWarning
#define uWarning()
Definition: debug_utils.h:110
i18n
#define i18n
Definition: main.cpp:34
messagewidget.h
UMLClipboard::m_ObjectList
UMLObjectList m_ObjectList
Definition: umlclipboard.h:58
UMLClipboard::checkItemForCopyType
void checkItemForCopyType(UMLListViewItem *item, bool &withDiagrams, bool &withObjects, bool &onlyAttsOps)
Definition: umlclipboard.cpp:383
UMLObject::ot_EntityAttribute
@ ot_EntityAttribute
Definition: umlobject.h:98
UMLClipboard::m_WidgetList
UMLWidgetList m_WidgetList
Definition: umlclipboard.h:60
UMLWidgetList
QList< QPointer< UMLWidget > > UMLWidgetList
Definition: umlwidgetlist.h:13
uDebug
#define uDebug()
Definition: debug_utils.h:108
UMLScene::widgetList
const UMLWidgetList widgetList() const
Definition: umlscene.cpp:599
Uml::RoleType::B
@ B
Definition: basictypes.h:238
Model_Utils::typeIsCanvasWidget
bool typeIsCanvasWidget(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1177
umllistview.h
UMLDoc::assignNewID
Uml::ID::Type assignNewID(Uml::ID::Type oldID)
Definition: umldoc.cpp:3243
UMLDoc::changeLog
virtual IDChangeLog * changeLog() const
Definition: umldoc.cpp:3207
MessageWidget::objectWidget
ObjectWidget * objectWidget(Uml::RoleType::Enum role)
Definition: messagewidget.cpp:1359
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:275
UMLListView::selectedItems
UMLListViewItemList selectedItems() const
Definition: umllistview.cpp:1971
UMLDoc
Definition: umldoc.h:69
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
UMLClipboard::addRelatedWidgets
void addRelatedWidgets()
Definition: umlclipboard.cpp:232
UMLDoc::setModified
void setModified(bool modified=true)
Definition: umldoc.cpp:3107
UMLClipboard::pasteClip3
bool pasteClip3(const QMimeData *data)
Definition: umlclipboard.cpp:498
WidgetBase
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:100
UMLScene::findWidget
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1180
umllistviewitem.h
associationwidget.h
UMLClipboard::pasteItemAlreadyExists
void pasteItemAlreadyExists()
Definition: umlclipboard.cpp:743
UMLObject::asUMLTemplate
UMLTemplate * asUMLTemplate()
Definition: umlobject.cpp:1409
classifier.h
uError
#define uError()
Definition: debug_utils.h:109
UMLOperation
Definition: operation.h:19
UMLScene::selectedAssocs
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2059
umlscene.h
uml.h
enumliteral.h
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
UMLClipboard::clip5
@ clip5
Only Attributes, Operations, Templates and EnumLiterals.
Definition: umlclipboard.h:47
UMLClipboard::setCopyType
void setCopyType(UMLListViewItemList &selectedItems)
Definition: umlclipboard.cpp:355
UMLEntity::addEntityAttribute
UMLObject * addEntityAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: entity.cpp:300
UMLScene
Definition: umlscene.h:64
UMLDragData::decodeClip5
static bool decodeClip5(const QMimeData *mimeData, UMLObjectList &objects, UMLClassifier *newParent)
Definition: umldragdata.cpp:665
UMLObject::ot_Template
@ ot_Template
Definition: umlobject.h:91
UMLDragData::decodeClip4
static bool decodeClip4(const QMimeData *mimeData, UMLObjectList &objects, UMLWidgetList &widgets, AssociationWidgetList &associations, Uml::DiagramType::Enum &dType)
Definition: umldragdata.cpp:483
associationwidgetlist.h
UMLView::umlScene
UMLScene * umlScene() const
Definition: umlview.cpp:51
UMLScene::selectWidgetsOfAssoc
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1760
UMLEnum::addEnumLiteral
UMLObject * addEnumLiteral(const QString &name, Uml::ID::Type id=Uml::ID::None, const QString &value=QString())
Definition: enum.cpp:127
idchangelog.h
UMLListView
Displays the list view for the program.
Definition: umllistview.h:42
UMLTemplate
Sets up template information.
Definition: template.h:21
Model_Utils::typeIsClassifier
bool typeIsClassifier(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1266
UMLObject::ot_Operation
@ ot_Operation
Definition: umlobject.h:89
UMLClipboard
Clipboard management class.
Definition: umlclipboard.h:27
UMLClipboard::insertItemChildren
bool insertItemChildren(UMLListViewItem *item, UMLListViewItemList &selectedItems)
Definition: umlclipboard.cpp:421
umlobjectlist.h
WidgetBase::isMessageWidget
bool isMessageWidget() const
Definition: widgetbase.h:252
UMLEntityAttribute
Sets up entityattribute information.
Definition: entityattribute.h:20
UMLDoc::findView
UMLView * findView(Uml::ID::Type id) const
Definition: umldoc.cpp:1001
UMLDoc::addUMLView
bool addUMLView(UMLView *pView)
Definition: umldoc.cpp:3282
UMLViewList
QList< QPointer< UMLView > > UMLViewList
Definition: umlviewlist.h:14
Model_Utils::typeIsFolder
bool typeIsFolder(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1211
UMLClassifier::checkOperationSignature
UMLOperation * checkOperationSignature(const QString &name, UMLAttributeList opParams, UMLOperation *exemptOp=0) const
Definition: classifier.cpp:129
UMLCanvasObject::findChildObject
virtual UMLObject * findChildObject(const QString &n, UMLObject::ObjectType t=UMLObject::ot_UMLObject) const
Definition: umlcanvasobject.cpp:233
UMLObjectList
Definition: umlobjectlist.h:24
UMLClipboard::copy
QMimeData * copy(bool fromView=false)
Definition: umlclipboard.cpp:64
UMLClipboard::m_ItemList
UMLListViewItemList m_ItemList
Definition: umlclipboard.h:59
UMLScene::copyAsImage
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2877
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
UMLClipboard::fillObjectListForWidgets
void fillObjectListForWidgets(const UMLWidgetList &widgets)
Definition: umlclipboard.cpp:269
MessageWidget
Displays a message.
Definition: messagewidget.h:35
UMLClipboard::m_AssociationList
AssociationWidgetList m_AssociationList
Definition: umlclipboard.h:61
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1063
umldoc.h
Model_Utils::typeIsClassifierList
bool typeIsClassifierList(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1244
UMLListViewItemList
QList< UMLListViewItem * > UMLListViewItemList
Definition: umllistviewitemlist.h:12
UMLClassifier::addTemplate
UMLTemplate * addTemplate(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:1020
UMLClipboard::pasteClip2
bool pasteClip2(const QMimeData *data)
Definition: umlclipboard.cpp:460
WidgetBase::id
Uml::ID::Type id() const
Definition: widgetbase.cpp:221
UMLDoc::beginPaste
void beginPaste()
Definition: umldoc.cpp:3216
UMLClassifier::addAttribute
UMLAttribute * addAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:806
AssociationWidget::widgetForRole
UMLWidget * widgetForRole(Uml::RoleType::Enum role) const
Definition: associationwidget.cpp:1231
Import_Rose::diagramType
Uml::DiagramType::Enum diagramType(QString objType)
Definition: petaltree2uml.cpp:604
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27
enum.h