Files
HPPA/HPPA/MapTools.cpp
tangchao0503 1c7780eb14 完成maptool的功能:
1、工具在工具栏中的状态管理;
2、工具在mapcavas中的图标管理;
3、工具在多tab切换时的管理;
4、MapToolSpectral添加十字叉,显示点击位置;
2026-03-13 14:52:47 +08:00

51 lines
925 B
C++

#include "stdafx.h"
#include "MapTools.h"
#include "MapToolPan.h"
#include "MapToolSpectral.h"
MapTools::MapTools(QObject* parent)
: QObject(parent)
{
m_tools.insert(Pan, new MapToolPan(this));
m_tools.insert(Spectral, new MapToolSpectral(this));
}
MapTools::~MapTools()
{
qDeleteAll(m_tools);
m_tools.clear();
}
MapToolPan* MapTools::mapToolPan() const
{
return qobject_cast<MapToolPan*>(m_tools.value(Pan));
}
MapToolSpectral* MapTools::mapToolSpectral() const
{
return qobject_cast<MapToolSpectral*>(m_tools.value(Spectral));
}
MapTool* MapTools::mapTool(Tool tool) const
{
return m_tools.value(tool, nullptr);
}
MapTool* MapTools::activeTool() const
{
return m_activeTool;
}
void MapTools::setActiveTool(MapTool* tool)
{
m_activeTool = tool;
}
void MapTools::setMapcavas(Mapcavas* canvas)
{
if (m_activeTool)
{
m_activeTool->setMapcavas(canvas);
}
}