Sophie

Sophie

distrib > Mandriva > 10.0 > i586 > by-pkgid > a86327fd014dc28b8b792dc8f310a4d6 > files > 118

libhk_classes5-devel-0.6.2a-3mdk.i586.rpm

<HTML>
<HEAD>
<TITLE>Source: hk_classes/hk_classes/hk_form.h</TITLE>

<META NAME="Generator" CONTENT="KDOC ">
</HEAD>
<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
<TABLE WIDTH="100%" BORDER="0">
<TR>
<TD>
	<TABLE BORDER="0">
		<TR><TD valign="top" align="left" cellspacing="10">
		<h1>Source: hk_classes/hk_classes/hk_form.h</h1>
		</TD>
		<TD valign="top" align="right" colspan="1"></TD></TR>
	</TABLE>
	<HR>
	<TABLE BORDER="0">
		
	</TABLE>
	</TD>
<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</A></small></TD></TR>
<TR><TD><small><A HREF="header-list.html">Files</A></small></TD></TR>
<TR><TD><small><A HREF="all-globals.html">Globals</A></small></TD></TR>
<TR><TD><small><A HREF="hier.html">Hierarchy</A></small></TD></TR>
<TR><TD><small><A HREF="index.html">Index</A></small></TD></TR>
</TABLE></TD></TR></TABLE>
<pre>
// ****************************************************************************
// copyright (c) 2000-2002 Horst Knorr <hk_classes@knoda.org>
// This file is part of the hk_classes 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 COPYING 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_FORM_H
#define HK_FORM_H
#include "hk_presentation.h"
using namespace std;

class hk_dslineedit;
class hk_dsgrid;
class hk_dsboolean;
class hk_dsrowselector;
class hk_dscombobox;
class hk_dsmemo;
class hk_button;
class hk_label;
class hk_formprivate;
/**
 *
 *@short  base class for forms
 *@version $Revision: 1.2 $
 *@author Horst Knorr (hk_classes@knoda.org)
 *
 */

/**
 * base class of a form.To use it set a database with set_database() first. To  create a  form it has to be in
 *mode "design".
 */
class hk_form:public hk_presentation
{
    friend class hk_dsvisible;
    friend class hk_visible;

    public:

        hk_form(void);
        virtual ~hk_form(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * grid in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_dsgrid*      new_grid(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * lineeidt field in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_dslineedit*      new_lineedit(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * bool field in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_dsboolean*       new_bool(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * combobox in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_dscombobox*      new_combobox(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * button in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_button*      new_button(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * row selector in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_dsrowselector*   new_rowselector(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * memofield in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_dsmemo*      new_memo(void);
/**
 * the form has to be in design mode to use this function! The function will create a new
 * textlabel in the upper left corner.
 *@return the new created object if successful else NULL
 */
        hk_label*       new_label(void);
/**
 *save the form to a file
 *@param name the name of the file
 *@param ask  if true and the form already exists you will be asked before the old form will be overwritten
 *@return true if successful else false
 */
        bool            save_form(const hk_string& name="",bool ask=true);
/**
 *load the form from a file
 *@param name the name of the file
 *@return true if successful else false
 */
        void            load_form(const hk_string& name="");
        virtual void            savedata(ostream& s);
        virtual void            loaddata(const hk_string& definition);

/**
 * sets the real size of the form. If you designed a form in i.e. 800x600 resolution and want to watch it
 * with 1024x768 resolution, set this to 1024x768. Dynamic sized visible objects will be resized. All objects
 * will be positioned new.
 */
        virtual void            set_designsize(unsigned int width, unsigned int height,bool registerchange=true);
        hk_visible* get_visible(long nr);
        hk_visible* get_visible(const hk_string& identifier);
        virtual void bulk_operation(enum_bulkoperation bulkoperation);
        virtual bool            set_mode(enum_mode s);



    protected:

        virtual hk_dsgrid*      widget_specific_new_grid(void){return NULL;}
        virtual hk_dsrowselector*   widget_specific_new_rowselector(void){return NULL;}
        virtual hk_dslineedit*      widget_specific_new_lineedit(void){return NULL;}
        virtual hk_dsboolean*       widget_specific_new_bool(void){return NULL;}
        virtual hk_button*      widget_specific_new_button(void){return NULL;}
        virtual hk_dscombobox*      widget_specific_new_combobox(void){return NULL;}
        virtual hk_dsmemo*      widget_specific_new_memo(void){return NULL;}
        virtual hk_label*       widget_specific_new_label(void){return NULL;}
        virtual void            widget_specific_fieldresize(hk_visible* v);
        virtual void            widget_specific_after_loadform(void){}
        list<hk_visible*>*  visibles(void);
        void remove_visible(hk_visible* v);
        hk_visible* new_object(const hk_string& name);
        void raise_widget(hk_visible*);
        void lower_widget(hk_visible*);
	virtual void sizetype_changed(void);
    private:
        void add_visible(hk_visible* v);
        void clear_visiblelist(void);
	hk_formprivate* p_private;
};
#endif
</pre>
<HR>
	<table>
	<tr><td><small>Generated by: horst on horstnotebook on Wed Sep 24 10:38:50 2003, using kdoc 2.0a54.</small></td></tr>
	</table>
</BODY>
</HTML>