diff options
Diffstat (limited to 'umbrello/umbrello/ownedhierarchicalcodeblock.h')
-rw-r--r-- | umbrello/umbrello/ownedhierarchicalcodeblock.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/umbrello/umbrello/ownedhierarchicalcodeblock.h b/umbrello/umbrello/ownedhierarchicalcodeblock.h new file mode 100644 index 00000000..af5ade94 --- /dev/null +++ b/umbrello/umbrello/ownedhierarchicalcodeblock.h @@ -0,0 +1,98 @@ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +/* This code generated by: + * Author : thomas + * Date : Fri Aug 07 2003 + */ + +#ifndef OWNEDHIERARCHICALCODEBLOCK_H +#define OWNEDHIERARCHICALCODEBLOCK_H + +#include "hierarchicalcodeblock.h" + +class UMLObject; +class CodeDocument; + +/** + * class OwnedHierarchicalCodeBlock + * A "chunk" of code within the code document that is "owned" by some + * umlobject. This is an abstract class that should be inherited. + */ + +class OwnedHierarchicalCodeBlock : public HierarchicalCodeBlock, public OwnedCodeBlock +{ + Q_OBJECT +public: + + // Constructors/Destructors + // + + /** constructor with QString so we can create & populate it in + * one step. + */ + OwnedHierarchicalCodeBlock ( UMLObject * parent, CodeDocument * parentDoc, const QString &start="", const QString &end="", const QString &comment="" ); + + /** + * Empty Destructor + */ + virtual ~OwnedHierarchicalCodeBlock ( ); + + // Public attributes + // + + // Return the parent code document + CodeDocument * getParentDocument(); + + // these next 2 methods should be supplied by inheriting classes + /** + * Save the XMI representation of this object + */ + virtual void saveToXMI ( QDomDocument & doc, QDomElement & root ) = 0; + + /** + * load params from the appropriate XMI element node. + */ + virtual void loadFromXMI ( QDomElement & root ) = 0; + +protected: + + /** causes the text block to release all of its connections + * and any other text blocks that it 'owns'. + * needed to be called prior to deletion of the textblock. + */ + virtual void release (); + + /** set attributes of the node that represents this class + * in the XMI document. + */ + virtual void setAttributesOnNode ( QDomDocument & doc, QDomElement & blockElement); + + /** set the class attributes of this object from + * the passed element node. + */ + virtual void setAttributesFromNode ( QDomElement & element); + + /** set the class attributes from a passed object + */ + virtual void setAttributesFromObject (TextBlock * obj); + + virtual void updateContent ( ) = 0; + +private: + +public slots: + + void syncToParent ( ); + + +}; + +#endif // OWNEDHIERARCHICALCODEBLOCK_H |