summaryrefslogtreecommitdiff
path: root/include/svtools/toolpanel
diff options
context:
space:
mode:
Diffstat (limited to 'include/svtools/toolpanel')
-rw-r--r--include/svtools/toolpanel/decklayouter.hxx100
-rw-r--r--include/svtools/toolpanel/drawerlayouter.hxx88
-rw-r--r--include/svtools/toolpanel/paneltabbar.hxx97
-rw-r--r--include/svtools/toolpanel/tabalignment.hxx42
-rw-r--r--include/svtools/toolpanel/tabitemcontent.hxx43
-rw-r--r--include/svtools/toolpanel/tablayouter.hxx94
-rw-r--r--include/svtools/toolpanel/toolpanel.hxx134
-rw-r--r--include/svtools/toolpanel/toolpaneldeck.hxx185
8 files changed, 0 insertions, 783 deletions
diff --git a/include/svtools/toolpanel/decklayouter.hxx b/include/svtools/toolpanel/decklayouter.hxx
deleted file mode 100644
index 04de02cee180..000000000000
--- a/include/svtools/toolpanel/decklayouter.hxx
+++ /dev/null
@@ -1,100 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_DECKLAYOUTER_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_DECKLAYOUTER_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-
-#include <rtl/ref.hxx>
-#include <salhelper/simplereferenceobject.hxx>
-
-#include <boost/optional.hpp>
-
-namespace com { namespace sun { namespace star { namespace accessibility {
- class XAccessible;
-} } } }
-class Rectangle;
-class Point;
-
-
-namespace svt
-{
-
-
-
- //= IDeckLayouter
-
- class IDeckLayouter : public salhelper::SimpleReferenceObject
- {
- public:
- /** re-arranges the elements of the tool deck, taking into account the
- available space for the complete deck.
-
- @param i_rDeckPlayground
- the playground for the complete tool panel deck
- @return
- the content area for a single tool panel
- */
- virtual ::Rectangle Layout( const ::Rectangle& i_rDeckPlayground ) = 0;
-
- /** destroys the instance
-
- Since the layouter is ref-counted, but might keep references to non-ref-counted objects
- (in particular, the ToolPanelDeck, which is a VCL-Window, and thus cannot be ref-counted),
- Destroy is the definitive way to dispose the instance. Technically, it's still alive afterwards,
- but non-functional.
- */
- virtual void Destroy() = 0;
-
- /** assuming that a layouter needs to provide some kind of panel selector control, this method
- requests to set the focus to this control.
- */
- virtual void SetFocusToPanelSelector() = 0;
-
- /** returns the number of components in the XAccessible hierarchy which are needed to represent all elements
- the layouter is responsible form.
-
- Note that the implementation must guarantee that the count is fixed over the life time of the layouter.
- */
- virtual size_t GetAccessibleChildCount() const = 0;
-
- /** retrieves the XAccessible implementation for the <code>i_nChildIndex</code>'th child in the XAccessible
- hierarchy.
- */
- virtual css::uno::Reference< css::accessibility::XAccessible >
- GetAccessibleChild(
- const size_t i_nChildIndex,
- const css::uno::Reference< css::accessibility::XAccessible >& i_rParentAccessible
- ) = 0;
-
- virtual ~IDeckLayouter()
- {
- }
- };
-
- typedef ::rtl::Reference< IDeckLayouter > PDeckLayouter;
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_DECKLAYOUTER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svtools/toolpanel/drawerlayouter.hxx b/include/svtools/toolpanel/drawerlayouter.hxx
deleted file mode 100644
index 0e123be0b499..000000000000
--- a/include/svtools/toolpanel/drawerlayouter.hxx
+++ /dev/null
@@ -1,88 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_DRAWERLAYOUTER_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_DRAWERLAYOUTER_HXX
-
-#include <svtools/svtdllapi.h>
-#include <svtools/toolpanel/toolpaneldeck.hxx>
-#include <svtools/toolpanel/decklayouter.hxx>
-
-#include <memory>
-
-
-namespace svt
-{
- class ToolPanelViewShell;
- class ToolPanelDrawer;
-
- //= ToolPanelDrawer
-
- /** a class which implements a tool panel selector in the form of the classical drawers
- */
- class SVT_DLLPUBLIC DrawerDeckLayouter :public IDeckLayouter
- ,public IToolPanelDeckListener
- {
- public:
- DrawerDeckLayouter(
- vcl::Window& i_rParentWindow,
- IToolPanelDeck& i_rPanels
- );
- virtual ~DrawerDeckLayouter();
-
- // IDeckLayouter
- virtual Rectangle Layout( const Rectangle& i_rDeckPlayground ) override;
- virtual void Destroy() override;
- virtual void SetFocusToPanelSelector() override;
- virtual size_t GetAccessibleChildCount() const override;
- virtual css::uno::Reference< css::accessibility::XAccessible >
- GetAccessibleChild(
- const size_t i_nChildIndex,
- const css::uno::Reference< css::accessibility::XAccessible >& i_rParentAccessible
- ) override;
-
- // IToolPanelDeckListener
- virtual void PanelInserted( const PToolPanel& i_pPanel, const size_t i_nPosition ) override;
- virtual void PanelRemoved( const size_t i_nPosition ) override;
- virtual void ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) override;
- virtual void LayouterChanged( const PDeckLayouter& i_rNewLayouter ) override;
- virtual void Dying() override;
-
- private:
- // triggers a re-arrange of the panel deck elements
- void impl_triggerRearrange() const;
- size_t impl_getPanelPositionFromWindow( const vcl::Window* i_pDrawerWindow ) const;
- void impl_removeDrawer( const size_t i_nPosition );
-
- DECL_LINK_TYPED( OnWindowEvent, VclWindowEvent&, void );
-
-private:
- vcl::Window& m_rParentWindow;
- IToolPanelDeck& m_rPanelDeck;
- ::std::vector< VclPtr<ToolPanelDrawer> > m_aDrawers;
- ::boost::optional< size_t > m_aLastKnownActivePanel;
- };
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_DRAWERLAYOUTER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svtools/toolpanel/paneltabbar.hxx b/include/svtools/toolpanel/paneltabbar.hxx
deleted file mode 100644
index 84f8a0cce95d..000000000000
--- a/include/svtools/toolpanel/paneltabbar.hxx
+++ /dev/null
@@ -1,97 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_PANELTABBAR_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_PANELTABBAR_HXX
-
-#include <svtools/svtdllapi.h>
-#include <svtools/toolpanel/tabalignment.hxx>
-#include <svtools/toolpanel/tabitemcontent.hxx>
-
-#include <vcl/ctrl.hxx>
-
-#include <memory>
-#include <boost/optional.hpp>
-
-class PushButton;
-
-
-namespace svt
-{
-
-
- class PanelTabBar_Impl;
- class IToolPanelDeck;
-
-
- //= PanelTabBar
-
- /** a tab bar for selecting panels
-
- At the moment, this control aligns the tabs vertically, this might be extended to also support a horizontal
- layout in the future.
- */
- class SVT_DLLPUBLIC PanelTabBar : public Control
- {
- public:
- PanelTabBar( vcl::Window& i_rParentWindow, IToolPanelDeck& i_rPanelDeck, const TabAlignment i_eAlignment, const TabItemContent i_eItemContent );
- virtual ~PanelTabBar();
- virtual void dispose() override;
-
- // attribute access
- TabItemContent GetTabItemContent() const;
- void SetTabItemContent( const TabItemContent& i_eItemContent );
-
- ::boost::optional< size_t > GetFocusedPanelItem() const;
- void FocusPanelItem( const size_t i_nItemPos );
- Rectangle GetItemScreenRect( const size_t i_nItemPos ) const;
- bool IsVertical() const;
- IToolPanelDeck& GetPanelDeck() const;
- PushButton& GetScrollButton( const bool i_bForward );
-
- // Window overridables
- virtual Size GetOptimalSize() const override;
-
- protected:
- // Window overridables
- virtual void Paint( vcl::RenderContext& rRenderContext, const Rectangle& i_rRect ) override;
- virtual void Resize() override;
- virtual void MouseMove( const MouseEvent& i_rMouseEvent ) override;
- virtual void MouseButtonDown( const MouseEvent& i_rMouseEvent ) override;
- virtual void MouseButtonUp( const MouseEvent& i_rMouseEvent ) override;
- virtual void RequestHelp( const HelpEvent& i_rHelpEvent ) override;
- virtual void GetFocus() override;
- virtual void LoseFocus() override;
- virtual void KeyInput( const KeyEvent& i_rKeyEvent ) override;
- virtual void DataChanged( const DataChangedEvent& i_rDataChanedEvent ) override;
-
- virtual css::uno::Reference< css::awt::XWindowPeer >
- GetComponentInterface( bool i_bCreate ) override;
-
- private:
- ::std::unique_ptr< PanelTabBar_Impl > m_pImpl;
- };
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_PANELTABBAR_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svtools/toolpanel/tabalignment.hxx b/include/svtools/toolpanel/tabalignment.hxx
deleted file mode 100644
index e75ffb83339f..000000000000
--- a/include/svtools/toolpanel/tabalignment.hxx
+++ /dev/null
@@ -1,42 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_TABALIGNMENT_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_TABALIGNMENT_HXX
-
-
-namespace svt
-{
-
-
- enum TabAlignment
- {
- TABS_LEFT,
- TABS_RIGHT,
- TABS_TOP,
- TABS_BOTTOM
- };
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_TABALIGNMENT_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svtools/toolpanel/tabitemcontent.hxx b/include/svtools/toolpanel/tabitemcontent.hxx
deleted file mode 100644
index 5198cdd349f7..000000000000
--- a/include/svtools/toolpanel/tabitemcontent.hxx
+++ /dev/null
@@ -1,43 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_TABITEMCONTENT_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_TABITEMCONTENT_HXX
-
-
-namespace svt
-{
-
-
- enum TabItemContent
- {
- TABITEM_IMAGE_AND_TEXT,
- TABITEM_IMAGE_ONLY,
- TABITEM_TEXT_ONLY,
-
- TABITEM_AUTO
- };
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_TABITEMCONTENT_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svtools/toolpanel/tablayouter.hxx b/include/svtools/toolpanel/tablayouter.hxx
deleted file mode 100644
index 6bcb4a3f3baf..000000000000
--- a/include/svtools/toolpanel/tablayouter.hxx
+++ /dev/null
@@ -1,94 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_TABLAYOUTER_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_TABLAYOUTER_HXX
-
-#include <svtools/svtdllapi.h>
-#include <svtools/toolpanel/decklayouter.hxx>
-#include <svtools/toolpanel/tabalignment.hxx>
-#include <svtools/toolpanel/tabitemcontent.hxx>
-#include <salhelper/simplereferenceobject.hxx>
-
-#include <memory>
-
-namespace vcl { class Window; }
-
-
-namespace svt
-{
-
-
- class IToolPanelDeck;
-
- struct TabDeckLayouter_Data;
-
-
- //= TabDeckLayouter
-
- class SVT_DLLPUBLIC TabDeckLayouter :public IDeckLayouter
- {
- TabDeckLayouter(const TabDeckLayouter&) = delete;
- TabDeckLayouter& operator=( const TabDeckLayouter& ) = delete;
- public:
- /** creates a new layouter
- @param i_rParent
- is the parent window for any VCL windows the layouter needs to create.
- @param i_rPanels
- is the panel deck which the layouter is responsible for.
- @param i_eAlignment
- specifies the alignment of the panel selector
- @param TabItemContent
- specifies the content to show on the tab items
- */
- TabDeckLayouter(
- vcl::Window& i_rParent,
- IToolPanelDeck& i_rPanels,
- const TabAlignment i_eAlignment,
- const TabItemContent i_eItemContent
- );
- virtual ~TabDeckLayouter();
-
- // attribute access
- TabItemContent GetTabItemContent() const;
- void SetTabItemContent( const TabItemContent& i_eItemContent );
- TabAlignment GetTabAlignment() const;
-
- // IDeckLayouter
- virtual Rectangle Layout( const Rectangle& i_rDeckPlayground ) override;
- virtual void Destroy() override;
- virtual void SetFocusToPanelSelector() override;
- virtual size_t GetAccessibleChildCount() const override;
- virtual css::uno::Reference< css::accessibility::XAccessible >
- GetAccessibleChild(
- const size_t i_nChildIndex,
- const css::uno::Reference< css::accessibility::XAccessible >& i_rParentAccessible
- ) override;
-
- private:
- ::std::unique_ptr< TabDeckLayouter_Data > m_pData;
- };
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_TABLAYOUTER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svtools/toolpanel/toolpanel.hxx b/include/svtools/toolpanel/toolpanel.hxx
deleted file mode 100644
index e2c9aef2161a..000000000000
--- a/include/svtools/toolpanel/toolpanel.hxx
+++ /dev/null
@@ -1,134 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_TOOLPANEL_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_TOOLPANEL_HXX
-
-#include <svtools/svtdllapi.h>
-#include <salhelper/simplereferenceobject.hxx>
-
-#include <rtl/ref.hxx>
-#include <rtl/ustring.hxx>
-#include <vcl/image.hxx>
-
-class Rectangle;
-namespace vcl { class Window; }
-namespace com { namespace sun { namespace star { namespace accessibility {
- class XAccessible;
-} } } }
-
-
-namespace svt
-{
-
-
-
- //= IToolPanel
-
- /** abstract interface for a single tool panel
- */
- class SVT_DLLPUBLIC IToolPanel : public salhelper::SimpleReferenceObject
- {
- public:
- /// retrieves the display name of the panel
- virtual OUString GetDisplayName() const = 0;
-
- /// retrieves the image associated with the panel, if any
- virtual Image GetImage() const = 0;
-
- /// retrieves the help ID associated with the panel, if any.
- virtual OString GetHelpID() const = 0;
-
- /** activates the panel
-
- Usually, this means the panel's Window is created (if not previosly done so) and shown.
-
- @param i_rParentWindow
- the parent window to anchor the panel window at. Subsequent calls to the Activate
- method will always get the same parent window. The complete area of this window is
- available, and should be used, for the panel window.
- */
- virtual void Activate( vcl::Window& i_rParentWindow ) = 0;
-
- /** deactivates the panel
-
- There are different ways how an implementation could deactivate a panel. The easiest way
- would be to simply hide the associated Window. Alternatively, you could completely destroy it,
- or decide to cache it by re-parenting it to another (temporary, invisible) window.
- */
- virtual void Deactivate() = 0;
-
- /** sets a new size for the panel's Window
-
- The panel window is always expected to be positioned at (0,0), relative to the parent window
- which was passed to the Activate member. Resizing the panel window is necessary when the size of
- this parent window changes. Effectively, this method is a means of convenience, to relief panel
- implementations from reacting on size changes of their parent window themselves.
- */
- virtual void SetSizePixel( const Size& i_rPanelWindowSize ) = 0;
-
- /// sets the focus to the panel window
- virtual void GrabFocus() = 0;
-
- /** release any resources associated with the panel.
-
- In particular, implementations should ultimately destroy the VCL window which implements the panel
- window. No subsequent calls to any other method will happen after Destroy has been called.
- */
- virtual void Dispose() = 0;
-
- /** creates an XAccessible for the tool panel
-
- Implementations are allowed to create a new instance each time this method is called, the caller
- is responsible for caching the XAccessible implementation, if this is desired.
- */
- virtual css::uno::Reference< css::accessibility::XAccessible >
- CreatePanelAccessible(
- const css::uno::Reference< css::accessibility::XAccessible >& i_rParentAccessible
- ) = 0;
-
- virtual ~IToolPanel()
- {
- }
- };
-
- typedef ::rtl::Reference< IToolPanel > PToolPanel;
-
-
- //= ToolPanelBase
-
- /** base class for tool panel implementations, adding ref count implementation to the IToolPanel interface,
- but still being abstract
- */
- class SVT_DLLPUBLIC ToolPanelBase :public IToolPanel
- {
- ToolPanelBase(const ToolPanelBase&) = delete;
- ToolPanelBase& operator=( const ToolPanelBase& ) = delete;
- protected:
- ToolPanelBase();
- virtual ~ToolPanelBase();
- };
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_TOOLPANEL_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svtools/toolpanel/toolpaneldeck.hxx b/include/svtools/toolpanel/toolpaneldeck.hxx
deleted file mode 100644
index fb1e9de24ab1..000000000000
--- a/include/svtools/toolpanel/toolpaneldeck.hxx
+++ /dev/null
@@ -1,185 +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 .
- */
-
-#ifndef INCLUDED_SVTOOLS_TOOLPANEL_TOOLPANELDECK_HXX
-#define INCLUDED_SVTOOLS_TOOLPANEL_TOOLPANELDECK_HXX
-
-#include <svtools/svtdllapi.h>
-#include <svtools/toolpanel/toolpanel.hxx>
-#include <svtools/toolpanel/decklayouter.hxx>
-
-#include <vcl/ctrl.hxx>
-
-#include <boost/optional.hpp>
-#include <memory>
-
-
-namespace svt
-{
-
-
- class ToolPanelCollection;
- class ToolPanelDeck_Impl;
-
-
- //= IToolPanelDeckListener
-
- class SAL_NO_VTABLE IToolPanelDeckListener
- {
- public:
- /** called when a panel has been inserted into the deck
- */
- virtual void PanelInserted( const PToolPanel& i_pPanel, const size_t i_nPosition ) = 0;
-
- /** called when a panel has been removed from the deck
- */
- virtual void PanelRemoved( const size_t i_nPosition ) = 0;
-
- /** called when the active panel of the deck changed
- */
- virtual void ActivePanelChanged( const ::boost::optional< size_t >& i_rOldActive, const ::boost::optional< size_t >& i_rNewActive ) = 0;
-
- /** called when a new layouter has been set at a tool panel deck.
-
- The method is called after the old layouter has been disposed (i.e. its Destroy method has been
- invoked), and after the complete deck has been re-layouter.
- */
- virtual void LayouterChanged( const PDeckLayouter& i_rNewLayouter ) = 0;
-
- /** called when the tool panel deck which the listener registered at is dying. The listener is required to
- release all references to the deck then.
- */
- virtual void Dying() = 0;
-
- protected:
- ~IToolPanelDeckListener() {}
- };
-
-
- //= IToolPanelDeck
-
- class SVT_DLLPUBLIC IToolPanelDeck
- {
- public:
- /** returns the number of panels in the container
- */
- virtual size_t GetPanelCount() const = 0;
-
- /** retrieves the panel with the given index. Invalid indexes will be reported via an assertion in the
- non-product version, and silently ignored in the product version, with a NULL panel being returned.
- */
- virtual PToolPanel GetPanel( const size_t i_nPos ) const = 0;
-
- /** returns the number of the currently active panel.
- */
- virtual ::boost::optional< size_t >
- GetActivePanel() const = 0;
-
- /** activates the panel with the given number. If the given number is larger or equal to the number of panels
- in the deck, this will be reported via an assertion in non-product builds, and otherwise ignored.
- @param i_rPanel
- the number of the panel to activate. If this is not set, the currently active panel is de-activated,
- and no new panel is activated at all. Whether or not this makes sense for your application is at
- your own discretion.
- */
- virtual void ActivatePanel( const ::boost::optional< size_t >& i_rPanel ) = 0;
-
- /** inserts a new panel into the container. NULL panels are not allowed, as are positions greater than the
- current panel count. Violations of this will be reported via an assertion in the non-product version, and
- silently ignored in the product version.
- */
- virtual size_t InsertPanel( const PToolPanel& i_pPanel, const size_t i_nPosition ) = 0;
-
- /** removes a panel specified by its position.
-
- Note: It is the responsibility of the caller to ensure that the panel is destroyed appropriately. That is,
- the tool panel deck will <em>not</em> invoke <member>IToolPanel::Dispose</member> on the removed panel.
- The advantage is that the panel might be re-used later, with the disadvantage that the owner of the panel
- deck must know whether Dispose must be invoked after removal, or whether the panel will properly
- dispose itself when its ref count drops to 0.
- */
- virtual PToolPanel RemovePanel( const size_t i_nPosition ) = 0;
-
- /** adds a new listener to be notified when the container content changes. The caller is responsible
- for life time control, i.e. removing the listener before it actually dies.
- */
- virtual void AddListener( IToolPanelDeckListener& i_rListener ) = 0;
-
- /** removes a container listener previously added via addListener.
- */
- virtual void RemoveListener( IToolPanelDeckListener& i_rListener ) = 0;
-
- protected:
- ~IToolPanelDeck() {}
- };
-
-
- //= ToolPanelDeck
-
- class SVT_DLLPUBLIC ToolPanelDeck :public Control
- ,public IToolPanelDeck
- {
- public:
- ToolPanelDeck( vcl::Window& i_rParent, const WinBits i_nStyle = WB_DIALOGCONTROL );
- virtual ~ToolPanelDeck();
- virtual void dispose() override;
-
- // attributes
- PDeckLayouter GetLayouter() const;
- void SetLayouter( const PDeckLayouter& i_pNewLayouter );
-
- /** returns the window which acts as anchor for the panel windows.
-
- This is a single dedicated window, which is passed to the IToolPanel::ActivatePanel method
- whenever a panel is activated, to act as parent window for the panel's VCL-Window.
- */
- vcl::Window& GetPanelWindowAnchor();
- const vcl::Window& GetPanelWindowAnchor() const;
-
- // IToolPanelDeck
- virtual size_t GetPanelCount() const override;
- virtual PToolPanel GetPanel( const size_t i_nPos ) const override;
- virtual ::boost::optional< size_t >
- GetActivePanel() const override;
- virtual void ActivatePanel( const ::boost::optional< size_t >& i_rPanel ) override;
- virtual size_t InsertPanel( const PToolPanel& i_pPanel, const size_t i_nPosition ) override;
- virtual PToolPanel RemovePanel( const size_t i_nPosition ) override;
- virtual void AddListener( IToolPanelDeckListener& i_rListener ) override;
- virtual void RemoveListener( IToolPanelDeckListener& i_rListener ) override;
-
- protected:
- // Window overridables
- virtual void Resize() override;
- virtual bool Notify( NotifyEvent& i_rNotifyEvent ) override;
- virtual void GetFocus() override;
-
- virtual css::uno::Reference< css::awt::XWindowPeer >
- GetComponentInterface( bool i_bCreate ) override;
-
- private:
- ::std::unique_ptr< ToolPanelDeck_Impl > m_pImpl;
- };
-
-
-} // namespace svt
-
-
-#endif // INCLUDED_SVTOOLS_TOOLPANEL_TOOLPANELDECK_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */