knodawinbase.h

00001 // ****************************************************************************
00002 // copyright (c) 2000-2005 Horst Knorr <hk_classes@knoda.org>
00003 // This file is part of knoda -Knorr's Datenbank.
00004 // This file may be distributed and/or modified under the terms of the
00005 // GNU General Public License version 2 as published by the Free Software
00006 // Foundation and appearing in the file COPYING included in the
00007 // packaging of this file.
00008 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00009 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00010 // ****************************************************************************
00011 //$Revision: 1.24 $
00012 #ifndef KNODAMAINWINDOWBASE_H
00013 #define KNODAMAINWINDOWBASE_H
00014 
00015 #include <qvariant.h>
00016 #include <qmainwindow.h>
00017 #include <qpopupmenu.h>
00018 #include <hk_classes.h>
00019 #include <qwidget.h>
00020 #include <qlistbox.h>
00021 #include <qdialog.h>
00022 
00023 class QVBoxLayout;
00024 class QHBoxLayout;
00025 class QGridLayout;
00026 class QButtonGroup;
00027 class QLabel;
00028 class hk_listbox;
00029 class QListBoxItem;
00030 class QPushButton;
00031 class QRadioButton;
00032 class KAction;
00033 class KActionMenu;
00034 class QPopupMenu;
00035 class QProgressDialog;
00036 class hk_kdeschemadialog;
00037 class KMainWindow;
00038 class KPopupMenu;
00039 class hk_kdeform;
00040 class hk_kdereport;
00041 class hk_kdetable;
00042 class hk_kdequery;
00043 class hk_kdedbdesignerwindow;
00044 
00045 class knodamainwindowbase : public QWidget ,public hk_dsvisible
00046 {
00047     Q_OBJECT
00048 
00049         public:
00050         knodamainwindowbase( KMainWindow* parent = 0,const char* name = 0, WFlags fl = 0,const QString& database="",const QString& form="" );
00051         virtual    ~knodamainwindowbase();
00052         void set_connection(hk_connection* c);
00053         hk_connection* connection(void) {return p_connection;}
00054         hk_listbox* itemslist;
00055         QLabel* TextLabel1;
00056         QLabel* TextLabel1_2;
00057         QLabel* databasename;
00058         QButtonGroup* ButtonGroup2;
00059         QRadioButton* querybutton;
00060         QRadioButton* reportbutton;
00061         QRadioButton* tablebutton;
00062         QRadioButton* viewbutton;
00063         QRadioButton* formbutton;
00064         QRadioButton* databasebutton;
00065         QButtonGroup* ButtonGroup3;
00066         QPushButton* newbutton;
00067         QPushButton* startbutton;
00068         QPushButton* alterbutton;
00069         QPushButton* deletebutton;
00070         QPopupMenu* popupmenu(void);
00071 
00072     public slots:
00073         virtual void alter_clicked();
00074         virtual void delete_clicked();
00075         virtual void function_select(int);
00076         virtual void function_select(void);
00077         virtual void itemslist_doubleclicked();
00078         virtual void new_clicked();
00079         virtual void start_clicked();
00080         virtual void rename_clicked();
00081         virtual void importcsv_clicked();
00082         virtual void exportcsv_clicked();
00083         virtual void exportxml_clicked();
00084         virtual void itemslist_clicked(QListBoxItem*);
00085         virtual void newpassworddialog_selected(void);
00086         virtual void copy_clicked(void);
00087         virtual void paste_clicked(void);
00088         virtual void clipboarddata_has_changed(void);
00089         virtual void databasesettings_clicked(void);
00090         virtual void objecthandler_clicked(void);
00091         virtual void slot_open_localdatabase(void);
00092         hk_database* database(){return p_database;}
00093 virtual void show_exportdbdrivers();
00094 virtual void show_importdbdrivers();
00095 void exportdbdriver_selected(int);
00096 void importdbdriver_selected(int);
00097 void slot_store_connection();
00098 void slot_referentialintegrity();
00099         void designer_deleted(void);
00100     protected:
00101         QHBoxLayout* knodamainwindowbaseLayout;
00102         QGridLayout* Layout8;
00103         QVBoxLayout* Layout3;
00104         QVBoxLayout* ButtonGroup3Layout;
00105         QVBoxLayout* ButtonGroup2Layout;
00106         hk_connection* p_connection;
00107         hk_database* p_database;
00108         virtual void        list_changes(listtype type);
00109         bool eventFilter(QObject*,QEvent*);
00110     private:
00111  enum enum_function{f_exportdb,f_importdb};
00112  void show_drivers(KPopupMenu* menu, enum_function);
00113         void open_autoform();
00114         void set_buttons();
00115         void set_databasebuttons();
00116         void set_tablebuttons();
00117         void set_querybuttons();
00118         void set_formbuttons();
00119         void set_reportbuttons();
00120         void set_minimalbuttons();
00121         void set_normalbuttons();
00122         hk_kdeform* new_form(void);
00123         hk_kdereport* new_report(void);
00124         hk_kdetable* new_table(void);
00125         hk_kdequery* new_query(void);
00126         hk_kdequery* new_view(void);
00127         QString p_databasestring;
00128         QString p_sdatabasestring;
00129         QString p_tablestring;
00130         QString p_sviewstring;
00131         QString p_viewstring;
00132         QString p_querystring;
00133         QString p_formstring;
00134         QString p_reportstring;
00135         QString p_stablestring;
00136         QString p_squerystring;
00137         QString p_sformstring;
00138         QString p_sreportstring;
00139 //    KAction* p_changepasswordaction;
00140         KAction* p_newaction;
00141         KAction* p_alteraction;
00142         KAction* p_startaction;
00143         KAction* p_deleteaction;
00144         KAction* p_copyaction;
00145         KAction* p_pasteaction;
00146         KAction* p_renameaction;
00147         KActionMenu* p_exportaction;
00148         KAction* p_exportcsvaction;
00149         KAction* p_exportxmlaction;
00150         KActionMenu* p_importaction;
00151         KAction* p_importcsvaction;
00152         KAction* p_databasesettingaction;
00153         KAction* p_objecthandleraction;
00154         KAction* p_passwordaction;
00155         KAction* p_openlocaldbaction;
00156 KActionMenu* p_importdatabaseaction;
00157 KActionMenu* p_exportdatabaseaction;
00158 KAction* p_storeconnection;
00159 KAction* p_referentialintegrityaction;
00160         QPopupMenu* p_popup;
00161         QString p_selecteddb;
00162         QString p_selectedform;
00163 
00164         KMainWindow* p_parent;
00165 hk_kdedbdesignerwindow* p_designer;
00166 };
00167 
00168 
00169 class hk_listbox : public QListBox,public hk_class
00170 {
00171     Q_OBJECT
00172         friend class knodamainwindowbase;
00173     public:
00174         hk_listbox(knodamainwindowbase* w);
00175         ~hk_listbox();
00176         bool cancel(void){return p_cancelcopying;}
00177         static  bool set_progress(long int,long int,const hk_string&);
00178     public slots:
00179         void copying_cancelled();
00180     protected:
00181         virtual void contextMenuEvent(QContextMenuEvent* );
00182         virtual void mouseReleaseEvent(QMouseEvent*);
00183         virtual void mouseMoveEvent(QMouseEvent*);
00184         //virtual void focusInEvent(QFocusEvent*);
00185         void dragEnterEvent(QDragEnterEvent*);
00186         void dropEvent(QDropEvent*);
00187         hk_string create_draginfo(void);
00188         bool decode_action(QMimeSource* event);
00189         bool execute_action(void);
00190         bool copy_presentationfile(void);
00191         bool copy_table(void);
00192         bool copy_view(void);
00193         bool copy_database(void);
00194         hk_connection* find_connection(void);
00195         hk_kdeschemadialog* p_schemadialog;
00196         QPopupMenu* p_popup;
00197         knodamainwindowbase* p_window;
00198         bool p_dragging;
00199         QPoint p_dragstartposition;
00200                                                   //decoded drag&dropvalues
00201         hk_string xname,xtype,xdirectory,xserver,xhost,xtcp,xuser,xdbname;
00202         objecttype ftype;
00203         objecttype actiontype;
00204         static QProgressDialog* p_progressdialog;
00205         static bool p_cancelcopying;
00206 
00207 } ;
00208 
00209 class hk_kdeschemadialog : public QDialog
00210 {
00211     Q_OBJECT
00212 
00213         public:
00214         hk_kdeschemadialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
00215         ~hk_kdeschemadialog();
00216 
00217         QButtonGroup* ButtonGroup1;
00218         QRadioButton* schemaonlyfield;
00219         QRadioButton* datafield;
00220         QPushButton* buttonOk;
00221         QPushButton* buttonCancel;
00222 
00223     protected:
00224         QHBoxLayout* hk_kdeschemadialogLayout;
00225         QVBoxLayout* ButtonGroup1Layout;
00226         QVBoxLayout* Layout2;
00227 };
00228 #endif                                            // knodamainwindowbase_H

Generated on Tue May 2 13:13:59 2006 for Databasehandlingdialogclasses by  doxygen 1.4.6