umbrello 2.38.4
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | List of all members
UMLDragData Class Reference

#include <umldragdata.h>

Inheritance diagram for UMLDragData:
Collaboration diagram for UMLDragData:

Classes

struct  LvTypeAndID
 

Public Types

typedef QList< LvTypeAndID * > LvTypeAndID_List
 
typedef QListIterator< LvTypeAndID * > LvTypeAndID_It
 

Public Member Functions

 UMLDragData (UMLObjectList &Objects, QWidget *dragSource=0)
 
 UMLDragData (UMLObjectList &Objects, UMLViewList &Diagrams, QWidget *dragSource=0)
 
 UMLDragData (UMLListViewItemList &UMLListViewItems, QWidget *dragSource=0)
 
 UMLDragData (UMLObjectList &Objects, UMLWidgetList &Widgets, AssociationWidgetList &Associations, QPixmap &PngImage, UMLScene *scene, QWidget *dragSource=0)
 
 UMLDragData (UMLObjectList &Objects, int, QWidget *dragSource=0)
 
 UMLDragData (QWidget *dragSource=0)
 
 ~UMLDragData ()
 

Static Public Member Functions

static bool decodeClip1 (const QMimeData *mimeData, UMLObjectList &objects)
 
static bool decodeClip2 (const QMimeData *mimeData, UMLObjectList &objects, UMLViewList &diagrams)
 
static bool decodeClip3 (const QMimeData *mimeData, UMLListViewItemList &umlListViewItems, const UMLListView *parentListView=0)
 
static bool getClip3TypeAndID (const QMimeData *mimeData, LvTypeAndID_List &typeAndIdList)
 
static bool decodeClip4 (const QMimeData *mimeData, UMLObjectList &objects, UMLWidgetList &widgets, AssociationWidgetList &associations, Uml::DiagramType::Enum &dType)
 
static bool decodeClip5 (const QMimeData *mimeData, UMLObjectList &objects, UMLClassifier *newParent)
 
static int getCodingType (const QMimeData *mimeData)
 

Private Member Functions

void setUMLDataClip1 (UMLObjectList &Objects)
 
void setUMLDataClip2 (UMLObjectList &Objects, UMLViewList &Diagrams)
 
void setUMLDataClip3 (UMLListViewItemList &UMLListViewItems)
 
void setUMLDataClip4 (UMLObjectList &Objects, UMLWidgetList &WidgetDatas, AssociationWidgetList &Associations, QPixmap &PngImage, UMLScene *scene)
 
void setUMLDataClip5 (UMLObjectList &Objects)
 

Static Private Member Functions

static void executeCreateWidgetCommand (UMLWidget *widget)
 
static bool decodeObjects (QDomNode &objectsNode, UMLObjectList &objects, bool skipIfObjectExists=false)
 
static bool decodeViews (QDomNode &umlviewsNode, UMLViewList &diagrams)
 

Detailed Description

This class provides encoding and decoding for the uml data that will be used in a drag and drop operation or in a copy or paste operation.

Author
Gustavo Madrigal, Jonathan Riddell (XMI conversion) Bugs and comments to umbre.nosp@m.llo-.nosp@m.devel.nosp@m.@kde.nosp@m..org or https://bugs.kde.org

Member Typedef Documentation

◆ LvTypeAndID_It

typedef QListIterator<LvTypeAndID*> UMLDragData::LvTypeAndID_It

◆ LvTypeAndID_List

Constructor & Destructor Documentation

◆ UMLDragData() [1/6]

UMLDragData::UMLDragData ( UMLObjectList objects,
QWidget *  dragSource = 0 
)
explicit

Constructor.

◆ UMLDragData() [2/6]

UMLDragData::UMLDragData ( UMLObjectList objects,
UMLViewList diagrams,
QWidget *  dragSource = 0 
)

For use when the user selects UML Object and Diagrams from the ListView to be copied, Mime type = "application/x-uml-clip2

Here is the call graph for this function:

◆ UMLDragData() [3/6]

UMLDragData::UMLDragData ( UMLListViewItemList umlListViewItems,
QWidget *  dragSource = 0 
)
explicit

Constructor.

Here is the call graph for this function:

◆ UMLDragData() [4/6]

UMLDragData::UMLDragData ( UMLObjectList objects,
UMLWidgetList widgets,
AssociationWidgetList associationDatas,
QPixmap &  pngImage,
UMLScene scene,
QWidget *  dragSource = 0 
)

For use when the user selects UMLObjects from a Diagram. The Selected widgets and the relationships between only selected widgets will be copied and also its respective ListView Items, Mime type = "application/x-uml-clip4

Here is the call graph for this function:

◆ UMLDragData() [5/6]

UMLDragData::UMLDragData ( UMLObjectList objects,
int  ,
QWidget *  dragSource = 0 
)

