forked from qt-creator/qt-creator
TextEditorActionHandler: Use configuration instead of inheritance
Avoids creating subclasses just for implementing a single method. Change-Id: I813a0a20eaba8fefa004b74f92d48a9a9c4bfcc1 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -35,29 +35,17 @@
|
||||
using namespace Android;
|
||||
using namespace Android::Internal;
|
||||
|
||||
class AndroidTextEditorActionHandler : public TextEditor::TextEditorActionHandler
|
||||
{
|
||||
public:
|
||||
explicit AndroidTextEditorActionHandler(QObject *parent)
|
||||
: TextEditorActionHandler(parent,
|
||||
Constants::ANDROID_MANIFEST_EDITOR_ID,
|
||||
Constants::ANDROID_MANIFEST_EDITOR_CONTEXT)
|
||||
{}
|
||||
private:
|
||||
TextEditor::TextEditorWidget *resolveTextEditorWidget(Core::IEditor *editor) const
|
||||
{
|
||||
AndroidManifestEditor *androidManifestEditor = static_cast<AndroidManifestEditor *>(editor);
|
||||
return androidManifestEditor->textEditor();
|
||||
}
|
||||
};
|
||||
|
||||
AndroidManifestEditorFactory::AndroidManifestEditorFactory(QObject *parent)
|
||||
: Core::IEditorFactory(parent)
|
||||
{
|
||||
setId(Constants::ANDROID_MANIFEST_EDITOR_ID);
|
||||
setDisplayName(tr("Android Manifest editor"));
|
||||
addMimeType(Constants::ANDROID_MANIFEST_MIME_TYPE);
|
||||
new AndroidTextEditorActionHandler(this);
|
||||
auto actionHandler = new TextEditor::TextEditorActionHandler(
|
||||
this, id(), Constants::ANDROID_MANIFEST_EDITOR_CONTEXT);
|
||||
actionHandler->setTextEditorWidgetResolver([](Core::IEditor *editor) {
|
||||
return static_cast<AndroidManifestEditor *>(editor)->textEditor();
|
||||
});
|
||||
}
|
||||
|
||||
Core::IEditor *AndroidManifestEditorFactory::createEditor()
|
||||
|
||||
Reference in New Issue
Block a user