summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2021-01-27 21:58:24 +0900
committerTomaž Vajngerl <quikee@gmail.com>2021-02-01 07:51:09 +0100
commit2235d2874f0a58df1249ca8def2f398020fbfd42 (patch)
tree40b0fefaad22809addc190c78e32575394aeb4a1
parentb58747e7dbfdb4ded3d774e850b4fcf6940c998e (diff)
devtools: show list of interfaces for the object in the inspector
Change-Id: I2b0ff5b272a7d3b2ca2d76edfc6929f789277faa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110118 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
-rw-r--r--svx/source/devtools/DevelopmentToolDockingWindow.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/svx/source/devtools/DevelopmentToolDockingWindow.cxx b/svx/source/devtools/DevelopmentToolDockingWindow.cxx
index d5f5a1ca0be1..407900704a3b 100644
--- a/svx/source/devtools/DevelopmentToolDockingWindow.cxx
+++ b/svx/source/devtools/DevelopmentToolDockingWindow.cxx
@@ -208,6 +208,25 @@ void DevelopmentToolDockingWindow::introspect(uno::Reference<uno::XInterface> co
mpClassListBox->set_text_emphasis(*pResult, false, 0);
}
+ {
+ uno::Reference<lang::XTypeProvider> xTypeProvider(xInterface, uno::UNO_QUERY);
+ if (xTypeProvider.is())
+ {
+ OUString aTypesString("Interfaces");
+ mpClassListBox->insert(nullptr, -1, &aTypesString, nullptr, nullptr, nullptr, false,
+ pParent.get());
+ mpClassListBox->set_text_emphasis(*pParent, true, 0);
+
+ const auto xSequenceTypes = xTypeProvider->getTypes();
+ for (auto const& xType : xSequenceTypes)
+ {
+ OUString aName = xType.getTypeName();
+ mpClassListBox->insert(pParent.get(), -1, &aName, nullptr, nullptr, nullptr, false,
+ pResult.get());
+ }
+ }
+ }
+
OUString aMethodsString("Methods");
mpClassListBox->insert(nullptr, -1, &aMethodsString, nullptr, nullptr, nullptr, false,
pParent.get());