[Libreoffice-commits] core.git: include/sfx2 sfx2/source

Tomaž Vajngerl (via logerrit) logerrit at kemper.freedesktop.org
Sat Mar 13 15:31:06 UTC 2021


 include/sfx2/devtools/DevelopmentToolChildWindow.hxx   |    3 
 include/sfx2/devtools/DevelopmentToolDockingWindow.hxx |   14 +++
 include/sfx2/devtools/DocumentModelTreeHandler.hxx     |    9 ++
 include/sfx2/devtools/ObjectInspectorTreeHandler.hxx   |   19 +++++
 sfx2/source/devtools/DevelopmentToolDockingWindow.cxx  |   40 +++++------
 sfx2/source/devtools/DocumentModelTreeHandler.cxx      |   60 +++++++++++------
 sfx2/source/devtools/ObjectInspectorTreeHandler.cxx    |   50 +++++++++++++-
 sfx2/source/devtools/SelectionChangeHandler.hxx        |    5 +
 8 files changed, 155 insertions(+), 45 deletions(-)

New commits:
commit 9932cd89ae238b97090b8447ed50fd1ee8bf19cc
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Fri Mar 12 19:27:11 2021 +0900
Commit:     Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Sat Mar 13 16:30:28 2021 +0100

    devtools: document classes and method, remove unneeded methods
    
    This documents DevTools classes and methods. In addition it also
    removes some methods that aren't needed anymore.
    
    Change-Id: I550e2ce197d1565b4f770eb7dd59b2195f2230a3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112379
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/include/sfx2/devtools/DevelopmentToolChildWindow.hxx b/include/sfx2/devtools/DevelopmentToolChildWindow.hxx
index adf5adf44980..d78ac5c2e2ce 100644
--- a/include/sfx2/devtools/DevelopmentToolChildWindow.hxx
+++ b/include/sfx2/devtools/DevelopmentToolChildWindow.hxx
@@ -13,6 +13,9 @@
 #include <sfx2/dllapi.h>
 #include <sfx2/childwin.hxx>
 
