!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / Sandbox / Plugins / SchematycEditor / GenericWidget.cpp
blob560b2e6cabd2460f445f5b535fe30185186778be
1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
3 #include "StdAfx.h"
4 #include "GenericWidget.h"
6 #include <QLayout>
7 #include <QToolbar>
8 #include <QCheckBox>
9 #include <QBoxLayout>
11 #include <CryIcon.h>
12 #include <Controls/DictionaryWidget.h>
14 #include <ProxyModels/MergingProxyModel.h>
15 #include <ProxyModels/ItemModelAttribute.h>
17 #include <CrySchematyc2/GUID.h>
18 #include <CrySchematyc2/IFramework.h>
19 #include <CrySchematyc2/Script/IScriptRegistry.h>
21 #include "Util.h"
22 #include "GenericWidgetImpl.h"
23 #include "GenericWidgetModel.h"
25 namespace Cry {
26 namespace SchematycEd {
28 //////////////////////////////////////////////////////////////////////////
29 CGenericWidget::CGenericWidget()
30 : m_pMainLayout(new QBoxLayout(QBoxLayout::TopToBottom))
31 , m_pBodyLayout(new QBoxLayout(QBoxLayout::LeftToRight))
32 , m_pGridLayout(new QGridLayout())
33 , m_pDictionaryWidget(new CDictionaryWidget())
35 m_pMainLayout->addLayout(m_pGridLayout);
36 m_pMainLayout->addLayout(m_pBodyLayout);
38 m_pBodyLayout->addWidget(CreateToolBar());
39 m_pBodyLayout->addWidget(m_pDictionaryWidget);
41 setLayout(m_pMainLayout);
44 //////////////////////////////////////////////////////////////////////////
45 CGenericWidget::~CGenericWidget()
47 m_pDictionaryWidget->deleteLater();
50 //////////////////////////////////////////////////////////////////////////
51 void CGenericWidget::LoadClass(const SGUID& fileGUID, const SGUID& classGUID)
53 m_fileGUID = fileGUID;
54 m_classGUID = classGUID;
56 LoadClassInternal();
59 //////////////////////////////////////////////////////////////////////////
60 QToolBar* CGenericWidget::CreateToolBar()
62 QToolBar* pToolBar = new QToolBar("Tools");
63 pToolBar->setOrientation(Qt::Vertical);
65 QAction* pAction = pToolBar->addAction(CryIcon("icons:General/designer_rectangle.ico"), QString());
66 pAction->setToolTip("");
67 pAction->setShortcut(QObject::tr(""));
68 //QObject::connect(pAction, &QAction::triggered, this, &CMainWindow::OnSave);
71 QAction* pAction = pToolBar->addAction(CryIcon("icons:General/designer_rectangle.ico"), QString());
72 pAction->setToolTip("");
73 pAction->setShortcut(QObject::tr(""));
74 //QObject::connect(pAction, &QAction::triggered, this, &CMainWindow::OnSave);
77 QAction* pAction = pToolBar->addAction(CryIcon("icons:General/designer_rectangle.ico"), QString());
78 pAction->setToolTip("");
79 pAction->setShortcut(QObject::tr(""));
80 //QObject::connect(pAction, &QAction::triggered, this, &CMainWindow::OnSave);
83 return pToolBar;
86 //////////////////////////////////////////////////////////////////////////
87 void CGenericWidget::AddCategory(CAbstractDictionary& category)
89 m_pDictionaryWidget->AddDictionary(category);
92 //////////////////////////////////////////////////////////////////////////
93 void CGenericWidget::ReloadCategory(CAbstractDictionary& category, bool checked)
95 CGenericWidgetDictionaryModel& categoryImpl = static_cast<CGenericWidgetDictionaryModel&>(category);
96 if (Schematyc2::GUID::IsEmpty(m_classGUID) || Schematyc2::GUID::IsEmpty(m_fileGUID))
98 return;
101 categoryImpl.ClearScriptElementModel();
102 if (checked)
104 IScriptFile* pScriptFile = gEnv->pSchematyc2->GetScriptRegistry().GetFile(m_fileGUID);
105 if (pScriptFile)
107 categoryImpl.BuildFromScriptClass(pScriptFile, m_classGUID);
110 m_pDictionaryWidget->AddDictionary(categoryImpl);
113 } //namespace SchematycEd
114 } //namespace Cry