Source: hk_kdeclasses/hk_kdeclasses/hk_kdequery.h


Annotated List
Files
Globals
Hierarchy
Index
// ****************************************************************************
// copyright (c) 2000-2004 Horst Knorr   
// 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_KDEQUERY_H
#define HK_KDEQUERY_H

#include 
#include 
#include 
#include 

#include "hk_dsquery.h"
#include "hk_datasource.h"
#include "hk_database.h"
class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QButtonGroup;
class QTable;
class QToolButton;
class QMultiLineEdit;
class hk_kdetoolbar;
class hk_kdegrid;
class hk_kdegridpart;

class hk_kdequeryprivate;

/**
 *
 *@short KDE high level widget to define queries and see the result.
 *@version $Revision: 1.4 $
 *@author Horst Knorr (hk_classes@knoda.org)

 *hk_kdequery is a high level widget to define queries and see the result.
 *In this mode of development it has a field to enter the SQL query and a grid which shows the
 * resulting data if there is any. hk_kdequery also handles actionqueries correctly.
 */

 
class hk_kdequery : public KParts::MainWindow ,public hk_dsquery
{
    Q_OBJECT

        public:
        hk_kdequery(QWidget* w=0,const char* n=0,WFlags f=0);
        ~hk_kdequery();
        virtual bool            set_mode(enum_mode s);
/**
 *returns true if the sqlwindow or the qbe window is shown. Else returns false (when the result data is shown)
 */
        bool in_designmode(void) const ;
        virtual void set_datasource(hk_datasource*);
 
/**
 *when the datasource vanishes (i.e. will be destroyed) and autoclose is true, the hk_kdequery 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);

        bool save_query(const hk_string& n="",bool ask=true);
        bool load_query(void);
	hk_dsgrid *grid(void);
	virtual hk_qbe*  qbe(void);
    signals:
        void signal_closed(QWidget*);
    
    public slots:
        void designbutton_clicked(void);
        void querybutton_clicked(void);
        void query_changed(void);
        void savebutton_clicked(void);
        void saveasbutton_clicked(void);
        void close_query(void);
        void print(void);
	void action_useqbe(void);
virtual void show ();
virtual void showMaximized ();


    protected:
        virtual void before_source_vanishes(void);
        virtual void closeEvent ( QCloseEvent* e);
        void    keyPressEvent ( QKeyEvent * e );

    protected slots:	
	void qbe_has_changed(void);

    private:
        void set_caption(void);
	void internal_set_designmode(void);
	void internal_set_viewmode(void);
//    QMultiLineEdit* p_design;
	
	hk_kdequeryprivate* p_private;

};
#endif

Generated by: horst on horstnotebook on Sun Jul 11 12:04:01 2004, using kdoc 2.0a54.