summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-03-05 11:44:13 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-03-05 17:53:25 +0100
commitee499ffe6727c36a7cf6fd2a9c6f8a52b8a111c8 (patch)
tree290556a6e4f4066dfe9b4be78531b74e823527cf
parenta0a0f8786f1deab4283cee45dfd8888ddbd2811e (diff)
move valueset resize into LayoutValueSet class
Change-Id: If1a5dbcdac95a167779b30c26f4aa61bbe104cce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112011 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sd/source/ui/sidebar/LayoutMenu.cxx32
-rw-r--r--sd/source/ui/sidebar/LayoutMenu.hxx11
2 files changed, 21 insertions, 22 deletions
diff --git a/sd/source/ui/sidebar/LayoutMenu.cxx b/sd/source/ui/sidebar/LayoutMenu.cxx
index e435bdcdcde0..513623a47fe9 100644
--- a/sd/source/ui/sidebar/LayoutMenu.cxx
+++ b/sd/source/ui/sidebar/LayoutMenu.cxx
@@ -132,6 +132,15 @@ class LayoutValueSet : public ValueSet
{
private:
LayoutMenu& mrMenu;
+
+ /** Calculate the number of displayed rows. This depends on the given
+ item size, the given number of columns, and the size of the
+ control. Note that this is not the number of rows managed by the
+ valueset. This number may be larger. In that case a vertical
+ scroll bar is displayed.
+ */
+ int CalculateRowCount(const Size& rItemSize, int nColumnCount);
+
public:
LayoutValueSet(LayoutMenu& rMenu)
: ValueSet(nullptr)
@@ -139,6 +148,8 @@ public:
{
}
+ virtual void Resize() override;
+
virtual bool Command(const CommandEvent& rEvent) override
{
if (rEvent.GetCommand() == CommandEventId::ContextMenu)
@@ -272,16 +283,16 @@ ui::LayoutSize LayoutMenu::GetHeightForWidth (const sal_Int32 nWidth)
return ui::LayoutSize(nPreferredHeight,nPreferredHeight,nPreferredHeight);
}
-void LayoutMenu::Resize()
+void LayoutValueSet::Resize()
{
Size aWindowSize = GetOutputSizePixel();
if (IsVisible() && aWindowSize.Width() > 0)
{
// Calculate the number of rows and columns.
- if (mxLayoutValueSet->GetItemCount() > 0)
+ if (GetItemCount() > 0)
{
- Image aImage = mxLayoutValueSet->GetItemImage(mxLayoutValueSet->GetItemId(0));
- Size aItemSize = mxLayoutValueSet->CalcItemSizePixel (
+ Image aImage = GetItemImage(GetItemId(0));
+ Size aItemSize = CalcItemSizePixel (
aImage.GetSizePixel());
aItemSize.AdjustWidth(8 );
aItemSize.AdjustHeight(8 );
@@ -293,12 +304,12 @@ void LayoutMenu::Resize()
int nRowCount = CalculateRowCount (aItemSize, nColumnCount);
- mxLayoutValueSet->SetColCount(nColumnCount);
- mxLayoutValueSet->SetLineCount(nRowCount);
+ SetColCount(nColumnCount);
+ SetLineCount(nRowCount);
}
}
- mxLayoutValueSet->Resize();
+ ValueSet::Resize();
}
void LayoutMenu::MouseButtonDown (const MouseEvent& rEvent)
@@ -356,14 +367,13 @@ void LayoutMenu::InvalidateContent()
UpdateSelection();
}
-int LayoutMenu::CalculateRowCount (const Size&, int nColumnCount)
+int LayoutValueSet::CalculateRowCount (const Size&, int nColumnCount)
{
int nRowCount = 0;
- if (mxLayoutValueSet->GetItemCount() > 0 && nColumnCount > 0)
+ if (GetItemCount() > 0 && nColumnCount > 0)
{
- nRowCount = (mxLayoutValueSet->GetItemCount() + nColumnCount - 1) / nColumnCount;
- // nRowCount = GetOutputSizePixel().Height() / rItemSize.Height();
+ nRowCount = (GetItemCount() + nColumnCount - 1) / nColumnCount;
if (nRowCount < 1)
nRowCount = 1;
}
diff --git a/sd/source/ui/sidebar/LayoutMenu.hxx b/sd/source/ui/sidebar/LayoutMenu.hxx
index b9eb1d167177..c93ac3e410d7 100644
--- a/sd/source/ui/sidebar/LayoutMenu.hxx
+++ b/sd/source/ui/sidebar/LayoutMenu.hxx
@@ -77,9 +77,6 @@ public:
// From ILayoutableWindow
virtual css::ui::LayoutSize GetHeightForWidth(const sal_Int32 nWidth) override;
- // From vcl::Window
- virtual void Resize() override;
-
/** Show a context menu when the right mouse button is pressed.
*/
virtual void MouseButtonDown(const MouseEvent& rEvent) override;
@@ -115,14 +112,6 @@ private:
css::uno::Reference<css::ui::XSidebar> mxSidebar;
bool mbIsDisposed;
- /** Calculate the number of displayed rows. This depends on the given
- item size, the given number of columns, and the size of the
- control. Note that this is not the number of rows managed by the
- valueset. This number may be larger. In that case a vertical
- scroll bar is displayed.
- */
- int CalculateRowCount(const Size& rItemSize, int nColumnCount);
-
/** Fill the value set with the layouts that are applicable to the
current main view shell.
*/