hk_kdeformpartwidget.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_KDEFORMPARTWIDGET_H
00013 #define HK_KDEFORMPARTWIDGET_H
00014 #include <hk_form.h>
00015 #include <qvariant.h>
00016 #include <qwidget.h>
00017 #include <hk_presentation.h>
00018 //#include <fstream.h>
00019 #include <hk_class.h>
00020 #include <kdockwidget.h>
00021 #include <kaction.h>
00022 
00023 class QVBoxLayout;
00024 class QHBoxLayout;
00025 class QGridLayout;
00026 class QLabel;
00027 class QScrollView;
00028 class hk_kdesimpleform;
00029 class QToolButton;
00030 class QButtonGroup;
00031 class hk_kderowselector;
00032 class hk_kdetoolbar;
00033 class hk_kdeproperty;
00034 class hk_kdegridpart;
00035 class hk_kdeformpart;
00036 
00048 class hk_kdeformpartwidget : public KDockMainWindow,public hk_class
00049 {
00050     Q_OBJECT
00051      friend class hk_kdesimpleform;
00052      friend class hk_kdeformpart;
00053         public:
00054         virtual    ~hk_kdeformpartwidget();
00055 
00056         hk_presentation::enum_mode  mode(void);
00060         void            set_mode(hk_presentation::enum_mode s);
00061         void            set_viewmode(void);
00062         void            set_designmode(void);
00066         hk_dsgrid*      new_grid(void);
00070         hk_dslineedit*      new_lineedit(void);
00074         hk_dsboolean*       new_bool(void);
00078         hk_button*      new_button(void);
00082         hk_dsrowselector*   new_rowselector(void);
00086         hk_dsmemo*      new_memo(void);
00087 
00088         hk_subform*     new_subform(void);
00092         void            set_formsize(unsigned int width, unsigned int height);
00096         void            set_database(hk_database* db);
00097         hk_database*        database(void);
00098         list<hk_datasource*>*   datasources(void);
00099         long            new_datasource(const hk_string& name,datasourcetype dt=dt_table);
00100         hk_datasource*      get_datasource(long nr);
00104         hk_kdesimpleform*   simpleform(void);
00108         bool        set_presentationdatasource(long n,bool r=true);
00109         long        presentationdatasource(void);
00110         void        loaddata(xmlNodePtr definition);
00111         void        savedata(ofstream& s);
00112         void        load_form(const hk_string& n);
00113         hk_kdeformpart* formpart(void) const{return p_formpart;}
00119         void set_autoclose(bool c);
00123         void set_nodesignmode(bool n);
00124         hk_kdeproperty* propertyeditor(void);
00125         void save_form_when_changed(void);
00126         void set_caption(void);
00127 virtual void show_widget(void);
00128 virtual void hide_widget(void);
00129 virtual bool close_widget(void);
00130         void set_caller_form(const hk_string&);
00131         hk_string caller_form(void) const;
00132 
00133     signals:
00134         void signal_closed(QWidget*);
00135         void signal_raise_form(const hk_string&);
00136 
00137 
00138 
00139     protected:
00140         hk_kdeformpartwidget( hk_kdeformpart* ,QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
00141         virtual void closeEvent ( QCloseEvent* e);
00142         virtual void        mousePressEvent(QMouseEvent*);
00143     protected slots:
00144         void formbutton_clicked(void);
00145         void close_form(void);
00146         void designbutton_clicked(void);
00147         void fieldbutton_clicked(void);
00148         void field_created(void);
00149         void save_form(void);
00150         void saveas_form(void);
00151         void bulkfont_clicked(void);
00152         void bulkforegroundcolour_clicked(void);
00153         void bulkbackgroundcolour_clicked(void);
00154         void grid_partinfocus(hk_kdegridpart*);
00155         void grid_partoutfocus(hk_kdegridpart*);
00156         void slot_focuswidget_changed();
00157         void slot_has_changed();
00158         void clipboard_changed();
00159         void taborder_clicked();
00160         void withlabelbutton_clicked();
00161         void show_gridcolumndialog();
00162         void filterdefinebutton_clicked();
00163     private:
00164         KRadioAction* p_designaction;
00165         KRadioAction* p_viewaction;
00166         KAction* p_saveaction;
00167         KAction* p_saveasaction;
00168 
00169         KRadioAction*  p_pointeraction;
00170         KRadioAction*  p_lineeditaction;
00171         KRadioAction*  p_labelaction;
00172         KRadioAction*  p_multilineeditaction;
00173         KRadioAction*  p_booleanaction;
00174         KRadioAction*  p_comboboxaction;
00175         KRadioAction*  p_gridaction;
00176         KRadioAction*  p_selectoraction;
00177         KRadioAction*  p_buttonaction;
00178         KRadioAction*  p_subformaction;
00179         KRadioAction*  p_imageaction;
00180         KRadioAction*  p_tabwidgetaction;
00181         KRadioAction*  p_dateaction;
00182         KToggleAction*       p_filterdefinitionaction;
00183         KToggleAction* p_filterexecaction;
00184         KToggleAction* p_withlabelaction;
00185         KActionMenu*   p_bulkaction;
00186         KAction*       p_bulkfontaction;
00187         KAction*       p_bulkforegroundcolouraction;
00188         KAction*       p_bulkbackgroundcolouraction;
00189         KAction* p_deleteaction;
00190         KAction* p_copyaction;
00191         KAction* p_pasteaction;
00192         KAction* p_cutaction;
00193         KAction*       p_formpropertyaction;
00194         KActionMenu* p_resizeaction;
00195         KAction* p_minwidthaction;
00196         KAction* p_maxwidthaction;
00197         KAction* p_minheightaction;
00198         KAction* p_maxheightaction;
00199         KAction* p_minsizeaction;
00200         KAction* p_maxsizeaction;
00201         KActionMenu* p_alignaction;
00202         KAction* p_alignleftaction;
00203         KAction* p_alignrightaction;
00204         KAction* p_aligntopaction;
00205         KAction* p_alignbottomaction;
00206         KAction* p_dbdesigneraction;
00207         KAction* p_taborderaction;
00208         KAction* p_definegridcolumnaction;
00209         hk_kdeformpart* p_formpart;
00210         hk_string p_callerform;
00211 
00212         hk_kdetoolbar* toolbar;
00213         hk_kdesimpleform* p_form;
00214         hk_kderowselector* p_rowselector;
00215         QScrollView* p_scrollview;
00216         bool p_nodesignmode;
00217         bool p_dontclose;
00218 };
00219 #endif

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