summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-08-29 12:13:16 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-08-29 15:34:54 +0200
commit856ff881318c478e0a56ca97444bc576cbb3d42c (patch)
treebdeadf5ee27d6ff7574559c053ca60002d1c35b1 /svx
parentb2e229ea407c840dff4809ec13db029f37981b7a (diff)
move ListControl to vcl
Change-Id: I022bba9a9a4d3d0bdb25ca8fa43aef2544decddb Reviewed-on: https://gerrit.libreoffice.org/41682 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/Library_svxcore.mk1
-rw-r--r--svx/source/dialog/listctrl.cxx158
2 files changed, 0 insertions, 159 deletions
diff --git a/svx/Library_svxcore.mk b/svx/Library_svxcore.mk
index ffb8321cfbe5..5bfbf899034d 100644
--- a/svx/Library_svxcore.mk
+++ b/svx/Library_svxcore.mk
@@ -117,7 +117,6 @@ $(eval $(call gb_Library_add_exception_objects,svxcore,\
svx/source/dialog/hexcolorcontrol \
svx/source/dialog/framelink \
svx/source/dialog/langbox \
- svx/source/dialog/listctrl \
svx/source/dialog/pagenumberlistbox \
svx/source/dialog/papersizelistbox \
svx/source/dialog/samecontentlistbox \
diff --git a/svx/source/dialog/listctrl.cxx b/svx/source/dialog/listctrl.cxx
deleted file mode 100644
index b1ecaf5b8972..000000000000
--- a/svx/source/dialog/listctrl.cxx
+++ /dev/null
@@ -1,158 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <svx/listctrl.hxx>
-
-ListControl::ListControl(vcl::Window* pParent, WinBits nBits):
- Control(pParent, nBits),
- mbHasScrollBar(false),
- mpScrollBar(VclPtr<ScrollBar>::Create(this, WB_VERT))
-{
- mpScrollBar->SetScrollHdl( LINK( this, ListControl, ScrollHdl ) );
- mpScrollBar->EnableDrag();
-}
-
-ListControl::~ListControl()
-{
- disposeOnce();
-}
-
-void ListControl::dispose()
-{
- mpScrollBar.disposeAndClear();
- for (auto& aEntry : maEntries)
- aEntry.disposeAndClear();
- maEntries.clear();
-
- Control::dispose();
-}
-
-void ListControl::RecalcAll()
-{
- sal_Int32 nTotalHeight = 0;
- for (const auto& item : maEntries)
- {
- if (!item)
- continue;
- nTotalHeight += item->GetSizePixel().Height();
- }
-
- Size aCtrlSize = GetOutputSize();
- long nSrcBarSize = GetSettings().GetStyleSettings().GetScrollBarSize();
- if(nTotalHeight > GetSizePixel().Height())
- {
- mbHasScrollBar = true;
- mpScrollBar->SetPosSizePixel(Point(aCtrlSize.Width() -nSrcBarSize, 0),
- Size(nSrcBarSize, aCtrlSize.Height()) );
- mpScrollBar->SetRangeMax(nTotalHeight);
- mpScrollBar->SetVisibleSize(aCtrlSize.Height());
- mpScrollBar->Show();
- }
- else
- {
- mbHasScrollBar = false;
- mpScrollBar->Hide();
- }
-
- Point aPoint(0,-1*mpScrollBar->GetThumbPos());
- for (const auto& item : maEntries)
- {
- if (!item)
- continue;
- item->SetPosPixel(aPoint);
- Size aSize = item->GetSizePixel();
- if(mbHasScrollBar)
- aSize.Width() = aCtrlSize.Width() - nSrcBarSize;
- else
- aSize.Width() = aCtrlSize.Width();
- item->SetSizePixel(aSize);
-
- aPoint.Y() += item->GetSizePixel().Height();
- }
-}
-
-Size ListControl::GetOptimalSize() const
-{
- return LogicToPixel(Size(300, 185), MapUnit::MapAppFont);
-}
-
-void ListControl::Resize()
-{
- Control::Resize();
- RecalcAll();
-}
-
-void ListControl::queue_resize(StateChangedType eReason)
-{
- Control::queue_resize(eReason);
- RecalcAll();
-}
-
-void ListControl::DoScroll(long nDelta)
-{
- Point aNewPoint = mpScrollBar->GetPosPixel();
- tools::Rectangle aRect(Point(), GetOutputSize());
- aRect.Right() -= mpScrollBar->GetSizePixel().Width();
- Scroll( 0, -nDelta, aRect );
- mpScrollBar->SetPosPixel(aNewPoint);
-}
-
-IMPL_LINK_NOARG( ListControl, ScrollHdl, ScrollBar*, void )
-{
- DoScroll(mpScrollBar->GetDelta());
-}
-
-void ListControl::addEntry(VclPtr<Control> xEntry, sal_uInt32 nPos)
-{
- xEntry->Show();
- if (nPos < maEntries.size())
- {
- maEntries.insert(maEntries.begin() + nPos, xEntry);
- }
- else
- {
- maEntries.push_back(xEntry);
- }
- RecalcAll();
-}
-
-void ListControl::deleteEntry(sal_uInt32 nPos)
-{
- if (nPos >= maEntries.size())
- return;
-
- maEntries[nPos].disposeAndClear();
- maEntries.erase(maEntries.begin() + nPos);
- RecalcAll();
-}
-
-bool ListControl::EventNotify( NotifyEvent& rNEvt )
-{
- if (rNEvt.GetType() == MouseNotifyEvent::COMMAND)
- {
- const CommandEvent* pEvent = rNEvt.GetCommandEvent();
- if (pEvent && pEvent->GetCommand() == CommandEventId::Wheel)
- {
- HandleScrollCommand(*pEvent, nullptr, mpScrollBar.get());
- }
- }
- return true;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */