# Source: hk_kdeclasses/hk_kdeclasses/hk_kdeform.h

Annotated List
Files
Globals
Hierarchy
Index

    // ****************************************************************************
    // copyright (c) 2000-2004 Horst Knorr <hk_classes@knoda.org>
    // This file is part of the hk_kdeclasses library.
    // This file may be distributed and/or modified under the terms of the
    // GNU Library Public License version 2 as published by the Free Software
    // Foundation and appearing in the file LGPL included in the
    // packaging of this file.
    // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    // ****************************************************************************

    #ifndef HK_KDEform_H
    #define HK_KDEform_H
    #include <hk_form.h>
    #include <qvariant.h>
    #include <qwidget.h>
    #include <hk_presentation.h>
    //#include <fstream.h>
    #include <hk_class.h>
    #include <kparts/mainwindow.h>

    class QVBoxLayout;
    class QHBoxLayout;
    class QGridLayout;
    class QLabel;
    class QScrollView;
    class hk_kdesimpleform;
    class QToolButton;
    class QButtonGroup;
    class hk_kderowselector;
    class hk_kdetoolbar;
    class hk_kdeproperty;
    class hk_kdegridpart;

    /**
     *
     *@short  KDE high level widget to display and design forms
     *@author Horst Knorr (hk_classes@knoda.org)
     *@version $Revision: 1.26 $
     *
     *this is a high level widget to display and design forms. It hereby uses @ref hk_kdesimpleform.
     *To use it set the database with @ref set_database. If you want to show or edit an existing form
     * load it with @ref load_form.
     */

    class hk_kdeform : public KParts::MainWindow,public hk_class
    {
        Q_OBJECT
         friend class hk_kdesimpleform;
            public:
            hk_kdeform( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
            virtual    ~hk_kdeform();

            hk_presentation::enum_mode  mode(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            void            set_mode(hk_presentation::enum_mode s);
            void            set_viewmode(void);
            void            set_designmode(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            hk_dsgrid*      new_grid(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            hk_dslineedit*      new_lineedit(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            hk_dsboolean*       new_bool(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            hk_button*      new_button(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            hk_dsrowselector*   new_rowselector(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            hk_dsmemo*      new_memo(void);
    /**
     * See @ref hk_kdesimpleform for details
     */
            void            set_formsize(unsigned int width, unsigned int height);
    /**
     * See @ref hk_kdesimpleform for details
     */
            void            set_database(hk_database* db);
            hk_database*        database(void);
            list<hk_datasource*>*   datasources(void);
            long            new_datasource(const hk_string& name,bool query=false);
            hk_datasource*      get_datasource(long nr);
    /**
     * returns a pointer to the internally used hk_kdesimpleform. Don't delete the object!
     */
            hk_kdesimpleform*   simpleform(void);
    /**
     * if r=true the simpleform will also be set. Usually you have to leave it to "true"
     */
            bool        set_presentationdatasource(long n,bool r=true);
            long        presentationdatasource(void);
            void        loaddata(const hk_string& definition);
            void        savedata(ofstream& s);
            void        load_form(const hk_string& n);
    /**
     *when the datasource vanishes (i.e. will be destroyed) and autoclose is true, the hk_kdetable will be
     *closed otherwise it still is on your screen.
     */

            void set_autoclose(bool c);
    /**
     *if the designwindow should not be shown set this true. Default is false.
     */
            void set_nodesignmode(bool n);
    	hk_kdeproperty* propertyeditor(void);

        protected:
            virtual void closeEvent ( QCloseEvent* e);
            virtual void        mousePressEvent(QMouseEvent*);
        protected slots:
            void formbutton_clicked(void);
            void close_form(void);
            void designbutton_clicked(void);
            void fieldbutton_clicked(void);
            void field_created(void);
            void save_form(void);
            void saveas_form(void);
            void bulkfont_clicked(void);
            void bulkforegroundcolour_clicked(void);
            void bulkbackgroundcolour_clicked(void);
    	void grid_partinfocus(hk_kdegridpart*);
    	void grid_partoutfocus(hk_kdegridpart*);
        private:
            void set_caption(void);
            KRadioAction* p_designaction;
            KRadioAction* p_viewaction;
            KAction* p_saveaction;
            KAction* p_saveasaction;
            KAction* p_closeaction;

            KRadioAction*  p_pointeraction;
            KRadioAction*  p_lineeditaction;
            KRadioAction*  p_labelaction;
            KRadioAction*  p_multilineeditaction;
            KRadioAction*  p_booleanaction;
            KRadioAction*  p_comboboxaction;
            KRadioAction*  p_gridaction;
            KRadioAction*  p_selectoraction;
            KRadioAction*  p_buttonaction;
            KAction*       p_filterdefinitionaction;
            KToggleAction* p_filterexecaction;
            KActionMenu*   p_bulkaction;
            KAction*       p_bulkfontaction;
            KAction*       p_bulkforegroundcolouraction;
            KAction*       p_bulkbackgroundcolouraction;

            hk_kdetoolbar* toolbar;
            hk_kdesimpleform* p_form;
            hk_kderowselector* p_rowselector;
            QScrollView* p_scrollview;
            bool p_nodesignmode;
    };
    #endif

Generated by: horst on horstnotebook on Tue Mar 30 19:06:43 2004, using kdoc 2.0a54.