+/**
+ * Necessary child window for the development tools docking window
+ */
 class SAL_WARN_UNUSED SFX2_DLLPUBLIC DevelopmentToolChildWindow final : public SfxChildWindow
 {
     SFX_DECL_CHILDWINDOW_WITHID(DevelopmentToolChildWindow);
diff --git a/include/sfx2/devtools/DevelopmentToolDockingWindow.hxx b/include/sfx2/devtools/DevelopmentToolDockingWindow.hxx
index f5c214949c6a..1d05948cd51f 100644
--- a/include/sfx2/devtools/DevelopmentToolDockingWindow.hxx
+++ b/include/sfx2/devtools/DevelopmentToolDockingWindow.hxx
@@ -26,6 +26,11 @@
 
 #include <unordered_map>
 
+/** Development tool main docking window
+ *
+ * Contains two sides. Left side contains the simplified DOM tree and
+ * the right side the object inspector tree.
+ */
 class SFX2_DLLPUBLIC DevelopmentToolDockingWindow final : public SfxDockingWindow
 {
 private:
@@ -39,20 +44,22 @@ private:
     std::unique_ptr<weld::Toolbar> mpObjectInspectorToolbar;
     std::unique_ptr<weld::Notebook> mpObjectInspectorNotebook;
 
+    // Reference to the root object for the current document
     css::uno::Reference<css::uno::XInterface> mxRoot;
+    // Stores the current selected object in the document
     css::uno::Reference<css::uno::XInterface> mxCurrentSelection;
     css::uno::Reference<css::view::XSelectionChangeListener> mxSelectionListener;
     css::uno::Reference<css::view::XSelectionSupplier> mxSelectionSupplier;
 
+    // Handler for the DOM tree
     DocumentModelTreeHandler maDocumentModelTreeHandler;
+    // Handler for the object inspector tree
     ObjectInspectorTreeHandler maObjectInspectorTreeHandler;
 
     DECL_LINK(DocumentModelTreeViewSelectionHandler, weld::TreeView&, void);
     DECL_LINK(SelectionToggled, weld::ToggleButton&, void);
 
-    void inspectDocument();
     void updateSelection();
-    void inspectSelectionOrRoot();
 
 public:
     DevelopmentToolDockingWindow(SfxBindings* pBindings, SfxChildWindow* pChildWindow,
@@ -64,10 +71,13 @@ public:
 
     virtual void ToggleFloatingMode() override;
 
+    // Inspect the input object in the object inspector
     void introspect(css::uno::Reference<css::uno::XInterface> const& xInterface);
 
+    // Signals that the selected object in the document changes
     void selectionChanged(css::uno::Reference<css::uno::XInterface> const& xInterface);
 
+    // Signals to change to the current selected object in the object inspector
     void changeToCurrentSelection();
 };
 
diff --git a/include/sfx2/devtools/DocumentModelTreeHandler.hxx b/include/sfx2/devtools/DocumentModelTreeHandler.hxx
index 03f5ed274aa4..17b853b36c6f 100644
--- a/include/sfx2/devtools/DocumentModelTreeHandler.hxx
+++ b/include/sfx2/devtools/DocumentModelTreeHandler.hxx
@@ -18,12 +18,19 @@
 
 #include <unordered_map>
 
+/** Document model tree handler
+ *
+ * Handles the DOM tree part of DevTools, which includes interaction with
+ * the DOM tree view UI elements and the DOM model.
+ */
 class DocumentModelTreeHandler
 {
 private:
     std::unique_ptr<weld::TreeView>& mpDocumentModelTree;
     css::uno::Reference<css::uno::XInterface> mxDocument;
 
+    // Clears all children of a tree node, where the parent is
+    // identified by the input tree iter.
     void clearChildren(weld::TreeIter const& rParent);
 
 public:
@@ -37,6 +44,8 @@ public:
     static css::uno::Reference<css::uno::XInterface> getObjectByID(OUString const& rID);
 
     void dispose();
+
+    // selects the input object if it exists in the DOM tree view
     void selectObject(css::uno::Reference<css::uno::XInterface> const& xInterface);
 };
 
diff --git a/include/sfx2/devtools/ObjectInspectorTreeHandler.hxx b/include/sfx2/devtools/ObjectInspectorTreeHandler.hxx
index 58b4c833961c..1d7000371eba 100644
--- a/include/sfx2/devtools/ObjectInspectorTreeHandler.hxx
+++ b/include/sfx2/devtools/ObjectInspectorTreeHandler.hxx
@@ -22,6 +22,12 @@
 #include <memory>
 #include <deque>
 
+/** Object inspector tree handler
+ *
+ * Handles the object inspector part of DevTools - mainly interaction
+ * between UI objects that consist of the object inspector.
+ *
+ */
 class ObjectInspectorTreeHandler
 {
 private:
@@ -33,8 +39,11 @@ private:
     std::unique_ptr<weld::Toolbar>& mpObjectInspectorToolbar;
     std::unique_ptr<weld::Notebook>& mpObjectInspectorNotebook;
 
+    // object stack to remember previously inspected objects so it is
+    // possible to return back to them
     std::deque<css::uno::Any> maInspectionStack;
 
+    // just the current context
     css::uno::Reference<css::uno::XComponentContext> mxContext;
 
     static void clearObjectInspectorChildren(std::unique_ptr<weld::TreeView>& pTreeView,
@@ -50,6 +59,7 @@ private:
 
     void inspectObject(css::uno::Reference<css::uno::XInterface> const& xInterface);
 
+    // Object stack handling
     void clearStack();
     void addToStack(css::uno::Any const& rAny);
     css::uno::Any popFromStack();
@@ -65,14 +75,23 @@ public:
                                std::unique_ptr<weld::Toolbar>& pObjectInspectorToolbar,
                                std::unique_ptr<weld::Notebook>& pObjectInspectorNotebook);
 
+    // callbacks when a node in the tree view is expanded
     DECL_LINK(ExpandingHandlerInterfaces, const weld::TreeIter&, bool);
     DECL_LINK(ExpandingHandlerServices, const weld::TreeIter&, bool);
     DECL_LINK(ExpandingHandlerProperties, const weld::TreeIter&, bool);
     DECL_LINK(ExpandingHandlerMethods, const weld::TreeIter&, bool);
+
+    // callback when the tree view selection changed to a different node
     DECL_LINK(SelectionChanged, weld::TreeView&, void);
 
+    // callback when a pop-up is triggered on a tree view node
     DECL_LINK(PopupMenuHandler, const CommandEvent&, bool);
+
+    // callback when a button is clicked on a toolbar
     DECL_LINK(ToolbarButtonClicked, const OString&, void);
+
+    // callback when a page is entered or left on the notebook bar for
+    // different categories
     DECL_LINK(NotebookEnterPage, const OString&, void);
     DECL_LINK(NotebookLeavePage, const OString&, bool);
 
diff --git a/sfx2/source/devtools/DevelopmentToolDockingWindow.cxx b/sfx2/source/devtools/DevelopmentToolDockingWindow.cxx
index a6b34091fcca..120c5b0ed23b 100644
--- a/sfx2/source/devtools/DevelopmentToolDockingWindow.cxx
+++ b/sfx2/source/devtools/DevelopmentToolDockingWindow.cxx
@@ -60,26 +60,6 @@ DevelopmentToolDockingWindow::DevelopmentToolDockingWindow(SfxBindings* pInputBi
     maObjectInspectorTreeHandler.introspect(mxRoot);
 }
 
-void DevelopmentToolDockingWindow::inspectSelectionOrRoot()
-{
-    if (mxSelectionSupplier.is())
-    {
-        css::uno::Any aAny = mxSelectionSupplier->getSelection();
-        if (aAny.hasValue())
-        {
-            auto xInterface = aAny.get<css::uno::Reference<css::uno::XInterface>>();
-            if (xInterface.is())
-            {
-                maObjectInspectorTreeHandler.introspect(xInterface);
-                mpSelectionToggle->set_state(TRISTATE_TRUE);
-                return;
-            }
-        }
-    }
-    mpSelectionToggle->set_state(TRISTATE_FALSE);
-    maObjectInspectorTreeHandler.introspect(mxRoot);
-}
-
 IMPL_LINK(DevelopmentToolDockingWindow, DocumentModelTreeViewSelectionHandler, weld::TreeView&,
           rView, void)
 {
@@ -155,6 +135,24 @@ void DevelopmentToolDockingWindow::selectionChanged(
     updateSelection();
 }
 
-void DevelopmentToolDockingWindow::changeToCurrentSelection() { inspectSelectionOrRoot(); }
+void DevelopmentToolDockingWindow::changeToCurrentSelection()
+{
+    if (mxSelectionSupplier.is())
+    {
+        css::uno::Any aAny = mxSelectionSupplier->getSelection();
+        if (aAny.hasValue())
+        {
+            auto xInterface = aAny.get<css::uno::Reference<css::uno::XInterface>>();
+            if (xInterface.is())
+            {
+                maObjectInspectorTreeHandler.introspect(xInterface);
+                mpSelectionToggle->set_state(TRISTATE_TRUE);
+                return;
+            }
+        }
+    }
+    mpSelectionToggle->set_state(TRISTATE_FALSE);
+    maObjectInspectorTreeHandler.introspect(mxRoot);
+}
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/devtools/DocumentModelTreeHandler.cxx b/sfx2/source/devtools/DocumentModelTreeHandler.cxx
index 6d15c56f3a5a..47dcb980a2f3 100644
--- a/sfx2/source/devtools/DocumentModelTreeHandler.cxx
+++ b/sfx2/source/devtools/DocumentModelTreeHandler.cxx
@@ -57,6 +57,7 @@ OUString lclAppend(std::unique_ptr<weld::TreeView>& rTree, OUString const& rStri
     return sId;
 }
 
+// returns a name of the object, if available
 OUString lclGetNamed(uno::Reference<uno::XInterface> const& xObject)
 {
     uno::Reference<container::XNamed> xNamed(xObject, uno::UNO_QUERY);
@@ -65,11 +66,11 @@ OUString lclGetNamed(uno::Reference<uno::XInterface> const& xObject)
     return xNamed->getName();
 }
 
-/**
- * DocumentModelTreeEntry represents an object that is "attached" to
- * the tree view an is responsible to provide the UNO object associated
- * with the current node and on demand create and fill the children of
- * the said node.
+/** DocumentModelTreeEntry is an object "attached" to a tree node.
+ *
+ * It represents an object that is "attached" to the tree view an is
+ * responsible to provide the UNO object associated with the current
+ * node and on demand create and fill the children of the said node.
  */
 class DocumentModelTreeEntry
 {
@@ -113,6 +114,7 @@ protected:
     }
 };
 
+/** Entry that represents the document root object */
 class DocumentRootEntry : public DocumentModelTreeEntry
 {
 public:
@@ -122,6 +124,7 @@ public:
     }
 };
 
+/** Represents a paragraph object (XParagraph) */
 class ParagraphEntry : public DocumentModelTreeEntry
 {
 public:
@@ -156,6 +159,7 @@ public:
     }
 };
 
+/** Represents a list of paragraphs */
 class ParagraphsEntry : public DocumentModelTreeEntry
 {
 public:
@@ -200,6 +204,7 @@ public:
     }
 };
 
