summaryrefslogtreecommitdiff
path: root/sd/source/ui/toolpanel/SlideSorterCacheDisplay.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/toolpanel/SlideSorterCacheDisplay.cxx')
-rw-r--r--sd/source/ui/toolpanel/SlideSorterCacheDisplay.cxx374
1 files changed, 0 insertions, 374 deletions
diff --git a/sd/source/ui/toolpanel/SlideSorterCacheDisplay.cxx b/sd/source/ui/toolpanel/SlideSorterCacheDisplay.cxx
deleted file mode 100644
index 6f0f2f634..000000000
--- a/sd/source/ui/toolpanel/SlideSorterCacheDisplay.cxx
+++ /dev/null
@@ -1,374 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sd.hxx"
-
-#include "taskpane/SlideSorterCacheDisplay.hxx"
-
-#ifdef USE_SLIDE_SORTER_CACHE_DISPLAY
-
-#include "taskpane/ScrollPanel.hxx"
-#include "taskpane/TaskPaneControlFactory.hxx"
-
-#include <vcl/window.hxx>
-#include <vcl/lstbox.hxx>
-#include <vcl/button.hxx>
-
-namespace {
-
-static const Color maBackgroundColor (255,250,245);
-
-class PageCacheWindow : public ::Window
-{
-public:
- PageCacheWindow (
- ::Window* pParentWindow,
- ::sd::toolpanel::SlideSorterCacheDisplay* pDisplay)
- : ::Window(pParentWindow),
- mpDisplay(pDisplay)
- {
- SetBackground(Wallpaper(maBackgroundColor));
- }
-
- virtual void Paint (const Rectangle& rBoundingBox)
- { mpDisplay->Paint(rBoundingBox); ::Window::Paint(rBoundingBox); }
- virtual void Resize (void) { mpDisplay->Resize(); ::Window::Resize(); }
-
-private:
- ::sd::toolpanel::SlideSorterCacheDisplay* mpDisplay;
-};
-
-}
-
-
-
-namespace sd { namespace toolpanel {
-
-::std::map<const SdDrawDocument*, SlideSorterCacheDisplay*> SlideSorterCacheDisplay::maDisplays;
-
-SlideSorterCacheDisplay::SlideSorterCacheDisplay (const SdDrawDocument* pDocument)
- : TreeNode(NULL),
- mpWindow(NULL),
- mnPageCount(0),
- mnColumnCount(0),
- mnRowCount(0),
- maCellSize(0,0),
- mnHorizontalBorder(0),
- mnVerticalBorder(0)
-{
- SlideSorterCacheDisplay::AddInstance(pDocument,this);
-}
-
-
-
-
-SlideSorterCacheDisplay::~SlideSorterCacheDisplay (void)
-{
- if (mpWindow != NULL)
- delete mpWindow;
- SlideSorterCacheDisplay::RemoveInstance(this);
-}
-
-
-
-
-void SlideSorterCacheDisplay::SetParentWindow (::Window* pParentWindow)
-{
- mpWindow = new PageCacheWindow(pParentWindow, this);
-}
-
-
-
-
-void SlideSorterCacheDisplay::Paint (const Rectangle& rBoundingBox)
-{
- if (maCellSize.Width()>0 && maCellSize.Height()>0 && mpWindow!=NULL)
- {
- Color maSavedFillColor (mpWindow->GetFillColor());
- Color maSavedLineColor (mpWindow->GetLineColor());
- sal_Int32 nC0 = (rBoundingBox.Left() - mnHorizontalBorder) / maCellSize.Width();
- sal_Int32 nC1 = (rBoundingBox.Right() - mnHorizontalBorder) / maCellSize.Width();
- sal_Int32 nR0 = (rBoundingBox.Top() - mnVerticalBorder) / maCellSize.Height();
- sal_Int32 nR1 = (rBoundingBox.Bottom() - mnVerticalBorder) / maCellSize.Height();
- for (sal_Int32 nC=nC0; nC<=nC1; ++nC)
- for (sal_Int32 nR=nR0; nR<=nR1; ++nR)
- {
- sal_Int32 nPageIndex (nC + nR*mnColumnCount);
- if (nPageIndex < mnPageCount)
- {
- Rectangle aBox (GetPageBox(nPageIndex));
- if ( ! maPageDescriptors[nPageIndex].mbVisible)
- {
- mpWindow->SetLineColor();
- mpWindow->SetFillColor(maBackgroundColor);
- mpWindow->DrawRect(aBox);
-
- aBox.Left() += maCellSize.Width()/4;
- aBox.Right() -= maCellSize.Width()/4;
- aBox.Top() += maCellSize.Height()/4;
- aBox.Bottom() -= maCellSize.Height()/4;
- }
-
- switch (maPageDescriptors[nPageIndex].meStatus)
- {
- case NONE : mpWindow->SetFillColor (Color(95,255,128)); break;
- case RENDERING : mpWindow->SetFillColor (Color(236,125,128)); break;
- case IN_QUEUE_PRIORITY_0 : mpWindow->SetFillColor (Color(255,243,0)); break;
- case IN_QUEUE_PRIORITY_1 : mpWindow->SetFillColor (Color(255,199,0)); break;
- case IN_QUEUE_PRIORITY_2 : mpWindow->SetFillColor (Color(20,255,128)); break;
- default : mpWindow->SetFillColor (COL_BLACK); break;
- }
- mpWindow->SetLineColor(COL_BLACK);
- mpWindow->DrawRect(aBox);
-
- if ( ! maPageDescriptors[nPageIndex].mbUpToDate)
- mpWindow->DrawLine(aBox.TopLeft(), aBox.BottomRight());
- }
- }
- mpWindow->SetLineColor(maSavedLineColor);
- mpWindow->SetFillColor(maSavedFillColor);
- }
-}
-
-
-
-
-void SlideSorterCacheDisplay::Resize (void)
-{
- if (mpWindow != NULL)
- {
- double nW = mpWindow->GetSizePixel().Width();
- double nH = mpWindow->GetSizePixel().Height();
- if (nH > 0)
- {
- double nAspect = nW / nH;
- sal_Int32 nR = 1;
- sal_Int32 nC = 1;
- while (nR * nC < mnPageCount)
- {
- if (double(nC) / double(nR) > nAspect)
- ++nR;
- else
- ++nC;
- }
-
- mnRowCount = nR;
- mnColumnCount = nC;
- mnHorizontalGap = 2;
- mnVerticalGap = 2;
- maCellSize = Size(
- (int)((nW-(nC-1)*mnHorizontalGap) / nC),
- (int)((nH-(nR-1)*mnVerticalGap) / nR));
- mnHorizontalBorder = (int)(nW - nC*maCellSize.Width() - ((nC-1)*mnHorizontalGap))/2;
- mnVerticalBorder = (int)(nH - nR*maCellSize.Height() - ((nR-1)*mnVerticalGap))/2;
- }
- }
-}
-
-
-
-
-SlideSorterCacheDisplay* SlideSorterCacheDisplay::Instance (const SdDrawDocument* pDocument)
-{
- SlideSorterCacheDisplay* pDisplay = NULL;
- ::std::map<const SdDrawDocument*, SlideSorterCacheDisplay*>::iterator iDisplay;
- for (iDisplay=maDisplays.begin(); iDisplay!=maDisplays.end(); ++iDisplay)
- if (iDisplay->first == pDocument)
- pDisplay = iDisplay->second;
-
- if (pDisplay == NULL)
- {
- pDisplay = new SlideSorterCacheDisplay(pDocument);
- }
-
- return pDisplay;
-}
-
-
-
-
-void SlideSorterCacheDisplay::SetPageCount (sal_Int32 nPageCount)
-{
- mnPageCount = nPageCount;
- maPageDescriptors.resize(nPageCount);
- Resize();
- if (mpWindow != NULL)
- mpWindow->Invalidate();
-}
-
-
-
-
-void SlideSorterCacheDisplay::SetPageStatus (sal_Int32 nPageIndex, PageStatus eStatus)
-{
- ProvideSize(nPageIndex);
- maPageDescriptors[nPageIndex].meStatus = eStatus;
- PaintPage(nPageIndex);
-}
-
-
-
-
-void SlideSorterCacheDisplay::SetPageVisibility (sal_Int32 nPageIndex, bool bVisible)
-{
- ProvideSize(nPageIndex);
- maPageDescriptors[nPageIndex].mbVisible = bVisible;
- PaintPage(nPageIndex);
-}
-
-
-
-
-void SlideSorterCacheDisplay::SetUpToDate (sal_Int32 nPageIndex, bool bUpToDate)
-{
- ProvideSize(nPageIndex);
- maPageDescriptors[nPageIndex].mbUpToDate = bUpToDate;
- PaintPage(nPageIndex);
-}
-
-
-
-
-Rectangle SlideSorterCacheDisplay::GetPageBox (sal_Int32 nPageIndex)
-{
- sal_Int32 nRow = nPageIndex / mnColumnCount;
- sal_Int32 nColumn = nPageIndex % mnColumnCount;
- return Rectangle(
- Point(mnHorizontalBorder + nColumn * maCellSize.Width() + nColumn*mnHorizontalGap,
- mnVerticalBorder + nRow * maCellSize.Height() + nRow*mnVerticalGap),
- maCellSize);
-}
-
-
-
-
-void SlideSorterCacheDisplay::AddInstance (
- const SdDrawDocument* pDocument,
- SlideSorterCacheDisplay* pControl)
-{
- maDisplays[pDocument] = pControl;
-}
-
-
-
-
-void SlideSorterCacheDisplay::RemoveInstance (SlideSorterCacheDisplay* pControl)
-{
- ::std::map<const SdDrawDocument*, SlideSorterCacheDisplay*>::iterator iDisplay;
- for (iDisplay=maDisplays.begin(); iDisplay!=maDisplays.end(); ++iDisplay)
- if (iDisplay->second == pControl)
- {
- maDisplays.erase(iDisplay);
- break;
- }
-}
-
-
-
-
-void SlideSorterCacheDisplay::ProvideSize (sal_Int32 nPageIndex)
-{
- if (maPageDescriptors.size() <= (sal_uInt32)nPageIndex)
- maPageDescriptors.resize(nPageIndex+1);
- if (mnPageCount <= nPageIndex)
- mnPageCount = nPageIndex;
-}
-
-
-
-
-Size SlideSorterCacheDisplay::GetPreferredSize (void)
-{
- return Size(100,100);
-}
-
-
-
-
-sal_Int32 SlideSorterCacheDisplay::GetPreferredWidth (sal_Int32 nHeigh)
-{
- return GetPreferredSize().Width();
-}
-
-
-
-
-sal_Int32 SlideSorterCacheDisplay::GetPreferredHeight (sal_Int32 nWidth)
-{
- return GetPreferredSize().Height();
-}
-
-
-
-::Window* SlideSorterCacheDisplay::GetWindow (void)
-{
- return mpWindow;
-}
-
-
-
-
-bool SlideSorterCacheDisplay::IsResizable (void)
-{
- return true;
-}
-
-
-
-
-bool SlideSorterCacheDisplay::IsExpandable (void) const
-{
- return true;
-}
-
-
-
-
-bool SlideSorterCacheDisplay::IsExpanded (void) const
-{
- return true;
-}
-
-
-
-
-void SlideSorterCacheDisplay::PaintPage (sal_Int32 nPageIndex)
-{
- if (mpWindow != NULL)
- {
- Paint(GetPageBox(nPageIndex));
- }
-}
-
-
-} } // end of namespace ::sd::toolpanel
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */