michael@1: // michael@1: // OSSP asgui - Accounting system graphical user interface michael@12: // Copyright (c) 2002-2009 The OSSP Project (http://www.ossp.org/) michael@12: // Copyright (c) 2002-2009 Ralf S. Engelschall michael@12: // Copyright (c) 2002-2009 Michael Schloh von Bennewitz michael@12: // Copyright (c) 2002-2009 Cable & Wireless Telecommunications Services GmbH michael@1: // michael@1: // This file is part of OSSP asgui, an accounting system graphical user michael@3: // interface which can be found at http://asgui.europalab.com/. michael@1: // michael@1: // Permission to use, copy, modify, and distribute this software for michael@1: // any purpose with or without fee is hereby granted, provided that michael@1: // the above copyright notice and this permission notice appear in all michael@1: // copies. michael@1: // michael@1: // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED michael@1: // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF michael@1: // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. michael@1: // IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR michael@1: // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, michael@1: // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT michael@1: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF michael@1: // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND michael@1: // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, michael@1: // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT michael@1: // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF michael@1: // SUCH DAMAGE. michael@1: // michael@1: // as_panel.h: ISO C++ interface michael@1: // michael@1: michael@1: #ifndef PREFPANEL_H michael@1: #define PREFPANEL_H michael@1: michael@1: #include michael@1: #include michael@3: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@1: #include michael@3: #include michael@1: #include michael@1: #include michael@1: michael@3: //Added by qt3to4: michael@3: #include michael@3: #include michael@3: #include michael@3: michael@1: #include "as_gui.h" // For usage of style_t michael@1: michael@1: michael@1: class Prefpanel : public QDialog michael@1: { michael@1: Q_OBJECT michael@1: michael@1: public: michael@3: Prefpanel(QWidget *pParent = 0, const char *kszName = 0, bool bModal = true, Qt::WFlags Flags = 0); michael@1: // ~Prefpanel(void); // No need to destroy widgets, because qt does it for us michael@1: michael@1: private: michael@1: Preferences *m_pPanprefs; michael@1: QColor *m_pLight, *m_pDark; michael@1: QColorGroup *m_pOrigcolours, *m_pAltcolours; michael@1: michael@1: public: michael@3: Q3GroupBox *m_pGenbox, *m_pRembox, *m_pShadebox, *m_pThemebox; michael@3: Q3VBoxLayout *m_pStylelay, *m_pReportlay, *m_pSwitchlay; michael@3: Q3VBoxLayout *m_pVlayout, *m_pBinlayout; michael@3: Q3HBoxLayout *m_pBoolayout, *m_pGenlayout, *m_pRemlayout; michael@3: Q3VBoxLayout *m_pShadeboxlay, *m_pThemeboxlay; michael@3: Q3HBoxLayout *m_pGenboxlay, *m_pRemboxlay, *m_pColourlayout; michael@3: Q3GridLayout *m_pGeninner, *m_pReminner, *m_pShadelayout; michael@1: michael@1: QWidget *m_pBoolpage, *m_pGeneralpage, *m_pRemotepage, *m_pColourpage; michael@1: michael@3: Q3HBoxLayout *m_pButtlay; michael@1: QPushButton *m_pOkaybutton; michael@1: QPushButton *m_pApplybutton; michael@1: QPushButton *m_pCancelbutton; michael@1: QTabWidget *m_pTabselect; michael@1: michael@1: QLabel *m_pAcctlabel, *m_pEventlabel; michael@1: QLabel *m_pUserlabel, *m_pHomelabel; michael@1: QLabel *m_pCorbalabel, *m_pSoaplabel; michael@1: QLineEdit *m_pAcctline, *m_pEventline; michael@1: QLineEdit *m_pUserline, *m_pHomeline; michael@1: QLineEdit *m_pCorbaline, *m_pSoapline; michael@1: QCheckBox *m_pCorbacheck, *m_pSoapcheck; michael@1: michael@1: QLabel *m_pLightlab, *m_pDarklab, *m_pRevertlab; michael@1: QToolButton *m_pLightbutt, *m_pDarkbutt, *m_pRevertbutt; michael@1: michael@3: Q3ButtonGroup *m_pStylegroup, *m_pReportgroup, *m_pSwitchgroup; michael@1: QCheckBox *m_pBackupcheck, *m_pExtendcheck; michael@1: QCheckBox *m_pDetailcheck, *m_pSigncheck; michael@1: michael@1: public: michael@1: // Accessor get methods michael@1: QString getStyle(void) {return (m_pStylegroup->selected()->text());}; michael@1: QString getAccounts(void) {return (m_pAcctline->text());}; michael@1: QString getEvents(void) {return (m_pEventline->text());}; michael@1: QString getUser(void) {return (m_pUserline->text());}; michael@1: QString getHome(void) {return (m_pHomeline->text());}; michael@1: QString getCorbahost(void) {return (m_pCorbaline->text());}; michael@1: QString getSoaphost(void) {return (m_pSoapline->text());}; michael@1: bool getCorbaon(void) {return (m_pCorbacheck->isChecked());}; michael@1: bool getSoapon(void) {return (m_pSoapcheck->isChecked());}; michael@1: bool getBackon(void) {return (m_pBackupcheck->isChecked());}; michael@1: bool getExtendon(void) {return (m_pExtendcheck->isChecked());}; michael@1: bool getDetailon(void) {return (m_pDetailcheck->isChecked());}; michael@1: bool getSignaton(void) {return (m_pSigncheck->isChecked());}; michael@1: QColor *getLight(void) {return m_pLight;}; michael@1: QColor *getDark(void) {return m_pDark;}; michael@1: QColor *getRevlight(void) {return (QColor *)&m_pOrigcolours->foreground();}; michael@1: QColor *getRevdark(void) {return (QColor *)&m_pOrigcolours->background();}; michael@1: QColor *getAltlight(void) {return (QColor *)&m_pAltcolours->foreground();}; michael@1: QColor *getAltdark(void) {return (QColor *)&m_pAltcolours->background();}; michael@1: michael@1: // Accessor set methods michael@1: void setAccounts(const QString &kInstr) {m_pAcctline->setText(kInstr);}; michael@1: void setEvents(const QString &kInstr) {m_pEventline->setText(kInstr);}; michael@1: void setUser(const QString &kInstr) {m_pUserline->setText(kInstr);}; michael@1: void setHome(const QString &kInstr) {m_pHomeline->setText(kInstr);}; michael@1: void setCorbahost(const QString &kInstr) {m_pCorbaline->setText(kInstr);}; michael@1: void setSoaphost(const QString &kInstr) {m_pSoapline->setText(kInstr);}; michael@1: void setBackon(const bool &kbEnable = true) {m_pBackupcheck->setChecked(kbEnable);}; michael@1: void setExtendon(const bool &kbEnable = true) {m_pExtendcheck->setChecked(kbEnable);}; michael@1: void setDetailon(const bool &kbEnable = true) {m_pDetailcheck->setChecked(kbEnable);}; michael@1: void setSignaton(const bool &kbEnable = true) {m_pSigncheck->setChecked(kbEnable);}; michael@1: void lockCorba(const bool &kbLock = true) {m_pCorbacheck->setEnabled(!kbLock);}; michael@1: void lockSoap(const bool &kbLock = true) {m_pSoapcheck->setEnabled(!kbLock);}; michael@1: void setLight(const QColor *pLight) {m_pLight = (QColor *)pLight;}; michael@1: void setDark(const QColor *pDark) {m_pDark = (QColor *)pDark;}; michael@1: void setOrigcolour(QColorGroup *pGroup) {m_pOrigcolours = pGroup;}; michael@1: void setAltcolour(QColorGroup *pGroup) {m_pAltcolours = pGroup;}; michael@1: void setCorbaon(const bool &kbEnable = true) { michael@1: m_pCorbaline->setEnabled(kbEnable); michael@1: m_pCorbacheck->setChecked(kbEnable); michael@1: }; michael@1: void setSoapon(const bool &kbEnable = true) { michael@1: m_pSoapline->setEnabled(kbEnable); michael@1: m_pSoapcheck->setChecked(kbEnable); michael@1: }; michael@1: void setStyle(const char *pkszStyle) { michael@1: for (int nIter = 0; nIter < m_pStylegroup->count(); nIter++) michael@1: if (m_pStylegroup->find(nIter)->text() == pkszStyle) michael@1: m_pStylegroup->setButton(nIter); michael@1: }; michael@1: michael@1: protected slots: michael@1: virtual void polish(void); michael@1: virtual void textChange(void); michael@1: virtual void shadeLight(void); michael@1: virtual void shadeDark(void); michael@1: virtual void shadeRevert(void); michael@1: void enableCorba(bool bOn) {m_pCorbaline->setEnabled(bOn);}; michael@1: void enableSoap(bool bOn) {m_pSoapline->setEnabled(bOn);}; michael@1: michael@1: signals: michael@1: void applied(void); michael@1: }; michael@1: michael@1: #endif // PREFPANEL_H