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

knodawinbase.h

00001 // ****************************************************************************
00002 // copyright (c) 2000-2004 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.16 $
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 hk_kdeform;
00039 class hk_kdereport;
00040 class hk_kdetable;
00041 class hk_kdequery;
00042 class hk_kdeworkspace;
00043 
00044 class knodamainwindowbase : public QWidget ,public hk_dsvisible
00045 {
00046     Q_OBJECT
00047 
00048         public:
00049         knodamainwindowbase( KMainWindow* parent = 0, hk_kdeworkspace* ws=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_kdeworkspace* workspace() {return p_workspace;}
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         
00092     protected:
00093         QHBoxLayout* knodamainwindowbaseLayout;
00094         QGridLayout* Layout8;
00095         QVBoxLayout* Layout3;
00096         QVBoxLayout* ButtonGroup3Layout;
00097         QVBoxLayout* ButtonGroup2Layout;
00098         hk_connection* p_connection;
00099         hk_database* p_database;
00100         virtual void        list_changes(listtype type);
00101         bool eventFilter(QObject*,QEvent*);
00102     private:
00103         void set_buttons();
00104         void set_databasebuttons();
00105         void set_tablebuttons();
00106         void set_querybuttons();
00107         void set_formbuttons();
00108         void set_reportbuttons();
00109         void set_minimalbuttons();
00110         void set_normalbuttons();
00111         hk_kdeform* new_form(void);
00112         hk_kdereport* new_report(void);
00113         hk_kdetable* new_table(void);
00114         hk_kdequery* new_query(void);
00115         hk_kdequery* new_view(void);
00116         QString p_databasestring;
00117         QString p_sdatabasestring;
00118         QString p_tablestring;
00119         QString p_sviewstring;
00120         QString p_viewstring;
00121         QString p_querystring;
00122         QString p_formstring;
00123         QString p_reportstring;
00124         QString p_stablestring;
00125         QString p_squerystring;
00126         QString p_sformstring;
00127         QString p_sreportstring;
00128 //    KAction* p_changepasswordaction;
00129         KAction* p_newaction;
00130         KAction* p_alteraction;
00131         KAction* p_startaction;
00132         KAction* p_deleteaction;
00133         KAction* p_copyaction;
00134         KAction* p_pasteaction;
00135         KAction* p_renameaction;
00136         KActionMenu* p_exportaction;
00137         KAction* p_exportcsvaction;
00138         KAction* p_exportxmlaction;
00139         KActionMenu* p_importaction;
00140         KAction* p_importcsvaction;
00141         KAction* p_databasesettingaction;
00142         KAction* p_objecthandleraction;
00143         KAction* p_passwordaction;
00144         QPopupMenu* p_popup;
00145         QString p_selecteddb;
00146         QString p_selectedform;
00147 
00148         KMainWindow* p_parent;
00149         hk_kdeworkspace* p_workspace;
00150 };
00151 
00152 
00153 class hk_listbox : public QListBox,public hk_class
00154 {
00155     Q_OBJECT
00156         friend class knodamainwindowbase;
00157     public:
00158         hk_listbox(knodamainwindowbase* w);
00159         ~hk_listbox();
00160         bool cancel(void){return p_cancelcopying;}
00161         static  bool set_progress(long int,long int,const hk_string&);
00162     public slots:
00163         void copying_cancelled();
00164     protected:
00165         virtual void contextMenuEvent(QContextMenuEvent* );
00166         virtual void mouseReleaseEvent(QMouseEvent*);
00167         virtual void mouseMoveEvent(QMouseEvent*);
00168         //virtual void focusInEvent(QFocusEvent*);
00169         void dragEnterEvent(QDragEnterEvent*);
00170         void dropEvent(QDropEvent*);
00171         hk_string create_draginfo(void);
00172         bool decode_action(QMimeSource* event);
00173         bool execute_action(void);
00174         bool copy_presentationfile(void);
00175         bool copy_table(void);
00176         bool copy_view(void);
00177         bool copy_database(void);
00178         hk_connection* find_connection(void);
00179         hk_kdeschemadialog* p_schemadialog;
00180         QPopupMenu* p_popup;
00181         knodamainwindowbase* p_window;
00182         bool p_dragging;
00183         QPoint p_dragstartposition;
00184                                                   //decoded drag&dropvalues
00185         hk_string xname,xtype,xdirectory,xserver,xhost,xtcp,xuser,xdbname;
00186         objecttype ftype;
00187         objecttype actiontype;
00188         static QProgressDialog* p_progressdialog;
00189         static bool p_cancelcopying;
00190 
00191 } ;
00192 
00193 class hk_kdeschemadialog : public QDialog
00194 {
00195     Q_OBJECT
00196 
00197         public:
00198         hk_kdeschemadialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
00199         ~hk_kdeschemadialog();
00200 
00201         QButtonGroup* ButtonGroup1;
00202         QRadioButton* schemaonlyfield;
00203         QRadioButton* datafield;
00204         QPushButton* buttonOk;
00205         QPushButton* buttonCancel;
00206 
00207     protected:
00208         QHBoxLayout* hk_kdeschemadialogLayout;
00209         QVBoxLayout* ButtonGroup1Layout;
00210         QVBoxLayout* Layout2;
00211 };
00212 #endif                                            // knodamainwindowbase_H

Generated on Tue Mar 22 23:28:15 2005 for Databasehandlingdialogclasses by  doxygen 1.4.1