!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / Sandbox / Plugins / SchematycEditor / GenericWidget.h
blobc8920d254324302bab03ed6adeaa9073db7e93cf
1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <QWidget>
7 #include <CrySchematyc2/GUID.h>
9 #include "GenericWidgetModel.h"
11 //////////////////////////////////////////////////////////////////////////
12 class QToolBar;
13 class QCheckBox;
14 class QBoxLayout;
15 class QGridLayout;
16 class CAbstractDictionary;
18 //////////////////////////////////////////////////////////////////////////
19 namespace Cry {
20 namespace SchematycEd {
22 class CGenericWidget : public QWidget
24 Q_OBJECT;
26 public:
27 template <class T> struct Unit;
28 template <class T> struct Impl;
30 public:
31 CGenericWidget();
32 virtual ~CGenericWidget();
34 void LoadClass(const SGUID& fileGUID, const SGUID& scopeGUID);
36 public:
37 static CGenericWidget* Create();
39 protected:
40 virtual void LoadClassInternal() = 0;
42 private:
43 QToolBar* CreateToolBar();
45 void AddCategory(CAbstractDictionary& category);
46 void ReloadCategory(CAbstractDictionary& category, bool checked);
48 protected:
49 SGUID m_fileGUID;
50 SGUID m_classGUID;
52 QBoxLayout* m_pMainLayout;
53 QBoxLayout* m_pBodyLayout;
54 QGridLayout* m_pGridLayout;
55 CDictionaryWidget* m_pDictionaryWidget;
59 } //namespace SchematycEd
60 } //namespace Cry