+/** Represents a list of shapes */
 class ShapesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -236,6 +241,7 @@ public:
     }
 };
 
+/** Represents a list of tables */
 class TablesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -259,6 +265,7 @@ public:
     }
 };
 
+/** Represents a list of frames */
 class FramesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -282,6 +289,7 @@ public:
     }
 };
 
+/** Represents a list of writer graphic objects */
 class WriterGraphicObjectsEntry : public DocumentModelTreeEntry
 {
 public:
@@ -305,6 +313,7 @@ public:
     }
 };
 
+/** Represents a list of writer embedded (OLE) objects */
 class EmbeddedObjectsEntry : public DocumentModelTreeEntry
 {
 public:
@@ -328,6 +337,7 @@ public:
     }
 };
 
+/** Represents a style family, whcih contains a list of styles */
 class StylesFamilyEntry : public DocumentModelTreeEntry
 {
 public:
@@ -343,6 +353,7 @@ public:
     }
 };
 
+/** Represents a list of style families */
 class StylesFamiliesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -379,6 +390,7 @@ public:
     }
 };
 
+/** Represents a list of pages */
 class PagesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -416,6 +428,7 @@ public:
     }
 };
 
+/** Represents a list of (Impress) slides */
 class SlidesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -453,6 +466,7 @@ public:
     }
 };
 
