umbrello API Documentation

cppcodegenerationpolicypage.cpp

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   : Wed Jul 30 2003
00015  */
00016 
00017 // own header
00018 #include "cppcodegenerationpolicypage.h"
00019 // qt/kde includes
00020 #include <kdebug.h>
00021 #include <klocale.h>
00022 #include <qlabel.h>
00023 #include <kcombobox.h>
00024 #include <qcheckbox.h>
00025 // app includes
00026 #include "cppcodegenerationformbase.h"
00027 #include "../uml.h"
00028 
00029 CPPCodeGenerationPolicyPage::CPPCodeGenerationPolicyPage( QWidget *parent, const char *name, CPPCodeGenerationPolicy * policy )
00030   : CodeGenerationPolicyPage(parent, name, policy)
00031 {
00032     CodeGenerationPolicy *common = UMLApp::app()->getCommonPolicy();
00033     form = new CPPCodeGenerationForm(this);
00034     form->m_SelectCommentStyle->setCurrentItem((int)(common->getCommentStyle()));
00035     form->setPackageIsANamespace(policy->getPackageIsNamespace());
00036     form->setVirtualDestructors(policy->getDestructorsAreVirtual());
00037     form->setGenerateAccessorMethods(policy->getAutoGenerateAccessors());
00038     form->setGenerateEmptyConstructors(common->getAutoGenerateConstructors());
00039     form->setOperationsAreInline(policy->getOperationsAreInline());
00040     form->setAccessorsAreInline(policy->getAccessorsAreInline());
00041     form->setAccessorsArePublic(policy->getAccessorsArePublic());
00042 
00043     form->m_stringClassHCombo->setCurrentItem(policy->getStringClassName(),true);
00044     form->m_listClassHCombo->setCurrentItem(policy->getVectorClassName(),true);
00045 
00046     form->m_stringIncludeFileHistoryCombo->setCurrentItem(policy->getStringClassNameInclude(),true);
00047     form->m_listIncludeFileHistoryCombo->setCurrentItem(policy->getVectorClassNameInclude(),true);
00048 
00049     form->m_globalStringCheckBox->setChecked(policy->stringIncludeIsGlobal());
00050     form->m_globalListCheckBox->setChecked(policy->vectorIncludeIsGlobal());
00051 }
00052 
00053 CPPCodeGenerationPolicyPage::~CPPCodeGenerationPolicyPage()
00054 {
00055 }
00056 
00057 void CPPCodeGenerationPolicyPage::apply()
00058 {
00059     CodeGenerationPolicy *common = UMLApp::app()->getCommonPolicy();
00060 
00061     // now do our cpp-specific configs
00062     CPPCodeGenerationPolicy * parent = (CPPCodeGenerationPolicy*) m_parentPolicy;
00063 
00064     // block signals so that we don't generate too many sync signals for child code
00065     // documents
00066     parent->blockSignals(true);
00067 
00068     common->setCommentStyle((CodeGenerationPolicy::CommentStyle ) form->m_SelectCommentStyle->currentItem());
00069     common->setAutoGenerateConstructors(form->getGenerateEmptyConstructors());
00070     parent->setAutoGenerateAccessors(form->getGenerateAccessorMethods());
00071 
00072     parent->setDestructorsAreVirtual(form->getVirtualDestructors());
00073     parent->setPackageIsNamespace(form->getPackageIsANamespace());
00074     parent->setAccessorsAreInline(form->getAccessorsAreInline());
00075     parent->setOperationsAreInline(form->getOperationsAreInline());
00076     parent->setAccessorsArePublic(form->getAccessorsArePublic());
00077 
00078     parent->setStringClassName(form->m_stringClassHCombo->currentText());
00079     parent->setStringClassNameInclude(form->m_stringIncludeFileHistoryCombo->currentText());
00080     parent->setStringIncludeIsGlobal(form->m_globalStringCheckBox->isChecked());
00081 
00082     parent->setVectorClassName(form->m_listClassHCombo->currentText());
00083     parent->setVectorClassNameInclude(form->m_listIncludeFileHistoryCombo->currentText());
00084     parent->setVectorIncludeIsGlobal(form->m_globalListCheckBox->isChecked());
00085 
00086     parent->blockSignals(false);
00087 
00088     // now send out modified code content signal
00089     common->emitModifiedCodeContentSig();
00090 
00091 }
00092 
00093 
00094 #include "cppcodegenerationpolicypage.moc"
KDE Logo
This file is part of the documentation for umbrello Version 3.1.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Jun 26 08:07:55 2007 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003