diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2021-01-27 21:58:24 +0900 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2021-02-01 07:51:09 +0100 |
commit | 2235d2874f0a58df1249ca8def2f398020fbfd42 (patch) | |
tree | 40b0fefaad22809addc190c78e32575394aeb4a1 | |
parent | b58747e7dbfdb4ded3d774e850b4fcf6940c998e (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.cxx | 19 |
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()); |