Hi David,
thank you very much.
Meanwhile I found your solution by reading the source code of the 'AnalyserBase' plugin.
From 'AnalyzerUtils::findSymbolUnderCursor()':
...
        IEditor*editor=EditorManager::currentEditor();

    if  (!editor)

        return  0;

    TextEditor::ITextEditor  *textEditor  =  qobject_cast<TextEditor::ITextEditor  
*>(editor);

    if  (!textEditor)

        return  0;

    TextEditor::BaseTextEditorWidget  *editorWidget  =  
qobject_cast<TextEditor::BaseTextEditorWidget  *>(editor->widget());

    if  (!editorWidget)

        return  0;

    QPlainTextEdit  *ptEdit  =  qobject_cast<QPlainTextEdit  
*>(editor->widget());

    if  (!ptEdit)

        return  0;
...

With 'insertPlainText()' it works too.
But I don't understand, why the 'qobject_cast' don't work for me. I have replaced it with 'dynamic_cast',
which works.

...
"Don't forget to add the TextEditor Plugin as a dependencie to your plugin :)"
...
Now, the 'qobject_cast' work for me. :-)

I have used the template to create the plugin and in the .pro file I find:
...
include($$QTCREATOR_SOURCES/src/qtcreatorplugin.pri)
include($$QTCREATOR_SOURCES/src/plugins/coreplugin/coreplugin.pri)
...
I have added here 'include($$QTCREATOR_SOURCES/src/plugins/texteditor/texteditor.pri)'
and in the pluginspec.in:
<dependencyname=\"TextEditor\"version=\"$$QTCREATOR_VERSION\"/>
Is this enough? (It works.)
I found for example for the 'BinEditor' plugin an extra folder 'bineditor_dependencies' with the 'bineditor_dependencies.pri' file. Is this preferred or is it enough to write
it in the .pro file?

Is it possible to open a new 'Scratch Buffer' (temporäry file) before I send my text?

Thanks again,
    Thomas


Am 21.05.2013 08:41, schrieb David Schulz:
Am 5/17/2013 11:45 PM, schrieb Thomas Meyer:
Hi,
how can I send a simple string (QString) from a plugin to the 'General
Messages' panel (or pane)
and how to the TextEditor (an opened text file)?

Hi,

you can use EditorManager::currentEditor() to get the editor.
You receive an IEditor object, which you have to cast to ITextEditor.
ITextEditor define the function insert(const QString& string)....

sample code:

if(IEditor*editor=EditorManager::currentEditor()){
if(TextEditor::ITextEditor*textEditor=qobject_cast<TextEditor::ITextEditor*>(editor))
textEditor->insert(QString("Helloworld"));
}
Don't forget to add the TextEditor Plugin as a dependencie to your plugin :)

BR,
David

Where can I find some documentation about the 'communication' (sending
or receiving strings etc.)
between plugins and the different panes (panels?) and the TextEditor?

Example:
I have build a simple plugin, which is a dialog with a button 'send
text' and should send
'Hello world' to an opened text file. For 'debugging' I want to send
'send text pressed'
to the 'General Messages' pane.

Thanks,
      Thomas


_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qt-creator



_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qt-creator

_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qt-creator

Reply via email to