frameobj.cpp
branchrelease-1-12-maintained
changeset 53 1532402be6c2
child 2 608f976aa7bb
child 140 cf1e44192f1e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/frameobj.cpp	Mon Nov 24 14:12:01 2008 +0000
     1.3 @@ -0,0 +1,146 @@
     1.4 +#include "frameobj.h"
     1.5 +
     1.6 +#include <qcolor.h>
     1.7 +
     1.8 +/////////////////////////////////////////////////////////////////
     1.9 +// FrameObj
    1.10 +/////////////////////////////////////////////////////////////////
    1.11 +FrameObj::FrameObj() : MapObj()
    1.12 +{
    1.13 +//    cout << "Const FrameObj ()\n";
    1.14 +    init ();
    1.15 +}
    1.16 +
    1.17 +FrameObj::FrameObj(QCanvas* c) :MapObj(c)
    1.18 +{
    1.19 +//    cout << "Const FrameObj\n";
    1.20 +    init ();
    1.21 +}
    1.22 +
    1.23 +FrameObj::~FrameObj()
    1.24 +{
    1.25 +	clear();
    1.26 +}
    1.27 +
    1.28 +void FrameObj::init()
    1.29 +{
    1.30 +    type=NoFrame;
    1.31 +    border=0;
    1.32 +}
    1.33 +
    1.34 +void FrameObj::clear()
    1.35 +{
    1.36 +    switch (type)
    1.37 +    {
    1.38 +		case NoFrame:
    1.39 +			break;
    1.40 +		case Rectangle:
    1.41 +			delete rectFrame;
    1.42 +			break;
    1.43 +    }
    1.44 +	type=NoFrame;
    1.45 +	border=0;
    1.46 +}
    1.47 +
    1.48 +void FrameObj::move(double x, double y)
    1.49 +{
    1.50 +    switch (type)
    1.51 +    {
    1.52 +		case NoFrame:
    1.53 +			break;
    1.54 +		case Rectangle:
    1.55 +			rectFrame->move (x,y);
    1.56 +			break;
    1.57 +    }
    1.58 +}
    1.59 +
    1.60 +void FrameObj::moveBy(double x, double y)
    1.61 +{
    1.62 +	MapObj::moveBy (x,y);
    1.63 +}
    1.64 +
    1.65 +void FrameObj::positionBBox()
    1.66 +{
    1.67 +}
    1.68 +
    1.69 +void FrameObj::calcBBoxSize()
    1.70 +{
    1.71 +}
    1.72 +
    1.73 +void FrameObj::setRect(const QRect &r)
    1.74 +{
    1.75 +	bbox=r;
    1.76 +    switch (type)
    1.77 +    {
    1.78 +		case NoFrame:
    1.79 +			break;
    1.80 +		case Rectangle:
    1.81 +			rectFrame->setX (bbox.x() );
    1.82 +			rectFrame->setY (bbox.y() );
    1.83 +			rectFrame->setSize (bbox.width(),bbox.height() );
    1.84 +			break;
    1.85 +    }
    1.86 +}
    1.87 +
    1.88 +int FrameObj::getBorder()
    1.89 +{
    1.90 +	return border;
    1.91 +}
    1.92 +
    1.93 +FrameType FrameObj::getFrameType()
    1.94 +{
    1.95 +	return type;
    1.96 +}
    1.97 +
    1.98 +QString FrameObj::getFrameTypeName()
    1.99 +{
   1.100 +    switch (type)
   1.101 +    {
   1.102 +		case Rectangle:
   1.103 +			return "Rectangle";
   1.104 +			break;
   1.105 +		default:
   1.106 +			return "NoFrame";
   1.107 +    }
   1.108 +}
   1.109 +
   1.110 +void FrameObj::setFrameType(const FrameType &t)
   1.111 +{
   1.112 +	if (t!=type)
   1.113 +	{
   1.114 +		clear();
   1.115 +		type=t;
   1.116 +		switch (type)
   1.117 +		{
   1.118 +			case NoFrame:
   1.119 +				border=0;
   1.120 +				break;
   1.121 +			case Rectangle:
   1.122 +				border=10;
   1.123 +				rectFrame = new QCanvasRectangle (canvas);
   1.124 +				rectFrame->setZ(Z_FRAME);
   1.125 +				rectFrame->setBrush( QColor("white") );
   1.126 +				rectFrame->setPen( QPen(QColor("black") ));
   1.127 +				if (visible)
   1.128 +					rectFrame->show();
   1.129 +				else    
   1.130 +					rectFrame->hide();
   1.131 +				break;
   1.132 +		}
   1.133 +	}
   1.134 +}
   1.135 +
   1.136 +void FrameObj::setFrameType(const QString &t)
   1.137 +{
   1.138 +	if (t=="Rectangle")
   1.139 +		FrameObj::setFrameType (Rectangle);
   1.140 +	else	
   1.141 +		FrameObj::setFrameType (NoFrame);
   1.142 +}
   1.143 +
   1.144 +void FrameObj::setVisibility (bool v)
   1.145 +{
   1.146 +    MapObj::setVisibility(v);
   1.147 +    setFrameType (type);    // changes on visibility depend on type...
   1.148 +}
   1.149 +