You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesdk/umbrello/umbrello/dialogs/settingsdlg.h

179 lines
4.7 KiB

/***************************************************************************
* *
* 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. *
* *
* copyright (C) 2002-2006 *
* Umbrello UML Modeller Authors <uml-devel@uml.sf.net> *
***************************************************************************/
#ifndef SETTINGSDLG_H
#define SETTINGSDLG_H
//qt includes
#include <tqgroupbox.h>
#include <tqcheckbox.h>
#include <tqpushbutton.h>
#include <tqlabel.h>
#include <tqradiobutton.h>
#include <tqbuttongroup.h>
#include <tqdict.h>
//kde includes
#include <kcombobox.h>
#include <tdefontdialog.h>
#include <kdialogbase.h>
#include <kcolorbutton.h>
#include <knuminput.h>
//app includes
#include "../optionstate.h"
class CodeGenerationOptionsPage;
class CodeViewerOptionsPage;
class CodeGenerator;
/**
* @author Paul Hensgen
* modified by brian thomas Aug-2003
* Bugs and comments to uml-devel@lists.sf.net or http://bugs.trinitydesktop.org
*/
class SettingsDlg : public KDialogBase {
TQ_OBJECT
public:
SettingsDlg(TQWidget * parent, Settings::OptionState *state);
~SettingsDlg();
//public methods
bool getChangesApplied() {
return m_bChangesApplied;
}
TQString getCodeGenerationLanguage();
protected:
/**
* Inserts @p type into the type-combobox as well as its completion object.
*/
void insertDiagram( const TQString& type, int index = -1 );
/**
* Inserts @p type into the type-combobox as well as its completion object.
*/
void insertAttribScope( const TQString& type, int index = -1 );
/**
* Inserts @p type into the type-combobox as well as its completion object.
*/
void insertOperationScope( const TQString& type, int index = -1 );
private:
//private structs
struct UIWidgets {
TQGroupBox * colorGB;
TQLabel * lineColorL;
TQLabel * fillColorL;
TQLabel * lineWidthL;
TQPushButton * lineDefaultB;
TQPushButton * fillDefaultB;
TQPushButton * lineWidthDefaultB;
KColorButton * lineColorB;
KColorButton * fillColorB;
KIntSpinBox * lineWidthB;
TQCheckBox * useFillColorCB;
}
;//end struct UIWidgets
struct GeneralWidgets {
TQGroupBox * miscGB;
TQGroupBox * autosaveGB;
TQGroupBox * startupGB;
KIntSpinBox * timeISB;
KComboBox * diagramKB;
TQCheckBox * undoCB;
TQCheckBox * tabdiagramsCB;
TQCheckBox * newcodegenCB;
TQCheckBox * angularLinesCB;
TQCheckBox * autosaveCB;
TQCheckBox * logoCB;
TQCheckBox * tipCB;
TQCheckBox * loadlastCB;
// 2004-05-17 Achim Spangler: Allow definition of Suffix for autosave
// ( Default: ".xmi" )
TQLineEdit * autosaveSuffixT;
TQLabel * autosaveSuffixL;
// End AutoSave Suffix
TQLabel * startL;
TQLabel * autosaveL;
}
;//end struct GeneralWidgets
struct ClassWidgets {
TQGroupBox * visibilityGB;
TQGroupBox * scopeGB;
TQCheckBox * showVisibilityCB;
TQCheckBox * showAttsCB;
TQCheckBox * showOpsCB;
TQCheckBox * showStereotypeCB;
TQCheckBox * showAttSigCB;
TQCheckBox * showPackageCB;
TQCheckBox * showOpSigCB;
TQLabel * attributeLabel;
TQLabel * operationLabel;
KComboBox* m_pAttribScopeCB;
KComboBox* m_pOperationScopeCB;
}
;//end struct ClassWidgets
struct FontWidgets {
TDEFontChooser * chooser;
};
//private methods
void setupFontPage();
void setupUIPage();
void setupGeneralPage();
void setupClassPage();
void setupCodeGenPage();
void setupCodeViewerPage(Settings::CodeViewerState options);
void applyPage( Settings::Page page );
//private attributes
FontWidgets m_FontWidgets;
GeneralWidgets m_GeneralWidgets;
UIWidgets m_UiWidgets;
ClassWidgets m_ClassWidgets;
Settings::OptionState *m_pOptionState;
CodeGenerationOptionsPage * m_pCodeGenPage;
CodeViewerOptionsPage * m_pCodeViewerPage;
TDEConfig * m_pCfg;
bool m_bChangesApplied;
private slots:
void slotApply();
void slotOk();
void slotDefault();
void slotLineBClicked();
void slotFillBClicked();
void slotAutosaveCBClicked();
};
#endif