summaryrefslogtreecommitdiff
path: root/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx')
-rw-r--r--sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx217
1 files changed, 0 insertions, 217 deletions
diff --git a/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx b/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx
deleted file mode 100644
index 75d2d66e3..000000000
--- a/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx
+++ /dev/null
@@ -1,217 +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.
- *
- ************************************************************************/
-
-#ifndef SD_TASKPANE_TREE_NODE_HXX
-#define SD_TASKPANE_TREE_NODE_HXX
-
-#include "ILayoutableWindow.hxx"
-#include <memory>
-#include <vector>
-#include <com/sun/star/accessibility/XAccessible.hpp>
-#include <tools/link.hxx>
-
-namespace sd {
-class ObjectBarManager;
-}
-
-namespace sd { namespace toolpanel {
-
-class ControlContainer;
-class TaskPaneShellManager;
-
-enum TreeNodeStateChangeEventId {
- EID_CHILD_ADDED,
- EID_ALL_CHILDREN_REMOVED,
- EID_EXPANSION_STATE_CHANGED,
- EID_FOCUSED_STATE_CHANGED,
- EID_SHOWING_STATE_CHANGED
-};
-
-
-/** Base class for all members of the object hierarchy that makes up the
- tool panel. In the task pane, there are multiple hierarchies of such nodes,
- with every panel having an own tree. The pane node is the root of the tree, below
- that there are SubToolPanels and Window/Control objects. At the
- lowest level there are only Window or Control objects.
-
- This class provides the means of communication between objects on
- different levels.
-*/
-class TreeNode
- : public ILayoutableWindow,
- public ILayouter
-{
-public:
- TreeNode (TreeNode* pParent);
- virtual ~TreeNode (void);
-
- void SetParentNode (TreeNode* pNewParent);
- TreeNode* GetParentNode (void);
-
- /** Return the Window pointer of a tree node.
- */
- virtual ::Window* GetWindow (void);
-
- /** Return a const pointer to the window of a tree node.
- */
- virtual const ::Window* GetConstWindow (void) const;
-
- /** Return the joined minimum width of all children, i.e. the largest of
- the minimum widths.
- */
- virtual sal_Int32 GetMinimumWidth (void);
-
- /** The default implementaion always returns <FALSE/>
- */
- virtual bool IsResizable (void);
-
- /** Call this method whenever the size of one of the children of the
- called node has to be changed, e.g. when the layout menu shows more
- or less items than before. As a typical result the node will layout
- and resize its children according to their size requirements.
-
- Please remember that the size of the children can be changed in the
- first place because scroll bars can give a node the space it needs.
-
- The default implementation passes this call to its parent.
- */
- virtual void RequestResize (void);
-
- /** The default implementation shows the window (when it exists) when
- bExpansionState is <TRUE/>. It hides the window otherwise.
- @return
- Returns <TRUE/> when the expansion state changes. When an
- expansion state is requested that is already in place then
- <FALSE/> is returned.
- */
- virtual bool Expand (bool bExpansionState);
-
- /** The default implementation returns whether the window is showing.
- When there is no window then it returns <FALSE/>.
- */
- virtual bool IsExpanded (void) const;
-
- /** Return whether the node can be expanded or collapsed. The default
- implementation always returns <TRUE/> when there is window and
- <FALSE/> otherwise. If <FALSE/> is returned
- then Expand() may be called but it will not change the expansion
- state.
- */
- virtual bool IsExpandable (void) const;
-
- /** The default implementation calls GetWindow()->Show().
- */
- virtual void Show (bool bVisibilityState);
-
- /** The default implementation returns GetWindow()->IsVisible().
- */
- virtual bool IsShowing (void) const;
-
- ControlContainer& GetControlContainer (void);
-
- /** Give each node access to a shell manage. This usually is the shell
- manager of the ToolPanelViewShell.
-
- At least the root node has to overwrite this method since the
- default implementation simply returns the shell manager of its
- parent.
- */
- virtual TaskPaneShellManager* GetShellManager (void);
-
- /** You will rarely need to overload this method. To supply your own
- accessible object you should overload CreateAccessible() instead.
- */
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible> GetAccessibleObject (void);
-
- /** Overload this method in order to supply a class specific accessible
- object.
- The default implementation will return a new instance of
- AccessibleTreeNode.
- @param rxParent
- The accessible parent of the accessible object to create. It is
- not necessaryly the accessible object of the parent window of
- GetWindow().
-
- */
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible> CreateAccessibleObject (
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible>&rxParent);
-
- /** Add a listener that will be informated in the future about state
- changes of the tree node. This includes adding and removing
- children as well as focus, visibility, and expansion state.
- Multiple calls are ignored. Each listener is added only once.
- */
- void AddStateChangeListener (const Link& rListener);
-
- /** Call the state change listeners and pass a state change event with
- the specified event id. The source field is set to this.
- @param pChild
- This optional parameter makes sense only with the
- EID_CHILD_ADDED event.
- */
- void FireStateChangeEvent (
- TreeNodeStateChangeEventId eEventId,
- TreeNode* pChild = NULL) const;
-
-protected:
- ::std::auto_ptr<ControlContainer> mpControlContainer;
-
-private:
- TreeNode* mpParent;
- typedef ::std::vector<Link> StateChangeListenerContainer;
- StateChangeListenerContainer maStateChangeListeners;
-};
-
-
-
-
-/** Objects of this class are sent to listeners to notify them about state
- changes of a tree node.
-*/
-class TreeNodeStateChangeEvent
-{
-public:
-
- TreeNodeStateChangeEvent (
- const TreeNode& rNode,
- TreeNodeStateChangeEventId eEventId,
- TreeNode* pChild = NULL);
-
- const TreeNode& mrSource;
- TreeNodeStateChangeEventId meEventId;
- TreeNode* mpChild;
-};
-
-} } // end of namespace ::sd::toolpanel
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */