From 3f9a0d7bdecbfadbae084fac4fc7a412856947d7 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Wed, 14 Apr 2021 16:22:30 +0200 Subject: qdoc: Tag Q_INVOKABLE functions with [invokable] The code parser already tracked the invokability of a function; tag the function signature when generating the detailed documentation. Fixes: QTBUG-79698 Change-Id: I42d727f762b488b13dd10b400c5c07453c60cbac Reviewed-by: Paul Wicking (cherry picked from commit 8aa4beaff186063b24a3760a1f36a3184f8bf2e7) Reviewed-by: Qt Cherry-pick Bot --- .../properties-docbook/testqdoc-testderived.xml | 19 +++++++++++++++++++ .../expected_output/properties/testcpp.index | 1 + .../properties/testqdoc-testderived-members.html | 3 ++- .../properties/testqdoc-testderived.html | 6 ++++++ .../testdata/configs/properties.qdocconf | 3 +++ .../generatedoutput/testdata/testcpp/properties.qdoc | 5 +++++ .../qdoc/generatedoutput/testdata/testcpp/testcpp.h | 2 ++ 7 files changed, 38 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml b/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml index a292a981a..fde032de0 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml @@ -203,6 +203,25 @@ This is a private signal. It can be used in signal connections but cannot be emitted by the user. + +[invokable] TestDerived::void invokeMe() const + +const + +invokeMe + +plain +void invokeMe() const +public +active +unspecified +TestCPP + +Something invokable. + +This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE. + + [override virtual] TestDerived::void virtualFun() diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index index b08864064..f01a57391 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index @@ -55,6 +55,7 @@ + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html index b3284d993..44ac132be 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html @@ -23,11 +23,12 @@
  • setBindableProp(const QString &)
  • setBoolProp(bool)
  • bindableProp() : QBindable<QString>
  • -
    • funcPtr(bool, const char *) : void (*)(bool)
    • getInt() : int *
    • inlineFunction()
    • +
    • invokeMe() const
    • name() const : const QString *
    • overload()
    • overload(bool)
    • diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html index 33c605df9..a0704e9d8 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html @@ -58,6 +58,7 @@ target_link_libraries(mytarget PRIVATE Qt6::QDocTest) QBindable<QString> bindableProp() bool boolProp() int *getInt() + void invokeMe() const const QString *name() const const QString &someProp() @@ -147,6 +148,11 @@ target_link_libraries(mytarget PRIVATE Qt6::QDocTest)[invokable] void TestDerived::invokeMe() const +

      Something invokable.

      +

      Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

      +

      [override virtual] void TestDerived::virtualFun()

      Reimplements: Test::virtualFun().

      diff --git a/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf b/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf index 610b96948..3fbdbef22 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf +++ b/tests/auto/qdoc/generatedoutput/testdata/configs/properties.qdocconf @@ -8,3 +8,6 @@ outputformats = HTML DocBook {HTML.nosubdirs,DocBook.nosubdirs} = true HTML.outputsubdir = properties DocBook.outputsubdir = properties-docbook + +# Allow link warning to Q_INVOKABLE +warninglimit += 1 diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc b/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc index d225636a7..0ef6f4ea7 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/properties.qdoc @@ -51,6 +51,11 @@ A boolean property. */ +/*! + \fn TestQDoc::TestDerived::invokeMe() const + \brief Something invokable. +*/ + /*! //! avoid link warnings for auto-generated links to QProperty \externalpage https://wiki.qt.io/QProperty diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h index 8a8ad1c7a..af2165d07 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h @@ -107,6 +107,8 @@ public: bool boolProp(); const QString *name() const; + Q_INVOKABLE void invokeMe() const {} + Q_SIGNALS: void emitSomething(QPrivateSignal); void bindablePropChanged(); -- cgit v1.2.3