You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesdk/umbrello/umbrello/ownedhierarchicalcodeblock.cpp

114 lines
3.2 KiB

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* copyright (C) 2004-2007 *
* Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
***************************************************************************/
/* This code generated by:
* Author : thomas
* Date : Fri Aug 07 2003
*/
// own header
#include "ownedhierarchicalcodeblock.h"
// qt/kde includes
#include <kdebug.h>
// local includes
#include "association.h"
#include "umldoc.h"
#include "umlobject.h"
#include "umlrole.h"
#include "codedocument.h"
#include "codegenerator.h"
// Constructors/Destructors
//
OwnedHierarchicalCodeBlock::OwnedHierarchicalCodeBlock ( UMLObject *parent, CodeDocument * doc, const TQString &start, const TQString &end, const TQString &comment)
: HierarchicalCodeBlock ( doc, start, end, comment), OwnedCodeBlock(parent)
{
}
OwnedHierarchicalCodeBlock::~OwnedHierarchicalCodeBlock ( ) { }
//
// Methods
//
// Accessor methods
//
// Other methods
//
void OwnedHierarchicalCodeBlock::release () {
OwnedCodeBlock::release();
HierarchicalCodeBlock::release();
}
void OwnedHierarchicalCodeBlock::setAttributesFromObject (TextBlock * obj) {
HierarchicalCodeBlock::setAttributesFromObject(obj);
OwnedCodeBlock::setAttributesFromObject(obj);
}
void OwnedHierarchicalCodeBlock::setAttributesOnNode (TQDomDocument & doc, TQDomElement & elem ) {
// set super-class attributes
HierarchicalCodeBlock::setAttributesOnNode(doc, elem);
OwnedCodeBlock::setAttributesOnNode(doc, elem);
// set local class attributes
elem.setAttribute("parent_id",ID2STR(getParentObject()->getID()));
// setting ID's takes special treatment
// as UMLRoles arent properly stored in the XMI right now.
// (change would break the XMI format..save for big version change )
UMLRole * role = dynamic_cast<UMLRole*>(getParentObject());
if(role) {
// see comment on role_id at OwnedCodeBlock::setAttributesOnNode()
elem.setAttribute("role_id", (role->getRole() == Uml::A));
}
/* else
elem.setAttribute("role_id","-1");
*/
}
/** set the class attributes of this object from
* the passed element node.
*/
void OwnedHierarchicalCodeBlock::setAttributesFromNode ( TQDomElement & root)
{
// set attributes from the XMI
HierarchicalCodeBlock::setAttributesFromNode(root); // superclass load
OwnedCodeBlock::setAttributesFromNode(root); // superclass load
}
CodeDocument * OwnedHierarchicalCodeBlock::getParentDocument() {
return TextBlock::getParentDocument();
}
/**
*/
void OwnedHierarchicalCodeBlock::syncToParent ( ) {
if(getContentType() != CodeBlock::AutoGenerated)
return;
updateContent();
}
#include "ownedhierarchicalcodeblock.moc"