diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-10-18 13:23:52 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-10-19 17:32:43 +0200 |
commit | fbe12462aaa98d9ea820908af1e7436d4590e698 (patch) | |
tree | 370c5a85bc4437a17e812ba36ea04d14396c7243 /vcl/source | |
parent | e75b57ce6e5130a7223ded6cf9d40b300850aef9 (diff) |
drop unused ListControl
Change-Id: I19dd8907c36d016b939ed346a4308e5df2ebf93c
Reviewed-on: https://gerrit.libreoffice.org/81060
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/control/listctrl.cxx | 178 | ||||
-rw-r--r-- | vcl/source/window/builder.cxx | 6 |
2 files changed, 0 insertions, 184 deletions
diff --git a/vcl/source/control/listctrl.cxx b/vcl/source/control/listctrl.cxx deleted file mode 100644 index 7ac9ee0f6773..000000000000 --- a/vcl/source/control/listctrl.cxx +++ /dev/null @@ -1,178 +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 <vcl/commandevent.hxx> -#include <vcl/event.hxx> -#include <vcl/listctrl.hxx> -#include <vcl/settings.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() -{ - // avoid recalculating while we are disposing - // children. This just leads to complex invalid memory - // access patterns that are not fixable. - if (isDisposed()) - return; - - 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.setWidth( aCtrlSize.Width() - nSrcBarSize ); - else - aSize.setWidth( aCtrlSize.Width() ); - item->SetSizePixel(aSize); - - aPoint.AdjustY(item->GetSizePixel().Height() ); - } -} - -Size ListControl::GetOptimalSize() const -{ - return LogicToPixel(Size(300, 185), MapMode(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.AdjustRight( -(mpScrollBar->GetSizePixel().Width()) ); - Scroll( 0, -nDelta, aRect ); - mpScrollBar->SetPosPixel(aNewPoint); -} - -IMPL_LINK_NOARG( ListControl, ScrollHdl, ScrollBar*, void ) -{ - DoScroll(mpScrollBar->GetDelta()); -} - -void ListControl::addEntry(const VclPtr<Window>& 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(); -} - -std::vector<VclPtr<vcl::Window>> const & ListControl::getEntries() const -{ - return maEntries; -} - -bool ListControl::EventNotify( NotifyEvent& rNEvt ) -{ - if (rNEvt.GetType() == MouseNotifyEvent::COMMAND) - { - const CommandEvent* pEvent = rNEvt.GetCommandEvent(); - if (pEvent) - { - CommandEventId nCommand = pEvent->GetCommand(); - - if (nCommand == CommandEventId::Wheel || - nCommand == CommandEventId::Gesture) - { - HandleScrollCommand(*pEvent, nullptr, mpScrollBar.get()); - } - } - } - return true; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 34ab3d7610ab..30e5a06ed31a 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -46,7 +46,6 @@ #include <vcl/vclmedit.hxx> #include <vcl/settings.hxx> #include <vcl/slider.hxx> -#include <vcl/listctrl.hxx> #include <vcl/weld.hxx> #include <vcl/commandinfoprovider.hxx> #include <svdata.hxx> @@ -2325,11 +2324,6 @@ VclPtr<vcl::Window> VclBuilder::makeObject(vcl::Window *pParent, const OString & WinBits nBits = extractDeferredBits(rMap); xWindow = VclPtr<DockingWindow>::Create(pParent, nBits|WB_DOCKABLE|WB_MOVEABLE); } - else if (name == "GtkListBox") - { - WinBits nBits = extractDeferredBits(rMap); - xWindow = VclPtr<ListControl>::Create(pParent, nBits); - } else if (name == "GtkCalendar") { WinBits nBits = extractDeferredBits(rMap); |