hk_kdequerypartwidget.h

00001 // ****************************************************************************
00002 // copyright (c) 2000-2005 Horst Knorr <hk_classes@knoda.org>
00003 // This file is part of the hk_kdeclasses library.
00004 // This file may be distributed and/or modified under the terms of the
00005 // GNU Library Public License version 2 as published by the Free Software
00006 // Foundation and appearing in the file LGPL 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 
00012 #ifndef HK_KDEQUERYPARTWIDGET_H
00013 #define HK_KDEQUERYPARTWIDGET_H
00014 
00015 #include <qvariant.h>
00016 #include <qwidgetstack.h>
00017 #include <kate/view.h>
00018 #include <kate/document.h>
00019 
00020 #include "hk_dsquery.h"
00021 #include "hk_datasource.h"
00022 #include "hk_database.h"
00023 
00024 class QVBoxLayout;
00025 class QHBoxLayout;
00026 class QGridLayout;
00027 class QButtonGroup;
00028 class QTable;
00029 class QToolButton;
00030 class QProgressDialog;
00031 class QMultiLineEdit;
00032 class hk_kdetoolbar;
00033 class hk_kdegrid;
00034 class hk_kdegridpart;
00035 class hk_kdeqbe;
00036 class hk_kdequerypart;
00037 
00038 class hk_kdequerypartwidgetprivate;
00039 
00052 class hk_kdequerypartwidget : public QWidgetStack ,public hk_dsquery
00053 {
00054     friend class hk_kdequerypart;
00055     Q_OBJECT
00056 
00057         public:
00058 virtual        ~hk_kdequerypartwidget();
00059         virtual bool            set_mode(enum_mode s);
00063         bool in_designmode(void) const ;
00064         virtual void set_datasource(hk_datasource*);
00065 
00070         void set_autoclose(bool c);
00071         bool autoclose(void)const;
00072 
00076         void set_nodesignmode(bool n);
00077 
00078         bool save_query(const hk_string& n="",bool ask=true);
00079         bool load_query(void);
00080         hk_dsgrid *grid(void);
00081         virtual hk_qbe*  qbe(void);
00082         hk_kdeqbe*   kdeqbe(void) const;
00083 virtual void reset_has_changed(void);
00084 virtual void show_widget(void);
00085 virtual void hide_widget(void);
00086 virtual bool close_widget(void);
00087 
00088     signals:
00089         void signal_closed(QWidget*);
00090         void signal_qbetypechanged(void);
00091 
00092     public slots:
00093         void designbutton_clicked(void);
00094         void querybutton_clicked(void);
00095         void query_changed(void);
00096         void savebutton_clicked(void);
00097         void saveasbutton_clicked(void);
00098         void close_query(void);
00099         void print(void);
00100         void action_useqbe(void);
00101         void copy_clicked(void);
00102         void copybackendsql_clicked(void);
00103         void paste_clicked(void);
00104         void replace_clicked(void);
00105         void find_clicked(void);
00106         void findnext_clicked(void);
00107         void findprevious_clicked(void);
00108         void cut_clicked(void);
00109         void undo_clicked(void);
00110         void redo_clicked(void);
00111         void selectall_clicked(void);
00112         void configeditor_clicked(void);
00113         void storeresult_clicked(void);
00114 
00115 virtual void show ();
00116 virtual void showMaximized ();
00117 
00118 
00119     protected:
00120         hk_kdequerypartwidget(hk_kdequerypart*,QWidget* w=0,const char* n=0,WFlags f=0);
00121         virtual void before_source_vanishes(void);
00122         virtual void closeEvent ( QCloseEvent* e);
00123         void    keyPressEvent ( QKeyEvent * e );
00124         virtual void set_has_changed(enum_has_changed forcesetting=standard);
00125  static  bool set_progress(long int,long int,const hk_string&);
00126     protected slots:
00127         void qbe_has_changed(void);
00128         void exec_cancelled(void);
00129 
00130     private:
00131         KRadioAction* p_designaction;
00132         KRadioAction* p_viewaction;
00133         KAction*      p_saveaction;
00134         KAction*      p_saveasaction;
00135         KAction*      p_printaction;
00136 
00137         KAction*      p_copyaction;
00138         KAction*      p_copybackendsqlaction;
00139         KAction*      p_cutaction;
00140         KAction*      p_undoaction;
00141         KAction*      p_redoaction;
00142         KAction*      p_pasteaction;
00143         KAction*      p_replaceaction;
00144         KAction*      p_findaction;
00145         KAction*      p_findnextaction;
00146         KAction*      p_findpreviousaction;
00147         KAction*      p_selectallaction;
00148         KAction*      p_storeresultaction;
00149         KAction*      p_configeditoraction;
00150 
00151         KToggleAction*      p_qbeaction;
00152         KAction* p_addaction;
00153         KToggleAction* p_distinctaction;
00154         KWidgetAction* p_qbetypeselectaction;
00155         QComboBox* p_qbetypeselect;
00156         void set_caption(void);
00157         void internal_set_designmode(void);
00158         void internal_set_viewmode(void);
00159 //    QMultiLineEdit* p_design;
00160          static bool p_cancel;
00161         hk_kdequerypartwidgetprivate* p_private;
00162 static        QProgressDialog* p_progressdialog;
00163         void before_execute(void);
00164         void after_execute(void);
00165 
00166 };
00167 #endif

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