Skip to content

Commit

Permalink
qt4 update
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.osgeo.org/qgis/trunk@4703 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
rblazek committed Jan 18, 2006
1 parent cc7ead9 commit 6bd48f0
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 66 deletions.
26 changes: 5 additions & 21 deletions src/plugins/grass/qgsgrassplugin.cpp
Expand Up @@ -188,41 +188,26 @@ void QgsGrassPlugin::initGui()
mCanvas = qGisInterface->getMapCanvas();

// Create the action for tool
#if QT_VERSION < 0x040000
mOpenMapsetAction = new QAction( "Open mapset", 0, this );
mNewMapsetAction = new QAction( "New mapset", 0, this );
mCloseMapsetAction = new QAction( "Close mapset", 0, this );
mAddVectorAction = new QAction("Add GRASS vector layer", QIcon(icon_add_vector),
"Add GRASS vector layer",0, this, "addVector");
mAddRasterAction = new QAction("Add GRASS raster layer", QIcon(icon_add_raster),
"Add GRASS raster layer",0, this, "addRaster");
mOpenToolsAction = new QAction("Open GRASS tools", QIcon(icon_grass_tools),
"Open GRASS tools",0, this, "openTools");
mRegionAction = new QAction("Display Current Grass Region", QIcon(icon_grass_region),
"Display Current Grass Region",0, this, "region", true);
mEditRegionAction = new QAction("Edit Current Grass Region", QIcon(icon_grass_region_edit),
"Edit Current Grass Region",0, this, "editRegion");
mEditAction = new QAction("Edit Grass Vector layer", QIcon(icon_grass_edit),
"Edit Grass Vector layer",0, this, "edit");
mNewVectorAction = new QAction("Create new Grass Vector", 0, this);
#else
mOpenMapsetAction = new QAction( "Open mapset", this );
mNewMapsetAction = new QAction( "New mapset", this );
mCloseMapsetAction = new QAction( "Close mapset", this );

mAddVectorAction = new QAction(QIcon(icon_add_vector),
"Add GRASS vector layer", this);
mAddRasterAction = new QAction(QIcon(icon_add_raster),
"Add GRASS raster layer", this);
mOpenToolsAction = new QAction(QIcon(icon_grass_tools),
"Open GRASS tools", this);

mRegionAction = new QAction(QIcon(icon_grass_region),
"Display Current Grass Region", this);
mRegionAction->setCheckable(true);

mEditRegionAction = new QAction(QIcon(icon_grass_region_edit),
"Edit Current Grass Region", this);
mEditAction = new QAction(QIcon(icon_grass_edit),
"Edit Grass Vector layer", this);
mNewVectorAction = new QAction("Create new Grass Vector", this);
#endif

mAddVectorAction->setWhatsThis("Adds a GRASS vector layer to the map canvas");
mAddRasterAction->setWhatsThis("Adds a GRASS raster layer to the map canvas");
Expand Down Expand Up @@ -700,8 +685,7 @@ void QgsGrassPlugin::changeRegion(void)
}

QgsGrassRegion *reg = new QgsGrassRegion(this, qgisMainWindowPointer, qGisInterface,
qgisMainWindowPointer, 0,
Qt::WType_Dialog );
qgisMainWindowPointer, Qt::WType_Dialog );

reg->show();
}
Expand Down
69 changes: 29 additions & 40 deletions src/plugins/grass/qgsgrassregion.cpp
Expand Up @@ -27,7 +27,7 @@
#include <qinputdialog.h>
#include <qpainter.h>
#include <qpen.h>
#include <q3pointarray.h>
#include <qpoint.h>
#include <qcursor.h>
#include <qnamespace.h>
#include <qsettings.h>
Expand All @@ -41,6 +41,8 @@
#include <qspinbox.h>
#include <qglobal.h>

#include <QRubberBand>

#include <qgsrasterlayer.h>
#include "qgis.h"
#include "qgisapp.h"
Expand All @@ -62,15 +64,15 @@ extern "C" {
bool QgsGrassRegion::mRunning = false;

QgsGrassRegion::QgsGrassRegion ( QgsGrassPlugin *plugin, QgisApp *qgisApp, QgisIface *iface,
QWidget * parent, const char * name, Qt::WFlags f )
//:QgsGrassRegionBase ( parent, name, f )
//Tim removed params durint qt4 ui port - FIXME
:QgsGrassRegionBase ( )
QWidget * parent, Qt::WFlags f )
:QDialog(parent, f), QgsGrassRegionBase ( )
{
#ifdef QGISDEBUG
std::cerr << "QgsGrassRegion()" << std::endl;
#endif

setupUi(this);

mRunning = true;
mPlugin = plugin;
mQgisApp = qgisApp;
Expand All @@ -80,7 +82,6 @@ QgsGrassRegion::QgsGrassRegion ( QgsGrassPlugin *plugin, QgisApp *qgisApp, Qgis
mDraw = false;
mUpdatingGui = false;
mDisplayed = false;
mPointArray.resize(5);

// Set input validators
QDoubleValidator *dv = new QDoubleValidator(0);
Expand Down Expand Up @@ -156,6 +157,9 @@ QgsGrassRegion::QgsGrassRegion ( QgsGrassPlugin *plugin, QgisApp *qgisApp, Qgis
mWidthSpinBox->setValue( pen.width() );
connect( mWidthSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changeWidth()));

mRubberBand = new QRubberBand ( QRubberBand::Rectangle, mCanvas );

setAttribute ( Qt::WA_DeleteOnClose );
displayRegion();
}

Expand Down Expand Up @@ -211,6 +215,7 @@ void QgsGrassRegion::setGuiValues( bool north, bool south, bool east, bool west,

QgsGrassRegion::~QgsGrassRegion ()
{
delete mRubberBand;
mRunning = false;
}

Expand Down Expand Up @@ -336,10 +341,14 @@ void QgsGrassRegion::mouseEventReceiverClick( QgsPoint & point )
draw ( mX, mY, point.x(), point.y() );
mDraw = false;
}
mRubberBand->show();
}

