Fri, 28 Nov 2008 11:21:08 +0100
Fork project trunk at version 0.7.7 to maintain for future usage.
The original Cable & Wireless development team no longer exists.
The OSSP CVS repository is unavailable (cvs co ossp-pkg/as fails),
however http://cvs.ossp.org/dirview?d=ossp-pkg/as/as-gui is working.
michael@1 | 1 | // |
michael@1 | 2 | // OSSP asgui - Accounting system graphical user interface |
michael@1 | 3 | // Copyright (c) 2002-2004 The OSSP Project (http://www.ossp.org/) |
michael@1 | 4 | // Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com> |
michael@1 | 5 | // Copyright (c) 2002-2004 Michael Schloh von Bennewitz <michael@schloh.com> |
michael@1 | 6 | // Copyright (c) 2002-2004 Cable & Wireless Telecommunications Services GmbH |
michael@1 | 7 | // |
michael@1 | 8 | // This file is part of OSSP asgui, an accounting system graphical user |
michael@1 | 9 | // interface which can be found at http://www.ossp.org/pkg/tool/asgui/. |
michael@1 | 10 | // |
michael@1 | 11 | // Permission to use, copy, modify, and distribute this software for |
michael@1 | 12 | // any purpose with or without fee is hereby granted, provided that |
michael@1 | 13 | // the above copyright notice and this permission notice appear in all |
michael@1 | 14 | // copies. |
michael@1 | 15 | // |
michael@1 | 16 | // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
michael@1 | 17 | // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
michael@1 | 18 | // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
michael@1 | 19 | // IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
michael@1 | 20 | // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
michael@1 | 21 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
michael@1 | 22 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
michael@1 | 23 | // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
michael@1 | 24 | // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
michael@1 | 25 | // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
michael@1 | 26 | // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
michael@1 | 27 | // SUCH DAMAGE. |
michael@1 | 28 | // |
michael@1 | 29 | // as_panel.h: ISO C++ interface |
michael@1 | 30 | // |
michael@1 | 31 | |
michael@1 | 32 | #ifndef PREFPANEL_H |
michael@1 | 33 | #define PREFPANEL_H |
michael@1 | 34 | |
michael@1 | 35 | #include <qvariant.h> |
michael@1 | 36 | #include <qdialog.h> |
michael@1 | 37 | #include <qbuttongroup.h> |
michael@1 | 38 | #include <qlabel.h> |
michael@1 | 39 | #include <qlineedit.h> |
michael@1 | 40 | #include <qpushbutton.h> |
michael@1 | 41 | #include <qtoolbutton.h> |
michael@1 | 42 | #include <qcolordialog.h> |
michael@1 | 43 | #include <qradiobutton.h> |
michael@1 | 44 | #include <qcheckbox.h> |
michael@1 | 45 | #include <qtabwidget.h> |
michael@1 | 46 | #include <qwidget.h> |
michael@1 | 47 | #include <qlayout.h> |
michael@1 | 48 | #include <qtooltip.h> |
michael@1 | 49 | #include <qwhatsthis.h> |
michael@1 | 50 | #include <qstylefactory.h> |
michael@1 | 51 | #include <qlayout.h> |
michael@1 | 52 | |
michael@1 | 53 | #include "as_gui.h" // For usage of style_t |
michael@1 | 54 | |
michael@1 | 55 | |
michael@1 | 56 | class Prefpanel : public QDialog |
michael@1 | 57 | { |
michael@1 | 58 | Q_OBJECT |
michael@1 | 59 | |
michael@1 | 60 | public: |
michael@1 | 61 | Prefpanel(QWidget *pParent = 0, const char *kszName = 0, bool bModal = true, WFlags Flags = 0); |
michael@1 | 62 | // ~Prefpanel(void); // No need to destroy widgets, because qt does it for us |
michael@1 | 63 | |
michael@1 | 64 | private: |
michael@1 | 65 | Preferences *m_pPanprefs; |
michael@1 | 66 | QColor *m_pLight, *m_pDark; |
michael@1 | 67 | QColorGroup *m_pOrigcolours, *m_pAltcolours; |
michael@1 | 68 | |
michael@1 | 69 | public: |
michael@1 | 70 | QGroupBox *m_pGenbox, *m_pRembox, *m_pShadebox, *m_pThemebox; |
michael@1 | 71 | QVBoxLayout *m_pStylelay, *m_pReportlay, *m_pSwitchlay; |
michael@1 | 72 | QVBoxLayout *m_pVlayout, *m_pBinlayout; |
michael@1 | 73 | QHBoxLayout *m_pBoolayout, *m_pGenlayout, *m_pRemlayout; |
michael@1 | 74 | QVBoxLayout *m_pShadeboxlay, *m_pThemeboxlay; |
michael@1 | 75 | QHBoxLayout *m_pGenboxlay, *m_pRemboxlay, *m_pColourlayout; |
michael@1 | 76 | QGridLayout *m_pGeninner, *m_pReminner, *m_pShadelayout; |
michael@1 | 77 | |
michael@1 | 78 | QWidget *m_pBoolpage, *m_pGeneralpage, *m_pRemotepage, *m_pColourpage; |
michael@1 | 79 | |
michael@1 | 80 | QHBoxLayout *m_pButtlay; |
michael@1 | 81 | QPushButton *m_pOkaybutton; |
michael@1 | 82 | QPushButton *m_pApplybutton; |
michael@1 | 83 | QPushButton *m_pCancelbutton; |
michael@1 | 84 | QTabWidget *m_pTabselect; |
michael@1 | 85 | |
michael@1 | 86 | QLabel *m_pAcctlabel, *m_pEventlabel; |
michael@1 | 87 | QLabel *m_pUserlabel, *m_pHomelabel; |
michael@1 | 88 | QLabel *m_pCorbalabel, *m_pSoaplabel; |
michael@1 | 89 | QLineEdit *m_pAcctline, *m_pEventline; |
michael@1 | 90 | QLineEdit *m_pUserline, *m_pHomeline; |
michael@1 | 91 | QLineEdit *m_pCorbaline, *m_pSoapline; |
michael@1 | 92 | QCheckBox *m_pCorbacheck, *m_pSoapcheck; |
michael@1 | 93 | |
michael@1 | 94 | QLabel *m_pLightlab, *m_pDarklab, *m_pRevertlab; |
michael@1 | 95 | QToolButton *m_pLightbutt, *m_pDarkbutt, *m_pRevertbutt; |
michael@1 | 96 | |
michael@1 | 97 | QButtonGroup *m_pStylegroup, *m_pReportgroup, *m_pSwitchgroup; |
michael@1 | 98 | QCheckBox *m_pBackupcheck, *m_pExtendcheck; |
michael@1 | 99 | QCheckBox *m_pDetailcheck, *m_pSigncheck; |
michael@1 | 100 | |
michael@1 | 101 | public: |
michael@1 | 102 | // Accessor get methods |
michael@1 | 103 | QString getStyle(void) {return (m_pStylegroup->selected()->text());}; |
michael@1 | 104 | QString getAccounts(void) {return (m_pAcctline->text());}; |
michael@1 | 105 | QString getEvents(void) {return (m_pEventline->text());}; |
michael@1 | 106 | QString getUser(void) {return (m_pUserline->text());}; |
michael@1 | 107 | QString getHome(void) {return (m_pHomeline->text());}; |
michael@1 | 108 | QString getCorbahost(void) {return (m_pCorbaline->text());}; |
michael@1 | 109 | QString getSoaphost(void) {return (m_pSoapline->text());}; |
michael@1 | 110 | bool getCorbaon(void) {return (m_pCorbacheck->isChecked());}; |
michael@1 | 111 | bool getSoapon(void) {return (m_pSoapcheck->isChecked());}; |
michael@1 | 112 | bool getBackon(void) {return (m_pBackupcheck->isChecked());}; |
michael@1 | 113 | bool getExtendon(void) {return (m_pExtendcheck->isChecked());}; |
michael@1 | 114 | bool getDetailon(void) {return (m_pDetailcheck->isChecked());}; |
michael@1 | 115 | bool getSignaton(void) {return (m_pSigncheck->isChecked());}; |
michael@1 | 116 | QColor *getLight(void) {return m_pLight;}; |
michael@1 | 117 | QColor *getDark(void) {return m_pDark;}; |
michael@1 | 118 | QColor *getRevlight(void) {return (QColor *)&m_pOrigcolours->foreground();}; |
michael@1 | 119 | QColor *getRevdark(void) {return (QColor *)&m_pOrigcolours->background();}; |
michael@1 | 120 | QColor *getAltlight(void) {return (QColor *)&m_pAltcolours->foreground();}; |
michael@1 | 121 | QColor *getAltdark(void) {return (QColor *)&m_pAltcolours->background();}; |
michael@1 | 122 | |
michael@1 | 123 | // Accessor set methods |
michael@1 | 124 | void setAccounts(const QString &kInstr) {m_pAcctline->setText(kInstr);}; |
michael@1 | 125 | void setEvents(const QString &kInstr) {m_pEventline->setText(kInstr);}; |
michael@1 | 126 | void setUser(const QString &kInstr) {m_pUserline->setText(kInstr);}; |
michael@1 | 127 | void setHome(const QString &kInstr) {m_pHomeline->setText(kInstr);}; |
michael@1 | 128 | void setCorbahost(const QString &kInstr) {m_pCorbaline->setText(kInstr);}; |
michael@1 | 129 | void setSoaphost(const QString &kInstr) {m_pSoapline->setText(kInstr);}; |
michael@1 | 130 | void setBackon(const bool &kbEnable = true) {m_pBackupcheck->setChecked(kbEnable);}; |
michael@1 | 131 | void setExtendon(const bool &kbEnable = true) {m_pExtendcheck->setChecked(kbEnable);}; |
michael@1 | 132 | void setDetailon(const bool &kbEnable = true) {m_pDetailcheck->setChecked(kbEnable);}; |
michael@1 | 133 | void setSignaton(const bool &kbEnable = true) {m_pSigncheck->setChecked(kbEnable);}; |
michael@1 | 134 | void lockCorba(const bool &kbLock = true) {m_pCorbacheck->setEnabled(!kbLock);}; |
michael@1 | 135 | void lockSoap(const bool &kbLock = true) {m_pSoapcheck->setEnabled(!kbLock);}; |
michael@1 | 136 | void setLight(const QColor *pLight) {m_pLight = (QColor *)pLight;}; |
michael@1 | 137 | void setDark(const QColor *pDark) {m_pDark = (QColor *)pDark;}; |
michael@1 | 138 | void setOrigcolour(QColorGroup *pGroup) {m_pOrigcolours = pGroup;}; |
michael@1 | 139 | void setAltcolour(QColorGroup *pGroup) {m_pAltcolours = pGroup;}; |
michael@1 | 140 | void setCorbaon(const bool &kbEnable = true) { |
michael@1 | 141 | m_pCorbaline->setEnabled(kbEnable); |
michael@1 | 142 | m_pCorbacheck->setChecked(kbEnable); |
michael@1 | 143 | }; |
michael@1 | 144 | void setSoapon(const bool &kbEnable = true) { |
michael@1 | 145 | m_pSoapline->setEnabled(kbEnable); |
michael@1 | 146 | m_pSoapcheck->setChecked(kbEnable); |
michael@1 | 147 | }; |
michael@1 | 148 | void setStyle(const char *pkszStyle) { |
michael@1 | 149 | for (int nIter = 0; nIter < m_pStylegroup->count(); nIter++) |
michael@1 | 150 | if (m_pStylegroup->find(nIter)->text() == pkszStyle) |
michael@1 | 151 | m_pStylegroup->setButton(nIter); |
michael@1 | 152 | }; |
michael@1 | 153 | |
michael@1 | 154 | protected slots: |
michael@1 | 155 | virtual void polish(void); |
michael@1 | 156 | virtual void textChange(void); |
michael@1 | 157 | virtual void shadeLight(void); |
michael@1 | 158 | virtual void shadeDark(void); |
michael@1 | 159 | virtual void shadeRevert(void); |
michael@1 | 160 | void enableCorba(bool bOn) {m_pCorbaline->setEnabled(bOn);}; |
michael@1 | 161 | void enableSoap(bool bOn) {m_pSoapline->setEnabled(bOn);}; |
michael@1 | 162 | |
michael@1 | 163 | signals: |
michael@1 | 164 | void applied(void); |
michael@1 | 165 | }; |
michael@1 | 166 | |
michael@1 | 167 | #endif // PREFPANEL_H |