00001
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef _DLGRF_H_
00034 #define _DLGRF_H_
00035
00036
00037
00038
00039 #include <memory>
00040
00041
00042 #include <qwidget.h>
00043
00044
00045 #include "ui/dlgrfcreategui.h"
00046 #include "ui/dlgrfgui.h"
00047
00048
00049
00050 namespace OSB_LIB {
00051 class RatingFn;
00052 class ChargeTraits;
00053 }
00054
00055
00056
00057 namespace OSB_GUI {
00058
00059
00060
00061
00062
00063
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
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 };
00185 }
00186 #endif // #ifndef _DLGRF_H_