00001
00002
00003
00004
00005
00006
00007
00008
00009
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 reload_query(void);
00100 void print(void);
00101 void action_useqbe(void);
00102 void copy_clicked(void);
00103 void copybackendsql_clicked(void);
00104 void paste_clicked(void);
00105 void replace_clicked(void);
00106 void find_clicked(void);
00107 void findnext_clicked(void);
00108 void findprevious_clicked(void);
00109 void cut_clicked(void);
00110 void undo_clicked(void);
00111 void redo_clicked(void);
00112 void selectall_clicked(void);
00113 void configeditor_clicked(void);
00114 void storeresult_clicked(void);
00115
00116 virtual void show ();
00117 virtual void showMaximized ();
00118
00119
00120 protected:
00121 hk_kdequerypartwidget(hk_kdequerypart*,QWidget* w=0,const char* n=0,WFlags f=0);
00122 virtual void before_source_vanishes(void);
00123 virtual void closeEvent ( QCloseEvent* e);
00124 void keyPressEvent ( QKeyEvent * e );
00125 virtual void set_has_changed(enum_has_changed forcesetting=standard);
00126 static bool set_progress(long int,long int,const hk_string&);
00127 protected slots:
00128 void qbe_has_changed(void);
00129 void exec_cancelled(void);
00130
00131 private:
00132 KRadioAction* p_designaction;
00133 KRadioAction* p_viewaction;
00134 KAction* p_saveaction;
00135 KAction* p_saveasaction;
00136 KAction* p_printaction;
00137 KAction* p_reloadaction;
00138
00139 KAction* p_copyaction;
00140 KAction* p_copybackendsqlaction;
00141 KAction* p_cutaction;
00142 KAction* p_undoaction;
00143 KAction* p_redoaction;
00144 KAction* p_pasteaction;
00145 KAction* p_replaceaction;
00146 KAction* p_findaction;
00147 KAction* p_findnextaction;
00148 KAction* p_findpreviousaction;
00149 KAction* p_selectallaction;
00150 KAction* p_storeresultaction;
00151 KAction* p_configeditoraction;
00152
00153 KToggleAction* p_qbeaction;
00154 KAction* p_addaction;
00155 KToggleAction* p_distinctaction;
00156 KWidgetAction* p_qbetypeselectaction;
00157 QComboBox* p_qbetypeselect;
00158 void set_caption(void);
00159 void internal_set_designmode(void);
00160 void internal_set_viewmode(void);
00161
00162 static bool p_cancel;
00163 hk_kdequerypartwidgetprivate* p_private;
00164 static QProgressDialog* p_progressdialog;
00165 void before_execute(void);
00166 void after_execute(void);
00167
00168 };
00169 #endif