00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDEREPORTPARTWIDGET_H
00013 #define HK_KDEREPORTPARTWIDGET_H
00014 #include "hk_class.h"
00015 #include <qwidget.h>
00016 #include "hk_presentation.h"
00017 #include <kparts/dockmainwindow.h>
00018
00019 class QButtonGroup;
00020 class QLabel;
00021 class hk_kdesimplereport;
00022 class hk_database;
00023 class hk_kdetoolbar;
00024 class QToolButton;
00025 class QVBoxLayout;
00026 class QHBoxLayout;
00027 class KLibFactory;
00028 class KRadioAction;
00029 class QWidgetStack;
00030 class hk_kdereportpart;
00031 class hk_kdepreviewwindow;
00032
00033 class hk_kdereportpartwidgetscrollview;
00045 class hk_kdereportpartwidget:public KParts::DockMainWindow, public hk_class
00046 {
00047 friend class hk_kdereportpart;
00048 Q_OBJECT
00049
00050 public:
00051 virtual ~hk_kdereportpartwidget();
00052 bool set_presentationdatasource(long n,bool r=true);
00053 long presentationdatasource(void);
00054 void set_database(hk_database*);
00055 hk_database* database(void);
00056 void set_nodesignmode(bool);
00057 void set_mode(hk_presentation::enum_mode s);
00058 hk_kdesimplereport* simplereport(void);
00059 bool load_report(const hk_string& name="");
00060 bool while_executing(void) const;
00061 void stop_execution(void);
00062 virtual void show_widget(void);
00063 virtual void hide_widget(void);
00064 virtual void close_widget(void);
00065
00066
00067
00068
00069 signals:
00070 void signal_closed(QWidget*);
00071 void signal_setcaption(const QString&);
00072
00073 public slots:
00074 void set_designmode(void);
00075 void set_viewmode(void);
00076 void save_report(void);
00077 void saveas_report(void);
00078 void close_report(void);
00079 void slot_showtoolbar(void);
00080 void print_report(void);
00081 void select_section(void);
00082
00083
00084 protected:
00085 hk_kdereportpartwidget( hk_kdereportpart*,QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
00086 void closeEvent ( QCloseEvent* e);
00087
00088 protected slots:
00089 void fieldbutton_clicked(void);
00090 void pointerbutton_clicked(void);
00091 void viewbutton_clicked(void);
00092 void designbutton_clicked(void);
00093 void field_created(void);
00094 void bulkfont_clicked(void);
00095 void bulkforegroundcolour_clicked(void);
00096 void bulkbackgroundcolour_clicked(void);
00097 void slot_has_changed();
00098 void clipboard_changed();
00099 void slot_focuswidget_changed();
00100
00101
00102 private:
00103 KRadioAction* p_pointeraction;
00104 KRadioAction* p_fieldaction;
00105 KRadioAction* p_designaction;
00106 KRadioAction* p_viewaction;
00107 KAction* p_printaction;
00108 KAction* p_sectionaction;
00109 KAction* p_reportpropertyaction;
00110 KAction* p_saveaction;
00111 KAction* p_saveasaction;
00112 KActionMenu* p_bulkaction;
00113 KAction* p_bulkfontaction;
00114 KAction* p_bulkforegroundcolouraction;
00115 KAction* p_bulkbackgroundcolouraction;
00116
00117 KAction* p_deleteaction;
00118 KAction* p_copyaction;
00119 KAction* p_pasteaction;
00120 KAction* p_cutaction;
00121
00122
00123
00124
00125 KActionMenu* p_resizeaction;
00126 KAction* p_minwidthaction;
00127 KAction* p_maxwidthaction;
00128 KAction* p_minheightaction;
00129 KAction* p_maxheightaction;
00130 KAction* p_minsizeaction;
00131 KAction* p_maxsizeaction;
00132 KActionMenu*p_alignaction;
00133 KAction* p_alignleftaction;
00134 KAction* p_alignrightaction;
00135 KAction* p_aligntopaction;
00136 KAction* p_alignbottomaction;
00137
00138
00139 void set_reporttoolbar(void);
00140
00141
00142
00143
00144
00145
00146 hk_kdesimplereport* p_report;
00147 bool p_nodesignmode;
00148 QWidgetStack* p_stack;
00149 hk_kdepreviewwindow* p_previewwindow;
00150 hk_kdereportpartwidgetscrollview* p_scrollview;
00151 hk_kdereportpart* p_reportpart;
00152
00153 bool p_whilepreview;
00154 bool p_closewindow;
00155 void set_caption(void);
00156
00157 };
00158 #endif