Source: hk_classes/hk_classes/hk_dsgridcolumn.h


Annotated List
Files
Globals
Hierarchy
Index
// ****************************************************************************
// copyright (c) 2000-2004 Horst Knorr   
// 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_DSGRIDCOLUMN_H
#define HK_DSGRIDCOLUMN_H
#include "hk_dsdatavisible.h"
using namespace std;
class hk_column;
class hk_dsgrid;
class hk_dscombobox;
const int default_cellwidth=100;
const int default_cellheight=20;

/**
 *@short  structure of a column in a grid
 *@version $Revision: 1.13 $
 *@author Horst Knorr (hk_classes@knoda.org)
 *
 *structure of a column in a grid.
 */
class  hk_dsgridcolumn :public hk_dsdatavisible
{
    friend class hk_dsgrid;
    public:
        enum  enum_columntype{columnedit,columnbool,columncombo};
        hk_dsgridcolumn(void);
        virtual ~hk_dsgridcolumn(void);
/**
 *the text displayed in the column header. If not set the columnname will be displayed
 */
        void  set_displayname(hk_string,bool registerchange=true);
        hk_string displayname(void);
/**
 *if columntype is columnedit the celldata will be shown as a string
 *if columntype is columnbool the celldata will be shown as a boolean field
 */
        void set_columntype(enum_columntype,bool registerchange=true);
        enum_columntype columntype(void);
/**
 *the (visible) width of the column
 */
        void set_columnwidth(int ,bool registerchange=true);
        int columnwidth(void);
        virtual   void  savedata(ostream& s);
        virtual   void loaddata(const hk_string& definition);

/**
 *comboboxes need 2 datasources. One (the normal) datasource is set with @ref set_datasource and stores the values in a field.
 *The second datasource contains a list of possible values for this field.

 *@param list the datasource which contains the values displayed in the combobox
 */
        void    set_listdatasource(const hk_string& datasourcename,bool is_table=true, bool registerchange=true);
        hk_datasource* listdatasource(void);
        hk_string      listdatasourcename(void);
        bool           listdatasource_is_table(void);
/**
 * The column of the listdatasource which will be displayed in the combobox
 */
        void    set_viewcolumnname(const hk_string& viewcolumn,bool registerchange=true);
        hk_string  viewcolumnname(void);
/**
 * The column containing the equivalent key to the column set with @ref set_column
 */
        void    set_listcolumnname(const hk_string& listcolumn,bool registerchange=true);
        hk_string listcolumnname(void);

/**
 *if this combobox is part of a hk_presentation object (i.e. a  form) you can set the listdatasource by its unique presentation number
 */
        virtual bool        set_listpresentationdatasource(long n, bool registerchange=true);
        long        listpresentationdatasource(void);
        hk_string   value_at(unsigned long);

        virtual void set_datasource(hk_datasource*);
        hk_dscombobox* combobox(void);
        
	unsigned int find(unsigned int from,unsigned int to,const hk_string& searchtext,bool wholephrase=false,bool casesensitive=false,bool backwards=false);
	bool is_findstring(unsigned int pos,const hk_string& searchtext,bool wholephrase=false,bool casesensitive=false);

    private:
        void set_grid(hk_dsgrid*);
        void set_combovalues(void);
        hk_string p_displayname;
        hk_string     p_comboviewcolumnname;
        hk_string p_combolistcolumnname;
        long      p_combopresentationdatasource;
        hk_string p_combolistdatasourcename;
        bool      p_combolistdatasource_is_table;

        enum_columntype   p_columntype;
        int       p_columnwidth;
        hk_dsgrid* p_grid;
        hk_dscombobox* p_combobox;

};
#endif

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