ctcombos.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00006 /*
00007   AUTHOR(S): Stephan Broennimann (vb)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.23 $
00012 
00013   License
00014    OSB rating and billing library for communication networks
00015    Copyright (C) 2004, 2005, 2006  OSB systems
00016 
00017    This file may be distributed and/or modify under the terms of the
00018    GNU General Public License (GPL) as published by the Free Software
00019    Foundation which is provided in the file LICENSE.GPL included in the
00020    packaging of this file.
00021 
00022    The file is distributed in the hope that it will be useful, but WITHOUT
00023    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00024    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00025    for more details.
00026 
00027    Holders of a OSB Commercial License may use this file under the terms
00028    and conditions of this commercial license.
00029  */
00030 #ifndef _CTCOMBOS_H_
00031 #define _CTCOMBOS_H_
00032 
00033 // ************************************************************************
00034 // included header files
00035 // + standard includes
00036 #include <vector>
00037 
00038 // + libraries
00039 #include <osbid.h>
00040 #include <osbtype.h>
00041 #include <taxkey.h>                     // ToDo: remove once TaxKeyType is changed.
00042 #include <osbconst.h>
00043 
00044 // + local headers
00045 #include "osbcombos.h"
00046 
00047 // ************************************************************************
00048 // class declarations
00049 namespace OSB_LIB {
00050     class Account;
00051     class Currency;
00052     class RoundRule;
00053     class TaxKey;
00054 }
00055 
00056 // ************************************************************************
00057 // namespace extensions
00058 namespace OSB_GUI {
00059 
00060 // ************************************************************************
00061 // forward declarations
00062 
00063 // ************************************************************************
00064 // type definitions
00065 
00066 // ************************************************************************
00067 // class definitions
00068 
00070     typedef ValueCombo<std::string> CmbCurrencyBase;
00074     class CmbCurrency : public CmbCurrencyBase {
00075         Q_OBJECT                        // for vim ->;
00076     public:
00078         CmbCurrency(
00079                   QWidget* parent,
00080             const char*    name = "cmbCurrency_"
00081         );
00082     public:
00089         void populate();
00090     public slots:
00097         void activated();
00098     signals:
00110         void activated(const OSB_LIB::Currency& c);
00111     };                                  // class CmbCurrency
00112 
00116     class CmbTaxKey
00117       : public ValueCombo< OSB_LIB::Id<OSB_LIB::TaxKey> >
00118     {
00119     public:
00121         typedef OSB_LIB::TaxKeyType Tkt;
00122     public:
00124         CmbTaxKey(
00125                   QWidget* parent,
00126             const char*    name = "cmbTaxKey_"
00127         );
00129         CmbTaxKey(
00130             const Tkt&     tkt,
00131                   QWidget* parent,
00132             const char*    name = "cmbTaxKey_"
00133         );
00135         void setTaxKeyType(const Tkt& tkt);
00142         void populate();
00143     private:
00145         Tkt tkt_;
00146     };                                  // class CmbTaxKey
00147 
00151     class CmbRoundRule
00152       : public ValueCombo< OSB_LIB::Id<OSB_LIB::RoundRule> >
00153     {
00154     public:
00156         CmbRoundRule(
00157                   QWidget* parent,
00158             const char*    name = "cmbRoundRule_"
00159         );
00166         void populate();
00167     };                                  // class CmbRoundRule
00168 
00174     class CmbGlAccount
00175       : public ValueCombo< OSB_LIB::Id<OSB_LIB::Account> >
00176     {
00177     public:
00179         CmbGlAccount(
00180                   QWidget* parent,
00181             const char*    name = "cmdGlAccount_"
00182         );
00183     public:
00190         void populate();
00191     };                                  // class CmbGlAccount
00192 
00196     class CmbChargeType
00197       : public ValueCombo<OSB_LIB::ChargeType>
00198     {
00199     public:
00201         CmbChargeType(
00202                   QWidget* parent,
00203             const char*    name = "cmbChargeType_"
00204         );
00205     public:
00211         void populate();
00212     };                                  // class CmbChargeType
00213 }                                       // namespace OSB_GUI
00214 #endif                                  // #ifndef _CTCOMBOS_H_

Generated on Sat Sep 2 14:17:36 2006 for OSB Library by  doxygen 1.4.7