# class hk_reportdata

represents the data of a field within a section. More...

Definition | `#include <hk_classes/hk_classes/hk_reportdata.h>`
Inherits | hk_dsdatavisible [public ]
List of all Methods

Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- void set_data (const hk_string& d,bool registerchange=true)
- hk_string data (void)
- void set_beforedata (const hk_string& b,bool registerchange=true)
- void set_afterdata (const hk_string& a,bool registerchange=true)
- hk_string beforedata ()
- hk_string afterdata ()
- hk_string actual_string (void)
- void count (void)
- void set_runningcount (bool c=true,bool registerchange=true)
- bool runningcount (void)
- virtual hk_font font (void)
- void set_datacountfunction (const hk_string& f,bool registerchange)
- hk_string datacountfunctionstring (void)
- reportdatacounttype* datacountfunction (void)
- void set_topline (bool l=true,bool registerchange=true)
- void set_bottomline (bool l=true,bool registerchange=true)
- void set_leftline (bool l=true,bool registerchange=true)
- void set_rightline (bool l=true,bool registerchange=true)
- void set_diagonalluro (bool l=true,bool registerchange=true)
- void set_diagonalloru (bool l=true,bool registerchange=true)
- bool diagonalloru (void)
- bool topline (void)
- bool bottomline (void)
- bool leftline (void)
- bool rightline (void)
- bool diagonalluro (void)
- void set_frame (bool l=true,bool registerchange=true)
- void set_wordbreak (bool b=true,bool registerchange=true)
- bool wordbreak (void)
- void set_configurefunction (const hk_string& f,bool registerchange=true)
- data_configurefunctiontype* configurefunction (void)
- hk_string configurefunctionstring (void)
- virtual void savedata (ostream& s,bool userdefined=false)
- virtual void loaddata (const hk_string& definition,bool userdefined=false)
- void neutralize_definition (bool registerchange)
- void set_replacefunction (const hk_string& f,bool registerchange=true)
- void reset_count ()
- hk_report* report (void)
- hk_reportsection* section (void)
- virtual void lower_widget (bool registerchange=true)
- virtual void raise_widget (bool registerchange=true)
- void set_on_print_action (const hk_string&,bool registerchange=true)
- hk_string on_print_action (void)

#### Public Static Methods

- static void add_configurefunctiontype (const hk_string& name,data_configurefunctiontype* f)
- static list<hk_string>* configurefunctionlist (void)
- static void add_datacountfunctiontype (const hk_string& name,reportdatacounttype* f)
- static list<hk_string>* datacountfunctionlist (void)
- static void add_datareplacefunctiontype (const hk_string& name,data_replacefunctiontype* f)
- static list<hk_string>* datareplacefunctionlist (void)

#### Protected Methods

- hk_reportdata (hk_reportsection*)
- virtual ~hk_reportdata (void)
- virtual hk_string replace (const hk_string& where)
- virtual void new_column_pointer_created (void)
- virtual void sizetype_changed (void)
- virtual void presentationmode_changed (void)
- virtual bool action_on_print (void)

## Detailed Description

represents the data of a field within a section

you can use the columnnames delimited by # as variablenames. If a hk_report::recodefunction is set, the values will be recoded.

    %XPOS%		the absolute value of the x-coordinate
    %YPOS%  	the absolute value of the y-coordinate
    %WIDTH%         the absolute value of the width
    %HEIGHT%        the absolute value of the height
    %RELXPOS%       the relative value of the x-coordinate
    %RELYPOS%       the relative value of the y-coordinate
    %RELWIDTH%      the relative value of the width
    %RELHEIGHT%     the relative value of the height
    %PAGENUMBER%     the number of the page
    %ABSOLUTEPAGENUMBER%     physical number of the page in file
    %ROWNUMBER%      the actual row number of the datasource

    #column#         the value of the column as shown in the following two examples
    #field1#         the value of the column with the name ´field1´
    #first_name#     the value of the column with the name ´first_name´

If you have set set_columnname you have additionally the following variable names

    %value%          the raw value of the column defined with @ref set_columnname
    %fieldname%      the name of the column not recoded defined with set_columnname
    %VALUE%          the value of the column defined with @ref set_columnname recoded
    with @ref hk_report::set_recodefunction
    %FIELDNAME%      the recoded (with @ref hk_report::set_recodefunction ) name of the column
    defined with @ref set_columnname
    %COUNT%          the number of values

If the column is of type integer or real you have the following variables

    %SUM%            the sum of all values
    %MIN%            the minimum value
    %MAX%            the maximum value
    %STDDEV%         standard deviation
    %STDDEVSAMPLE%   standard deviation of a sample
    %AVERAGE%        the average of all values

void set_data (const hk_string& d,bool registerchange=true)

### set_data

Set the data that should be printed when the section will be printed You can use all of the above named variables. Usually you connect a report_data part with a column via set_columnname The most easy way is to set the data to %VALUE%. A more intermediate way will be shown in the following example

Example:

You want to automatically create links in a html report. For this reason you have a datasource with 2 columns "url", and "name". "url" has the URL, "name" contains a description i.e.

    URL			name
    http://www.suse.de 	SuseLinux
    http://www.redhat.com	RedhatLinux
    http://www.debian.org	Debian

To create a html link use set_data("#name#");

hk_string data (void)

### data

void set_beforedata (const hk_string& b,bool registerchange=true)

### set_beforedata

void set_afterdata (const hk_string& a,bool registerchange=true)

### set_afterdata

hk_string beforedata ()

