Databasehandlingdialogclasses  0.5.3
knodawinbase.h
1 // ****************************************************************************
2 // copyright (c) 2000-2005 Horst Knorr <hk_classes@knoda.org>
3 // This file is part of knoda -Knorr's Datenbank.
4 // This file may be distributed and/or modified under the terms of the
5 // GNU General Public License version 2 as published by the Free Software
6 // Foundation and appearing in the file COPYING included in the
7 // packaging of this file.
8 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
9 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
10 // ****************************************************************************
11 //$Revision: 1.25 $
12 #ifndef KNODAMAINWINDOWBASE_H
13 #define KNODAMAINWINDOWBASE_H
14 
15 #include <qvariant.h>
16 #include <qmainwindow.h>
17 #include <qpopupmenu.h>
18 #include <hk_classes.h>
19 #include <qwidget.h>
20 #include <qlistbox.h>
21 #include <qdialog.h>
22 
23 class QVBoxLayout;
24 class QHBoxLayout;
25 class QGridLayout;
26 class QButtonGroup;
27 class QLabel;
28 class hk_listbox;
29 class QListBoxItem;
30 class QPushButton;
31 class QRadioButton;
32 class KAction;
33 class KActionMenu;
34 class QPopupMenu;
35 class QProgressDialog;
36 class hk_kdeschemadialog;
37 class KMainWindow;
38 class KPopupMenu;
39 class hk_kdeform;
40 class hk_kdereport;
41 class hk_kdetable;
42 class hk_kdequery;
43 class hk_kdemodule;
45 
46 class knodamainwindowbase : public QWidget ,public hk_dsvisible
47 {
48  Q_OBJECT
49 
50  public:
51  knodamainwindowbase( KMainWindow* parent = 0,const char* name = 0, WFlags fl = 0,const QString& database="",const QString& form="" );
52  virtual ~knodamainwindowbase();
53  void set_connection(hk_connection* c);
54  hk_connection* connection(void) {return p_connection;}
55  hk_listbox* itemslist;
56  QLabel* TextLabel1;
57  QLabel* TextLabel1_2;
58  QLabel* databasename;
59  QButtonGroup* ButtonGroup2;
60  QRadioButton* querybutton;
61  QRadioButton* reportbutton;
62  QRadioButton* modulebutton;
63  QRadioButton* tablebutton;
64  QRadioButton* viewbutton;
65  QRadioButton* formbutton;
66  QRadioButton* databasebutton;
67  QButtonGroup* ButtonGroup3;
68  QPushButton* newbutton;
69  QPushButton* startbutton;
70  QPushButton* alterbutton;
71  QPushButton* deletebutton;
72  QPopupMenu* popupmenu(void);
73 
74  public slots:
75  virtual void alter_clicked();
76  virtual void delete_clicked();
77  virtual void function_select(objecttype);
78  virtual void functionbutton_select(int);
79  virtual void function_select(void);
80  virtual void itemslist_doubleclicked();
81  virtual void new_clicked();
82  virtual void start_clicked();
83  virtual void rename_clicked();
84  virtual void importcsv_clicked();
85  virtual void exportcsv_clicked();
86  virtual void exportxml_clicked();
87  virtual void itemslist_clicked(QListBoxItem*);
88  virtual void newpassworddialog_selected(void);
89  virtual void copy_clicked(void);
90  virtual void paste_clicked(void);
91  virtual void clipboarddata_has_changed(void);
92  virtual void databasesettings_clicked(void);
93  virtual void objecthandler_clicked(void);
94  virtual void slot_open_localdatabase(void);
95  hk_database* database(){return p_database;}
96 virtual void show_exportdbdrivers();
97 virtual void show_importdbdrivers();
98 void exportdbdriver_selected(int);
99 void importdbdriver_selected(int);
100 void slot_store_connection();
101 void slot_referentialintegrity();
102  void designer_deleted(void);
103  protected:
104  QHBoxLayout* knodamainwindowbaseLayout;
105  QGridLayout* Layout8;
106  QVBoxLayout* Layout3;
107  QVBoxLayout* ButtonGroup3Layout;
108  QVBoxLayout* ButtonGroup2Layout;
109  hk_connection* p_connection;
110  hk_database* p_database;
111  virtual void list_changes(listtype type);
112  bool eventFilter(QObject*,QEvent*);
113  private:
114  enum enum_function{f_exportdb,f_importdb};
115  void show_drivers(KPopupMenu* menu, enum_function);
116  void open_autoform();
117  void set_buttons();
118  void set_databasebuttons();
119  void set_tablebuttons();
120  void set_querybuttons();
121  void set_formbuttons();
122  void set_reportbuttons();
123  void set_minimalbuttons();
124  void set_normalbuttons();
125  void set_modulebuttons();
126  hk_kdeform* new_form(void);
127  hk_kdereport* new_report(void);
128  hk_kdetable* new_table(void);
129  hk_kdequery* new_query(void);
130  hk_kdequery* new_view(void);
131  hk_kdemodule* new_module(void);
132  QString p_databasestring;
133  QString p_sdatabasestring;
134  QString p_tablestring;
135  QString p_sviewstring;
136  QString p_viewstring;
137  QString p_querystring;
138  QString p_formstring;
139  QString p_modulestring;
140  QString p_reportstring;
141  QString p_stablestring;
142  QString p_squerystring;
143  QString p_sformstring;
144  QString p_sreportstring;
145  QString p_smodulestring;
146 // KAction* p_changepasswordaction;
147  KAction* p_newaction;
148  KAction* p_alteraction;
149  KAction* p_startaction;
150  KAction* p_deleteaction;
151  KAction* p_copyaction;
152  KAction* p_pasteaction;
153  KAction* p_renameaction;
154  KActionMenu* p_exportaction;
155  KAction* p_exportcsvaction;
156  KAction* p_exportxmlaction;
157  KActionMenu* p_importaction;
158  KAction* p_importcsvaction;
159  KAction* p_databasesettingaction;
160  KAction* p_objecthandleraction;
161  KAction* p_passwordaction;
162  KAction* p_openlocaldbaction;
163 KActionMenu* p_importdatabaseaction;
164 KActionMenu* p_exportdatabaseaction;
165 KAction* p_storeconnection;
166 KAction* p_referentialintegrityaction;
167  QPopupMenu* p_popup;
168  QString p_selecteddb;
169  QString p_selectedform;
170 
171  KMainWindow* p_parent;
172 hk_kdedbdesignerwindow* p_designer;
173 };
174 
175 
176 class hk_listbox : public QListBox,public hk_class
177 {
178  Q_OBJECT
179  friend class knodamainwindowbase;
180  public:
182  ~hk_listbox();
183  bool cancel(void){return p_cancelcopying;}
184  static bool set_progress(long int,long int,const hk_string&);
185  public slots:
186  void copying_cancelled();
187  protected:
188  virtual void contextMenuEvent(QContextMenuEvent* );
189  virtual void mouseReleaseEvent(QMouseEvent*);
190  virtual void mouseMoveEvent(QMouseEvent*);
191  //virtual void focusInEvent(QFocusEvent*);
192  void dragEnterEvent(QDragEnterEvent*);
193  void dropEvent(QDropEvent*);
194  hk_string create_draginfo(void);
195  bool decode_action(QMimeSource* event);
196  bool execute_action(void);
197  bool copy_presentationfile(void);
198  bool copy_table(void);
199  bool copy_view(void);
200  bool copy_database(void);
201  hk_connection* find_connection(void);
202  hk_kdeschemadialog* p_schemadialog;
203  QPopupMenu* p_popup;
204  knodamainwindowbase* p_window;
205  bool p_dragging;
206  QPoint p_dragstartposition;
207  //decoded drag&dropvalues
208  hk_string xname,xtype,xdirectory,xserver,xhost,xtcp,xuser,xdbname;
209  objecttype ftype;
210  objecttype actiontype;
211  static QProgressDialog* p_progressdialog;
212  static bool p_cancelcopying;
213 
214 } ;
215 
216 class hk_kdeschemadialog : public QDialog
217 {
218  Q_OBJECT
219 
220  public:
221  hk_kdeschemadialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
223 
224  QButtonGroup* ButtonGroup1;
225  QRadioButton* schemaonlyfield;
226  QRadioButton* datafield;
227  QPushButton* buttonOk;
228  QPushButton* buttonCancel;
229 
230  protected:
231  QHBoxLayout* hk_kdeschemadialogLayout;
232  QVBoxLayout* ButtonGroup1Layout;
233  QVBoxLayout* Layout2;
234 };
235 #endif // knodamainwindowbase_H
Definition: knodawinbase.h:176
Definition: hk_kdedbdesigner.h:247
KDE high level widget to define queries and see the result.
Definition: hk_kdequery.h:44
Definition: hk_kderowselector.cpp:97
KDE high level widget to display and design forms.
Definition: hk_kdeform.h:49
Definition: hk_kdedblistview.h:186
KDE high level widget to display and design modules.
Definition: hk_kdemodule.h:49
KDE high level widget to display and design reports.
Definition: hk_kdereport.h:45
KDE high level widget to display and alter tables.
Definition: hk_kdetable.h:43
Definition: knodawinbase.h:46