PowerDesigner/include/util/selectorManager.h

61 lines
1.6 KiB
C
Raw Normal View History

2024-08-16 11:39:30 +08:00
/**
*\file selectorManager.h
*
*\brief selector管理类,
* selector只需实例一个对象
*\author dsc
*/
#ifndef SELECTORMANAGER_H
#define SELECTORMANAGER_H
#include <QObject>
#include "baseSelector.h"
#include "global.h"
class SelectorManager : public QObject
{
Q_OBJECT
public:
SelectorManager(QObject *parent = 0);
~SelectorManager();
public:
static SelectorManager* getInstance();
void setWorkingSelector(SelectorType s) { m_curSelector=s; }
BaseSelector* getWorkingSelector(); //根据操作方式获取selector
void setDrawGraphicsItem(GraphicsItemType);
public slots:
void onSignal_setWorkingSelector(SelectorType);
private:
/*
*/
class CGarbo //它的唯一函数就是在析构函数中删除vsBaseData的实例
{
public:
CGarbo() {};
~CGarbo()
{
if (m_pInstance != nullptr)
{
//qDebug()<<"goodbye CGarbo";
delete m_pInstance;
m_pInstance = nullptr;
}
}
};
private:
static SelectorManager* m_pInstance;
SelectorType m_curSelector;
QVector<BaseSelector*> m_vecSelectors;
};
#endif