dlgrf.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00009 /*
00010   AUTHOR(S): Stephan Broennimann (vb)
00011 
00012   RCS information
00013    $Name: OSB_060808 $
00014    $Revision: 1.19 $
00015 
00016   License
00017    OSB rating and billing library for communication networks
00018    Copyright (C) 2004, 2005, 2006  OSB systems
00019 
00020    This file may be distributed and/or modify under the terms of the
00021    GNU General Public License (GPL) as published by the Free Software
00022    Foundation which is provided in the file LICENSE.GPL included in the
00023    packaging of this file.
00024 
00025    The file is distributed in the hope that it will be useful, but WITHOUT
00026    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00027    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00028    for more details.
00029 
00030    Holders of a OSB Commercial License may use this file under the terms
00031    and conditions of this commercial license.
00032  */
00033 #ifndef _DLGRF_H_
00034 #define _DLGRF_H_
00035 
00036 // ************************************************************************
00037 // included header files
00038 // + standard includes
00039 #include <memory>
00040 
00041 // + libraries
00042 #include <qwidget.h>
00043 
00044 // + local headers
00045 #include "ui/dlgrfcreategui.h"
00046 #include "ui/dlgrfgui.h"
00047 
00048 // ************************************************************************
00049 // class declarations
00050 namespace OSB_LIB {
00051     class RatingFn;
00052     class ChargeTraits;
00053 }
00054 
00055 // ************************************************************************
00056 // namespace extensions
00057 namespace OSB_GUI {
00058 
00059 // ************************************************************************
00060 // forward declarations
00061 
00062 // ************************************************************************
00063 // class definitions
00067     class DlgRfCreate : private DlgRfCreateGui {
00068     public:
00069         typedef std::auto_ptr<OSB_LIB::RatingFn> RfPtr;
00070     public:
00072         DlgRfCreate(
00073                   QWidget* parent,
00074             const char*    name  = "DlgRfCreate",
00075                   bool     modal = false,
00076                   WFlags   fl    = 0
00077         );
00086         int createRf(RfPtr& rf);
00087     private:
00089         void languageChange();
00090     };
00091 
00097     class DlgRfBase : protected DlgRfGui {
00098         Q_OBJECT                        // for vim ->;
00099     public:
00101         DlgRfBase(
00102                   QWidget* parent,
00103             const char*    name,
00104                   bool     modal = false,
00105                   WFlags   fl    = 0
00106         );
00118         virtual int showRf(
00119             const OSB_LIB::RatingFn&     rf,
00120             const OSB_LIB::ChargeTraits& ct
00121         ) = 0;
00133         virtual int editRf(
00134             OSB_LIB::RatingFn*     rf,
00135             OSB_LIB::ChargeTraits* ct
00136         ) = 0;
00137     private:
00149         virtual const OSB_LIB::RatingFn* getRf() const = 0;
00150     protected:
00152         virtual void languageChange();
00166         void display(
00167             const OSB_LIB::RatingFn&     rf,
00168             const OSB_LIB::ChargeTraits& ct,
00169                   bool                   showOnly
00170         );
00177         void updateRf(
00178             OSB_LIB::RatingFn*     rf,
00179             OSB_LIB::ChargeTraits* ct
00180         );
00181     private slots:
00183         void testRf();
00184     };                                  // class DlgRfBase
00185 }                                       // namespace OSB_GUI
00186 #endif                                  // #ifndef _DLGRF_H_

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