diff --git a/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp b/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp index c5dfbab187..d01265e749 100644 --- a/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp +++ b/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.cpp @@ -103,9 +103,9 @@ void OpenDocumentManager::clear() } //============================================================================== -void OpenDocumentManager::registerType (DocumentType* type) +void OpenDocumentManager::registerType (DocumentType* type, int index) { - types.add (type); + types.insert (index, type); } //============================================================================== diff --git a/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.h b/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.h index f169a025fb..1b56e70876 100644 --- a/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.h +++ b/extras/Introjucer/Source/Application/jucer_OpenDocumentManager.h @@ -108,7 +108,7 @@ public: virtual Document* openFile (Project* project, const File& file) = 0; }; - void registerType (DocumentType* type); + void registerType (DocumentType* type, int index = -1); private: diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp b/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp index c1ff3e0b61..ba66e2b191 100644 --- a/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp +++ b/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp @@ -697,9 +697,8 @@ public: return SourceCodeDocument::createEditor(); } - class Type : public OpenDocumentManager::DocumentType + struct Type : public OpenDocumentManager::DocumentType { - public: Type() {} bool canOpenFile (const File& f) override { return JucerDocument::isValidJucerCppFile (f); } diff --git a/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp b/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp index 597b565279..e5818b54cf 100644 --- a/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp +++ b/extras/Introjucer/Source/ComponentEditor/ui/jucer_JucerDocumentEditor.cpp @@ -302,6 +302,11 @@ private: static const Colour tabColour (Colour (0xff888888)); +static SourceCodeEditor* createCodeEditor (const File& file, SourceCodeDocument& sourceCodeDoc) +{ + return new SourceCodeEditor (&sourceCodeDoc, + new CppCodeEditorComponent (file, sourceCodeDoc.getCodeDocument())); +} //============================================================================== JucerDocumentEditor::JucerDocumentEditor (JucerDocument* const doc) @@ -330,11 +335,8 @@ JucerDocumentEditor::JucerDocumentEditor (JucerDocument* const doc) tabbedComponent.addTab ("Resources", tabColour, new ResourceEditorPanel (*document), true); - SourceCodeEditor* codeEditor = new SourceCodeEditor (&document->getCppDocument(), - new CppCodeEditorComponent (document->getCppFile(), - document->getCppDocument().getCodeDocument())); - - tabbedComponent.addTab ("Code", tabColour, codeEditor, true); + tabbedComponent.addTab ("Code", tabColour, createCodeEditor (document->getCppFile(), + document->getCppDocument()), true); updateTabs(); @@ -1088,7 +1090,7 @@ JucerDocumentEditor* JucerDocumentEditor::getActiveDocumentHolder() ApplicationCommandInfo info (0); ApplicationCommandTarget* target = IntrojucerApp::getCommandManager().getTargetForCommand (JucerCommandIDs::editCompLayout, info); - return dynamic_cast (target); + return dynamic_cast (target); } Image JucerDocumentEditor::createComponentLayerSnapshot() const