Kaydet (Commit) c3435fc4 authored tarafından Jan-Marek Glogowski's avatar Jan-Marek Glogowski

SM move categories into SmElementsControl...

... and drop the special examples handling. All these lists are
already static. The only "drawback" are the previously range-based
for loops in SmElementsDockingWindow.

Change-Id: I7a6cfbe74c29fcc14557aef1d5ef31d599b33fc0
Reviewed-on: https://gerrit.libreoffice.org/73076
Tested-by: Jenkins
Reviewed-by: 's avatarJan-Marek Glogowski <glogow@fbihome.de>
üst d93746bd
......@@ -25,6 +25,7 @@
#include "format.hxx"
#include <memory>
#include <tuple>
class SmDocShell;
class SmNode;
......@@ -57,20 +58,25 @@ public:
bool isSeparator() const override { return true; }
};
typedef std::pair<const char*, const char*> SmElementDescr;
class SmElementsControl : public Control
{
friend class ElementSelectorUIObject;
friend class ElementUIObject;
static const std::pair<const char*, const char*> aUnaryBinaryOperatorsList[];
static const std::pair<const char*, const char*> aRelationsList[];
static const std::pair<const char*, const char*> aSetOperations[];
static const std::pair<const char*, const char*> aFunctions[];
static const std::pair<const char*, const char*> aOperators[];
static const std::pair<const char*, const char*> aAttributes[];
static const std::pair<const char*, const char*> aBrackets[];
static const std::pair<const char*, const char*> aFormats[];
static const std::pair<const char*, const char*> aOthers[];
static const SmElementDescr m_aUnaryBinaryOperatorsList[];
static const SmElementDescr m_aRelationsList[];
static const SmElementDescr m_aSetOperationsList[];
static const SmElementDescr m_aFunctionsList[];
static const SmElementDescr m_aOperatorsList[];
static const SmElementDescr m_aAttributesList[];
static const SmElementDescr m_aBracketsList[];
static const SmElementDescr m_aFormatsList[];
static const SmElementDescr m_aOthersList[];
static const SmElementDescr m_aExamplesList[];
static const std::tuple<const char*, const SmElementDescr*, size_t> m_aCategories[];
static const size_t m_aCategoriesSize;
virtual void ApplySettings(vcl::RenderContext&) override;
virtual void DataChanged(const DataChangedEvent&) override;
......@@ -97,7 +103,7 @@ class SmElementsControl : public Control
bool m_bFirstPaintAfterLayout;
void addElement(const OUString& aElementVisual, const OUString& aElementSource, const OUString& aHelpText);
void addElements(const std::pair<const char*, const char*> aElementsArray[], sal_uInt16 size);
void addElements(const SmElementDescr aElementsArray[], sal_uInt16 size);
SmElement* current() const;
bool hasRollover() const { return m_nCurrentRolloverElement != SAL_MAX_UINT16; }
......@@ -118,6 +124,8 @@ public:
virtual ~SmElementsControl() override;
virtual void dispose() override;
static const auto& categories() { return m_aCategories; }
static size_t categoriesSize() { return m_aCategoriesSize; }
void setElementSetId(const char* pSetId);
void setVerticalMode(bool bVertical);
......@@ -134,8 +142,6 @@ public:
class SmElementsDockingWindow : public SfxDockingWindow
{
static const char* aCategories[];
VclPtr<SmElementsControl> mpElementsControl;
VclPtr<ListBox> mpElementListBox;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment