00001 // OSB library ************************************************ -*- C++ -*- 00006 /* 00007 AUTHOR(S): Stephan Broennimann (vb) 00008 00009 RCS information 00010 $Name: OSB_060808 $ 00011 $Revision: 1.2 $ 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 _DLGRPTYPE_H_ 00031 #define _DLGRPTYPE_H_ 00032 00033 // ************************************************************************ 00034 // included header files 00035 // + standard includes 00036 00037 // + libraries 00038 #include <qdialog.h> 00039 00040 // + local headers 00041 00042 // + class declarations 00043 namespace OSB_DB { 00044 class Session; 00045 } 00046 00047 namespace OSB_LIB { 00048 class RatedPartyTypes; 00049 } 00050 00051 class QFrame; 00052 class QGridLayout; 00053 class QHBoxLayout; 00054 class QLabel; 00055 class QLineEdit; 00056 class QPushButton; 00057 class QSpacerItem; 00058 class QSpinBox; 00059 class QTextEdit; 00060 class QVBoxLayout; 00061 00062 // ************************************************************************ 00063 // namespace extensions 00064 namespace OSB_GUI { 00065 00066 // ************************************************************************ 00067 // forward declarations 00068 00069 // ************************************************************************ 00070 // type definitions 00071 00072 // ************************************************************************ 00073 // class definitions 00074 00078 class DlgRpType : public QDialog { 00079 Q_OBJECT // for vim ->; 00080 public: 00091 explicit DlgRpType( 00092 OSB_DB::Session& session, 00093 OSB_LIB::RatedPartyTypes& rpTypes, 00094 QWidget* parent, 00095 const char* name = "DlgRpType", 00096 bool modal = true, 00097 WFlags flags = 0 00098 ); 00099 private: 00101 DlgRpType(const DlgRpType&); 00103 DlgRpType& operator=(const DlgRpType&); 00104 00105 protected slots: 00107 virtual void languageChange(); 00108 00109 private slots: 00111 void save(); 00113 void remove(); 00119 void showRpType(int value); 00121 void enableSave(); 00122 00123 private: 00125 void showFirstRp(); 00126 00127 private: 00129 OSB_DB::Session& session_; 00131 OSB_LIB::RatedPartyTypes& rpTypes_; 00132 00133 private: // widgets 00135 QLabel* tlType_; 00137 QSpinBox* spType_; 00139 QLabel* tlName_; 00141 QLineEdit* leName_; 00143 QLabel* tlDes_; 00145 QTextEdit* teDes_; 00147 QFrame* linePb_; 00149 QPushButton* pbSave_; 00151 QPushButton* pbRemove_; 00153 QPushButton* pbDone_; 00154 00156 QVBoxLayout* layout_; 00158 QHBoxLayout* loTop_; 00160 QSpacerItem* spTop_; 00162 QHBoxLayout* loPb_; 00164 QSpacerItem* spPb_; 00165 }; // class DlgRpType 00166 } // namespace OSB_GUI 00167 00168 // ************************************************************************ 00169 // inline definitions 00170 namespace OSB_GUI { 00171 } // namespace OSB_GUI 00172 #endif // #ifndef _DLGRPTYPE_H_