umbrello API Documentation

cppcodegenerationform.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-2007                                               *
00009  *   Umbrello UML Modeller Authors <uml-devel@uml.sf.net>                  *
00010  ***************************************************************************/
00011 
00012 /*  This code generated by:
00013  *      Author : thomas
00014  *      Date   : Thu Nov 20 2003
00015  */
00016 
00017 // own header
00018 #include "cppcodegenerationform.h"
00019 
00020 // qt/kde includes
00021 #include <qlabel.h>
00022 #include <qregexp.h>
00023 #include <qlistview.h>
00024 #include <kfiledialog.h>
00025 #include <kdebug.h>
00026 #include <klocale.h>
00027 #include <kcombobox.h>
00028 #include <kmessagebox.h>
00029 
00030 
00031 CPPCodeGenerationForm::CPPCodeGenerationForm( QWidget *parent, const char *name )
00032         : CPPCodeGenerationFormBase (parent,name)
00033 {
00034     init();
00035 
00036     GeneralOptionsListView->addColumn(tr2i18n("General Options"));
00037     pOptionPackageIsANamespace = new QCheckListItem( GeneralOptionsListView,
00038                                  tr2i18n("Package is a namespace"),
00039                                  QCheckListItem::CheckBox );
00040     pOptionVirtualDestructors = new QCheckListItem( GeneralOptionsListView,
00041                                 tr2i18n("Virtual destructors"),
00042                                 QCheckListItem::CheckBox );
00043     pOptionGenerateEmptyConstructors = new QCheckListItem( GeneralOptionsListView,
00044                                        tr2i18n("Generate empty constructors"),
00045                                        QCheckListItem::CheckBox );
00046     pOptionGenerateAccessorMethods = new QCheckListItem( GeneralOptionsListView,
00047                                      tr2i18n("Generate accessor methods"),
00048                                      QCheckListItem::CheckBox );
00049     pOptionOperationsAreInline = new QCheckListItem( GeneralOptionsListView,
00050                                  tr2i18n("Operations are inline"),
00051                                  QCheckListItem::CheckBox );
00052     pOptionAccessorsAreInline = new QCheckListItem( GeneralOptionsListView,
00053                                 tr2i18n("Accessors are inline"),
00054                                 QCheckListItem::CheckBox );
00055 
00056     pOptionAccessorsArePublic = new QCheckListItem( GeneralOptionsListView,
00057                                 tr2i18n("Accessors are public"),
00058                                 QCheckListItem::CheckBox );
00059 
00060     connect(GeneralOptionsListView,
00061             SIGNAL(clicked(QListViewItem *)), this,
00062             SLOT(generalOptionsListViewClicked(QListViewItem *))
00063            );
00064 
00065 }
00066 
00067 CPPCodeGenerationForm::~CPPCodeGenerationForm()
00068 {
00069 }
00070 
00071 void CPPCodeGenerationForm::browseClicked()
00072 {
00073     QString button = sender()->name();
00074     QString file = KFileDialog::getOpenFileName( QString::null, "*.h", this, "Get Header File");
00075 
00076     if(file.isEmpty())
00077         return;
00078 
00079     if(button=="m_browseStringButton") {
00080         // search for match in history list, if absent, then add it
00081         m_stringIncludeFileHistoryCombo->setCurrentItem(file, true);
00082     }
00083     else if(button=="m_browseListButton") {
00084         // search for match in history list, if absent, then add it
00085         m_listIncludeFileHistoryCombo->setCurrentItem(file, true);
00086     }
00087 }
00088 
00089 void CPPCodeGenerationForm::generalOptionsListViewClicked(QListViewItem *pSender) {
00090 
00091     // operations are inline and accessors are operations :)
00092     if (pOptionOperationsAreInline->isOn() && pOptionGenerateAccessorMethods->isOn())
00093             pOptionAccessorsAreInline->setOn(true);
00094 
00095     if (pSender == pOptionPackageIsANamespace) {
00096 #if 0
00097         KMessageBox::error(0, "CPPCodeGenerationForm::generalOptionsListViewClicked(): "
00098                            "sender=pOptionPackageIsANamespace");
00099 #endif
00100         return;
00101     }
00102     if (pSender == pOptionVirtualDestructors) {
00103 #if 0
00104         KMessageBox::error(0, "CPPCodeGenerationForm::generalOptionsListViewClicked(): "
00105                            "sender=pOptionVirtualDestructors");
00106 #endif
00107         return;
00108     }
00109     if (pSender == pOptionGenerateEmptyConstructors) {
00110 #if 0
00111         KMessageBox::error(0, "CPPCodeGenerationForm::generalOptionsListViewClicked(): "
00112                            "sender=pOptionVirtualDestructors");
00113 #endif
00114         return;
00115     }
00116     if (pSender == pOptionGenerateAccessorMethods) {
00117         pOptionAccessorsAreInline->setEnabled(pOptionGenerateAccessorMethods->isOn());
00118         pOptionAccessorsArePublic->setEnabled(pOptionGenerateAccessorMethods->isOn());
00119         // reset the value if needed
00120         if (!pOptionGenerateAccessorMethods->isOn())
00121         {
00122             pOptionAccessorsAreInline->setOn(false);
00123             pOptionAccessorsArePublic->setOn(false);
00124         }
00125 #if 0
00126         KMessageBox::error(0, "CPPCodeGenerationForm::generalOptionsListViewClicked(): "
00127                            "sender=pOptionGenerateAccessorMethods");
00128 #endif
00129         return;
00130     }
00131     if (pSender == pOptionOperationsAreInline) {
00132 #if 0
00133         KMessageBox::error(0, "CPPCodeGenerationForm::generalOptionsListViewClicked(): "
00134                            "sender=pOptionOperationsAreInline");
00135 #endif
00136         return;
00137     }
00138     if (pSender == pOptionAccessorsAreInline) {
00139 #if 0
00140         KMessageBox::error(0, "CPPCodeGenerationForm::generalOptionsListViewClicked(): "
00141                            "sender=pOptionAccessorsAreInline");
00142 #endif
00143         return;
00144     }
00145 
00146 #if 0
00147     KMessageBox::error(0, "CPPCodeGenerationForm::generalOptionsListViewClicked(): "
00148                        "unknown sender");
00149 #endif
00150     return;
00151 }
00152 
00153 void CPPCodeGenerationForm::init() {
00154     pOptionPackageIsANamespace = NULL;
00155     pOptionVirtualDestructors = NULL;
00156     pOptionGenerateEmptyConstructors = NULL;
00157     pOptionGenerateAccessorMethods = NULL;
00158     pOptionOperationsAreInline = NULL;
00159     pOptionAccessorsAreInline = NULL;
00160 }
00161 
00167 void CPPCodeGenerationForm::setPackageIsANamespace(bool bFlag) {
00168     pOptionPackageIsANamespace->setOn(bFlag);
00169 }
00170 
00176 void CPPCodeGenerationForm::setVirtualDestructors(bool bFlag) {
00177     pOptionVirtualDestructors->setOn(bFlag);
00178 }
00179 
00185 void CPPCodeGenerationForm::setGenerateEmptyConstructors(bool bFlag) {
00186     pOptionGenerateEmptyConstructors->setOn(bFlag);
00187 }
00188 
00194 void CPPCodeGenerationForm::setGenerateAccessorMethods(bool bFlag) {
00195     pOptionGenerateAccessorMethods->setOn(bFlag);
00196     // initial settings
00197     pOptionAccessorsAreInline->setEnabled(pOptionGenerateAccessorMethods->isOn());
00198     pOptionAccessorsArePublic->setEnabled(pOptionGenerateAccessorMethods->isOn());
00199     // reset the value if needed
00200     if (!pOptionGenerateAccessorMethods->isOn())
00201     {
00202         pOptionAccessorsAreInline->setOn(false);
00203         pOptionAccessorsArePublic->setOn(false);
00204     }
00205 }
00206 
00212 void CPPCodeGenerationForm::setOperationsAreInline(bool bFlag) {
00213     pOptionOperationsAreInline->setOn(bFlag);
00214 }
00215 
00221 void CPPCodeGenerationForm::setAccessorsAreInline(bool bFlag) {
00222     pOptionAccessorsAreInline->setOn(bFlag);
00223 }
00224 
00230 void CPPCodeGenerationForm::setAccessorsArePublic(bool bFlag) {
00231     pOptionAccessorsArePublic->setOn(bFlag);
00232 }
00233 
00239 bool CPPCodeGenerationForm::getPackageIsANamespace()
00240 {
00241     return pOptionPackageIsANamespace->isOn();
00242 }
00243 
00249 bool CPPCodeGenerationForm::getVirtualDestructors()
00250 {
00251     return pOptionVirtualDestructors->isOn();
00252 }
00253 
00259 bool CPPCodeGenerationForm::getGenerateEmptyConstructors()
00260 {
00261     return pOptionGenerateEmptyConstructors->isOn();
00262 }
00263 
00269 bool CPPCodeGenerationForm::getGenerateAccessorMethods()
00270 {
00271     return pOptionGenerateAccessorMethods->isOn();
00272 }
00273 
00279 bool CPPCodeGenerationForm::getOperationsAreInline()
00280 {
00281     return pOptionOperationsAreInline->isOn();
00282 }
00283 
00289 bool CPPCodeGenerationForm::getAccessorsAreInline()
00290 {
00291     return pOptionAccessorsAreInline->isOn();
00292 }
00293 
00299 bool CPPCodeGenerationForm::getAccessorsArePublic()
00300 {
00301     return pOptionAccessorsArePublic->isOn();
00302 }
00303 
00304 
00305 #include "cppcodegenerationform.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