### beforedata

hk_string afterdata ()

### afterdata

hk_string actual_string (void)

### actual_string

returns the value that will be printed in the section

void count (void)

### count

Will be internally called to create the values for the variables %COUNT%,%SUM% etc.

void set_runningcount (bool c=true,bool registerchange=true)

### set_runningcount

The values of the variables %SUM% %COUNT% %AVERAGE% %STDDEV% etc. can be relatively to the section. i.e. if the section is a uniquesection and it changes all variables can be reset to 0 (default).

Parameters:

c | if true these variables will change to global variables in the report and not be set to 0 when the section changes.

bool runningcount (void)

### runningcount

hk_font font (void)

### font

[virtual]

Reimplemented from hk_visible.

void set_datacountfunction (const hk_string& f,bool registerchange)

### set_datacountfunction

needed by hk_report::set_periodic. It is possible to compute as how much a section counts.

Parameters:

f | is a userdefined function that will be called whenever counts_as is called.

hk_string datacountfunctionstring (void)

### datacountfunctionstring

reportdatacounttype* datacountfunction (void)

### datacountfunction

void set_topline (bool l=true,bool registerchange=true)

### set_topline

if true a line should be painted above the data

See set_configurefunction for details

void set_bottomline (bool l=true,bool registerchange=true)

### set_bottomline

if true a line should be painted under the data

See set_configurefunction for details

void set_leftline (bool l=true,bool registerchange=true)

### set_leftline

if true a line should be painted left of the data

See set_configurefunction for details

void set_rightline (bool l=true,bool registerchange=true)

### set_rightline

if true a line should be painted right the data

See set_configurefunction for details

void set_diagonalluro (bool l=true,bool registerchange=true)

### set_diagonalluro

if true a diagonal should be painted from _l_inks _u_nten to _r_echts _o_ben (left down to right up)

See set_configurefunction for details

void set_diagonalloru (bool l=true,bool registerchange=true)

### set_diagonalloru

if true a diagonal should be painted from _l_inks _o_ben to _r_echts _u_nten (left top to right down)

See set_configurefunction for details

bool diagonalloru (void)

### diagonalloru

bool topline (void)

### topline

bool bottomline (void)

### bottomline

bool leftline (void)

### leftline

bool rightline (void)

### rightline

bool diagonalluro (void)

### diagonalluro

void set_frame (bool l=true,bool registerchange=true)

### set_frame

if true a frame should be painted around the text (bottomline + topline + leftline + rightline)

See set_configurefunction for details

void set_wordbreak (bool b=true,bool registerchange=true)

### set_wordbreak

if true the textline should be broken if the line is longer than the width

See set_configurefunction for details

bool wordbreak (void)

### wordbreak

void set_configurefunction (const hk_string& f,bool registerchange=true)

### set_configurefunction

in this function you have to define how to react on i.e. set_bottomline etc.

data_configurefunctiontype* configurefunction (void)

### configurefunction

hk_string configurefunctionstring (void)

### configurefunctionstring

void savedata (ostream& s,bool userdefined=false)

### savedata

[virtual]

Reimplemented from hk_dsdatavisible.

void loaddata (const hk_string& definition,bool userdefined=false)

### loaddata

[virtual]

Reimplemented from hk_dsdatavisible.

void neutralize_definition (bool registerchange)

### neutralize_definition

void add_configurefunctiontype (const hk_string& name,data_configurefunctiontype* f)

### add_configurefunctiontype

[static]

list<hk_string>* configurefunctionlist (void)

### configurefunctionlist

[static]

void add_datacountfunctiontype (const hk_string& name,reportdatacounttype* f)

### add_datacountfunctiontype

[static]

list<hk_string>* datacountfunctionlist (void)

### datacountfunctionlist

[static]

void set_replacefunction (const hk_string& f,bool registerchange=true)

### set_replacefunction

See also: set_replacefunction

void add_datareplacefunctiontype (const hk_string& name,data_replacefunctiontype* f)

### add_datareplacefunctiontype

[static]

list<hk_string>* datareplacefunctionlist (void)

### datareplacefunctionlist

[static]

void reset_count ()

### reset_count

hk_report* report (void)

### report

returns the report this datafield belongs to

hk_reportsection* section (void)

### section

returns the section this datafield belongs to

void lower_widget (bool registerchange=true)

### lower_widget

[virtual]

Reimplemented from hk_visible.

void raise_widget (bool registerchange=true)

### raise_widget

[virtual]

Reimplemented from hk_visible.

void set_on_print_action (const hk_string&,bool registerchange=true)

### set_on_print_action

hk_string on_print_action (void)

### on_print_action

hk_reportdata (hk_reportsection*)

### hk_reportdata

[protected]

~hk_reportdata (void)

### ~hk_reportdata

[protected virtual]

hk_string replace (const hk_string& where)

### replace

[protected virtual]

Reimplemented from hk_visible.

void new_column_pointer_created (void)

### new_column_pointer_created

[protected virtual]

Reimplemented from hk_dsdatavisible.

void sizetype_changed (void)

### sizetype_changed

[protected virtual]

Reimplemented from hk_visible.

void presentationmode_changed (void)

### presentationmode_changed

[protected virtual]

Reimplemented from hk_dsvisible.

bool action_on_print (void)

### action_on_print

[protected virtual]

- Version: $Revision: 1.31 $
- Author: Horst Knorr (hk_classes@knoda.org)
- Generated: horst on horstnotebook on Tue Mar 30 19:06:43 2004, using kdoc 2.0a54.