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.25 $
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_kdemodule;
00044 class hk_kdedbdesignerwindow;
00045 
00046 class knodamainwindowbase : public QWidget ,public hk_dsvisible
00047 {
00048     Q_OBJECT
00049 
00050         public:
00051         knodamainwindowbase( KMainWindow* parent = 0,const char* name = 0, WFlags fl = 0,const QString& database="",const QString& form="" );
00052         virtual    ~knodamainwindowbase();
00053         void set_connection(hk_connection* c);
00054         hk_connection* connection(void) {return p_connection;}
00055         hk_listbox* itemslist;
00056         QLabel* TextLabel1;
00057         QLabel* TextLabel1_2;
00058         QLabel* databasename;
00059         QButtonGroup* ButtonGroup2;
00060         QRadioButton* querybutton;
00061         QRadioButton* reportbutton;
00062         QRadioButton* modulebutton;
00063         QRadioButton* tablebutton;
00064         QRadioButton* viewbutton;
00065         QRadioButton* formbutton;
00066         QRadioButton* databasebutton;
00067         QButtonGroup* ButtonGroup3;
00068         QPushButton* newbutton;
00069         QPushButton* startbutton;
00070         QPushButton* alterbutton;
00071         QPushButton* deletebutton;
00072         QPopupMenu* popupmenu(void);
00073 
00074     public slots:
00075         virtual void alter_clicked();
00076         virtual void delete_clicked();
00077         virtual void function_select(objecttype);
00078         virtual void functionbutton_select(int);
00079         virtual void function_select(void);
00080         virtual void itemslist_doubleclicked();
00081         virtual void new_clicked();
00082         virtual void start_clicked();
00083         virtual void rename_clicked();
00084         virtual void importcsv_clicked();
00085         virtual void exportcsv_clicked();
00086         virtual void exportxml_clicked();
00087         virtual void itemslist_clicked(QListBoxItem*);
00088         virtual void newpassworddialog_selected(void);
00089         virtual void copy_clicked(void);
00090         virtual void paste_clicked(void);
00091         virtual void clipboarddata_has_changed(void);
00092         virtual void databasesettings_clicked(void);
00093         virtual void objecthandler_clicked(void);
00094         virtual void slot_open_localdatabase(void);
00095         hk_database* database(){return p_database;}
00096 virtual void show_exportdbdrivers();
00097 virtual void show_importdbdrivers();
00098 void exportdbdriver_selected(int);
00099 void importdbdriver_selected(int);
00100 void slot_store_connection();
00101 void slot_referentialintegrity();
00102         void designer_deleted(void);
00103     protected:
00104         QHBoxLayout* knodamainwindowbaseLayout;
00105         QGridLayout* Layout8;
00106         QVBoxLayout* Layout3;
00107         QVBoxLayout* ButtonGroup3Layout;
00108         QVBoxLayout* ButtonGroup2Layout;
00109         hk_connection* p_connection;
00110         hk_database* p_database;
00111         virtual void        list_changes(listtype type);
00112         bool eventFilter(QObject*,QEvent*);
00113     private:
00114  enum enum_function{f_exportdb,f_importdb};
00115  void show_drivers(KPopupMenu* menu, enum_function);
00116         void open_autoform();
00117         void set_buttons();
00118         void set_databasebuttons();
00119         void set_tablebuttons();
00120         void set_querybuttons();
00121         void set_formbuttons();
00122         void set_reportbuttons();
00123         void set_minimalbuttons();
00124         void set_normalbuttons();
00125         void set_modulebuttons();
00126         hk_kdeform* new_form(void);
00127         hk_kdereport* new_report(void);
00128         hk_kdetable* new_table(void);
00129         hk_kdequery* new_query(void);
00130         hk_kdequery* new_view(void);
00131         hk_kdemodule* new_module(void);
00132         QString p_databasestring;
00133         QString p_sdatabasestring;
00134         QString p_tablestring;
00135         QString p_sviewstring;
00136         QString p_viewstring;
00137         QString p_querystring;
00138         QString p_formstring;
00139         QString p_modulestring;
00140         QString p_reportstring;
00141         QString p_stablestring;
00142         QString p_squerystring;
00143         QString p_sformstring;
00144         QString p_sreportstring;
00145         QString p_smodulestring;
00146 //    KAction* p_changepasswordaction;
00147         KAction* p_newaction;
00148         KAction* p_alteraction;
00149         KAction* p_startaction;
00150         KAction* p_deleteaction;
00151         KAction* p_copyaction;
00152         KAction* p_pasteaction;
00153         KAction* p_renameaction;
00154         KActionMenu* p_exportaction;
00155         KAction* p_exportcsvaction;
00156         KAction* p_exportxmlaction;
00157         KActionMenu* p_importaction;
00158         KAction* p_importcsvaction;
00159         KAction* p_databasesettingaction;
00160         KAction* p_objecthandleraction;
00161         KAction* p_passwordaction;
00162         KAction* p_openlocaldbaction;
00163 KActionMenu* p_importdatabaseaction;
00164 KActionMenu* p_exportdatabaseaction;
00165 KAction* p_storeconnection;
00166 KAction* p_referentialintegrityaction;
00167         QPopupMenu* p_popup;
00168         QString p_selecteddb;
00169         QString p_selectedform;
00170 
00171         KMainWindow* p_parent;
00172 hk_kdedbdesignerwindow* p_designer;
00173 };
00174 
00175 
00176 class hk_listbox : public QListBox,public hk_class
00177 {
00178     Q_OBJECT
00179         friend class knodamainwindowbase;
00180     public:
00181         hk_listbox(knodamainwindowbase* w);
00182         ~hk_listbox();
00183         bool cancel(void){return p_cancelcopying;}
00184         static  bool set_progress(long int,long int,const hk_string&);
00185     public slots:
00186         void copying_cancelled();
00187     protected:
00188         virtual void contextMenuEvent(QContextMenuEvent* );
00189         virtual void mouseReleaseEvent(QMouseEvent*);
00190         virtual void mouseMoveEvent(QMouseEvent*);
00191         //virtual void focusInEvent(QFocusEvent*);
00192         void dragEnterEvent(QDragEnterEvent*);
00193         void dropEvent(QDropEvent*);
00194         hk_string create_draginfo(void);
00195         bool decode_action(QMimeSource* event);
00196         bool execute_action(void);
00197         bool copy_presentationfile(void);
00198         bool copy_table(void);
00199         bool copy_view(void);
00200         bool copy_database(void);
00201         hk_connection* find_connection(void);
00202         hk_kdeschemadialog* p_schemadialog;
00203         QPopupMenu* p_popup;
00204         knodamainwindowbase* p_window;
00205         bool p_dragging;
00206         QPoint p_dragstartposition;
00207                                                   //decoded drag&dropvalues
00208         hk_string xname,xtype,xdirectory,xserver,xhost,xtcp,xuser,xdbname;
00209         objecttype ftype;
00210         objecttype actiontype;
00211         static QProgressDialog* p_progressdialog;
00212         static bool p_cancelcopying;
00213 
00214 } ;
00215 
00216 class hk_kdeschemadialog : public QDialog
00217 {
00218     Q_OBJECT
00219 
00220         public:
00221         hk_kdeschemadialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
00222         ~hk_kdeschemadialog();
00223 
00224         QButtonGroup* ButtonGroup1;
00225         QRadioButton* schemaonlyfield;
00226         QRadioButton* datafield;
00227         QPushButton* buttonOk;
00228         QPushButton* buttonCancel;
00229 
00230     protected:
00231         QHBoxLayout* hk_kdeschemadialogLayout;
00232         QVBoxLayout* ButtonGroup1Layout;
00233         QVBoxLayout* Layout2;
00234 };
00235 #endif                                            // knodamainwindowbase_H

Generated on Tue Nov 28 00:05:29 2006 for Databasehandlingdialogclasses by  doxygen 1.5.0