For use when the user selects only Operations and/or Attributes from the ListView, Mime type = "application/x-uml-clip5

Here is the call graph for this function:

◆ UMLDragData() [6/6]

UMLDragData::UMLDragData ( QWidget *  dragSource = 0)
explicit

Constructor.

◆ ~UMLDragData()

UMLDragData::~UMLDragData ( )

Deconstructor.

Member Function Documentation

◆ decodeClip1()

bool UMLDragData::decodeClip1 ( const QMimeData *  mimeData,
UMLObjectList objects 
)
static

For use when the user selects only UML Objects from the ListView but no diagrams to be copied, decodes Mime type = "application/x-uml-clip1

Here is the call graph for this function:

◆ decodeClip2()

bool UMLDragData::decodeClip2 ( const QMimeData *  mimeData,
UMLObjectList objects,
UMLViewList diagrams 
)
static

For use when the user selects UML Object and Diagrams from the ListView to be copied, decodes Mime type = "application/x-uml-clip2

Here is the call graph for this function:

◆ decodeClip3()

bool UMLDragData::decodeClip3 ( const QMimeData *  mimeData,
UMLListViewItemList umlListViewItems,
const UMLListView parentListView = 0 
)
static

For use when the user selects UMLObjects from the ListView to be copied, decodes Mime type = "application/x-uml-clip3

Here is the call graph for this function:

◆ decodeClip4()

bool UMLDragData::decodeClip4 ( const QMimeData *  mimeData,
UMLObjectList objects,
UMLWidgetList widgets,
AssociationWidgetList associations,
Uml::DiagramType::Enum dType 
)
static

For use when the user selects UML Objects from a Diagram. The Selected widgets and the relationships between only selected widgets will be copied

decodes Mime type = "application/x-uml-clip4"

Here is the call graph for this function:

◆ decodeClip5()

bool UMLDragData::decodeClip5 ( const QMimeData *  mimeData,
UMLObjectList objects,
UMLClassifier newParent 
)
static

For use when the user selects only Attributes and/or Operations from the ListView * copied, decodes Mime type = "application/x-uml-clip5

Here is the call graph for this function:

◆ decodeObjects()

bool UMLDragData::decodeObjects ( QDomNode &  objectsNode,
UMLObjectList objects,
bool  skipIfObjectExists = false 
)
staticprivate

Decode UMLObjects from clip

Here is the call graph for this function:

◆ decodeViews()

bool UMLDragData::decodeViews ( QDomNode &  umlviewsNode,
UMLViewList diagrams 
)
staticprivate

Decode views from clip

Here is the call graph for this function:

◆ executeCreateWidgetCommand()

void UMLDragData::executeCreateWidgetCommand ( UMLWidget widget)
staticprivate

Execute the CmdCreateWidget undo command

Here is the call graph for this function:

◆ getClip3TypeAndID()

bool UMLDragData::getClip3TypeAndID ( const QMimeData *  mimeData,
LvTypeAndID_List typeAndIdList 
)
static

Return just the LvTypeAndID of a Clip3.

Parameters
mimeDataThe encoded source.
typeAndIdListThe LvTypeAndID_List decoded from the source.
Returns
True if decoding was successful.
Here is the call graph for this function:

◆ getCodingType()

int UMLDragData::getCodingType ( const QMimeData *  mimeData)
static

Converts application/x-uml-clip[1-5] clip type to an integer

◆ setUMLDataClip1()

void UMLDragData::setUMLDataClip1 ( UMLObjectList objects)
private

For use when the user selects only UMLObjects from the ListView but no diagrams to be copied

Here is the call graph for this function:

◆ setUMLDataClip2()

void UMLDragData::setUMLDataClip2 ( UMLObjectList objects,
UMLViewList diagrams 
)
private

For use when the user selects UML Object and Diagrams from the ListView to be copied

Here is the call graph for this function:

◆ setUMLDataClip3()

void UMLDragData::setUMLDataClip3 ( UMLListViewItemList umlListViewItems)
private

For use when the user selects only empty folders from the ListView to be copied.

Here is the call graph for this function:

◆ setUMLDataClip4()

void UMLDragData::setUMLDataClip4 ( UMLObjectList objects,
UMLWidgetList widgets,
AssociationWidgetList associations,
QPixmap &  pngImage,
UMLScene scene 
)
private

For use when the user selects UML Objects from a Diagram. The Selected widgets and the relationships between only selected widgets will be copied and also its respective ListView Items

Here is the call graph for this function:

◆ setUMLDataClip5()

void UMLDragData::setUMLDataClip5 ( UMLObjectList objects)
private

For use when the user selects only Attributes and/or Operation from the ListView

Here is the call graph for this function:

The documentation for this class was generated from the following files: