Manual-Labeling-Tool/Manual-Labeling-Client/Manual-Label-Tool-Widget/ManualLabelToolWidget.h

140 lines
3.1 KiB
C
Raw Normal View History

2025-11-20 09:32:46 +00:00
#pragma once
#include <QtWidgets/QMainWindow>
#include <memory>
#include <qgspointxy.h>
class QgsMapCanvas;
class QgsMapToolPan;
class QgsLayerTreeModel;
class QgsLayerTreeView;
class QgsLayerTreeMapCanvasBridge;
class QDockWidget;
class QLabel;
class QStatusBar;
class QMenuBar;
class QToolBar;
class QgsMapLayer;
class QImageCursorWidget;
class LampDataManager;
class QToolButton;
class QgsMapToolZoom;
class QgsMapToolIdentify;
class QActionGroup;
class CustomCursorTool;
class QgsLayerTreeViewMenuProvider;
class ManualLabelToolWidget : public QMainWindow
{
Q_OBJECT
public:
ManualLabelToolWidget(QWidget *parent = nullptr);
~ManualLabelToolWidget();
private: // UI
void init_UI();// Init UI
private:
LampDataManager* datamanagerDialog;
public: // <20><><EFBFBD><EFBFBD>
QgsMapCanvas* map_canvas=nullptr; // map widget
QgsMapToolPan* map_tool_pan = nullptr; // map tool for pan zoom
QgsLayerTreeModel* map_layerModel = nullptr;
QgsLayerTreeView* map_layerTreeView = nullptr;
QgsLayerTreeMapCanvasBridge* map_layer_Bridge = nullptr;
private: // <20><><EFBFBD><EFBFBD>
QDockWidget* layerTreeDock;
// ״̬<D7B4><CCAC>
QLabel* scaleLabel; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QLabel* CoordinaryTextLabel; // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ
QLabel* PointXYLabel;// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QLabel* UnitLabel;
QStatusBar* appStatusBar;// ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private: // <20>˵<EFBFBD><CBB5><EFBFBD>
QMenuBar* menubar;
private: // AI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QToolBar* AiLabelToolBar;
private: // <20>ļ<EFBFBD><C4BC>˵<EFBFBD>
QMenu* fileMenu;
QAction* newAction;
QMenu* openMenu;
QAction* openRasterFolderAction;
QAction* openRasterAction;
QAction* openSLCRasterAction;
QAction* openLampWindDataAction;
//private:// <20><EFBFBD>˵<EFBFBD>
// QMenu* editMenu;
private: // <20><EFBFBD><E7B3A1><EFBFBD><EFBFBD>
QMenu* SARWindFieldMenu;
QAction* SARWindSpeedStatisticsAction;
QAction* SARInversionResulutShowAtion;
QMenu* SARWindAysysMenu;
QAction* SARImageAysysAction;
private: // <20><><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>
QMenu* SARWindPowerMenu;
QAction* SARWindPowerDensityAction; // <20><EFBFBD><E7B9A6><EFBFBD>ܶ<EFBFBD>
QAction* SARWindPowerAction; // <20><><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
private: // <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QToolBar* datatoolbar;
QAction* showDatamanagerAction; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QAction* cursorAction;
QImageCursorWidget* cursorTextShowDialog = nullptr;
private: // ͼ<><EFBFBD><E3B9A4>
QActionGroup* mapToolActionGroup;
QAction* ZoomInToolbtn;
QAction* ZoomOutToolbtn;
QAction* MapPanToolbtn;
QAction* IdentifyToolbtn;
QgsMapToolPan* m_mapToolPan;
QgsMapToolZoom* m_mapToolZoomIn;
QgsMapToolZoom* m_mapToolZoomOut;
QgsMapToolIdentify* m_mapIdentifyToolPan;
CustomCursorTool* m_CustomCursorTool;
QImageCursorWidget* cursorInfoDialog;
public slots:// <20><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD>
void open();
void openRaster();
// ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void updateScaleLabel(double);
void updateCoordinateLabel(const QgsPointXY&);
void onMapExtentsChanged();
// <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չʾ
void onshowDatamanagerActionTriggered();
void setupLayerTreeContextMenu();
void onLayerTreeContextMenu(const QPoint& pos);
void onshowSARInversionAtionTriggered();
void onMapToolActionTriggered(QAction* action);
public: // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void AddLayers(QgsMapLayer* layer);
public: // <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>
};