!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / Sandbox / Plugins / SchematycEditor / MainWindow.h
blob44869880e377b0aac10358115e54c7053d62d91c
1 // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <IEditor.h>
6 #include <AssetSystem/AssetEditor.h>
8 class QPushButton;
9 class CAbstractDictionaryEntry;
11 namespace Cry {
12 namespace SchematycEd {
14 class CGenericWidget;
15 class CLegacyOpenDlg;
17 } // namespace SchematycEd
18 } // namespace Cry
20 namespace Cry {
21 namespace SchematycEd {
23 class CMainWindow : public CAssetEditor, public IEditorNotifyListener
25 Q_OBJECT
27 public:
28 CMainWindow();
29 virtual ~CMainWindow();
31 public:
32 // CEditor
33 virtual const char* GetEditorName() const override { return "Schematyc Editor"; };
34 virtual void CreateDefaultLayout(CDockableContainer* pSender) override;
35 // ~CEditor
37 protected:
38 // IEditorNotifyListener
39 virtual void OnEditorNotifyEvent(EEditorNotifyEvent event) override { return; }
40 // ~IEditorNotifyListener
42 // CAssetEditor
43 virtual bool OnOpenAsset(CAsset* pAsset) override { return false; }
44 virtual bool OnSaveAsset(CEditableAsset& editAsset) override { return false; }
45 virtual void OnCloseAsset() override { return; }
46 // ~CAssetEditor
48 protected:
49 virtual void OnOpenLegacy();
50 virtual void OnOpenLegacyClass(CAbstractDictionaryEntry& classEntry);
52 private:
53 void InitLegacyOpenDlg();
54 void FinishLegacyOpenDlg();
55 void InitGenericWidgets();
56 void FinishGenericWidgets();
58 QWidget* CreateWidgetTemplateFunc(const char* name);
60 private:
61 CLegacyOpenDlg* m_pLegacyOpenDlg;
62 QPushButton* m_pAddComponentButton;
63 std::vector<CGenericWidget*> m_genericWidgets;
66 } // namespace SchematycEd
67 } // namespace Cry