object_factory.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) 2006 * 00009 * Umbrello UML Modeller Authors <uml-devel@uml.sf.net> * 00010 ***************************************************************************/ 00011 00012 #ifndef OBJECT_FACTORY__H 00013 #define OBJECT_FACTORY__H 00014 00015 #include <qstring.h> 00016 #include "umlnamespace.h" 00017 00018 class UMLObject; 00019 class UMLPackage; 00020 class UMLClassifier; 00021 class UMLClassifierListItem; 00022 class UMLAttribute; 00023 class UMLOperation; 00024 00025 namespace Object_Factory { 00026 00041 UMLObject* createUMLObject(Uml::Object_Type type, 00042 const QString &n = QString::null, 00043 UMLPackage *parentPkg = 0, 00044 bool solicitNewName = true); 00045 00054 UMLClassifierListItem* createChildObject(UMLClassifier *parent, Uml::Object_Type type); 00055 00056 UMLAttribute *createAttribute(UMLObject *parent, const QString& name, 00057 UMLObject *type = 0); 00058 00059 UMLOperation *createOperation(UMLClassifier *parent, const QString& name); 00060 00068 void assignUniqueIdOnCreation(bool yesno); 00069 00073 bool assignUniqueIdOnCreation(); 00074 00079 UMLObject* makeObjectFromXMI(const QString& xmiTag, 00080 const QString& stereoID = QString::null); 00081 00082 } 00083 00084 #endif
