Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+55
@@ -0,0 +1,55 @@
|
||||
#pragma once
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
#include "viewwidget.h"
|
||||
|
||||
namespace VCtrl
|
||||
{
|
||||
class ViewWidgetContainer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
void add(ViewWidget *pWidget);
|
||||
void remove(const std::string &featureID);
|
||||
|
||||
void clear()
|
||||
{
|
||||
m_vecViewWidgets.clear();
|
||||
m_mapFeatureID_To_ViewWidget.clear();
|
||||
}
|
||||
|
||||
|
||||
bool exist(const std::string &featureID) const
|
||||
{
|
||||
return (m_mapFeatureID_To_ViewWidget.find(featureID) != m_mapFeatureID_To_ViewWidget.end());
|
||||
}
|
||||
|
||||
ViewWidget *getViewWidget(const std::string &featureID) const
|
||||
{
|
||||
return exist(featureID) ? m_mapFeatureID_To_ViewWidget.at(featureID) : nullptr;
|
||||
}
|
||||
|
||||
ViewWidget *getViewWidget(unsigned int contextID) const;
|
||||
|
||||
const std::vector<ViewWidget*> &getViewWidgets() const
|
||||
{
|
||||
return m_vecViewWidgets;
|
||||
}
|
||||
|
||||
std::size_t size() const
|
||||
{
|
||||
return m_vecViewWidgets.size();
|
||||
}
|
||||
|
||||
private Q_SLOTS:
|
||||
void onWidgetDestroyed(QObject *obj);
|
||||
private:
|
||||
// Both containers will always have same size
|
||||
std::vector<ViewWidget *> m_vecViewWidgets; // Keeps track of the ViewWidget ordering (used for the gridlayout)
|
||||
std::map<std::string, ViewWidget *> m_mapFeatureID_To_ViewWidget; // Keeps track about the currently used FeatureIDs (respectively opened ViewWidgets)
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user