+/** Represents a list of (Impress) master slides */
 class MasterSlidesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -490,6 +504,7 @@ public:
     }
 };
 
+/** Represents a list of charts */
 class ChartsEntry : public DocumentModelTreeEntry
 {
 public:
@@ -516,6 +531,7 @@ public:
     }
 };
 
+/** Represents a list of pivot tables */
 class PivotTablesEntry : public DocumentModelTreeEntry
 {
 public:
@@ -542,6 +558,7 @@ public:
     }
 };
 
+/** Represents a (Calc) sheet */
 class SheetEntry : public DocumentModelTreeEntry
 {
 public:
@@ -565,6 +582,7 @@ public:
     }
 };
 
+/** Represents a list of (Calc) sheet */
 class SheetsEntry : public DocumentModelTreeEntry
 {
 public:
@@ -685,37 +703,37 @@ void DocumentModelTreeHandler::inspectDocument()
 {
     uno::Reference<lang::XServiceInfo> xDocumentServiceInfo(mxDocument, uno::UNO_QUERY_THROW);
 
-    lclAppend(mpDocumentModelTree, "Document", new DocumentRootEntry(mxDocument), false);
+    lclAppend(mpDocumentModelTree, u"Document", new DocumentRootEntry(mxDocument), false);
 
     if (xDocumentServiceInfo->supportsService("com.sun.star.sheet.SpreadsheetDocument"))
     {
-        lclAppend(mpDocumentModelTree, "Sheets", new SheetsEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Styles", new StylesFamiliesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Sheets", new SheetsEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Styles", new StylesFamiliesEntry(mxDocument), true);
     }
     else if (xDocumentServiceInfo->supportsService(
                  "com.sun.star.presentation.PresentationDocument"))
     {
-        lclAppend(mpDocumentModelTree, "Slides", new SlidesEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Master Slides", new MasterSlidesEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Styles", new StylesFamiliesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Slides", new SlidesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Master Slides", new MasterSlidesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Styles", new StylesFamiliesEntry(mxDocument), true);
     }
     else if (xDocumentServiceInfo->supportsService("com.sun.star.drawing.DrawingDocument"))
     {
-        lclAppend(mpDocumentModelTree, "Pages", new PagesEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Styles", new StylesFamiliesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Pages", new PagesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Styles", new StylesFamiliesEntry(mxDocument), true);
     }
     else if (xDocumentServiceInfo->supportsService("com.sun.star.text.TextDocument")
              || xDocumentServiceInfo->supportsService("com.sun.star.text.WebDocument"))
     {
-        lclAppend(mpDocumentModelTree, "Paragraphs", new ParagraphsEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Shapes", new ShapesEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Tables", new TablesEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Frames", new FramesEntry(mxDocument), true);
-        lclAppend(mpDocumentModelTree, "Graphic Objects", new WriterGraphicObjectsEntry(mxDocument),
-                  true);
-        lclAppend(mpDocumentModelTree, "Embedded Objects", new EmbeddedObjectsEntry(mxDocument),
+        lclAppend(mpDocumentModelTree, u"Paragraphs", new ParagraphsEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Shapes", new ShapesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Tables", new TablesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Frames", new FramesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Graphic Objects",
+                  new WriterGraphicObjectsEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Embedded Objects", new EmbeddedObjectsEntry(mxDocument),
                   true);
-        lclAppend(mpDocumentModelTree, "Styles", new StylesFamiliesEntry(mxDocument), true);
+        lclAppend(mpDocumentModelTree, u"Styles", new StylesFamiliesEntry(mxDocument), true);
     }
 }
 
diff --git a/sfx2/source/devtools/ObjectInspectorTreeHandler.cxx b/sfx2/source/devtools/ObjectInspectorTreeHandler.cxx
index 553e7616308b..28186da1c3c2 100644
--- a/sfx2/source/devtools/ObjectInspectorTreeHandler.cxx
+++ b/sfx2/source/devtools/ObjectInspectorTreeHandler.cxx
@@ -49,6 +49,7 @@ namespace
 constexpr OUStringLiteral constTypeDescriptionManagerSingletonName
     = u"/singletons/com.sun.star.reflection.theTypeDescriptionManager";
 
+/** converts any value to a string */
 OUString AnyToString(const uno::Any& aValue, const uno::Reference<uno::XComponentContext>& xContext)
 {
     OUString aRetStr;
@@ -181,12 +182,14 @@ OUString AnyToString(const uno::Any& aValue, const uno::Reference<uno::XComponen
     return aRetStr;
 }
 
+/** converts an any's type to a string (in a short form) */
 OUString getAnyType(const uno::Any& aValue)
 {
     OUString aTypeName = aValue.getValueType().getTypeName();
     return aTypeName.replaceAll("com.sun.star", "css");
 }
 
+/** converts a Type to a XIdlClass */
 uno::Reference<reflection::XIdlClass>
 convertTypeToIdlClass(const uno::Type& rType,
                       const uno::Reference<uno::XComponentContext>& xContext)
@@ -197,6 +200,15 @@ convertTypeToIdlClass(const uno::Type& rType,
 
 // Object inspector nodes
 
+/** Object inspector node's main interface
+ *
+ * The interface for the "attached" object to a tree view nodes that
+ * are added to the tree views of the object inspector part. The node
+ * can return the main value of the node (object name) and if present
+ * also the values for additional columns. It signals if a tree needs
+ * an expander and fills the children of the tree is any exists.
+ *
+ */
 class ObjectInspectorNodeInterface
 {
 public:
@@ -204,19 +216,24 @@ public:
 
     virtual ~ObjectInspectorNodeInterface() {}
 
+    // main value (object name) of the tree view node
     virtual OUString getObjectName() = 0;
 
+    // should show the expander for the tree view node
     virtual bool shouldShowExpander() { return false; }
 
+    // fill the children for the current tree view node
     virtual void fillChildren(std::unique_ptr<weld::TreeView>& rTree, const weld::TreeIter* pParent)
         = 0;
 
+    // fill any additional column values for the current tree view node
     virtual std::vector<std::pair<sal_Int32, OUString>> getColumnValues()
     {
         return std::vector<std::pair<sal_Int32, OUString>>();
     }
 };
 
+// appends the node to the root of the tree view
 OUString lclAppendNode(std::unique_ptr<weld::TreeView>& pTree, ObjectInspectorNodeInterface* pEntry)
 {
     OUString sName = pEntry->getObjectName();
@@ -234,6 +251,7 @@ OUString lclAppendNode(std::unique_ptr<weld::TreeView>& pTree, ObjectInspectorNo
     return sId;
 }
 
+// appends the node to the parent
 OUString lclAppendNodeToParent(std::unique_ptr<weld::TreeView>& pTree,
                                const weld::TreeIter* pParent, ObjectInspectorNodeInterface* pEntry)
 {
@@ -252,6 +270,7 @@ OUString lclAppendNodeToParent(std::unique_ptr<weld::TreeView>& pTree,
     return sId;
 }
 
+/** Node that represent just a simple string with no children or columns */
 class SimpleStringNode : public ObjectInspectorNodeInterface
 {
 protected:
@@ -271,6 +290,7 @@ public:
     OUString getObjectName() override { return msName; }
 };
 
+/** Node represents a method of an object */
 class MethodNode : public ObjectInspectorNodeInterface
 {
 private:
@@ -351,6 +371,12 @@ public:
     }
 };
 
+/** Node represents a class (XIdlClass) of an object.
+ *
+ * Children are superclasses of the current class. XInterface superclass
+ * is ignored.
+ *
+ */
 class ClassNode : public ObjectInspectorNodeInterface
 {
 private:
@@ -376,6 +402,7 @@ public:
 
     OUString getObjectName() override { return mxClass->getName(); }
 
+    // Fill superclasses
     void fillChildren(std::unique_ptr<weld::TreeView>& rTree,
                       const weld::TreeIter* pParent) override
     {
@@ -388,6 +415,7 @@ public:
     }
 };
 
+/** Node represents a basic value, that can be any object, sequece, struct */
 class BasicValueNode : public SimpleStringNode
 {
 protected:
@@ -439,6 +467,7 @@ public:
     }
 };
 
+/** Node represents a property */
 class GenericPropertiesNode : public BasicValueNode
 {
 public:
@@ -452,6 +481,7 @@ public:
                       const weld::TreeIter* pParent) override;
 };
 
+/** Node represents a struct */
 class StructNode : public BasicValueNode
 {
 public:
@@ -467,6 +497,7 @@ public:
                       const weld::TreeIter* pParent) override;
 };
 
+/** Node represents a sequence */
 class SequenceNode : public BasicValueNode
 {
     uno::Reference<reflection::XIdlArray> mxIdlArray;
@@ -710,8 +741,11 @@ BasicValueNode::createNodeObjectForAny(OUString const& rName, uno::Any& rAny, OU
     return new BasicValueNode(rName, rAny, rInfo, mxContext);
 }
 
-// helper functions
+} // end anonymous namespace
 
+// Object inspector tree view helper functions
+namespace
+{
 ObjectInspectorNodeInterface* getSelectedNode(weld::TreeView const& rTreeView)
 {
     OUString sID = rTreeView.get_selected_id();
@@ -990,6 +1024,7 @@ void ObjectInspectorTreeHandler::clearObjectInspectorChildren(
     } while (bChild);
 }
 
+/** Deletes all the node objects in a tree view */
 void ObjectInspectorTreeHandler::clearAll(std::unique_ptr<weld::TreeView>& pTreeView)
 {
     // destroy all ObjectInspectorNodes from the tree
@@ -1002,6 +1037,7 @@ void ObjectInspectorTreeHandler::clearAll(std::unique_ptr<weld::TreeView>& pTree
     pTreeView->clear();
 }
 
+/** Append interfaces to the "interfaces" tree view */
 void ObjectInspectorTreeHandler::appendInterfaces(uno::Reference<uno::XInterface> const& xInterface)
 {
     if (!xInterface.is())
@@ -1019,6 +1055,7 @@ void ObjectInspectorTreeHandler::appendInterfaces(uno::Reference<uno::XInterface
     }
 }
 
+/** Append services to the "services" tree view */
 void ObjectInspectorTreeHandler::appendServices(uno::Reference<uno::XInterface> const& xInterface)
 {
     if (!xInterface.is())
@@ -1032,6 +1069,7 @@ void ObjectInspectorTreeHandler::appendServices(uno::Reference<uno::XInterface>
     }
 }
 
+/** Append properties to the "properties" tree view */
 void ObjectInspectorTreeHandler::appendProperties(uno::Reference<uno::XInterface> const& xInterface)
 {
     if (!xInterface.is())
@@ -1040,6 +1078,7 @@ void ObjectInspectorTreeHandler::appendProperties(uno::Reference<uno::XInterface
     aNode.fillChildren(mpPropertiesTreeView, nullptr);
 }
 
+/** Append methods to the "methods" tree view */
 void ObjectInspectorTreeHandler::appendMethods(uno::Reference<uno::XInterface> const& xInterface)
 {
     if (!xInterface.is())
@@ -1060,18 +1099,21 @@ void ObjectInspectorTreeHandler::updateBackButtonState()
     mpObjectInspectorToolbar->set_item_sensitive("back", maInspectionStack.size() > 1);
 }
 
+// Clears all the objects from the stack
 void ObjectInspectorTreeHandler::clearStack()
 {
     maInspectionStack.clear();
     updateBackButtonState();
 }
 
+// Adds an object to the stack
 void ObjectInspectorTreeHandler::addToStack(css::uno::Any const& rAny)
 {
     maInspectionStack.push_back(rAny);
     updateBackButtonState();
 }
 
+// Removes an object from the back of the stack and return it
 css::uno::Any ObjectInspectorTreeHandler::popFromStack()
 {
     maInspectionStack.pop_back();
@@ -1080,6 +1122,7 @@ css::uno::Any ObjectInspectorTreeHandler::popFromStack()
     return aAny;
 }
 
+// Inspect the input object in the object inspector
 void ObjectInspectorTreeHandler::inspectObject(uno::Reference<uno::XInterface> const& xInterface)
 {
     if (!xInterface.is())
@@ -1090,10 +1133,14 @@ void ObjectInspectorTreeHandler::inspectObject(uno::Reference<uno::XInterface> c
     OUString aImplementationName = xServiceInfo->getImplementationName();
     mpClassNameLabel->set_label(aImplementationName);
 
+    // Fire entering the current opened page manually
     auto rPageId = mpObjectInspectorNotebook->get_current_page_ident();
     NotebookEnterPage(rPageId);
 }
 
+// Inspect the input object in the object inspector.
+// Make the input object the root of the stack (clear all other
+// objects from the stack).
 void ObjectInspectorTreeHandler::introspect(uno::Reference<uno::XInterface> const& xInterface)
 {
     clearStack();
@@ -1103,6 +1150,7 @@ void ObjectInspectorTreeHandler::introspect(uno::Reference<uno::XInterface> cons
 
 void ObjectInspectorTreeHandler::dispose()
 {
+    // We need to clear all the nodes
     clearAll(mpInterfacesTreeView);
     clearAll(mpServicesTreeView);
     clearAll(mpPropertiesTreeView);
diff --git a/sfx2/source/devtools/SelectionChangeHandler.hxx b/sfx2/source/devtools/SelectionChangeHandler.hxx
index bfb7035e4d8a..523165f2f599 100644
--- a/sfx2/source/devtools/SelectionChangeHandler.hxx
+++ b/sfx2/source/devtools/SelectionChangeHandler.hxx
@@ -23,6 +23,11 @@
 typedef cppu::WeakComponentImplHelper<css::view::XSelectionChangeListener>
     SelectionChangeHandlerInterfaceBase;
 
+/** Selection change handler to listen to document selection changes.
+ *
+ * Listens to the changes and notifies the docking window with a new
+ * selected object, when a change happens.
+ */
 class SelectionChangeHandler final : private ::cppu::BaseMutex,
                                      public SelectionChangeHandlerInterfaceBase
 {


More information about the Libreoffice-commits mailing list