codeoperation.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "codeoperation.h"
00019
00020
00021 #include <kdebug.h>
00022
00023
00024 #include "codedocument.h"
00025 #include "codegenerator.h"
00026 #include "classifiercodedocument.h"
00027 #include "uml.h"
00028 #include "umldoc.h"
00029 #include "umlobject.h"
00030
00031
00032
00033
00034
00035 CodeOperation::CodeOperation ( ClassifierCodeDocument * doc , UMLOperation * parentOp, const QString & body, const QString & comment)
00036 : CodeMethodBlock ( doc, parentOp, body, comment)
00037 {
00038 init(parentOp);
00039 }
00040
00041 CodeOperation::~CodeOperation ( ) { }
00042
00043
00044
00045
00046
00047
00048
00049
00053
00054
00055
00056
00057
00058
00062
00063
00064
00065
00066
00067
00073
00074
00075
00076
00077
00078
00082 UMLOperation * CodeOperation::getParentOperation( ) {
00083 return dynamic_cast<UMLOperation*>(getParentObject());
00084 }
00085
00086
00087
00088
00091 void CodeOperation::saveToXMI ( QDomDocument & doc, QDomElement & root ) {
00092 QDomElement blockElement = doc.createElement( "codeoperation" );
00093
00094
00095 setAttributesOnNode(doc, blockElement);
00096
00097 root.appendChild( blockElement );
00098 }
00099
00103 void CodeOperation::loadFromXMI ( QDomElement & root )
00104 {
00105 setAttributesFromNode(root);
00106 }
00107
00108 QString CodeOperation::findTag (UMLOperation * op) {
00109 return QString("operation_" + ID2STR(op->getID()));
00110 }
00111
00115 void CodeOperation::setAttributesOnNode ( QDomDocument & doc, QDomElement & elem)
00116 {
00117
00118 CodeMethodBlock::setAttributesOnNode(doc,elem);
00119
00120 }
00121
00125 void CodeOperation::setAttributesFromNode ( QDomElement & element)
00126 {
00127
00128 CodeMethodBlock::setAttributesFromNode(element);
00129
00130
00131
00132
00133
00134
00135
00136 QString idStr = element.attribute("parent_id","-1");
00137 Uml::IDType id = STR2ID(idStr);
00138 UMLObject * obj = UMLApp::app()->getDocument()->findObjectById(id);
00139 UMLOperation * op = dynamic_cast<UMLOperation*>(obj);
00140
00141 if(op)
00142 init(op);
00143 else
00144 kError()<<"ERROR: could'nt load code operation because of missing UMLoperation, corrupt savefile?"<<endl;
00145
00146 }
00147
00148 void CodeOperation::setAttributesFromObject(TextBlock * obj)
00149 {
00150
00151 CodeMethodBlock::setAttributesFromObject(obj);
00152
00153 CodeOperation * op = dynamic_cast<CodeOperation*>(obj);
00154 if(op)
00155 init((UMLOperation*) op->getParentObject());
00156
00157 }
00158
00159 void CodeOperation::init (UMLOperation * parentOp)
00160 {
00161
00162 m_canDelete = false;
00163 setTag(CodeOperation::findTag(parentOp));
00164
00165
00166
00167
00168 }
00169
00170 void CodeOperation::updateContent() {
00171 kDebug() << "CodeOperation::updateContent is called!" << endl;
00172
00173
00174 }
00175
00176
00177 #include "codeoperation.moc"
This file is part of the documentation for umbrello Version 3.1.0.