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_presentation::enum_mode mode(void);
00059 hk_kdesimplereport* simplereport(void);
00060 bool load_report(const hk_string& name="");
00061 bool while_executing(void) const;
00062 void stop_execution(void);
00063 virtual void show_widget(void);
00064 virtual void hide_widget(void);
00065 virtual bool close_widget(void);
00066
00067
00068
00069 void set_caller_form(const hk_string&);
00070 hk_string caller_form(void) const;
00071
00072 signals:
00073 void signal_closed(QWidget*);
00074 void signal_setcaption(const QString&);
00075 void signal_raise_form(const hk_string&);
00076
00077 public slots:
00078 void set_designmode(void);
00079 void set_viewmode(void);
00080 void save_report(void);
00081 void saveas_report(void);
00082 void close_report(void);
00083 void slot_showtoolbar(void);
00084 void print_report(void);
00085 void select_section(void);
00086
00087
00088 protected:
00089 hk_kdereportpartwidget( hk_kdereportpart*,QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
00090 void closeEvent ( QCloseEvent* e);
00091
00092 protected slots:
00093 void fieldbutton_clicked(void);
00094 void pointerbutton_clicked(void);
00095 void viewbutton_clicked(void);
00096 void designbutton_clicked(void);
00097 void field_created(void);
00098 void bulkfont_clicked(void);
00099 void bulkforegroundcolour_clicked(void);
00100 void bulkbackgroundcolour_clicked(void);
00101 void slot_has_changed();
00102 void clipboard_changed();
00103 void slot_focuswidget_changed();
00104
00105
00106 private:
00107 KRadioAction* p_pointeraction;
00108 KRadioAction* p_fieldaction;
00109 KRadioAction* p_designaction;
00110 KRadioAction* p_viewaction;
00111 KAction* p_printaction;
00112 KAction* p_sectionaction;
00113 KAction* p_reportpropertyaction;
00114 KAction* p_saveaction;
00115 KAction* p_saveasaction;
00116 KActionMenu* p_bulkaction;
00117 KAction* p_bulkfontaction;
00118 KAction* p_bulkforegroundcolouraction;
00119 KAction* p_bulkbackgroundcolouraction;
00120
00121 KAction* p_deleteaction;
00122 KAction* p_copyaction;
00123 KAction* p_pasteaction;
00124 KAction* p_cutaction;
00125
00126
00127
00128
00129 KActionMenu* p_resizeaction;
00130 KAction* p_minwidthaction;
00131 KAction* p_maxwidthaction;
00132 KAction* p_minheightaction;
00133 KAction* p_maxheightaction;
00134 KAction* p_minsizeaction;
00135 KAction* p_maxsizeaction;
00136 KActionMenu*p_alignaction;
00137 KAction* p_alignleftaction;
00138 KAction* p_alignrightaction;
00139 KAction* p_aligntopaction;
00140 KAction* p_alignbottomaction;
00141 hk_string p_callerform;
00142
00143
00144 void set_reporttoolbar(void);
00145
00146
00147
00148
00149
00150
00151 hk_kdesimplereport* p_report;
00152 bool p_nodesignmode;
00153 QWidgetStack* p_stack;
00154 hk_kdepreviewwindow* p_previewwindow;
00155 hk_kdereportpartwidgetscrollview* p_scrollview;
00156 hk_kdereportpart* p_reportpart;
00157
00158 bool p_whilepreview;
00159 bool p_closewindow;
00160 void set_caption(void);
00161
00162 };
00163 #endif