You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.1 KiB
84 lines
2.1 KiB
/***************************************************************************
|
|
mlineobject.h - Kugar report line object
|
|
-------------------
|
|
begin : Wed Feb 23 2000
|
|
copyright : (C) 2000 by Mutiny Bay Software
|
|
email : info@mutinybaysoftware.com
|
|
***************************************************************************/
|
|
|
|
#ifndef MLINEOBJECT_H
|
|
#define MLINEOBJECT_H
|
|
|
|
#include <qobject.h>
|
|
#include <qpainter.h>
|
|
#include <qpaintdevice.h>
|
|
#include <qcolor.h>
|
|
|
|
/**Kugar report line object
|
|
*@author Mutiny Bay Software
|
|
*/
|
|
|
|
namespace Kugar
|
|
{
|
|
|
|
class MLineObject : public QObject
|
|
{
|
|
|
|
public:
|
|
/** Line style constants */
|
|
enum Style { NoPen = 0, SolidLine, DashLine,
|
|
DotLine, DashDotLine, DashDotDotLine };
|
|
|
|
/** Constructor */
|
|
MLineObject();
|
|
/** Copy constructor */
|
|
MLineObject( const MLineObject& mLineObject );
|
|
/** Assignment operator */
|
|
MLineObject operator=( const MLineObject& mLineObject );
|
|
/** Destructor */
|
|
virtual ~MLineObject();
|
|
|
|
protected:
|
|
/** Object's x start position */
|
|
int xpos1;
|
|
/** Object's y start postition */
|
|
int ypos1;
|
|
/** Object's x end position */
|
|
int xpos2;
|
|
/** Object's y end position */
|
|
int ypos2;
|
|
|
|
/** Object's width */
|
|
int penWidth;
|
|
/** Object's color */
|
|
QColor penColor;
|
|
/** Object's style */
|
|
int penStyle;
|
|
|
|
public:
|
|
/** Sets the start and end points for the line */
|
|
void setLine( int xStart, int yStart, int xEnd, int yEnd );
|
|
/** Sets the object's width */
|
|
void setWidth( int width );
|
|
/** Sets the object's style */
|
|
void setStyle( int style );
|
|
/** Sets the object's color */
|
|
void setColor( int r, int g, int b );
|
|
/** Draws the object to the specified painter & x/y offsets */
|
|
virtual void draw( QPainter* p, int xoffset, int yoffset );
|
|
|
|
protected:
|
|
/** Draws the object to the specified painter & x/y offsets */
|
|
void drawBase( QPainter* p, int xoffset, int yoffset );
|
|
|
|
private:
|
|
/** Copies member data from one object to another.
|
|
* Used by the copy constructor and assignment operator
|
|
*/
|
|
void copy( const MLineObject* mLineObject );
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|