初步实现maptool,有很多细节没有做好

This commit is contained in:
tangchao0503
2026-03-12 14:03:52 +08:00
parent 0b2744656b
commit 5d5b440ba2
10 changed files with 30 additions and 25 deletions

View File

@ -1023,7 +1023,7 @@ void HPPA::initMapTools()
connect(ui.mActionSpectral, SIGNAL(triggered()), this, SLOT(onMapToolSpectralTriggered())); connect(ui.mActionSpectral, SIGNAL(triggered()), this, SLOT(onMapToolSpectralTriggered()));
// Default tool: pan // Default tool: pan
ui.mActionPan->trigger(); //ui.mActionPan->trigger();
} }
void HPPA::onMapToolPanTriggered() void HPPA::onMapToolPanTriggered()

View File

@ -818,7 +818,7 @@ QPushButton:pressed
</widget> </widget>
<widget class="QToolBar" name="mapToolBar"> <widget class="QToolBar" name="mapToolBar">
<property name="windowTitle"> <property name="windowTitle">
<string>toolBar</string> <string>图像查看</string>
</property> </property>
<attribute name="toolBarArea"> <attribute name="toolBarArea">
<enum>TopToolBarArea</enum> <enum>TopToolBarArea</enum>

View File

@ -208,9 +208,9 @@
<QtMoc Include="MapLayerStore.h" /> <QtMoc Include="MapLayerStore.h" />
<ClInclude Include="LayerTreeView.h" /> <ClInclude Include="LayerTreeView.h" />
<QtMoc Include="LayerTreeViewMenuProvider.h" /> <QtMoc Include="LayerTreeViewMenuProvider.h" />
<ClInclude Include="MapTool.h" /> <QtMoc Include="MapTool.h" />
<ClInclude Include="MapToolPan.h" /> <QtMoc Include="MapToolPan.h" />
<ClInclude Include="MapToolSpectral.h" /> <QtMoc Include="MapToolSpectral.h" />
<ClInclude Include="RasterDataProvider.h" /> <ClInclude Include="RasterDataProvider.h" />
<ClInclude Include="RasterRenderer.h" /> <ClInclude Include="RasterRenderer.h" />
<ClInclude Include="utility_tc.h" /> <ClInclude Include="utility_tc.h" />

View File

@ -291,6 +291,15 @@
<QtMoc Include="imageControl.h"> <QtMoc Include="imageControl.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
<QtMoc Include="MapToolSpectral.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="MapToolPan.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="MapTool.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="imageProcessor.h"> <ClInclude Include="imageProcessor.h">
@ -332,15 +341,6 @@
<ClInclude Include="LayerTreeView.h"> <ClInclude Include="LayerTreeView.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="MapTool.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MapToolPan.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MapToolSpectral.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtUic Include="FocusDialog.ui"> <QtUic Include="FocusDialog.ui">

View File

@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "MapTool.h" #include "MapTool.h"
#include "ImageViewer.h" #include "ImageViewer.h"
#include <QAction> #include <QAction>

View File

@ -1,4 +1,4 @@
#ifndef MAPTOOL_H #ifndef MAPTOOL_H
#define MAPTOOL_H #define MAPTOOL_H
#include <QObject> #include <QObject>
@ -25,23 +25,18 @@ public:
virtual Flags flags() const { return NoFlags; } virtual Flags flags() const { return NoFlags; }
// Associated action <20>C used to auto-check / uncheck when tool is activated / deactivated
QAction* action() const; QAction* action() const;
void setAction(QAction* action); void setAction(QAction* action);
// Canvas this tool operates on
Mapcavas* canvas() const; Mapcavas* canvas() const;
// Cursor shown when tool is active
virtual void setCursor(const QCursor& cursor); virtual void setCursor(const QCursor& cursor);
QCursor cursor() const; QCursor cursor() const;
// Lifecycle
virtual void activate(); virtual void activate();
virtual void deactivate(); virtual void deactivate();
bool isActive() const; bool isActive() const;
// Mouse event handlers <20>C return true if event was handled
virtual void canvasMousePressEvent(QMouseEvent* e); virtual void canvasMousePressEvent(QMouseEvent* e);
virtual void canvasMouseReleaseEvent(QMouseEvent* e); virtual void canvasMouseReleaseEvent(QMouseEvent* e);
virtual void canvasMouseMoveEvent(QMouseEvent* e); virtual void canvasMouseMoveEvent(QMouseEvent* e);

View File

@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "MapToolPan.h" #include "MapToolPan.h"
#include "ImageViewer.h" #include "ImageViewer.h"
#include <QMouseEvent> #include <QMouseEvent>
@ -10,6 +10,10 @@ MapToolPan::MapToolPan(Mapcavas* canvas, QObject* parent)
setCursor(Qt::OpenHandCursor); setCursor(Qt::OpenHandCursor);
} }
MapToolPan::~MapToolPan()
{
}
void MapToolPan::activate() void MapToolPan::activate()
{ {
MapTool::activate(); MapTool::activate();

View File

@ -1,4 +1,4 @@
#ifndef MAPTOOLPAN_H #ifndef MAPTOOLPAN_H
#define MAPTOOLPAN_H #define MAPTOOLPAN_H
#include "MapTool.h" #include "MapTool.h"
@ -10,6 +10,7 @@ class MapToolPan : public MapTool
public: public:
MapToolPan(Mapcavas* canvas, QObject* parent = nullptr); MapToolPan(Mapcavas* canvas, QObject* parent = nullptr);
~MapToolPan();
void activate() override; void activate() override;
void deactivate() override; void deactivate() override;

View File

@ -1,4 +1,4 @@
#include "stdafx.h" #include "stdafx.h"
#include "MapToolSpectral.h" #include "MapToolSpectral.h"
#include "ImageViewer.h" #include "ImageViewer.h"
#include "RasterLayer.h" #include "RasterLayer.h"
@ -11,6 +11,10 @@ MapToolSpectral::MapToolSpectral(Mapcavas* canvas, QObject* parent)
setCursor(Qt::CrossCursor); setCursor(Qt::CrossCursor);
} }
MapToolSpectral::~MapToolSpectral()
{
}
void MapToolSpectral::canvasMousePressEvent(QMouseEvent* e) void MapToolSpectral::canvasMousePressEvent(QMouseEvent* e)
{ {
if (e->button() != Qt::LeftButton) if (e->button() != Qt::LeftButton)

View File

@ -1,4 +1,4 @@
#ifndef MAPTOOLSPECTRAL_H #ifndef MAPTOOLSPECTRAL_H
#define MAPTOOLSPECTRAL_H #define MAPTOOLSPECTRAL_H
#include "MapTool.h" #include "MapTool.h"
@ -10,6 +10,7 @@ class MapToolSpectral : public MapTool
public: public:
MapToolSpectral(Mapcavas* canvas, QObject* parent = nullptr); MapToolSpectral(Mapcavas* canvas, QObject* parent = nullptr);
~MapToolSpectral();
void canvasMousePressEvent(QMouseEvent* e) override; void canvasMousePressEvent(QMouseEvent* e) override;