1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
4 #include "GenericWidget.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>
22 #include "GenericWidgetImpl.h"
23 #include "GenericWidgetModel.h"
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
;
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);
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
))
101 categoryImpl
.ClearScriptElementModel();
104 IScriptFile
* pScriptFile
= gEnv
->pSchematyc2
->GetScriptRegistry().GetFile(m_fileGUID
);
107 categoryImpl
.BuildFromScriptClass(pScriptFile
, m_classGUID
);
110 m_pDictionaryWidget
->AddDictionary(categoryImpl
);
113 } //namespace SchematycEd