codeclassfielddeclarationblock.h
00001 /*************************************************************************** 00002 * * 00003 * This program is free software; you can redistribute it and/or modify * 00004 * it under the terms of the GNU General Public License as published by * 00005 * the Free Software Foundation; either version 2 of the License, or * 00006 * (at your option) any later version. * 00007 * * 00008 * copyright (C) 2004-2006 * 00009 * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> * 00010 ***************************************************************************/ 00011 00012 /* This code generated by: 00013 * Author : thomas 00014 * Date : Fri Jul 25 2003 00015 */ 00016 00017 #ifndef CODECLASSFIELDDECLARATIONBLOCK_H 00018 #define CODECLASSFIELDDECLARATIONBLOCK_H 00019 00020 00021 class UMLObject; 00022 class CodeClassField; 00023 00024 #include "codeblockwithcomments.h" 00025 #include "ownedcodeblock.h" 00026 00034 class CodeClassFieldDeclarationBlock : public CodeBlockWithComments, public OwnedCodeBlock 00035 { 00036 friend class CodeClassField; 00037 Q_OBJECT 00038 public: 00039 00040 // Constructors/Destructors 00041 // 00042 00046 CodeClassFieldDeclarationBlock (CodeClassField * parent); 00047 00051 virtual ~CodeClassFieldDeclarationBlock ( ); 00052 00057 CodeClassField * getParentClassField ( ); 00058 00061 UMLObject * getParentObject ( ); 00062 00063 // get the parent document 00064 CodeDocument * getParentDocument ( ); 00065 00069 virtual void saveToXMI ( QDomDocument & doc, QDomElement & root ); 00070 00074 virtual void loadFromXMI ( QDomElement & root ); 00075 00078 virtual void setAttributesFromObject (TextBlock * obj); 00079 00080 protected: 00081 00082 virtual void release (); 00083 00087 virtual void setAttributesOnNode ( QDomDocument & doc, QDomElement & blockElement); 00088 00092 virtual void setAttributesFromNode ( QDomElement & element); 00093 00096 virtual void updateContent() = 0; 00097 00098 // so parent can actually release this block 00099 void forceRelease (); 00100 00101 private: 00102 00103 CodeClassField * m_parentclassfield; 00104 void init(CodeClassField * parent); 00105 00106 public slots: 00107 00108 virtual void syncToParent(); 00109 00110 }; 00111 00112 #endif // CODECLASSFIELDDECLARATIONBLOCK_H
