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 QMultiLineEdit;
00031 class hk_kdetoolbar;
00032 class hk_kdegrid;
00033 class hk_kdegridpart;
00034 class hk_kdeqbe;
00035 class hk_kdequerypart;
00036
00037 class hk_kdequerypartwidgetprivate;
00038
00051 class hk_kdequerypartwidget : public QWidgetStack ,public hk_dsquery
00052 {
00053 friend class hk_kdequerypart;
00054 Q_OBJECT
00055
00056 public:
00057 virtual ~hk_kdequerypartwidget();
00058 virtual bool set_mode(enum_mode s);
00062 bool in_designmode(void) const ;
00063 virtual void set_datasource(hk_datasource*);
00064
00069 void set_autoclose(bool c);
00070 bool autoclose(void)const;
00071
00075 void set_nodesignmode(bool n);
00076
00077 bool save_query(const hk_string& n="",bool ask=true);
00078 bool load_query(void);
00079 hk_dsgrid *grid(void);
00080 virtual hk_qbe* qbe(void);
00081 hk_kdeqbe* kdeqbe(void) const;
00082 virtual void reset_has_changed(void);
00083 virtual void show_widget(void);
00084 virtual void hide_widget(void);
00085 virtual void close_widget(void);
00086
00087 signals:
00088 void signal_closed(QWidget*);
00089 void signal_qbetypechanged(void);
00090
00091 public slots:
00092 void designbutton_clicked(void);
00093 void querybutton_clicked(void);
00094 void query_changed(void);
00095 void savebutton_clicked(void);
00096 void saveasbutton_clicked(void);
00097 void close_query(void);
00098 void print(void);
00099 void action_useqbe(void);
00100 void copy_clicked(void);
00101 void copybackendsql_clicked(void);
00102 void paste_clicked(void);
00103 void replace_clicked(void);
00104 void find_clicked(void);
00105 void findnext_clicked(void);
00106 void findprevious_clicked(void);
00107 void cut_clicked(void);
00108 void undo_clicked(void);
00109 void redo_clicked(void);
00110 void selectall_clicked(void);
00111 void configeditor_clicked(void);
00112 void storeresult_clicked(void);
00113
00114 virtual void show ();
00115 virtual void showMaximized ();
00116
00117
00118 protected:
00119 hk_kdequerypartwidget(hk_kdequerypart*,QWidget* w=0,const char* n=0,WFlags f=0);
00120 virtual void before_source_vanishes(void);
00121 virtual void closeEvent ( QCloseEvent* e);
00122 void keyPressEvent ( QKeyEvent * e );
00123 virtual void set_has_changed(enum_has_changed forcesetting=standard);
00124 protected slots:
00125 void qbe_has_changed(void);
00126
00127 private:
00128 KRadioAction* p_designaction;
00129 KRadioAction* p_viewaction;
00130 KAction* p_saveaction;
00131 KAction* p_saveasaction;
00132 KAction* p_printaction;
00133
00134 KAction* p_copyaction;
00135 KAction* p_copybackendsqlaction;
00136 KAction* p_cutaction;
00137 KAction* p_undoaction;
00138 KAction* p_redoaction;
00139 KAction* p_pasteaction;
00140 KAction* p_replaceaction;
00141 KAction* p_findaction;
00142 KAction* p_findnextaction;
00143 KAction* p_findpreviousaction;
00144 KAction* p_selectallaction;
00145 KAction* p_storeresultaction;
00146 KAction* p_configeditoraction;
00147
00148 KToggleAction* p_qbeaction;
00149 KAction* p_addaction;
00150 KToggleAction* p_distinctaction;
00151 KWidgetAction* p_qbetypeselectaction;
00152 QComboBox* p_qbetypeselect;
00153 void set_caption(void);
00154 void internal_set_designmode(void);
00155 void internal_set_viewmode(void);
00156
00157
00158 hk_kdequerypartwidgetprivate* p_private;
00159
00160 };
00161 #endif