umbrello/umbrello
operation.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 * This program is free software; you can redistribute it and/or modify * 00003 * it under the terms of the GNU General Public License as published by * 00004 * the Free Software Foundation; either version 2 of the License, or * 00005 * (at your option) any later version. * 00006 * * 00007 * copyright (C) 2002-2009 * 00008 * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> * 00009 ***************************************************************************/ 00010 00011 #ifndef OPERATION_H 00012 #define OPERATION_H 00013 00014 #include "umlattributelist.h" 00015 #include "classifierlistitem.h" 00016 00017 class UMLClassifier; 00018 00024 class UMLOperation : public UMLClassifierListItem 00025 { 00026 Q_OBJECT 00027 public: 00028 UMLOperation(UMLClassifier * parent, const QString& name, 00029 Uml::IDType id = Uml::id_None, 00030 Uml::Visibility s = Uml::Visibility::Public, 00031 UMLObject *rt = 0); 00032 00033 UMLOperation(UMLClassifier * parent); 00034 00035 virtual ~UMLOperation(); 00036 00037 bool operator==( const UMLOperation & rhs ); 00038 00039 virtual void copyInto(UMLObject *lhs) const; 00040 00041 virtual UMLObject* clone() const; 00042 00043 void setType(UMLObject* type); 00044 00045 void moveParmLeft(UMLAttribute *a); 00046 void moveParmRight(UMLAttribute *a); 00047 00048 void removeParm(UMLAttribute *a, bool emitModifiedSignal = true); 00049 00050 UMLAttributeList getParmList() const; 00051 00052 UMLAttribute * findParm(const QString &name); 00053 00054 QString toString(Uml::Signature_Type sig = Uml::st_NoSig); 00055 00056 void addParm(UMLAttribute *parameter, int position = -1); 00057 00058 bool resolveRef(); 00059 00060 QString getUniqueParameterName(); 00061 00062 bool showPropertiesDialog(QWidget* parent); 00063 00064 bool isConstructorOperation(); 00065 bool isDestructorOperation(); 00066 bool isLifeOperation(); 00067 00068 void setConst(bool b); 00069 bool getConst() const; 00070 00071 void setSourceCode(const QString& code); 00072 QString getSourceCode() const; 00073 00074 void saveToXMI( QDomDocument & qDoc, QDomElement & qElement ); 00075 00076 protected: 00077 bool load( QDomElement & element ); 00078 00079 private: 00080 Uml::IDType m_returnId; 00081 UMLAttributeList m_List; 00082 bool m_bConst; 00083 QString m_Code; 00084 }; 00085 00086 #endif
KDE 4.4 API Reference