void QgsGrassRegion::mouseEventReceiverMove( QgsPoint & point )
{
#ifdef QGISDEBUG
std::cerr << "QgsGrassRegion::mouseEventReceiverMove()" << std::endl;
#endif
if ( !mDraw ) return;
draw ( mX, mY, point.x(), point.y() );
}
Expand Down Expand Up @@ -378,44 +387,20 @@ void QgsGrassRegion::displayRegion()
std::cerr << "QgsGrassRegion::displayRegion()" << std::endl;
#endif

#if QT_VERSION < 0x040000
QPainter *painter = new QPainter();
QPixmap *pixmap = mCanvas->canvasPixmap();
painter->begin(pixmap);
painter->setRasterOp(Qt::XorROP);
painter->setPen ( QColor(125,125,125) );

if ( mDisplayed ) { // delete old
painter->drawPolyline ( mPointArray );
}

std::vector<QgsPoint> points;
points.resize(5);

points[0].setX(mWindow.west); points[0].setY(mWindow.south);
points[1].setX(mWindow.east); points[1].setY(mWindow.south);
points[2].setX(mWindow.east); points[2].setY(mWindow.north);
points[3].setX(mWindow.west); points[3].setY(mWindow.north);
points[4].setX(mWindow.west); points[4].setY(mWindow.south);
QgsPoint ul(mWindow.west, mWindow.north);
QgsPoint lr(mWindow.east, mWindow.south);

QgsMapToPixel *transform = mCanvas->getCoordinateTransform();

for ( int i = 0; i < 5; i++ ) {
transform->transform( &(points[i]) );
mPointArray.setPoint( i, static_cast<int>(points[i].x()),
static_cast<int>(points[i].y()) );
}

painter->drawPolyline ( mPointArray );
transform->transform( &ul );
transform->transform( &lr );

painter->end();
mCanvas->repaint(false);
delete painter;
QPoint qul ( static_cast<int>(ul.x()), static_cast<int>(ul.y()) );
QPoint qlr ( static_cast<int>(lr.x()), static_cast<int>(lr.y()) );

mRubberBand->setGeometry ( QRect(qul,qlr));

mDisplayed = true;
#else
// TODO: Qt4 uses QRubberBand, need to refactor.
#endif

}

Expand Down Expand Up @@ -453,15 +438,19 @@ void QgsGrassRegion::accept()
}

saveWindowLocation();
mRubberBand->hide();
mRunning = false;
close();
delete this;
//delete this;
}

void QgsGrassRegion::reject()
{
saveWindowLocation();
mRubberBand->hide();
mRunning = false;
close();
delete this;
//delete this;
}

void QgsGrassRegion::restorePosition()
Expand Down
11 changes: 6 additions & 5 deletions src/plugins/grass/qgsgrassregion.h
Expand Up @@ -27,6 +27,7 @@ class Q3ButtonGroup;
class QgsPoint;
#include "ui_qgsgrassregionbase.h"
#include <QDialog>
#include <QRubberBand>

extern "C" {
#include <gis.h>
Expand All @@ -43,8 +44,7 @@ class QgsGrassRegion: public QDialog, private Ui::QgsGrassRegionBase
public:
//! Constructor
QgsGrassRegion ( QgsGrassPlugin *plugin, QgisApp *qgisApp, QgisIface *iface,
QWidget * parent = 0, const char * name = 0,
Qt::WFlags f = 0 );
QWidget * parent = 0, Qt::WFlags f = 0 );

//! Destructor
~QgsGrassRegion();
Expand All @@ -54,9 +54,11 @@ class QgsGrassRegion: public QDialog, private Ui::QgsGrassRegionBase

public slots:
//! OK
void on_acceptButton_clicked() { accept(); }
void accept ( void );

//! Close
void on_rejectButton_clicked() { reject(); }
void reject ( void );

//! Called when rendering is finished
Expand Down Expand Up @@ -114,9 +116,6 @@ public slots:
//! Region was displayed
bool mDisplayed;

//! Old displayed region points
Q3PointArray mPointArray;

//! Draw region
void draw ( double x1, double y1, double x2, double y2 );

Expand All @@ -141,6 +140,8 @@ public slots:

// Format N, S, E, W value
QString formatEdge ( double v );

QRubberBand *mRubberBand;
};

#endif // QGSGRASSREGION_H

0 comments on commit 6bd48f0

Please sign in to comment.