summaryrefslogtreecommitdiffstats
path: root/kugar/lib/mcalcobject.h
blob: dfedb48cb9355607e4d94946bdd3ec57231ca2db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/***************************************************************************
             mcalcobject.h  -  Kugar report calculation field object
             -------------------
   begin     : Thu Sep 2 1999
   copyright : (C) 1999 by Mutiny Bay Software
   email     : info@mutinybaysoftware.com
***************************************************************************/

#ifndef MCALCOBJECT_H
#define MCALCOBJECT_H

#include "mfieldobject.h"

/**Kugar report calculation field object
  *@author Mutiny Bay Software
  */

namespace Kugar
{

class MCalcObject : public MFieldObject
{

public:
    /** Calculation type constants */
    enum CalculationType { Count = 0, Sum, Average, Variance, StandardDeviation};

    /** Constructor */
    MCalcObject();
    /** Copy constructor */
    MCalcObject( const MCalcObject& mCalcObject );
    /** Assignment operator */
    MCalcObject operator=( const MCalcObject& mCalcObject );
    /** Destructor */
    ~MCalcObject();

    /** Sets the field's  calculation type */
    void setCalculationType( int type );
    /** Returns the field's calculation type */
    int getCalculationType();

private:
    /** Calculation type */
    int calcType;

private:
    /** Copies member data from one object to another.
      * Used by the copy constructor and assignment operator
      */
    void copy( const MCalcObject* mCalcObject );

};

}

#endif