Main Page | Class Hierarchy | Class List | Directories | File List | Class Members

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(const hk_string& 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 void close_widget(void);
00130 
00131     signals:
00132         void signal_closed(QWidget*);
00133 
00134 
00135 
00136     protected:
00137         hk_kdeformpartwidget( hk_kdeformpart* ,QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
00138         virtual void closeEvent ( QCloseEvent* e);
00139         virtual void        mousePressEvent(QMouseEvent*);
00140     protected slots:
00141         void formbutton_clicked(void);
00142         void close_form(void);
00143         void designbutton_clicked(void);
00144         void fieldbutton_clicked(void);
00145         void field_created(void);
00146         void save_form(void);
00147         void saveas_form(void);
00148         void bulkfont_clicked(void);
00149         void bulkforegroundcolour_clicked(void);
00150         void bulkbackgroundcolour_clicked(void);
00151         void grid_partinfocus(hk_kdegridpart*);
00152         void grid_partoutfocus(hk_kdegridpart*);
00153         void slot_focuswidget_changed();
00154         void slot_has_changed();
00155         void clipboard_changed();
00156         void taborder_clicked();
00157         void withlabelbutton_clicked();
00158     private:
00159         KRadioAction* p_designaction;
00160         KRadioAction* p_viewaction;
00161         KAction* p_saveaction;
00162         KAction* p_saveasaction;
00163 
00164         KRadioAction*  p_pointeraction;
00165         KRadioAction*  p_lineeditaction;
00166         KRadioAction*  p_labelaction;
00167         KRadioAction*  p_multilineeditaction;
00168         KRadioAction*  p_booleanaction;
00169         KRadioAction*  p_comboboxaction;
00170         KRadioAction*  p_gridaction;
00171         KRadioAction*  p_selectoraction;
00172         KRadioAction*  p_buttonaction;
00173         KRadioAction*  p_subformaction;
00174         KRadioAction*  p_imageaction;
00175         KRadioAction*  p_tabwidgetaction;
00176         KRadioAction*  p_dateaction;
00177         KAction*       p_filterdefinitionaction;
00178         KToggleAction* p_filterexecaction;
00179         KToggleAction* p_withlabelaction;
00180         KActionMenu*   p_bulkaction;
00181         KAction*       p_bulkfontaction;
00182         KAction*       p_bulkforegroundcolouraction;
00183         KAction*       p_bulkbackgroundcolouraction;
00184         KAction* p_deleteaction;
00185         KAction* p_copyaction;
00186         KAction* p_pasteaction;
00187         KAction* p_cutaction;
00188         KAction*       p_formpropertyaction;
00189         KActionMenu* p_resizeaction;
00190         KAction* p_minwidthaction;
00191         KAction* p_maxwidthaction;
00192         KAction* p_minheightaction;
00193         KAction* p_maxheightaction;
00194         KAction* p_minsizeaction;
00195         KAction* p_maxsizeaction;
00196         KActionMenu* p_alignaction;
00197         KAction* p_alignleftaction;
00198         KAction* p_alignrightaction;
00199         KAction* p_aligntopaction;
00200         KAction* p_alignbottomaction;
00201         KAction* p_dbdesigneraction;
00202         KAction* p_taborderaction;
00203         hk_kdeformpart* p_formpart;
00204 
00205         hk_kdetoolbar* toolbar;
00206         hk_kdesimpleform* p_form;
00207         hk_kderowselector* p_rowselector;
00208         QScrollView* p_scrollview;
00209         bool p_nodesignmode;
00210 };
00211 #endif

Generated on Tue Sep 13 04:14:42 2005 for Databasehandlingdialogclasses by  doxygen 1.4.4