00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __DOMAINLISTVIEW_H__
00023 #define __DOMAINLISTVIEW_H__
00024
00025 #include <tqgroupbox.h>
00026 #include <tqmap.h>
00027
00028 class TQListViewItem;
00029 class TQPushButton;
00030 class TQStringList;
00031
00032 class KConfig;
00033 class KListView;
00034
00035 class Policies;
00036 class PolicyDialog;
00037
00054 class DomainListView : public TQGroupBox {
00055 Q_OBJECT
00056 public:
00059 enum PushButton {
00060 AddButton, ChangeButton, DeleteButton, ImportButton, ExportButton
00061 };
00062
00070 DomainListView(KConfig *config,const TQString &title,TQWidget *parent,
00071 const char *name = 0);
00072
00073 virtual ~DomainListView();
00074
00078
00079
00083 KListView *listView() const { return domainSpecificLV; }
00084
00090 TQPushButton *addButton() const { return addDomainPB; }
00091
00097 TQPushButton *changeButton() const { return changeDomainPB; }
00098
00104 TQPushButton *deleteButton() const { return deleteDomainPB; }
00105
00109 TQPushButton *importButton() const { return importDomainPB; }
00110
00114 TQPushButton *exportButton() const { return exportDomainPB; }
00115
00124 void initialize(const TQStringList &domainList);
00125
00132 void save(const TQString &group, const TQString &domainListKey);
00133
00134
00135 signals:
00140 void changed(bool state);
00141
00142 protected:
00153 virtual Policies *createPolicies() = 0;
00154
00169 virtual Policies *copyPolicies(Policies *pol) = 0;
00170
00181 virtual void setupPolicyDlg(PushButton trigger,PolicyDialog &pDlg,
00182 Policies *copy);
00183
00184 private slots:
00185 void addPressed();
00186 void changePressed();
00187 void deletePressed();
00188 void importPressed();
00189 void exportPressed();
00190 void updateButton();
00191
00192 protected:
00193
00194 KConfig *config;
00195
00196 KListView *domainSpecificLV;
00197
00198 TQPushButton* addDomainPB;
00199 TQPushButton* changeDomainPB;
00200 TQPushButton* deleteDomainPB;
00201 TQPushButton* importDomainPB;
00202 TQPushButton* exportDomainPB;
00203
00204 typedef TQMap<TQListViewItem*, Policies *> DomainPolicyMap;
00205 DomainPolicyMap domainPolicies;
00206 };
00207
00208 #endif // __DOMAINLISTVIEW_H__
00209