• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

umbrello/umbrello

  • sources
  • kde-4.12
  • kdesdk
  • umbrello
  • umbrello
operation.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2002-2013 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 // own header
12 #include "operation.h"
13 
14 // app includes
15 #include "attribute.h"
16 #include "classifier.h"
17 #include "debug_utils.h"
18 #include "uml.h"
19 #include "umldoc.h"
20 #include "uniqueid.h"
21 #include "umloperationdialog.h"
22 #include "codegenerator.h"
23 #include "codedocument.h"
24 #include "codeblock.h"
25 
26 // kde includes
27 #include <klocale.h>
28 
29 // qt includes
30 #include <QRegExp>
31 
44 UMLOperation::UMLOperation(UMLClassifier *parent, const QString& name,
45  Uml::ID::Type id, Uml::Visibility::Enum s, UMLObject *rt)
46  : UMLClassifierListItem(parent, name, id)
47 {
48  if (rt)
49  m_returnId = UniqueID::gen();
50  else
51  m_returnId = Uml::ID::None;
52  m_pSecondary = rt;
53  m_visibility = s;
54  m_BaseType = UMLObject::ot_Operation;
55  m_bConst = false;
56  m_Code.clear();
57 }
58 
67 UMLOperation::UMLOperation(UMLClassifier * parent)
68  : UMLClassifierListItem (parent)
69 {
70  m_BaseType = UMLObject::ot_Operation;
71  m_bConst = false;
72  m_Code.clear();
73 }
74 
78 UMLOperation::~UMLOperation()
79 {
80 }
81 
87 void UMLOperation::setType(UMLObject* type)
88 {
89  UMLClassifierListItem::setType(type);
90  if (m_returnId == Uml::ID::None)
91  m_returnId = UniqueID::gen();
92 }
93 
99 void UMLOperation::moveParmLeft(UMLAttribute * a)
100 {
101  if (a == NULL) {
102  uDebug() << "called on NULL attribute";
103  return;
104  }
105  uDebug() << "called for " << a->name();
106  disconnect(a, SIGNAL(modified()), this, SIGNAL(modified()));
107  int idx;
108  if ((idx=m_List.indexOf(a)) == -1) {
109  uDebug() << "Error move parm left " << a->name();
110  return;
111  }
112  if (idx == 0)
113  return;
114  m_List.removeAll(a);
115  m_List.insert(idx-1, a);
116 }
117 
123 void UMLOperation::moveParmRight(UMLAttribute * a)
124 {
125  if (a == NULL) {
126  uDebug() << "called on NULL attribute";
127  return;
128  }
129  uDebug() << "called for " << a->name();
130  disconnect(a, SIGNAL(modified()), this, SIGNAL(modified()));
131  int idx;
132  if ((idx=m_List.indexOf(a)) == -1) {
133  uDebug() << "Error move parm right " << a->name();
134  return;
135  }
136  int count = m_List.count();
137  if (idx == count-1)
138  return;
139  m_List.removeAll(a);
140  m_List.insert(idx+1, a);
141 }
142 
151 void UMLOperation::removeParm(UMLAttribute * a, bool emitModifiedSignal /* =true */)
152 {
153  if (a == NULL) {
154  uDebug() << "called on NULL attribute";
155  return;
156  }
157  uDebug() << "called for " << a->name();
158  disconnect(a, SIGNAL(modified()), this, SIGNAL(modified()));
159  if(!m_List.removeAll(a))
160  uDebug() << "Error removing parm " << a->name();
161 
162  if (emitModifiedSignal)
163  emit modified();
164 }
165 
171 UMLAttributeList UMLOperation::getParmList() const
172 {
173  return m_List;
174 }
175 
182 UMLAttribute* UMLOperation::findParm(const QString &name)
183 {
184  UMLAttribute * obj=0;
185  foreach (obj, m_List) {
186  if (obj->name() == name)
187  return obj;
188  }
189  return 0;
190 }
191 
198 QString UMLOperation::toString(Uml::SignatureType::Enum sig)
199 {
200  QString s;
201 
202  if (sig == Uml::SignatureType::ShowSig || sig == Uml::SignatureType::NoSig)
203  s = Uml::Visibility::toString(m_visibility, true) + ' ';
204 
205  s += name();
206  Uml::ProgrammingLanguage::Enum pl = UMLApp::app()->activeLanguage();
207  bool parameterlessOpNeedsParentheses =
208  (pl != Uml::ProgrammingLanguage::Pascal && pl != Uml::ProgrammingLanguage::Ada);
209 
210  if (sig == Uml::SignatureType::NoSig || sig == Uml::SignatureType::NoSigNoVis) {
211  if (parameterlessOpNeedsParentheses)
212  s.append("()");
213  return s;
214  }
215  int last = m_List.count();
216  if (last) {
217  s.append("(");
218  int i = 0;
219  foreach (UMLAttribute *param, m_List) {
220  i++;
221  s.append(param->toString(Uml::SignatureType::SigNoVis));
222  if (i < last)
223  s.append(", ");
224  }
225  s.append(")");
226  } else if (parameterlessOpNeedsParentheses) {
227  s.append("()");
228  }
229  UMLClassifier *ownParent = static_cast<UMLClassifier*>(parent());
230  QString returnType;
231  UMLClassifier *retType = UMLClassifierListItem::getType();
232  if (retType) {
233  UMLPackage *retVisibility = retType->umlPackage();
234  if (retVisibility != ownParent && retVisibility != ownParent->umlPackage())
235  returnType = retType->fullyQualifiedName();
236  else
237  returnType = retType->name();
238  }
239  if (returnType.length() > 0 && returnType != "void") {
240  s.append(" : ");
241 
242  if (returnType.startsWith(QLatin1String("virtual "))) {
243  s += returnType.mid(8);
244  } else {
245  s += returnType;
246  }
247  }
248  return s;
249 }
250 
259 void UMLOperation::addParm(UMLAttribute *parameter, int position)
260 {
261  if(position >= 0 && position <= (int)m_List.count())
262  m_List.insert(position, parameter);
263  else
264  m_List.append(parameter);
265  UMLObject::emitModified();
266  connect(parameter, SIGNAL(modified()), this, SIGNAL(modified()));
267 }
268 
272 QString UMLOperation::getUniqueParameterName()
273 {
274  QString currentName = i18n("new_parameter");
275  QString name = currentName;
276  for (int number = 1; findParm(name); ++number) {
277  name = currentName + '_' + QString::number(number);
278  }
279  return name;
280 }
281 
285 bool UMLOperation::operator==(const UMLOperation & rhs) const
286 {
287  if (this == &rhs)
288  return true;
289 
290  if (!UMLObject::operator==(rhs))
291  return false;
292 
293  if (getTypeName() != rhs.getTypeName())
294  return false;
295 
296  if (m_List.count() != rhs.m_List.count())
297  return false;
298 
299  if (!(m_List == rhs.m_List))
300  return false;
301 
302  return true;
303 }
304 
309 void UMLOperation::copyInto(UMLObject *lhs) const
310 {
311  UMLOperation *target = static_cast<UMLOperation*>(lhs);
312 
313  UMLClassifierListItem::copyInto(target);
314 
315  m_List.copyInto(&(target->m_List));
316 }
317 
321 UMLObject* UMLOperation::clone() const
322 {
323  //FIXME: The new operation should be slaved to the NEW parent not the old.
324  UMLOperation *clone = new UMLOperation(static_cast<UMLClassifier*>(parent()));
325  copyInto(clone);
326 
327  return clone;
328 }
329 
336 bool UMLOperation::resolveRef()
337 {
338  bool overallSuccess = UMLObject::resolveRef();
339  // See remark on iteration style in UMLClassifier::resolveRef()
340  foreach (UMLAttribute* pAtt, m_List) {
341  if (! pAtt->resolveRef())
342  overallSuccess = false;
343  }
344  return overallSuccess;
345 }
346 
352 bool UMLOperation::isConstructorOperation()
353 {
354  // if an operation has the stereotype constructor
355  // return true
356  QString strConstructor ("constructor");
357  if (stereotype() == strConstructor)
358  return true;
359 
360  UMLClassifier * c = static_cast<UMLClassifier*>(this->parent());
361  QString cName = c->name();
362  QString opName = name();
363  // It's a constructor operation if the operation name
364  // matches that of the parent classifier.
365  return (cName == opName);
366 }
367 
373 bool UMLOperation::isDestructorOperation()
374 {
375  if (stereotype() == "destructor")
376  return true;
377  UMLClassifier * c = static_cast<UMLClassifier*>(this->parent());
378 
379  QString cName = c->name();
380  QString opName = name();
381  // Special support for C++ syntax:
382  // It's a destructor operation if the operation name begins
383  // with "~" followed by the name of the parent classifier.
384  if (! opName.startsWith('~'))
385  return false;
386  opName.remove(QRegExp("^~\\s*"));
387  return (cName == opName);
388 }
389 
395 bool UMLOperation::isLifeOperation()
396 {
397  return (isConstructorOperation() || isDestructorOperation());
398 }
399 
403 void UMLOperation::setConst(bool b)
404 {
405  m_bConst = b;
406 }
407 
411 bool UMLOperation::getConst() const
412 {
413  return m_bConst;
414 }
415 
421 bool UMLOperation::showPropertiesDialog(QWidget* parent)
422 {
423  UMLOperationDialog dialog(parent, this);
424  return dialog.exec();
425 }
426 
432 void UMLOperation::setSourceCode(const QString& code)
433 {
434  m_Code = code;
435 }
436 
440 QString UMLOperation::getSourceCode() const
441 {
442  return m_Code;
443 }
444 
448 void UMLOperation::saveToXMI(QDomDocument & qDoc, QDomElement & qElement)
449 {
450  QDomElement operationElement = UMLObject::save("UML:Operation", qDoc);
451  operationElement.setAttribute("isQuery", m_bConst ? "true" : "false");
452  QDomElement featureElement = qDoc.createElement("UML:BehavioralFeature.parameter");
453  if (m_pSecondary) {
454  QDomElement retElement = qDoc.createElement("UML:Parameter");
455  if (m_returnId == Uml::ID::None) {
456  uDebug() << name() << ": m_returnId is not set, setting it now.";
457  m_returnId = UniqueID::gen();
458  }
459  retElement.setAttribute("xmi.id", Uml::ID::toString(m_returnId));
460  retElement.setAttribute("type", Uml::ID::toString(m_pSecondary->id()));
461  retElement.setAttribute("kind", "return");
462  featureElement.appendChild(retElement);
463  } else {
464  uDebug() << "m_SecondaryId is " << m_SecondaryId;
465  }
466 
467  //save each attribute here, type different
468  foreach(UMLAttribute* pAtt, m_List) {
469  QDomElement attElement = pAtt->UMLObject::save("UML:Parameter", qDoc);
470  UMLClassifier *attrType = pAtt->getType();
471  if (attrType) {
472  attElement.setAttribute("type", Uml::ID::toString(attrType->id()));
473  } else {
474  attElement.setAttribute("type", pAtt->getTypeName());
475  }
476  attElement.setAttribute("value", pAtt->getInitialValue());
477 
478  Uml::ParameterDirection::Enum kind = pAtt->getParmKind();
479  if (kind == Uml::ParameterDirection::Out)
480  attElement.setAttribute("kind", "out");
481  else if (kind == Uml::ParameterDirection::InOut)
482  attElement.setAttribute("kind", "inout");
483  // The default for the parameter kind is "in".
484 
485  featureElement.appendChild(attElement);
486  }
487  if (featureElement.hasChildNodes()) {
488  operationElement.appendChild(featureElement);
489  }
490  qElement.appendChild(operationElement);
491 }
492 
496 bool UMLOperation::load(QDomElement & element)
497 {
498  m_SecondaryId = element.attribute("type", "");
499  QString isQuery = element.attribute("isQuery", "");
500  if (!isQuery.isEmpty()) {
501  // We need this extra test for isEmpty() because load() might have been
502  // called again by the processing for BehavioralFeature.parameter (see below)
503  m_bConst = (isQuery == "true");
504  }
505  QDomNode node = element.firstChild();
506  if (node.isComment())
507  node = node.nextSibling();
508  QDomElement attElement = node.toElement();
509  while (!attElement.isNull()) {
510  QString tag = attElement.tagName();
511  if (UMLDoc::tagEq(tag, "BehavioralFeature.parameter")) {
512  if (! load(attElement))
513  return false;
514  } else if (UMLDoc::tagEq(tag, "Parameter")) {
515  QString kind = attElement.attribute("kind", "");
516  if (kind.isEmpty()) {
517  // Perhaps the kind is stored in a child node:
518  for (QDomNode n = attElement.firstChild(); !n.isNull(); n = n.nextSibling()) {
519  if (n.isComment())
520  continue;
521  QDomElement tempElement = n.toElement();
522  QString tag = tempElement.tagName();
523  if (!UMLDoc::tagEq(tag, "kind"))
524  continue;
525  kind = tempElement.attribute("xmi.value", "");
526  break;
527  }
528  if (kind.isEmpty()) {
529  kind = "in";
530  }
531  }
532  if (kind == "return") {
533  QString returnId = attElement.attribute("xmi.id", "");
534  if (!returnId.isEmpty())
535  m_returnId = Uml::ID::fromString(returnId);
536  m_SecondaryId = attElement.attribute("type", "");
537  if (m_SecondaryId.isEmpty()) {
538  // Perhaps the type is stored in a child node:
539  QDomNode node = attElement.firstChild();
540  while (!node.isNull()) {
541  if (node.isComment()) {
542  node = node.nextSibling();
543  continue;
544  }
545  QDomElement tempElement = node.toElement();
546  QString tag = tempElement.tagName();
547  if (!UMLDoc::tagEq(tag, "type")) {
548  node = node.nextSibling();
549  continue;
550  }
551  m_SecondaryId = tempElement.attribute("xmi.id", "");
552  if (m_SecondaryId.isEmpty())
553  m_SecondaryId = tempElement.attribute("xmi.idref", "");
554  if (m_SecondaryId.isEmpty()) {
555  QDomNode inner = node.firstChild();
556  QDomElement tmpElem = inner.toElement();
557  m_SecondaryId = tmpElem.attribute("xmi.id", "");
558  if (m_SecondaryId.isEmpty())
559  m_SecondaryId = tmpElem.attribute("xmi.idref", "");
560  }
561  break;
562  }
563  if (m_SecondaryId.isEmpty()) {
564  uError() << name() << ": cannot find return type.";
565  }
566  }
567  // Use deferred xmi.id resolution.
568  m_pSecondary = NULL;
569  } else {
570  UMLAttribute * pAtt = new UMLAttribute(this);
571  if(!pAtt->loadFromXMI(attElement)) {
572  delete pAtt;
573  return false;
574  }
575  if (kind == "out")
576  pAtt->setParmKind(Uml::ParameterDirection::Out);
577  else if (kind == "inout")
578  pAtt->setParmKind(Uml::ParameterDirection::InOut);
579  else
580  pAtt->setParmKind(Uml::ParameterDirection::In);
581  m_List.append(pAtt);
582  }
583  }
584  node = node.nextSibling();
585  if (node.isComment())
586  node = node.nextSibling();
587  attElement = node.toElement();
588 
589  // loading the source code which was entered in the 'classpropdlg' dialog is not done
590  // with the following code, because there is no CodeDocument.
591  /*
592  CodeGenerator* codegen = UMLApp::app()->getGenerator();
593  if (codegen) {
594  uDebug() << "CodeDocument searching with id=" << Uml::ID::toString(UMLObject::ID());
595  CodeDocument* codeDoc = codegen->findCodeDocumentByID(Uml::ID::toString(UMLObject::ID()));
596  if (codeDoc) {
597  uDebug() << "CodeDocument found:\n" << codeDoc;
598  }
599  }
600  */
601  // it is done in the code generators by calling CodeGenerator::loadFromXMI(...).
602 
603  }//end while
604  return true;
605 }
606 
607 #include "operation.moc"
UMLOperation::removeParm
void removeParm(UMLAttribute *a, bool emitModifiedSignal=true)
Remove a parameter from the operation.
Definition: operation.cpp:151
UMLPackage
This class contains the non-graphical information required for a UML Package.
Definition: package.h:32
UMLOperation::getConst
bool getConst() const
Returns whether this operation is a query (C++ "const").
Definition: operation.cpp:411
UMLClassifier
This class defines the non-graphical information required for a UML Classifier (ie a class or interfa...
Definition: classifier.h:39
UMLClassifierListItem::getType
UMLClassifier * getType() const
Returns the type of the UMLClassifierListItem.
Definition: classifierlistitem.cpp:100
UniqueID::gen
Uml::ID::Type gen()
MAIN FUNCTION: Return a new unique ID.
Definition: uniqueid.cpp:26
UMLOperation::copyInto
virtual void copyInto(UMLObject *lhs) const
Copy the internal presentation of this object into the new object.
Definition: operation.cpp:309
UMLObject::loadFromXMI
virtual bool loadFromXMI(QDomElement &element)
This method loads the generic parts of the XMI common to most model classes.
Definition: umlobject.cpp:914
UMLClassifierListItem
Classifiers (classes, interfaces) have lists of operations, attributes, templates and others...
Definition: classifierlistitem.h:29
Uml::ProgrammingLanguage::Ada
Definition: basictypes.h:243
UMLAttribute::getInitialValue
QString getInitialValue() const
Returns The initial value of the UMLAttribute.
Definition: attribute.cpp:98
Uml::Visibility::Enum
Enum
Definition: basictypes.h:56
UMLClassifierListItem::setType
virtual void setType(UMLObject *type)
Sets the type of the UMLAttribute.
Definition: classifierlistitem.cpp:125
UMLAttribute::getParmKind
Uml::ParameterDirection::Enum getParmKind() const
Definition: attribute.cpp:121
codedocument.h
UMLDoc::tagEq
static bool tagEq(const QString &tag, const QString &pattern)
Function for comparing tags in XMI files.
Definition: umldoc.cpp:3030
UMLOperation::getUniqueParameterName
QString getUniqueParameterName()
Returns an unused parameter name for a new parameter.
Definition: operation.cpp:272
Uml::ProgrammingLanguage::Enum
Enum
Definition: basictypes.h:241
QWidget
UMLApp::app
static UMLApp * app()
Get the last created instance of this class.
Definition: uml.cpp:206
umloperationdialog.h
UMLAttribute
This class is used to set up information for an attribute.
Definition: attribute.h:27
UMLAttributeList
This sub-class adds copyInto and clone to the QPtrList base class.
Definition: umlattributelist.h:26
UMLOperation::resolveRef
bool resolveRef()
Calls resolveRef() on all parameters.
Definition: operation.cpp:336
UMLObject::ot_Operation
Definition: umlobject.h:59
UMLOperationDialog
Definition: umloperationdialog.h:37
codeblock.h
UMLOperation::operator==
bool operator==(const UMLOperation &rhs) const
Overloaded '==' operator.
Definition: operation.cpp:285
classifier.h
Uml::SignatureType::Enum
Enum
Definition: basictypes.h:134
debug_utils.h
UMLOperation::toString
QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig)
Returns a string representation of the operation.
Definition: operation.cpp:198
UMLObject
This class is the non-graphical version of UMLWidget.
Definition: umlobject.h:41
UMLOperation::setType
void setType(UMLObject *type)
Reimplement method from UMLClassifierListItem.
Definition: operation.cpp:87
UMLOperation::isLifeOperation
bool isLifeOperation()
Shortcut for (isConstructorOperation() || isDestructorOperation()).
Definition: operation.cpp:395
UMLOperation::saveToXMI
void saveToXMI(QDomDocument &qDoc, QDomElement &qElement)
Saves to the XMI element.
Definition: operation.cpp:448
codegenerator.h
Uml::SignatureType::SigNoVis
Definition: basictypes.h:137
UMLOperation::findParm
UMLAttribute * findParm(const QString &name)
Finds a parameter of the operation.
Definition: operation.cpp:182
Uml::SignatureType::ShowSig
Definition: basictypes.h:136
UMLObject::resolveRef
virtual bool resolveRef()
Resolve referenced objects (if any.) Needs to be called after all UML objects are loaded from file...
Definition: umlobject.cpp:709
UMLOperation::setSourceCode
void setSourceCode(const QString &code)
Sets the source code for this operation.
Definition: operation.cpp:432
UMLOperation::addParm
void addParm(UMLAttribute *parameter, int position=-1)
Add a parameter to the operation.
Definition: operation.cpp:259
attribute.h
UMLOperation::load
bool load(QDomElement &element)
Loads a XMI element.
Definition: operation.cpp:496
UMLClassifierListItem::copyInto
virtual void copyInto(UMLObject *lhs) const
Copy the internal presentation of this object into the new object.
Definition: classifierlistitem.cpp:77
uDebug
#define uDebug()
Definition: debug_utils.h:95
Uml::Visibility::toString
QString toString(Enum item, bool mnemonic)
Convert Visibility item into QString representation.
Definition: basictypes.cpp:99
Uml::ParameterDirection::Out
Definition: basictypes.h:229
UMLObject::emitModified
void emitModified()
Forces the emission of the modified signal.
Definition: umlobject.cpp:354
UMLObject::stereotype
QString stereotype(bool includeAdornments=false) const
Returns the stereotype.
Definition: umlobject.cpp:581
Uml::ID::Type
std::string Type
Definition: basictypes.h:317
UMLOperation::setConst
void setConst(bool b)
Sets whether this operation is a query (C++ "const").
Definition: operation.cpp:403
UMLOperation::isDestructorOperation
bool isDestructorOperation()
Returns whether this operation is a destructor.
Definition: operation.cpp:373
UMLOperation::UMLOperation
UMLOperation(UMLClassifier *parent, const QString &name, Uml::ID::Type id=Uml::ID::None, Uml::Visibility::Enum s=Uml::Visibility::Public, UMLObject *rt=0)
Constructs an UMLOperation.
Definition: operation.cpp:44
UMLObject::m_BaseType
ObjectType m_BaseType
objects type
Definition: umlobject.h:176
Uml::ID::toString
QString toString(const ID::Type &id)
Definition: basictypes.cpp:1048
UMLObject::save
QDomElement save(const QString &tag, QDomDocument &qDoc)
Auxiliary to saveToXMI.
Definition: umlobject.cpp:808
UMLOperation::showPropertiesDialog
bool showPropertiesDialog(QWidget *parent)
Display the properties configuration dialog for the template.
Definition: operation.cpp:421
operation.h
umldoc.h
Uml::SignatureType::NoSigNoVis
Definition: basictypes.h:138
UMLObject::umlPackage
UMLPackage * umlPackage()
Returns the UMLPackage that this class is located in.
Definition: umlobject.cpp:641
UMLOperation
This class represents an operation in the UML model.
Definition: operation.h:24
UMLOperation::moveParmLeft
void moveParmLeft(UMLAttribute *a)
Move a parameter one position to the left.
Definition: operation.cpp:99
Uml::SignatureType::NoSig
Definition: basictypes.h:135
UMLOperation::getSourceCode
QString getSourceCode() const
Returns the source code for this operation.
Definition: operation.cpp:440
Uml::ProgrammingLanguage::Pascal
Definition: basictypes.h:251
uError
#define uError()
Definition: debug_utils.h:96
Uml::ParameterDirection::In
Definition: basictypes.h:227
UMLObject::name
QString name() const
Returns a copy of m_name.
Definition: umlobject.cpp:185
uniqueid.h
UMLAttributeList::copyInto
virtual void copyInto(UMLAttributeList *rhs) const
Copy the internal presentation of this object into the new object.
Definition: umlattributelist.cpp:34
UMLApp::activeLanguage
Uml::ProgrammingLanguage::Enum activeLanguage() const
Get the language for import and code generation.
Definition: uml.cpp:2353
UMLOperation::isConstructorOperation
bool isConstructorOperation()
Returns whether this operation is a constructor.
Definition: operation.cpp:352
UMLObject::m_SecondaryId
QString m_SecondaryId
xmi.id of the secondary object for intermediate use during loading.
Definition: umlobject.h:186
Uml::ID::fromString
ID::Type fromString(const QString &id)
Definition: basictypes.cpp:1053
Uml::ParameterDirection::InOut
Definition: basictypes.h:228
Uml::ParameterDirection::Enum
Enum
Definition: basictypes.h:226
UMLObject::fullyQualifiedName
virtual QString fullyQualifiedName(const QString &separator=QString(), bool includeRoot=false) const
Returns the fully qualified name, i.e.
Definition: umlobject.cpp:201
UMLObject::m_visibility
Uml::Visibility::Enum m_visibility
objects visibility
Definition: umlobject.h:177
UMLOperation::clone
virtual UMLObject * clone() const
Make a clone of this object.
Definition: operation.cpp:321
UMLClassifierListItem::getTypeName
virtual QString getTypeName() const
Returns the type name of the UMLClassifierListItem.
Definition: classifierlistitem.cpp:110
UMLAttribute::toString
QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig)
Returns a string representation of the UMLAttribute.
Definition: attribute.cpp:132
Uml::ID::None
const Type None
special value for uninitialized ID
Definition: basictypes.h:319
UMLObject::modified
void modified()
UMLOperation::~UMLOperation
virtual ~UMLOperation()
Destructor.
Definition: operation.cpp:78
UMLObject::m_pSecondary
UMLObject * m_pSecondary
pointer to an associated object Only a few of the classes inheriting from UMLObject use this...
Definition: umlobject.h:182
UMLAttribute::setParmKind
void setParmKind(Uml::ParameterDirection::Enum pk)
Definition: attribute.cpp:116
uml.h
UMLOperation::getParmList
UMLAttributeList getParmList() const
Returns a list of parameters.
Definition: operation.cpp:171
UMLOperation::moveParmRight
void moveParmRight(UMLAttribute *a)
Move a parameter one position to the right.
Definition: operation.cpp:123
UMLObject::id
virtual Uml::ID::Type id() const
Returns the ID of the object.
Definition: umlobject.cpp:394
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:06:00 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

umbrello/umbrello

Skip menu "umbrello/umbrello"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal