From 2b5df11cb8f6e8d40d86728e8b788aff3a755907 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 22 Aug 2014 12:49:02 +0200 Subject: Android: Use a BaseEditorFactory derived class for JavaEditor Change-Id: Ifc923177744af5058b22fac7fff2f2345cc99135 Reviewed-by: Christian Stenger --- src/plugins/android/javaeditor.cpp | 58 ++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 25 deletions(-) (limited to 'src/plugins/android/javaeditor.cpp') diff --git a/src/plugins/android/javaeditor.cpp b/src/plugins/android/javaeditor.cpp index 712706c636..de1c64cc71 100644 --- a/src/plugins/android/javaeditor.cpp +++ b/src/plugins/android/javaeditor.cpp @@ -33,11 +33,14 @@ #include "androidconstants.h" #include "javacompletionassistprovider.h" +#include +#include +#include +#include + #include #include #include -#include -#include #include #include @@ -49,32 +52,36 @@ namespace Internal { // JavaEditor // -JavaEditor::JavaEditor() +class JavaEditor : public TextEditor::BaseTextEditor { - addContext(Constants::C_JAVA_EDITOR); - setDuplicateSupported(true); - setCommentStyle(Utils::CommentDefinition::CppStyle); - setCompletionAssistProvider(ExtensionSystem::PluginManager::getObject()); - setEditorCreator([]() { return new JavaEditor; }); - setDocumentCreator([]() { return new JavaDocument; }); - - setWidgetCreator([]() -> TextEditor::BaseTextEditorWidget * { - auto widget = new TextEditor::BaseTextEditorWidget; - widget->setAutoCompleter(new JavaAutoCompleter); - return widget; - }); -} +public: + JavaEditor() + { + addContext(Constants::C_JAVA_EDITOR); + setDuplicateSupported(true); + setCommentStyle(Utils::CommentDefinition::CppStyle); + setCompletionAssistProvider(ExtensionSystem::PluginManager::getObject()); + } +}; // // JavaDocument // +class JavaDocument : public TextEditor::BaseTextDocument +{ +public: + JavaDocument(); + QString defaultPath() const; + QString suggestedFileName() const; +}; + + JavaDocument::JavaDocument() { setId(Constants::JAVA_EDITOR_ID); setMimeType(QLatin1String(Constants::JAVA_MIMETYPE)); - setSyntaxHighlighter(TextEditor::createGenericSyntaxHighlighter(Core::MimeDatabase::findByType(QLatin1String(Constants::JAVA_MIMETYPE)))); setIndenter(new JavaIndenter); } @@ -97,16 +104,17 @@ QString JavaDocument::suggestedFileName() const JavaEditorFactory::JavaEditorFactory() { - setId(Android::Constants::JAVA_EDITOR_ID); + setId(Constants::JAVA_EDITOR_ID); setDisplayName(tr("Java Editor")); - addMimeType(Android::Constants::JAVA_MIMETYPE); - new TextEditor::TextEditorActionHandler(this, Constants::C_JAVA_EDITOR, - TextEditor::TextEditorActionHandler::UnCommentSelection); -} + addMimeType(Constants::JAVA_MIMETYPE); -Core::IEditor *JavaEditorFactory::createEditor() -{ - return new JavaEditor; + setEditorCreator([]() { return new JavaEditor; }); + setDocumentCreator([]() { return new JavaDocument; }); + setAutoCompleterCreator([]() { return new JavaAutoCompleter; }); + setGenericSyntaxHighlighter(QLatin1String(Constants::JAVA_MIMETYPE)); + + setEditorActionHandlers(Constants::C_JAVA_EDITOR, + TextEditor::TextEditorActionHandler::UnCommentSelection); } } // namespace Internal -- cgit v1.2.1