Main Page | Class Hierarchy | Class List | Directories | File List | Class Members

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

Generated on Tue Sep 13 05:09:15 2005 for Databasehandlingdialogclasses by  doxygen 1.4.4