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

hk_kdeformpartwidget.h

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

Generated on Tue Mar 22 23:28:15 2005 for Databasehandlingdialogclasses by  doxygen 1.4.1