umbrello  2.34.3
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:421
UMLEntity
Non-graphical Information for an Entity.
Definition: entity.h:29
UMLApp::currentView
UMLView * currentView() const
Definition: uml.cpp:3275
Model_Utils::typeIsDiagram
bool typeIsDiagram(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1423
template.h
DEBUG_REGISTER
#define DEBUG_REGISTER(src)
Definition: debug_utils.h:129
umllistviewitemlist.h
AssociationWidget
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:46
UMLObject::asUMLEntityAttribute
UMLEntityAttribute * asUMLEntityAttribute()
Definition: umlobject.cpp:1425
logDebug1
#define logDebug1(s, a)
Definition: uml.h:539
UMLScene::isActivityDiagram
bool isActivityDiagram() const
Definition: umlscene.h:315
UMLClipboard::clip1
@ clip1
UMLObjects (not diagrams)
Definition: umlclipboard.h:43
UMLClipboard::UMLClipboard
UMLClipboard()
Definition: umlclipboard.cpp:49
UMLClipboard::paste
bool paste(const QMimeData *data)
Definition: umlclipboard.cpp:191
UMLDoc::assignNewIDs
bool assignNewIDs(UMLObject *obj)
Definition: umldoc.cpp:3175
UMLDragData::decodeClip2
static bool decodeClip2(const QMimeData *mimeData, UMLObjectList &objects, UMLViewList &diagrams)
Definition: umldragdata.cpp:304
UMLObject::name
QString name() const
Definition: umlobject.cpp:207
umlview.h
UMLWidget
The base class for graphical UML objects.
Definition: umlwidget.h:35
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:177
UMLScene::associationList
AssociationWidgetList associationList() const
Definition: umlscene.cpp:595
UMLObject::asUMLEntity
UMLEntity * asUMLEntity()
Definition: umlobject.cpp:1424
entity.h
UMLListViewItem::ListViewType
ListViewType
Definition: umllistviewitem.h:38
UMLListViewItem::umlObject
UMLObject * umlObject() const
Definition: umllistviewitem.cpp:316
UMLClipboard::clip3
@ clip3
UMLListViewItems (not diagrams)
Definition: umlclipboard.h:45
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:2248
umlclipboard.h
WidgetBase::setID
void setID(Uml::ID::Type id)
Definition: widgetbase.cpp:212
UMLListViewItem::ID
Uml::ID::Type ID() const
Definition: umllistviewitem.cpp:275
UMLClipboard::pasteClip1
bool pasteClip1(const QMimeData *data)
Definition: umlclipboard.cpp:451
UMLListViewItem::type
ListViewType type() const
Definition: umllistviewitem.cpp:230
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:178
UMLDragData::decodeClip1
static bool decodeClip1(const QMimeData *mimeData, UMLObjectList &objects)
Definition: umldragdata.cpp:263
UMLObject::setID
virtual void setID(Uml::ID::Type NewID)
Definition: umlobject.cpp:179
logError0
#define logError0(s)
Definition: uml.h:537
UMLObject::ot_Attribute
@ ot_Attribute
Definition: umlobject.h:88
Uml::DiagramType::Enum
Enum
Definition: basictypes.h:63
UMLClipboard::~UMLClipboard
virtual ~UMLClipboard()
Definition: umlclipboard.cpp:57
UMLEnumLiteral
Sets up attribute information.
Definition: enumliteral.h:20
UMLClipboard::pasteClip4
bool pasteClip4(const QMimeData *data)
Definition: umlclipboard.cpp:521
Uml::ID::toString
QString toString(const ID::Type &id)
Definition: basictypes.cpp:1306
logError1
#define logError1(s, a)
Definition: uml.h:543
UMLObject::setName
virtual void setName(const QString &strName)
Definition: umlobject.cpp:188
Diagram_Utils::importGraph
bool importGraph(const QStringList &lines, UMLScene *scene, const QString &fileName)
Definition: diagram_utils.cpp:313
umlwidgetlist.h
UMLDragData
Definition: umldragdata.h:32
UMLClipboard::fillSelectionLists
bool fillSelectionLists(UMLListViewItemList &selectedItems)
Definition: umlclipboard.cpp:306
UMLObject::asUMLAttribute
UMLAttribute * asUMLAttribute()
Definition: umlobject.cpp:1416
Uml::ID::Type
std::string Type
Definition: basictypes.h:371
UMLScene::selectedWidgetsExt
UMLWidgetList selectedWidgetsExt(bool filterText=true)
Definition: umlscene.cpp:2056
UMLClipboard::m_ViewList
UMLViewList m_ViewList
Definition: umlclipboard.h:62
UMLScene::clearSelected
void clearSelected()
Definition: umlscene.cpp:1473
model_utils.h
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
UMLScene::activate
void activate()
Definition: umlscene.cpp:1978
UMLClipboard::pasteClip5
bool pasteClip5(const QMimeData *data)
Definition: umlclipboard.cpp:604
diagram_utils.h
UMLObject::asUMLOperation
UMLOperation * asUMLOperation()
Definition: umlobject.cpp:1435
UMLClipboard::UMLCopyType
UMLCopyType
Enumeration that codes the different types of UML clips.
Definition: umlclipboard.h:41
UMLObject::baseType
ObjectType baseType() const
Definition: umlobject.cpp:393
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:884
UMLScene::beginPartialWidgetPaste
void beginPartialWidgetPaste()
Definition: umlscene.cpp:2239
UMLDragData::decodeClip3
static bool decodeClip3(const QMimeData *mimeData, UMLListViewItemList &umlListViewItems, const UMLListView *parentListView=0)
Definition: umldragdata.cpp:418
UMLDoc::endPaste
void endPaste()
Definition: umldoc.cpp:3268
AssociationWidgetList
QList< QPointer< AssociationWidget > > AssociationWidgetList
Definition: associationwidgetlist.h:15
umldragdata.h
WidgetBase::umlObject
UMLObject * umlObject() const
Definition: widgetbase.cpp:194
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1427
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:1794
umlviewlist.h
attribute.h
UMLScene::addAssociation
bool addAssociation(AssociationWidget *pAssoc, bool isPasteOperation=false)
Definition: umlscene.cpp:2129
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:314
UMLClassifier::findTemplate
UMLTemplate * findTemplate(const QString &name) const
Definition: classifier.cpp:1120
UMLApp::listView
UMLListView * listView() const
Definition: uml.cpp:1073
UMLClassifier::addOperation
bool addOperation(UMLOperation *op, int position=-1)
Definition: classifier.cpp:308
umlwidget.h
i18n
#define i18n
Definition: main.cpp:35
UMLObject::asUMLTemplate
UMLTemplate * asUMLTemplate()
Definition: umlobject.cpp:1440
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:385
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
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1420
Uml::RoleType::B
@ B
Definition: basictypes.h:238
Model_Utils::typeIsCanvasWidget
bool typeIsCanvasWidget(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1206
umllistview.h
UMLDoc::assignNewID
Uml::ID::Type assignNewID(Uml::ID::Type oldID)
Definition: umldoc.cpp:3283
UMLDoc::changeLog
virtual IDChangeLog * changeLog() const
Definition: umldoc.cpp:3247
MessageWidget::objectWidget
ObjectWidget * objectWidget(Uml::RoleType::Enum role)
Definition: messagewidget.cpp:1362
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:276
UMLListView::selectedItems
UMLListViewItemList selectedItems() const
Definition: umllistview.cpp:1978
UMLDoc
Definition: umldoc.h:69
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
UMLClipboard::addRelatedWidgets
void addRelatedWidgets()
Definition: umlclipboard.cpp:234
UMLDoc::setModified
void setModified(bool modified=true)
Definition: umldoc.cpp:3147
UMLClipboard::pasteClip3
bool pasteClip3(const QMimeData *data)
Definition: umlclipboard.cpp:501
WidgetBase
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:100
UMLScene::findWidget
UMLWidget * findWidget(Uml::ID::Type id)
Definition: umlscene.cpp:1196
umllistviewitem.h
logWarn0
#define logWarn0(s)
Definition: uml.h:536
associationwidget.h
UMLClipboard::pasteItemAlreadyExists
void pasteItemAlreadyExists()
Definition: umlclipboard.cpp:747
classifier.h
WidgetBase::asMessageWidget
MessageWidget * asMessageWidget()
Definition: widgetbase.cpp:1500
UMLOperation
Definition: operation.h:19
UMLScene::selectedAssocs
AssociationWidgetList selectedAssocs()
Definition: umlscene.cpp:2075
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:357
UMLEntity::addEntityAttribute
UMLObject * addEntityAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: entity.cpp:302
UMLScene
Definition: umlscene.h:64
UMLDragData::decodeClip5
static bool decodeClip5(const QMimeData *mimeData, UMLObjectList &objects, UMLClassifier *newParent)
Definition: umldragdata.cpp:668
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:486
associationwidgetlist.h
UMLView::umlScene
UMLScene * umlScene() const
Definition: umlview.cpp:51
UMLObject::asUMLEnumLiteral
UMLEnumLiteral * asUMLEnumLiteral()
Definition: umlobject.cpp:1428
UMLScene::selectWidgetsOfAssoc
void selectWidgetsOfAssoc(AssociationWidget *a)
Definition: umlscene.cpp:1774
UMLEnum::addEnumLiteral
UMLObject * addEnumLiteral(const QString &name, Uml::ID::Type id=Uml::ID::None, const QString &value=QString())
Definition: enum.cpp:131
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:1295
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:424
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:1014
UMLDoc::addUMLView
bool addUMLView(UMLView *pView)
Definition: umldoc.cpp:3322
UMLViewList
QList< QPointer< UMLView > > UMLViewList
Definition: umlviewlist.h:14
Model_Utils::typeIsFolder
bool typeIsFolder(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1240
UMLClassifier::checkOperationSignature
UMLOperation * checkOperationSignature(const QString &name, UMLAttributeList opParams, UMLOperation *exemptOp=0) const
Definition: classifier.cpp:132
UMLCanvasObject::findChildObject
virtual UMLObject * findChildObject(const QString &n, UMLObject::ObjectType t=UMLObject::ot_UMLObject) const
Definition: umlcanvasobject.cpp:237
UMLObjectList
Definition: umlobjectlist.h:24
UMLClipboard::copy
QMimeData * copy(bool fromView=false)
Definition: umlclipboard.cpp:66
UMLClipboard::m_ItemList
UMLListViewItemList m_ItemList
Definition: umlclipboard.h:59
UMLScene::copyAsImage
void copyAsImage(QPixmap *&pix)
Definition: umlscene.cpp:2899
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
UMLClipboard::fillObjectListForWidgets
void fillObjectListForWidgets(const UMLWidgetList &widgets)
Definition: umlclipboard.cpp:271
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:1273
UMLListViewItemList
QList< UMLListViewItem * > UMLListViewItemList
Definition: umllistviewitemlist.h:12
UMLScene::widgetList
UMLWidgetList widgetList() const
Definition: umlscene.cpp:609
UMLClassifier::addTemplate
UMLTemplate * addTemplate(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:1025
UMLClipboard::pasteClip2
bool pasteClip2(const QMimeData *data)
Definition: umlclipboard.cpp:463
WidgetBase::id
Uml::ID::Type id() const
Definition: widgetbase.cpp:226
UMLDoc::beginPaste
void beginPaste()
Definition: umldoc.cpp:3256
logError2
#define logError2(s, a, b)
Definition: uml.h:549
UMLClassifier::addAttribute
UMLAttribute * addAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:810
AssociationWidget::widgetForRole
UMLWidget * widgetForRole(Uml::RoleType::Enum role) const
Definition: associationwidget.cpp:1273
Import_Rose::diagramType
Uml::DiagramType::Enum diagramType(QString objType)
Definition: petaltree2uml.cpp:612
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27
enum.h
logDebug0
#define logDebug0(s)
Definition: uml.h:533