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 @@ ...@@ -25,6 +25,7 @@
#include "format.hxx" #include "format.hxx"
#include <memory> #include <memory>
#include <tuple>
class SmDocShell; class SmDocShell;
class SmNode; class SmNode;
...@@ -57,20 +58,25 @@ public: ...@@ -57,20 +58,25 @@ public:
bool isSeparator() const override { return true; } bool isSeparator() const override { return true; }
}; };
typedef std::pair<const char*, const char*> SmElementDescr;
class SmElementsControl : public Control class SmElementsControl : public Control
{ {
friend class ElementSelectorUIObject; friend class ElementSelectorUIObject;
friend class ElementUIObject; friend class ElementUIObject;
static const std::pair<const char*, const char*> aUnaryBinaryOperatorsList[]; static const SmElementDescr m_aUnaryBinaryOperatorsList[];
static const std::pair<const char*, const char*> aRelationsList[]; static const SmElementDescr m_aRelationsList[];
static const std::pair<const char*, const char*> aSetOperations[]; static const SmElementDescr m_aSetOperationsList[];
static const std::pair<const char*, const char*> aFunctions[]; static const SmElementDescr m_aFunctionsList[];
static const std::pair<const char*, const char*> aOperators[]; static const SmElementDescr m_aOperatorsList[];
static const std::pair<const char*, const char*> aAttributes[]; static const SmElementDescr m_aAttributesList[];
static const std::pair<const char*, const char*> aBrackets[]; static const SmElementDescr m_aBracketsList[];
static const std::pair<const char*, const char*> aFormats[]; static const SmElementDescr m_aFormatsList[];
static const std::pair<const char*, const char*> aOthers[]; 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 ApplySettings(vcl::RenderContext&) override;
virtual void DataChanged(const DataChangedEvent&) override; virtual void DataChanged(const DataChangedEvent&) override;
...@@ -97,7 +103,7 @@ class SmElementsControl : public Control ...@@ -97,7 +103,7 @@ class SmElementsControl : public Control
bool m_bFirstPaintAfterLayout; bool m_bFirstPaintAfterLayout;
void addElement(const OUString& aElementVisual, const OUString& aElementSource, const OUString& aHelpText); 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; SmElement* current() const;
bool hasRollover() const { return m_nCurrentRolloverElement != SAL_MAX_UINT16; } bool hasRollover() const { return m_nCurrentRolloverElement != SAL_MAX_UINT16; }
...@@ -118,6 +124,8 @@ public: ...@@ -118,6 +124,8 @@ public:
virtual ~SmElementsControl() override; virtual ~SmElementsControl() override;
virtual void dispose() 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 setElementSetId(const char* pSetId);
void setVerticalMode(bool bVertical); void setVerticalMode(bool bVertical);
...@@ -134,8 +142,6 @@ public: ...@@ -134,8 +142,6 @@ public:
class SmElementsDockingWindow : public SfxDockingWindow class SmElementsDockingWindow : public SfxDockingWindow
{ {
static const char* aCategories[];
VclPtr<SmElementsControl> mpElementsControl; VclPtr<SmElementsControl> mpElementsControl;
VclPtr<ListBox> mpElementListBox; VclPtr<ListBox> mpElementListBox;
......
...@@ -55,7 +55,7 @@ SmElementSeparator::SmElementSeparator() : ...@@ -55,7 +55,7 @@ SmElementSeparator::SmElementSeparator() :
SmElement(std::unique_ptr<SmNode>(), OUString(), OUString()) SmElement(std::unique_ptr<SmNode>(), OUString(), OUString())
{} {}
const std::pair<const char*, const char*> SmElementsControl::aUnaryBinaryOperatorsList[] = const SmElementDescr SmElementsControl::m_aUnaryBinaryOperatorsList[] =
{ {
{RID_PLUSX, RID_PLUSX_HELP}, {RID_MINUSX, RID_MINUSX_HELP}, {RID_PLUSX, RID_PLUSX_HELP}, {RID_MINUSX, RID_MINUSX_HELP},
{RID_PLUSMINUSX, RID_PLUSMINUSX_HELP}, {RID_MINUSPLUSX, RID_MINUSPLUSX_HELP}, {RID_PLUSMINUSX, RID_PLUSMINUSX_HELP}, {RID_MINUSPLUSX, RID_MINUSPLUSX_HELP},
...@@ -72,7 +72,7 @@ const std::pair<const char*, const char*> SmElementsControl::aUnaryBinaryOperato ...@@ -72,7 +72,7 @@ const std::pair<const char*, const char*> SmElementsControl::aUnaryBinaryOperato
{RID_NEGX, RID_NEGX_HELP}, {RID_XANDY, RID_XANDY_HELP}, {RID_XORY, RID_XORY_HELP}, {RID_NEGX, RID_NEGX_HELP}, {RID_XANDY, RID_XANDY_HELP}, {RID_XORY, RID_XORY_HELP},
}; };
const std::pair<const char*, const char*> SmElementsControl::aRelationsList[] = const SmElementDescr SmElementsControl::m_aRelationsList[] =
{ {
{RID_XEQY, RID_XEQY_HELP}, {RID_XNEQY, RID_XNEQY_HELP}, {RID_XLTY, RID_XLTY_HELP}, {RID_XEQY, RID_XEQY_HELP}, {RID_XNEQY, RID_XNEQY_HELP}, {RID_XLTY, RID_XLTY_HELP},
{RID_XLEY, RID_XLEY_HELP}, {RID_XLESLANTY, RID_XLESLANTY_HELP}, {RID_XGTY, RID_XGTY_HELP}, {RID_XLEY, RID_XLEY_HELP}, {RID_XLESLANTY, RID_XLESLANTY_HELP}, {RID_XGTY, RID_XGTY_HELP},
...@@ -93,7 +93,7 @@ const std::pair<const char*, const char*> SmElementsControl::aRelationsList[] = ...@@ -93,7 +93,7 @@ const std::pair<const char*, const char*> SmElementsControl::aRelationsList[] =
{RID_XNOTPRECEDESY, RID_XNOTPRECEDESY_HELP}, {RID_XNOTSUCCEEDSY, RID_XNOTSUCCEEDSY_HELP}, {RID_XNOTPRECEDESY, RID_XNOTPRECEDESY_HELP}, {RID_XNOTSUCCEEDSY, RID_XNOTSUCCEEDSY_HELP},
}; };
const std::pair<const char*, const char*> SmElementsControl::aSetOperations[] = const SmElementDescr SmElementsControl::m_aSetOperationsList[] =
{ {
{RID_XINY, RID_XINY_HELP}, {RID_XNOTINY, RID_XNOTINY_HELP}, {RID_XOWNSY, RID_XOWNSY_HELP}, {RID_XINY, RID_XINY_HELP}, {RID_XNOTINY, RID_XNOTINY_HELP}, {RID_XOWNSY, RID_XOWNSY_HELP},
{nullptr, nullptr}, {nullptr, nullptr},
...@@ -108,7 +108,7 @@ const std::pair<const char*, const char*> SmElementsControl::aSetOperations[] = ...@@ -108,7 +108,7 @@ const std::pair<const char*, const char*> SmElementsControl::aSetOperations[] =
{RID_SETZ, RID_SETZ_HELP}, {RID_SETQ, RID_SETQ_HELP}, {RID_SETR, RID_SETR_HELP}, {RID_SETC, RID_SETC_HELP} {RID_SETZ, RID_SETZ_HELP}, {RID_SETQ, RID_SETQ_HELP}, {RID_SETR, RID_SETR_HELP}, {RID_SETC, RID_SETC_HELP}
}; };
const std::pair<const char*, const char*> SmElementsControl::aFunctions[] = const SmElementDescr SmElementsControl::m_aFunctionsList[] =
{ {
{RID_ABSX, RID_ABSX_HELP}, {RID_FACTX, RID_FACTX_HELP}, {RID_SQRTX, RID_SQRTX_HELP}, {RID_ABSX, RID_ABSX_HELP}, {RID_FACTX, RID_FACTX_HELP}, {RID_SQRTX, RID_SQRTX_HELP},
{RID_NROOTXY, RID_NROOTXY_HELP}, {RID_RSUPX, RID_RSUPX_HELP}, {RID_EX, RID_EX_HELP}, {RID_NROOTXY, RID_NROOTXY_HELP}, {RID_RSUPX, RID_RSUPX_HELP}, {RID_EX, RID_EX_HELP},
...@@ -123,7 +123,7 @@ const std::pair<const char*, const char*> SmElementsControl::aFunctions[] = ...@@ -123,7 +123,7 @@ const std::pair<const char*, const char*> SmElementsControl::aFunctions[] =
{RID_ARTANHX, RID_ARTANHX_HELP}, {RID_ARCOTHX, RID_ARCOTHX_HELP} {RID_ARTANHX, RID_ARTANHX_HELP}, {RID_ARCOTHX, RID_ARCOTHX_HELP}
}; };
const std::pair<const char*, const char*> SmElementsControl::aOperators[] = const SmElementDescr SmElementsControl::m_aOperatorsList[] =
{ {
{RID_LIMX, RID_LIMX_HELP}, {RID_LIM_FROMX, RID_LIM_FROMX_HELP}, {RID_LIMX, RID_LIMX_HELP}, {RID_LIM_FROMX, RID_LIM_FROMX_HELP},
{RID_LIM_TOX, RID_LIM_TOX_HELP}, {RID_LIM_FROMTOX, RID_LIM_FROMTOX_HELP}, {RID_LIM_TOX, RID_LIM_TOX_HELP}, {RID_LIM_FROMTOX, RID_LIM_FROMTOX_HELP},
...@@ -162,7 +162,7 @@ const std::pair<const char*, const char*> SmElementsControl::aOperators[] = ...@@ -162,7 +162,7 @@ const std::pair<const char*, const char*> SmElementsControl::aOperators[] =
{RID_LLLINT_TOX, RID_LLLINT_TOX_HELP}, {RID_LLLINT_FROMTOX, RID_LLLINT_FROMTOX_HELP}, {RID_LLLINT_TOX, RID_LLLINT_TOX_HELP}, {RID_LLLINT_FROMTOX, RID_LLLINT_FROMTOX_HELP},
}; };
const std::pair<const char*, const char*> SmElementsControl::aAttributes[] = const SmElementDescr SmElementsControl::m_aAttributesList[] =
{ {
{RID_ACUTEX, RID_ACUTEX_HELP}, {RID_GRAVEX, RID_GRAVEX_HELP}, {RID_BREVEX, RID_BREVEX_HELP}, {RID_ACUTEX, RID_ACUTEX_HELP}, {RID_GRAVEX, RID_GRAVEX_HELP}, {RID_BREVEX, RID_BREVEX_HELP},
{RID_CIRCLEX, RID_CIRCLEX_HELP}, {RID_DOTX, RID_DOTX_HELP}, {RID_DDOTX, RID_DDOTX_HELP}, {RID_CIRCLEX, RID_CIRCLEX_HELP}, {RID_DOTX, RID_DOTX_HELP}, {RID_DDOTX, RID_DDOTX_HELP},
...@@ -185,7 +185,7 @@ const std::pair<const char*, const char*> SmElementsControl::aAttributes[] = ...@@ -185,7 +185,7 @@ const std::pair<const char*, const char*> SmElementsControl::aAttributes[] =
{RID_COLORX_TEAL, RID_COLORX_TEAL_HELP} {RID_COLORX_TEAL, RID_COLORX_TEAL_HELP}
}; };
const std::pair<const char*, const char*> SmElementsControl::aBrackets[] = const SmElementDescr SmElementsControl::m_aBracketsList[] =
{ {
{RID_LRGROUPX, RID_LRGROUPX_HELP}, {RID_LRGROUPX, RID_LRGROUPX_HELP},
{nullptr, nullptr}, {nullptr, nullptr},
...@@ -205,7 +205,7 @@ const std::pair<const char*, const char*> SmElementsControl::aBrackets[] = ...@@ -205,7 +205,7 @@ const std::pair<const char*, const char*> SmElementsControl::aBrackets[] =
{RID_XOVERBRACEY, RID_XOVERBRACEY_HELP}, {RID_XUNDERBRACEY, RID_XUNDERBRACEY_HELP}, {RID_XOVERBRACEY, RID_XOVERBRACEY_HELP}, {RID_XUNDERBRACEY, RID_XUNDERBRACEY_HELP},
}; };
const std::pair<const char*, const char*> SmElementsControl::aFormats[] = const SmElementDescr SmElementsControl::m_aFormatsList[] =
{ {
{RID_RSUPX, RID_RSUPX_HELP}, {RID_RSUBX, RID_RSUBX_HELP}, {RID_LSUPX, RID_LSUPX_HELP}, {RID_RSUPX, RID_RSUPX_HELP}, {RID_RSUBX, RID_RSUBX_HELP}, {RID_LSUPX, RID_LSUPX_HELP},
{RID_LSUBX, RID_LSUBX_HELP}, {RID_CSUPX, RID_CSUPX_HELP}, {RID_CSUBX, RID_CSUBX_HELP}, {RID_LSUBX, RID_LSUBX_HELP}, {RID_CSUPX, RID_CSUPX_HELP}, {RID_CSUBX, RID_CSUBX_HELP},
...@@ -218,7 +218,7 @@ const std::pair<const char*, const char*> SmElementsControl::aFormats[] = ...@@ -218,7 +218,7 @@ const std::pair<const char*, const char*> SmElementsControl::aFormats[] =
{RID_MATRIX, RID_MATRIX_HELP}, {RID_MATRIX, RID_MATRIX_HELP},
}; };
const std::pair<const char*, const char*> SmElementsControl::aOthers[] = const SmElementDescr SmElementsControl::m_aOthersList[] =
{ {
{RID_INFINITY, RID_INFINITY_HELP}, {RID_PARTIAL, RID_PARTIAL_HELP}, {RID_NABLA, RID_NABLA_HELP}, {RID_INFINITY, RID_INFINITY_HELP}, {RID_PARTIAL, RID_PARTIAL_HELP}, {RID_NABLA, RID_NABLA_HELP},
{RID_EXISTS, RID_EXISTS_HELP}, {RID_NOTEXISTS, RID_NOTEXISTS_HELP}, {RID_FORALL, RID_FORALL_HELP}, {RID_EXISTS, RID_EXISTS_HELP}, {RID_NOTEXISTS, RID_NOTEXISTS_HELP}, {RID_FORALL, RID_FORALL_HELP},
...@@ -232,6 +232,32 @@ const std::pair<const char*, const char*> SmElementsControl::aOthers[] = ...@@ -232,6 +232,32 @@ const std::pair<const char*, const char*> SmElementsControl::aOthers[] =
{RID_DOTSUP, RID_DOTSUP_HELP}, {RID_DOTSDOWN, RID_DOTSDOWN_HELP} {RID_DOTSUP, RID_DOTSUP_HELP}, {RID_DOTSDOWN, RID_DOTSDOWN_HELP}
}; };
const SmElementDescr SmElementsControl::m_aExamplesList[] =
{
{"C=%pi cdot d = 2 cdot %pi cdot r", nullptr},
{"E=mc^2", nullptr},
{"a^2 + b^2 = c^2", nullptr},
{"f ( x ) = sum from { { i = 0 } } to { infinity } { {f^{(i)}(0)} over {i!} x^i}", nullptr},
{"f ( x ) = {1} over {%sigma sqrt{2%pi} }func e^-{{(x-%mu)^2} over {2%sigma^2}}", nullptr},
};
#define AS_PAIR(a) a, SAL_N_ELEMENTS(a)
const std::tuple<const char*, const SmElementDescr*, size_t> SmElementsControl::m_aCategories[] =
{
{RID_CATEGORY_UNARY_BINARY_OPERATORS, AS_PAIR(m_aUnaryBinaryOperatorsList)},
{RID_CATEGORY_RELATIONS, AS_PAIR(m_aRelationsList)},
{RID_CATEGORY_SET_OPERATIONS, AS_PAIR(m_aSetOperationsList)},
{RID_CATEGORY_FUNCTIONS, AS_PAIR(m_aFunctionsList)},
{RID_CATEGORY_OPERATORS, AS_PAIR(m_aOperatorsList)},
{RID_CATEGORY_ATTRIBUTES, AS_PAIR(m_aAttributesList)},
{RID_CATEGORY_BRACKETS, AS_PAIR(m_aBracketsList)},
{RID_CATEGORY_FORMATS, AS_PAIR(m_aFormatsList)},
{RID_CATEGORY_OTHERS, AS_PAIR(m_aOthersList)},
{RID_CATEGORY_EXAMPLES, AS_PAIR(m_aExamplesList)},
};
const size_t SmElementsControl::m_aCategoriesSize = SAL_N_ELEMENTS(m_aCategories);
SmElementsControl::SmElementsControl(vcl::Window *pParent) SmElementsControl::SmElementsControl(vcl::Window *pParent)
: Control(pParent, WB_TABSTOP) : Control(pParent, WB_TABSTOP)
, mpDocShell(new SmDocShell(SfxModelFlags::EMBEDDED_OBJECT)) , mpDocShell(new SmDocShell(SfxModelFlags::EMBEDDED_OBJECT))
...@@ -834,12 +860,14 @@ void SmElementsControl::addElement(const OUString& aElementVisual, const OUStrin ...@@ -834,12 +860,14 @@ void SmElementsControl::addElement(const OUString& aElementVisual, const OUStrin
void SmElementsControl::setElementSetId(const char* pSetId) void SmElementsControl::setElementSetId(const char* pSetId)
{ {
if (msCurrentSetId == pSetId)
return;
msCurrentSetId = pSetId; msCurrentSetId = pSetId;
maMaxElementDimensions = Size(); maMaxElementDimensions = Size();
build(); build();
} }
void SmElementsControl::addElements(const std::pair<const char*, const char*> aElementsArray[], sal_uInt16 aElementsArraySize) void SmElementsControl::addElements(const SmElementDescr aElementsArray[], sal_uInt16 aElementsArraySize)
{ {
for (sal_uInt16 i = 0; i < aElementsArraySize ; i++) for (sal_uInt16 i = 0; i < aElementsArraySize ; i++)
{ {
...@@ -929,7 +957,7 @@ void SmElementsControl::addElements(const std::pair<const char*, const char*> aE ...@@ -929,7 +957,7 @@ void SmElementsControl::addElements(const std::pair<const char*, const char*> aE
else if (aElement == RID_XUNDERBRACEY) else if (aElement == RID_XUNDERBRACEY)
addElement("{<?><?><?>} underbrace {<?>} ", aElement, SmResId(pElementHelp)); addElement("{<?><?><?>} underbrace {<?>} ", aElement, SmResId(pElementHelp));
else else
addElement(aElement, aElement, SmResId(pElementHelp)); addElement(aElement, aElement, pElementHelp ? SmResId(pElementHelp) : "");
} }
} }
} }
...@@ -938,36 +966,13 @@ void SmElementsControl::build() ...@@ -938,36 +966,13 @@ void SmElementsControl::build()
{ {
maElementList.clear(); maElementList.clear();
if (msCurrentSetId == RID_CATEGORY_UNARY_BINARY_OPERATORS) for (sal_uInt16 n = 0; n < SAL_N_ELEMENTS(m_aCategories); ++n)
addElements(aUnaryBinaryOperatorsList, SAL_N_ELEMENTS(aUnaryBinaryOperatorsList));
else if (msCurrentSetId == RID_CATEGORY_RELATIONS)
addElements(aRelationsList, SAL_N_ELEMENTS(aRelationsList));
else if (msCurrentSetId == RID_CATEGORY_SET_OPERATIONS)
addElements(aSetOperations, SAL_N_ELEMENTS(aSetOperations));
else if (msCurrentSetId == RID_CATEGORY_FUNCTIONS)
addElements(aFunctions, SAL_N_ELEMENTS(aFunctions));
else if (msCurrentSetId == RID_CATEGORY_OPERATORS)
addElements(aOperators, SAL_N_ELEMENTS(aOperators));
else if (msCurrentSetId == RID_CATEGORY_ATTRIBUTES)
addElements(aAttributes, SAL_N_ELEMENTS(aAttributes));
else if (msCurrentSetId == RID_CATEGORY_BRACKETS)
addElements(aBrackets, SAL_N_ELEMENTS(aBrackets));
else if (msCurrentSetId == RID_CATEGORY_FORMATS)
addElements(aFormats, SAL_N_ELEMENTS(aFormats));
else if (msCurrentSetId == RID_CATEGORY_OTHERS)
addElements(aOthers, SAL_N_ELEMENTS(aOthers));
else if (msCurrentSetId == RID_CATEGORY_EXAMPLES)
{ {
OUString aEquation = "C=%pi cdot d = 2 cdot %pi cdot r"; if (msCurrentSetId == std::get<0>(m_aCategories[n]))
addElement(aEquation, aEquation, ""); {
aEquation = "E=mc^2"; addElements(std::get<1>(m_aCategories[n]), std::get<2>(m_aCategories[n]));
addElement(aEquation, aEquation, ""); break;
aEquation = "a^2 + b^2 = c^2"; }
addElement(aEquation, aEquation, "");
aEquation = "f ( x ) = sum from { { i = 0 } } to { infinity } { {f^{(i)}(0)} over {i!} x^i}";
addElement(aEquation, aEquation, "");
aEquation = "f ( x ) = {1} over {%sigma sqrt{2%pi} }func e^-{{(x-%mu)^2} over {2%sigma^2}}";
addElement(aEquation, aEquation, "");
} }
m_nCurrentElement = 0; m_nCurrentElement = 0;
...@@ -986,19 +991,6 @@ FactoryFunction SmElementsControl::GetUITestFactory() const ...@@ -986,19 +991,6 @@ FactoryFunction SmElementsControl::GetUITestFactory() const
return ElementSelectorUIObject::create; return ElementSelectorUIObject::create;
} }
const char* SmElementsDockingWindow::aCategories[] = {
RID_CATEGORY_UNARY_BINARY_OPERATORS,
RID_CATEGORY_RELATIONS,
RID_CATEGORY_SET_OPERATIONS,
RID_CATEGORY_FUNCTIONS,
RID_CATEGORY_OPERATORS,
RID_CATEGORY_ATTRIBUTES,
RID_CATEGORY_BRACKETS,
RID_CATEGORY_FORMATS,
RID_CATEGORY_OTHERS,
RID_CATEGORY_EXAMPLES
};
SmElementsDockingWindow::SmElementsDockingWindow(SfxBindings* pInputBindings, SfxChildWindow* pChildWindow, vcl::Window* pParent) : SmElementsDockingWindow::SmElementsDockingWindow(SfxBindings* pInputBindings, SfxChildWindow* pChildWindow, vcl::Window* pParent) :
SfxDockingWindow(pInputBindings, pChildWindow, pParent, "DockingElements", SfxDockingWindow(pInputBindings, pChildWindow, pParent, "DockingElements",
"modules/smath/ui/dockingelements.ui") "modules/smath/ui/dockingelements.ui")
...@@ -1011,12 +1003,10 @@ SmElementsDockingWindow::SmElementsDockingWindow(SfxBindings* pInputBindings, Sf ...@@ -1011,12 +1003,10 @@ SmElementsDockingWindow::SmElementsDockingWindow(SfxBindings* pInputBindings, Sf
mpElementsControl->SetBorderStyle( WindowBorderStyle::MONO ); mpElementsControl->SetBorderStyle( WindowBorderStyle::MONO );
mpElementListBox->SetDropDownLineCount( SAL_N_ELEMENTS(aCategories) ); mpElementListBox->SetDropDownLineCount(SmElementsControl::categoriesSize());
for (const char* pCategory : aCategories) for (size_t i = 0; i < SmElementsControl::categoriesSize(); ++i)
{ mpElementListBox->InsertEntry(SmResId(std::get<0>(SmElementsControl::categories()[i])));
mpElementListBox->InsertEntry(SmResId(pCategory));
}
mpElementListBox->SetSelectHdl(LINK(this, SmElementsDockingWindow, ElementSelectedHandle)); mpElementListBox->SetSelectHdl(LINK(this, SmElementsDockingWindow, ElementSelectedHandle));
mpElementListBox->SelectEntry(SmResId(RID_CATEGORY_UNARY_BINARY_OPERATORS)); mpElementListBox->SelectEntry(SmResId(RID_CATEGORY_UNARY_BINARY_OPERATORS));
...@@ -1071,8 +1061,9 @@ IMPL_LINK(SmElementsDockingWindow, SelectClickHandler, SmElement&, rElement, voi ...@@ -1071,8 +1061,9 @@ IMPL_LINK(SmElementsDockingWindow, SelectClickHandler, SmElement&, rElement, voi
IMPL_LINK( SmElementsDockingWindow, ElementSelectedHandle, ListBox&, rList, void) IMPL_LINK( SmElementsDockingWindow, ElementSelectedHandle, ListBox&, rList, void)
{ {
for (const char* pCurrentCategory : aCategories) for (size_t i = 0; i < SmElementsControl::categoriesSize(); ++i)
{ {
const char *pCurrentCategory = std::get<0>(SmElementsControl::categories()[i]);
OUString aCurrentCategoryString = SmResId(pCurrentCategory); OUString aCurrentCategoryString = SmResId(pCurrentCategory);
if (aCurrentCategoryString == rList.GetSelectedEntry()) if (aCurrentCategoryString == rList.GetSelectedEntry())
{ {
......
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