[Kde-bindings] document extension interfaces missing for KTextEditor::Document in korundum4

Stefano Crocco stefano.crocco at alice.it
Tue Aug 5 07:40:58 UTC 2008


Maybe this is a known issue, but I decided to report about it anyway, in case 
it wasn't. It seems that korundum4 doesn't include bindings for the document 
extension interfaces listed here: http://api.kde.org/4.x-api/kdelibs-apidocs/interfaces/ktexteditor/html/group__kte__group__doc__extensions.html

This is a sample program:

require 'korundum4'
require 'ktexteditor'

class AnnotationModel < KTextEditor::AnnotationModel

  def data line, role
    Qt::Variant.new
  end

end

data = KDE::AboutData.new "kruby", "", KDE::ki18n("KRuby"), "0.0.1"
KDE::CmdLineArgs.init [], data

app = KDE::Application.new
doc = KTextEditor::EditorChooser.editor('katepart').create_document( nil)
model = AnnotationModel.new
doc.setAnnotationModel model

Running it, I get:

prova.rb:18:in `method_missing': undefined method `setAnnotationModel' for #<KTextEditor::Document:0xb58b2f80 objectName=""> (NoMethodError)
        from prova.rb:18

Setting Qt.debug_level to Qt::DebugLevel::High before the call to
setAnnotationModel, I obtain the following list of methods:

classname    == KTextEditor::Document
:: method == setAnnotationModel
-> methodIds == []
candidate list:
Possible prototypes:
	KTextEditor::Document* KTextEditor::Document::Document(QObject*)
	bool KTextEditor::Document::setEncoding(const QString&)
	QString KTextEditor::Document::modeSection(int) const
	void KTextEditor::Document::setSuppressOpeningErrorDialogs(bool)
	const QString& KTextEditor::Document::encoding() const
	void KTextEditor::Document::setOpeningError(bool)
	QStringList KTextEditor::Document::textLines(const KTextEditor::Range&) const
	bool KTextEditor::Document::insertText(const KTextEditor::Cursor&, const QString&, bool)
	bool KTextEditor::Document::setText(const QStringList&)
	bool KTextEditor::Document::replaceText(const KTextEditor::Range&, const QString&)
	void KTextEditor::Document::highlightingModeChanged(KTextEditor::Document*)
	void KTextEditor::Document::documentNameChanged(KTextEditor::Document*)
	bool KTextEditor::Document::setMode(const QString&)
	KTextEditor::Cursor KTextEditor::Document::documentEnd() const
	int KTextEditor::Document::qt_metacall(QMetaObject::Call, int, void**)
	void KTextEditor::Document::textChanged(KTextEditor::Document*, const KTextEditor::Range&, const KTextEditor::Range&)
	QString KTextEditor::Document::line(int) const
	bool KTextEditor::Document::startEditing()
	bool KTextEditor::Document::insertText(const KTextEditor::Cursor&, const QString&)
	QString KTextEditor::Document::highlightingModeSection(int) const
	bool KTextEditor::Document::documentSaveAs()
	int KTextEditor::Document::totalCharacters() const
	const QString& KTextEditor::Document::documentName() const
	void KTextEditor::Document::modifiedChanged(KTextEditor::Document*)
	KTextEditor::Editor* KTextEditor::Document::editor()
	bool KTextEditor::Document::clear()
	bool KTextEditor::Document::replaceText(const KTextEditor::Range&, const QStringList&, bool)
	void KTextEditor::Document::~Document()
	KTextEditor::Range KTextEditor::Document::documentRange() const
	bool KTextEditor::Document::removeLine(int)
	bool KTextEditor::Document::setHighlightingMode(const QString&)
	QString KTextEditor::Document::text(const KTextEditor::Range&, bool) const
	QString KTextEditor::Document::openingErrorMessage() const
	bool KTextEditor::Document::insertLine(int, const QString&)
	KTextEditor::View* KTextEditor::Document::activeView() const
	int KTextEditor::Document::lines() const
	bool KTextEditor::Document::replaceText(const KTextEditor::Range&, const QStringList&)
	void KTextEditor::Document::aboutToReload(KTextEditor::Document*)
	QString KTextEditor::Document::text() const
	void KTextEditor::Document::textInserted(KTextEditor::Document*, const KTextEditor::Range&)
	bool KTextEditor::Document::removeText(const KTextEditor::Range&, bool)
	bool KTextEditor::Document::replaceText(const KTextEditor::Range&, const QString&, bool)
	QString KTextEditor::Document::highlightingMode() const
	void KTextEditor::Document::textChanged(KTextEditor::Document*)
	QStringList KTextEditor::Document::modes() const
	void KTextEditor::Document::setOpeningErrorMessage(const QString&)
	void KTextEditor::Document::aboutToClose(KTextEditor::Document*)
	bool KTextEditor::Document::setText(const QString&)
	const QList<KTextEditor::View*>& KTextEditor::Document::views() const
	void KTextEditor::Document::textRemoved(KTextEditor::Document*, const KTextEditor::Range&)
	bool KTextEditor::Document::cursorInText(const KTextEditor::Cursor&)
	bool KTextEditor::Document::documentSave()
	bool KTextEditor::Document::insertLines(int, const QStringList&)
	bool KTextEditor::Document::isEmpty() const
	QString KTextEditor::Document::mode() const
	bool KTextEditor::Document::insertText(const KTextEditor::Cursor&, const QStringList&)
	QStringList KTextEditor::Document::textLines(const KTextEditor::Range&, bool) const
	bool KTextEditor::Document::documentReload()
	const QMetaObject* KTextEditor::Document::metaObject() const
	QString KTextEditor::Document::text(const KTextEditor::Range&) const
	int KTextEditor::Document::lineLength(int) const
	bool KTextEditor::Document::endEditing()
	void KTextEditor::Document::documentUrlChanged(KTextEditor::Document*)
	KTextEditor::View* KTextEditor::Document::createView(QWidget*)
	void KTextEditor::Document::modeChanged(KTextEditor::Document*)
	KTextEditor::Document* KTextEditor::Document::Document()
	bool KTextEditor::Document::openingError() const
	bool KTextEditor::Document::insertText(const KTextEditor::Cursor&, const QStringList&, bool)
	QString KTextEditor::Document::mimeType()
	QStringList KTextEditor::Document::highlightingModes() const
	void KTextEditor::Document::viewCreated(KTextEditor::Document*, KTextEditor::View*)
	bool KTextEditor::Document::removeText(const KTextEditor::Range&)
	QChar KTextEditor::Document::character(const KTextEditor::Cursor&) const
	bool KTextEditor::Document::suppressOpeningErrorDialogs() const
	KTextEditor::Cursor KTextEditor::Document::endOfLine(int) const

This list doesn't contain setAnnotationModel, nor any other method from the
document extension interfaces. Aren't they implemented, or am I missing something?

Stefano



More information about the Kde-bindings mailing list