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