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

140 lines
3.1 KiB
C++

#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: // 莉숭
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: // 꼈애
QDockWidget* layerTreeDock;
// 榴檄으
QLabel* scaleLabel; // 궐절넹
QLabel* CoordinaryTextLabel; // 暠꿔麟깃溝
QLabel* PointXYLabel;// 柑깃寧濾麟깃
QLabel* UnitLabel;
QStatusBar* appStatusBar;// 榴檄왠齡으
private: // 꽉데으
QMenuBar* menubar;
private: // AI 묏야으
QToolBar* AiLabelToolBar;
private: // 匡숭꽉데
QMenu* fileMenu;
QAction* newAction;
QMenu* openMenu;
QAction* openRasterFolderAction;
QAction* openRasterAction;
QAction* openSLCRasterAction;
QAction* openLampWindDataAction;
//private:// 긍서꽉데
// QMenu* editMenu;
private: // 루끝롸驕
QMenu* SARWindFieldMenu;
QAction* SARWindSpeedStatisticsAction;
QAction* SARInversionResulutShowAtion;
QMenu* SARWindAysysMenu;
QAction* SARImageAysysAction;
private: // 루콘롸驕
QMenu* SARWindPowerMenu;
QAction* SARWindPowerDensityAction; // 루묘쪽쵱똑
QAction* SARWindPowerAction; // 루콘쵱똑
private: // 鑒앴꾸鱗묏야
QToolBar* datatoolbar;
QAction* showDatamanagerAction; // 댔역鑒앴밗잿묏야
QAction* cursorAction;
QImageCursorWidget* cursorTextShowDialog = nullptr;
private: // 暠꿔묏야
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:// 묘콘변鑒혐
void open();
void openRaster();
// 榴檄으변鑒
void updateScaleLabel(double);
void updateCoordinateLabel(const QgsPointXY&);
void onMapExtentsChanged();
// 鑒앴밗잿눗왯嵐刻
void onshowDatamanagerActionTriggered();
void setupLayerTreeContextMenu();
void onLayerTreeContextMenu(const QPoint& pos);
void onshowSARInversionAtionTriggered();
void onMapToolActionTriggered(QAction* action);
public: // 暠꿔꾸鱗변鑒
void AddLayers(QgsMapLayer* layer);
public: // 끽痰긴좆혐
};