codeaccessormethod.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "codeaccessormethod.h"
00019
00020
00021 #include <kdebug.h>
00022
00023
00024 #include "classifiercodedocument.h"
00025 #include "codeclassfield.h"
00026 #include "attribute.h"
00027 #include "umlobject.h"
00028 #include "umlrole.h"
00029
00030
00031
00032
00033 CodeAccessorMethod::CodeAccessorMethod ( CodeClassField * parentCF )
00034 : CodeMethodBlock ( parentCF->getParentDocument(), parentCF->getParentObject() )
00035 {
00036 initFields(parentCF);
00037 }
00038
00039 CodeAccessorMethod::~CodeAccessorMethod ( ) { }
00040
00041
00042
00043
00044
00045
00046
00047
00048
00053 CodeClassField * CodeAccessorMethod::getParentClassField ( ) {
00054 return m_parentclassfield;
00055 }
00056
00057 bool CodeAccessorMethod::parentIsAttribute( ) {
00058 return getParentClassField()->parentIsAttribute();
00059 }
00060
00065
00066
00067
00068
00069
00070
00073 CodeAccessorMethod::AccessorType CodeAccessorMethod::getType( ) {
00074 return m_accessorType;
00075 }
00076
00079 void CodeAccessorMethod::setType ( CodeAccessorMethod::AccessorType atype) {
00080 m_accessorType = atype;
00081 }
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091 void CodeAccessorMethod::release () {
00092
00093 }
00094
00095
00096 void CodeAccessorMethod::forceRelease () {
00097 if(m_parentclassfield)
00098 m_parentclassfield->disconnect(this);
00099 CodeMethodBlock::release();
00100 }
00101
00105 void CodeAccessorMethod::loadFromXMI ( QDomElement & root ) {
00106 setAttributesFromNode(root);
00107 }
00108
00112 void CodeAccessorMethod::saveToXMI ( QDomDocument & doc, QDomElement & root ) {
00113 QDomElement docElement = doc.createElement( "codeaccessormethod" );
00114
00115 setAttributesOnNode(doc, docElement);
00116
00117 root.appendChild( docElement );
00118 }
00119
00123 void CodeAccessorMethod::setAttributesOnNode ( QDomDocument & doc, QDomElement & elem)
00124 {
00125
00126
00127 CodeMethodBlock::setAttributesOnNode(doc, elem);
00128
00129
00130 elem.setAttribute("accessType",getType());
00131 elem.setAttribute("classfield_id",getParentClassField()->getID());
00132
00133 }
00134
00138 void CodeAccessorMethod::setAttributesFromNode ( QDomElement & root) {
00139
00140
00141 CodeMethodBlock::setAttributesFromNode(root);
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165 setType((AccessorType) root.attribute("accessType","0").toInt());
00166
00167 }
00168
00169 void CodeAccessorMethod::setAttributesFromObject(TextBlock * obj)
00170 {
00171
00172 CodeMethodBlock::setAttributesFromObject(obj);
00173
00174 CodeAccessorMethod * mb = dynamic_cast<CodeAccessorMethod*>(obj);
00175 if(mb)
00176 {
00177 m_parentclassfield->disconnect(this);
00178
00179 initFields(mb->getParentClassField());
00180
00181 setType(mb->getType());
00182 }
00183
00184 }
00185
00186 void CodeAccessorMethod::initFields(CodeClassField * parentClassField ) {
00187
00188 m_parentclassfield = parentClassField;
00189 m_accessorType = GET;
00190 m_canDelete = false;
00191
00192 connect(m_parentclassfield,SIGNAL(modified()),this,SLOT(syncToParent()));
00193 }
00194
00195 #include "codeaccessormethod.moc"
This file is part of the documentation for umbrello Version 3.1.0.