This is an automated email from the ASF dual-hosted git repository. mseidel pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/trunk by this push: new 69cb9f1 Fixed typos, removed whitespace 69cb9f1 is described below commit 69cb9f15abbc69e338876471fa7f1c642402ad25 Author: mseidel <msei...@apache.org> AuthorDate: Sun Nov 7 12:13:16 2021 +0100 Fixed typos, removed whitespace --- .../sd/source/ui/inc/taskpane/ControlContainer.hxx | 284 ++++++++++---------- main/sd/source/ui/inc/taskpane/ScrollPanel.hxx | 270 +++++++++---------- .../ui/inc/taskpane/SlideSorterCacheDisplay.hxx | 210 +++++++-------- main/sd/source/ui/inc/taskpane/SubToolPanel.hxx | 156 +++++------ .../ui/inc/taskpane/TaskPaneControlFactory.hxx | 50 ++-- .../sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx | 286 ++++++++++----------- main/sd/source/ui/inc/taskpane/TitleBar.hxx | 230 ++++++++--------- main/sd/source/ui/inc/taskpane/TitledControl.hxx | 224 ++++++++-------- .../source/ui/inc/taskpane/ToolPanelViewShell.hxx | 174 ++++++------- 9 files changed, 942 insertions(+), 942 deletions(-) diff --git a/main/sd/source/ui/inc/taskpane/ControlContainer.hxx b/main/sd/source/ui/inc/taskpane/ControlContainer.hxx index 5403ade..c962d64 100644 --- a/main/sd/source/ui/inc/taskpane/ControlContainer.hxx +++ b/main/sd/source/ui/inc/taskpane/ControlContainer.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -35,157 +35,157 @@ namespace sd { namespace toolpanel { class TreeNode; -/** This container manages the children of a TreeNode. It handles the - expansion and visibility state of its child controls. The container - does not do the layouting or painting of the controls. Instead it asks - its owner to do that. +/** This container manages the children of a TreeNode. It handles the + expansion and visibility state of its child controls. The container + does not do the layouting or painting of the controls. Instead it asks + its owner to do that. - The difference between expansion state and visibility is that when a - control is collapsed at least a title bar is shown for it. When it is - not visible then even this title bar is not shown. In that case the - user can not expand the control. A control has to be visible in order - to be expanded or collapsed. + The difference between expansion state and visibility is that when a + control is collapsed at least a title bar is shown for it. When it is + not visible then even this title bar is not shown. In that case the + user can not expand the control. A control has to be visible in order + to be expanded or collapsed. - Whenever you expand or collapse, show or hide a child control then use - this container class. Do not call the respective methods of the child - directly. + Whenever you expand or collapse, show or hide a child control then use + this container class. Do not call the respective methods of the child + directly. */ class ControlContainer { public: - enum VisibilityState { VS_SHOW, VS_HIDE, VS_TOGGLE }; - enum ExpansionState { ES_EXPAND, ES_COLLAPSE, ES_TOGGLE }; - - /** Create a new control container. - @param pParent - This node is asked to re-calculate the size of its children when - a child of this container is expanded or collapsed. - */ - ControlContainer (TreeNode* pNode); - - virtual ~ControlContainer (void); - - /** This is function makes sure that all children are deleted. Call - this function from the destructor of a sub class to have all child - windows deleted before the destructor of another base class of that - sub class is called. When that other base class is some kind of a - window it would otherwise complain that there are living children. - */ - void DeleteChildren (void); - - /** Add the given control to the set of controls managed by the - container. This control is then expanded. - @return - Return the index under which the control has been inserted in - the container. It is the same index that is returned by - GetControlIndex(). - */ - sal_uInt32 AddControl (::std::auto_ptr<TreeNode> pControl); - - /** Expand (default) or collapse the specified control. When - expanding a control in a single expansion environment then all - other controls are collapsed. The specified control is being - made the active control as returned by GetActiveControl(). - */ - virtual void SetExpansionState ( - sal_uInt32 nIndex, - ExpansionState aState); - virtual void SetExpansionState ( - TreeNode* pControl, - ExpansionState aState); - virtual void SetVisibilityState ( - sal_uInt32 nIndex, - VisibilityState aState); - - /** Return the index of the given control. - */ - sal_uInt32 GetControlIndex (TreeNode* pControl) const; - - /** Return the number of controls in the container. - */ - sal_uInt32 GetControlCount (void) const; - - /** Return the number of visible controls in the container. - */ - sal_uInt32 GetVisibleControlCount (void) const; - - /** Return the control with the specified index regardless of whether - that control is hidden or visible. - */ - TreeNode* GetControl (sal_uInt32 nIndex) const; - - /** Return the index of the control previous to that that is specified - by the given index. - @param nIndex - Index of the control for which to return the index of the - previous control. This index is guaranteed not to be returned. - @param bIncludeHidden - This flag tells the method whether to include the controls that - are not visible in the search for the previous control. When it - is <FALSE/> the hidden controls are skipped. - @param bCycle - When this flag is <TRUE/> then the search for the previous - control wraps around when reaching the first control. - @return - Returns the index to the previous control or (sal_uInt32)-1 when - there is no previous control. This would be the case when there - is only one (visible) child. - */ - sal_uInt32 GetPreviousIndex ( - sal_uInt32 nIndex, - bool bIncludeHidden=false, - bool bCycle=false) const; - - /** Return the index of the control next to that that is specified by - the given index. - @param nIndex - Index of the control for which to return the index of the next - control. This index is guaranteed not to be returned. - @param bIncludeHidden - This flag tells the method whether to include the controls that - are not visible in the search for the next control. When it is - <FALSE/> the hidden controls are skipped. - @param bCycle - When this flag is <TRUE/> then the search for the next control - wraps around when reaching the last control. - @return - Returns the index to the next control or (sal_uInt32)-1 when - there is no next control. This would be the case when there is - only one (visible) child. - */ - sal_uInt32 GetNextIndex ( - sal_uInt32 nIndex, - bool bIncludeHidden=false, - bool bCycle=false) const; - - void SetMultiSelection (bool bFlag); - - /** This is method is called when the list of controls has changed, - i.e. a new control has been added. The default implementation is - empty. Overwrite this method in derived classes in order to react to - such changes. - */ - virtual void ListHasChanged (void); + enum VisibilityState { VS_SHOW, VS_HIDE, VS_TOGGLE }; + enum ExpansionState { ES_EXPAND, ES_COLLAPSE, ES_TOGGLE }; + + /** Create a new control container. + @param pParent + This node is asked to re-calculate the size of its children when + a child of this container is expanded or collapsed. + */ + ControlContainer (TreeNode* pNode); + + virtual ~ControlContainer (void); + + /** This is function makes sure that all children are deleted. Call + this function from the destructor of a sub class to have all child + windows deleted before the destructor of another base class of that + sub class is called. When that other base class is some kind of a + window it would otherwise complain that there are living children. + */ + void DeleteChildren (void); + + /** Add the given control to the set of controls managed by the + container. This control is then expanded. + @return + Return the index under which the control has been inserted in + the container. It is the same index that is returned by + GetControlIndex(). + */ + sal_uInt32 AddControl (::std::auto_ptr<TreeNode> pControl); + + /** Expand (default) or collapse the specified control. When + expanding a control in a single expansion environment then all + other controls are collapsed. The specified control is being + made the active control as returned by GetActiveControl(). + */ + virtual void SetExpansionState ( + sal_uInt32 nIndex, + ExpansionState aState); + virtual void SetExpansionState ( + TreeNode* pControl, + ExpansionState aState); + virtual void SetVisibilityState ( + sal_uInt32 nIndex, + VisibilityState aState); + + /** Return the index of the given control. + */ + sal_uInt32 GetControlIndex (TreeNode* pControl) const; + + /** Return the number of controls in the container. + */ + sal_uInt32 GetControlCount (void) const; + + /** Return the number of visible controls in the container. + */ + sal_uInt32 GetVisibleControlCount (void) const; + + /** Return the control with the specified index regardless of whether + that control is hidden or visible. + */ + TreeNode* GetControl (sal_uInt32 nIndex) const; + + /** Return the index of the control previous to that that is specified + by the given index. + @param nIndex + Index of the control for which to return the index of the + previous control. This index is guaranteed not to be returned. + @param bIncludeHidden + This flag tells the method whether to include the controls that + are not visible in the search for the previous control. When it + is <FALSE/> the hidden controls are skipped. + @param bCycle + When this flag is <TRUE/> then the search for the previous + control wraps around when reaching the first control. + @return + Returns the index to the previous control or (sal_uInt32)-1 when + there is no previous control. This would be the case when there + is only one (visible) child. + */ + sal_uInt32 GetPreviousIndex ( + sal_uInt32 nIndex, + bool bIncludeHidden=false, + bool bCycle=false) const; + + /** Return the index of the control next to that that is specified by + the given index. + @param nIndex + Index of the control for which to return the index of the next + control. This index is guaranteed not to be returned. + @param bIncludeHidden + This flag tells the method whether to include the controls that + are not visible in the search for the next control. When it is + <FALSE/> the hidden controls are skipped. + @param bCycle + When this flag is <TRUE/> then the search for the next control + wraps around when reaching the last control. + @return + Returns the index to the next control or (sal_uInt32)-1 when + there is no next control. This would be the case when there is + only one (visible) child. + */ + sal_uInt32 GetNextIndex ( + sal_uInt32 nIndex, + bool bIncludeHidden=false, + bool bCycle=false) const; + + void SetMultiSelection (bool bFlag); + + /** This is method is called when the list of controls has changed, + i.e. a new control has been added. The default implementation is + empty. Overwrite this method in derived classes in order to react to + such changes. + */ + virtual void ListHasChanged (void); private: osl::Mutex maMutex; - /// List of controls managed by a container. - typedef ::std::vector<TreeNode*> ControlList; - ControlList maControlList; + /// List of controls managed by a container. + typedef ::std::vector<TreeNode*> ControlList; + ControlList maControlList; - /** This parent is used for resize requests when children are expanded - or collapsed. - */ - TreeNode* mpNode; + /** This parent is used for resize requests when children are expanded + or collapsed. + */ + TreeNode* mpNode; - /** The index of the currently expanded control. A value of - (sal_uInt32)-1 indicates that no control is active. This may be the - case after adding controls to the container. - */ - sal_uInt32 mnActiveControlIndex; + /** The index of the currently expanded control. A value of + (sal_uInt32)-1 indicates that no control is active. This may be the + case after adding controls to the container. + */ + sal_uInt32 mnActiveControlIndex; - bool mbMultiSelection; + bool mbMultiSelection; }; } } // end of namespace ::sd::toolpanel diff --git a/main/sd/source/ui/inc/taskpane/ScrollPanel.hxx b/main/sd/source/ui/inc/taskpane/ScrollPanel.hxx index 60a3e7c..00f1b35 100644 --- a/main/sd/source/ui/inc/taskpane/ScrollPanel.hxx +++ b/main/sd/source/ui/inc/taskpane/ScrollPanel.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -35,143 +35,143 @@ namespace sd { namespace toolpanel { class TitledControl; -/** The scroll panel shows its controls one above the other. When their - total height is larger than the height of the scroll area then only a - part of the controls is visible. Scroll bars control which part that - is. - - The scroll panel registers itself as window event listener at the - controls and their title bars (conceptually; it really is the - TitledControl) to track changes of the selection and focus rectangles. - On such a change it tries to move the selected or focused part into the - visible area. At the moment this moving into view only works with - valuesets and TitleBars. +/** The scroll panel shows its controls one above the other. When their + total height is larger than the height of the scroll area then only a + part of the controls is visible. Scroll bars control which part that + is. + + The scroll panel registers itself as window event listener at the + controls and their title bars (conceptually; it really is the + TitledControl) to track changes of the selection and focus rectangles. + On such a change it tries to move the selected or focused part into the + visible area. At the moment this moving into view only works with + valuesets and TitleBars. */ class ScrollPanel - : public ::Control, - public TreeNode + : public ::Control, + public TreeNode { public: - /** Create a new scroll panel which itself is the root of a TreeNode hierarchy - parent. This will usually be a child window. - */ - ScrollPanel (::Window& i_rParentWindow); - virtual ~ScrollPanel (void); - - /** Add a control to the sub panel. An title bar is added above the - control. - @param rTitle - The title that will be shown in the two title bars that - belong to the control. - @param nHelpId - The help id is set at the title bar not the actual control. - @return - The new titled control that contains the given control and a new - title bar as children is returned. - */ - TitledControl* AddControl ( - ::std::auto_ptr<TreeNode> pControl, - const String& rTitle, - const rtl::OString& sHelpId); - - /** Add a control to the sub panel without a title bar. - */ - void AddControl (::std::auto_ptr<TreeNode> pControl); - - virtual void Paint (const Rectangle& rRect); - - /** Initiate a rearrangement of the controls and title bars. - */ - virtual void Resize (void); - - virtual void RequestResize (void); - - virtual Size GetPreferredSize (void); - virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); - virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); - virtual bool IsResizable (void); - virtual ::Window* GetWindow (void); - virtual sal_Int32 GetMinimumWidth (void); - - virtual void ExpandControl ( - TreeNode* pControl, - bool bExpansionState); - - bool IsVerticalScrollBarVisible (void) const; - bool IsHorizontalScrollBarVisible (void) const; - ScrollBar& GetVerticalScrollBar (void); - ScrollBar& GetHorizontalScrollBar (void); - - // ::Window - virtual long Notify( NotifyEvent& rNEvt ); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> CreateAccessibleObject ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent); - - /** Scroll the given rectangle into the visible area. - @param aRectangle - The box to move into the visible area in pixel coordinates - relative to the given window. - @param pWindow - This window is used to translate the given coordinates into ones - that are relative to the scroll panel. - - */ - void MakeRectangleVisible ( - Rectangle& aRectangle, - ::Window* pWindow); + /** Create a new scroll panel which itself is the root of a TreeNode hierarchy + parent. This will usually be a child window. + */ + ScrollPanel (::Window& i_rParentWindow); + virtual ~ScrollPanel (void); + + /** Add a control to the sub panel. A title bar is added above the + control. + @param rTitle + The title that will be shown in the two title bars that + belong to the control. + @param nHelpId + The help id is set at the title bar not the actual control. + @return + The new titled control that contains the given control and a new + title bar as children is returned. + */ + TitledControl* AddControl ( + ::std::auto_ptr<TreeNode> pControl, + const String& rTitle, + const rtl::OString& sHelpId); + + /** Add a control to the sub panel without a title bar. + */ + void AddControl (::std::auto_ptr<TreeNode> pControl); + + virtual void Paint (const Rectangle& rRect); + + /** Initiate a rearrangement of the controls and title bars. + */ + virtual void Resize (void); + + virtual void RequestResize (void); + + virtual Size GetPreferredSize (void); + virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); + virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); + virtual bool IsResizable (void); + virtual ::Window* GetWindow (void); + virtual sal_Int32 GetMinimumWidth (void); + + virtual void ExpandControl ( + TreeNode* pControl, + bool bExpansionState); + + bool IsVerticalScrollBarVisible (void) const; + bool IsHorizontalScrollBarVisible (void) const; + ScrollBar& GetVerticalScrollBar (void); + ScrollBar& GetHorizontalScrollBar (void); + + // ::Window + virtual long Notify( NotifyEvent& rNEvt ); + + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible> CreateAccessibleObject ( + const ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible>& rxParent); + + /** Scroll the given rectangle into the visible area. + @param aRectangle + The box to move into the visible area in pixel coordinates + relative to the given window. + @param pWindow + This window is used to translate the given coordinates into ones + that are relative to the scroll panel. + + */ + void MakeRectangleVisible ( + Rectangle& aRectangle, + ::Window* pWindow); private: - ::Control maScrollWindow; - ScrollBar maVerticalScrollBar; - ScrollBar maHorizontalScrollBar; - ::Window maScrollBarFiller; - ::Window maScrollWindowFiller; - Point maScrollOffset; - bool mbIsRearrangePending; - bool mbIsLayoutPending; - sal_uInt32 mnChildrenWidth; - /// Border above top-most and below bottom-most control. - const int mnVerticalBorder; - /// Gap between two controls. - const int mnVerticalGap; - /// Border at the left and right of the controls. - const int mnHorizontalBorder; - /** List of horizontal stripes that is created from the gaps between - children when they are layouted. The stripes are painted in Paint() - to fill the space around the children. - */ - typedef ::std::vector< ::std::pair<int,int> > StripeList; - StripeList maStripeList; - - /** Calculate position, size, and visibility of the controls. - Call this method after the list of controls, their expansion - state, or the size of the sub panel has changed. - */ - void Rearrange (void); - - /** Determine the minimal size that is necessary to show the controls - one over the other. It may be smaller than the available area. - */ - Size GetRequiredSize (void); - - /** Place the child windows one above the other and return the size of - the bounding box. - */ - sal_Int32 LayoutChildren (void); - - /** ctor-impl - */ - void Construct(); - - Size SetupScrollBars (const Size& rRequiresSize); - sal_Int32 SetupVerticalScrollBar (bool bShow, sal_Int32 nRange); - sal_Int32 SetupHorizontalScrollBar (bool bShow, sal_Int32 nRange); - - DECL_LINK(ScrollBarHandler, ScrollBar*); - DECL_LINK(WindowEventListener, VclSimpleEvent*); + ::Control maScrollWindow; + ScrollBar maVerticalScrollBar; + ScrollBar maHorizontalScrollBar; + ::Window maScrollBarFiller; + ::Window maScrollWindowFiller; + Point maScrollOffset; + bool mbIsRearrangePending; + bool mbIsLayoutPending; + sal_uInt32 mnChildrenWidth; + /// Border above top-most and below bottom-most control. + const int mnVerticalBorder; + /// Gap between two controls. + const int mnVerticalGap; + /// Border at the left and right of the controls. + const int mnHorizontalBorder; + /** List of horizontal stripes that is created from the gaps between + children when they are layouted. The stripes are painted in Paint() + to fill the space around the children. + */ + typedef ::std::vector< ::std::pair<int,int> > StripeList; + StripeList maStripeList; + + /** Calculate position, size, and visibility of the controls. + Call this method after the list of controls, their expansion + state, or the size of the sub panel has changed. + */ + void Rearrange (void); + + /** Determine the minimal size that is necessary to show the controls + one over the other. It may be smaller than the available area. + */ + Size GetRequiredSize (void); + + /** Place the child windows one above the other and return the size of + the bounding box. + */ + sal_Int32 LayoutChildren (void); + + /** ctor-impl + */ + void Construct(); + + Size SetupScrollBars (const Size& rRequiresSize); + sal_Int32 SetupVerticalScrollBar (bool bShow, sal_Int32 nRange); + sal_Int32 SetupHorizontalScrollBar (bool bShow, sal_Int32 nRange); + + DECL_LINK(ScrollBarHandler, ScrollBar*); + DECL_LINK(WindowEventListener, VclSimpleEvent*); using Window::GetWindow; }; diff --git a/main/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx b/main/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx index f178d8d..cf3c7b4 100644 --- a/main/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx +++ b/main/sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -25,10 +25,10 @@ #define SD_TASKPANE_SLIDE_SORTER_CACHE_DISPLAY_HXX // Uncomment the define below to activate the slide sorter cache display in -// the task pane. Visible slide previews are displayed as large rectangles, -// off-screen previews as smaller rectangles. The color shows the state: +// the task pane. Visible slide previews are displayed as large rectangles, +// off-screen previews as smaller rectangles. The color shows the state: // green for no action, different shades of yellow for a request being in -// the queue, pink for currently being rendered. A diagonal line indicates +// the queue, pink for currently being rendered. A diagonal line indicates // that the preview is not up-to-date. #ifdef DEBUG //#define USE_SLIDE_SORTER_CACHE_DISPLAY @@ -55,69 +55,69 @@ class TreeNode; /** This panel demonstrates how to create a panel for the task pane. */ class SlideSorterCacheDisplay - : public TreeNode + : public TreeNode { public: - SlideSorterCacheDisplay (const SdDrawDocument* pDocument); - virtual ~SlideSorterCacheDisplay (void); - - void SetParentWindow (::Window* pParentWindow); - - virtual void Paint (const Rectangle& rBoundingBox); - virtual void Resize (void); - - static SlideSorterCacheDisplay* Instance (const SdDrawDocument* pDocument); - - void SetPageCount (sal_Int32 nPageCount); - enum PageStatus { - NONE, - IN_QUEUE_PRIORITY_0, - IN_QUEUE_PRIORITY_1, - IN_QUEUE_PRIORITY_2, - RENDERING - }; - void SetPageStatus (sal_Int32 nPageIndex, PageStatus eStatus); - void SetPageVisibility (sal_Int32 nPageIndex, bool bVisible); - void SetUpToDate (sal_Int32 nPageIndex, bool bUpToDate); - - virtual Size GetPreferredSize (void); - virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeigh); - virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); - virtual ::Window* GetWindow (void); - virtual bool IsResizable (void); - virtual bool IsExpandable (void) const; - virtual bool IsExpanded (void) const; + SlideSorterCacheDisplay (const SdDrawDocument* pDocument); + virtual ~SlideSorterCacheDisplay (void); + + void SetParentWindow (::Window* pParentWindow); + + virtual void Paint (const Rectangle& rBoundingBox); + virtual void Resize (void); + + static SlideSorterCacheDisplay* Instance (const SdDrawDocument* pDocument); + + void SetPageCount (sal_Int32 nPageCount); + enum PageStatus { + NONE, + IN_QUEUE_PRIORITY_0, + IN_QUEUE_PRIORITY_1, + IN_QUEUE_PRIORITY_2, + RENDERING + }; + void SetPageStatus (sal_Int32 nPageIndex, PageStatus eStatus); + void SetPageVisibility (sal_Int32 nPageIndex, bool bVisible); + void SetUpToDate (sal_Int32 nPageIndex, bool bUpToDate); + + virtual Size GetPreferredSize (void); + virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeigh); + virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); + virtual ::Window* GetWindow (void); + virtual bool IsResizable (void); + virtual bool IsExpandable (void) const; + virtual bool IsExpanded (void) const; private: - static ::std::map<const SdDrawDocument*, SlideSorterCacheDisplay*> maDisplays; - static void AddInstance (const SdDrawDocument* pDocument, SlideSorterCacheDisplay* pControl); - static void RemoveInstance (SlideSorterCacheDisplay* pControl); - - ::Window* mpWindow; - sal_Int32 mnPageCount; - sal_Int32 mnColumnCount; - sal_Int32 mnRowCount; - Size maCellSize; - sal_Int32 mnHorizontalBorder; - sal_Int32 mnVerticalBorder; - sal_Int32 mnHorizontalGap; - sal_Int32 mnVerticalGap; - - class PageDescriptor - { - public: - PageStatus meStatus; - bool mbVisible; - bool mbUpToDate; - }; - typedef ::std::vector<PageDescriptor> PageDescriptorList; - PageDescriptorList maPageDescriptors; - - Rectangle GetPageBox (sal_Int32 nPageIndex); - - void ProvideSize (sal_Int32 nPageIndex); - - void PaintPage (sal_Int32 nPageIndex); + static ::std::map<const SdDrawDocument*, SlideSorterCacheDisplay*> maDisplays; + static void AddInstance (const SdDrawDocument* pDocument, SlideSorterCacheDisplay* pControl); + static void RemoveInstance (SlideSorterCacheDisplay* pControl); + + ::Window* mpWindow; + sal_Int32 mnPageCount; + sal_Int32 mnColumnCount; + sal_Int32 mnRowCount; + Size maCellSize; + sal_Int32 mnHorizontalBorder; + sal_Int32 mnVerticalBorder; + sal_Int32 mnHorizontalGap; + sal_Int32 mnVerticalGap; + + class PageDescriptor + { + public: + PageStatus meStatus; + bool mbVisible; + bool mbUpToDate; + }; + typedef ::std::vector<PageDescriptor> PageDescriptorList; + PageDescriptorList maPageDescriptors; + + Rectangle GetPageBox (sal_Int32 nPageIndex); + + void ProvideSize (sal_Int32 nPageIndex); + + void PaintPage (sal_Int32 nPageIndex); }; } } // end of namespace ::sd::toolpanel @@ -125,72 +125,72 @@ private: namespace { void SscdSetStatus (const SdrPage* pPage, - ::sd::toolpanel::SlideSorterCacheDisplay::PageStatus eStatus) + ::sd::toolpanel::SlideSorterCacheDisplay::PageStatus eStatus) { - ::sd::toolpanel::SlideSorterCacheDisplay* pDisplay - = ::sd::toolpanel::SlideSorterCacheDisplay::Instance( - dynamic_cast<SdDrawDocument*>(pPage->GetModel())); - if (pDisplay != NULL) - pDisplay->SetPageStatus((pPage->GetPageNum()-1)/2, eStatus); + ::sd::toolpanel::SlideSorterCacheDisplay* pDisplay + = ::sd::toolpanel::SlideSorterCacheDisplay::Instance( + dynamic_cast<SdDrawDocument*>(pPage->GetModel())); + if (pDisplay != NULL) + pDisplay->SetPageStatus((pPage->GetPageNum()-1)/2, eStatus); } void SscdSetRequestClass (const SdrPage* pPage, sal_Int32 nClass) { - sd::toolpanel::SlideSorterCacheDisplay::PageStatus eStatus; - switch (nClass) - { - case 0: - eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::IN_QUEUE_PRIORITY_0; break; - case 1: - eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::IN_QUEUE_PRIORITY_1; break; - case 2: - eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::IN_QUEUE_PRIORITY_2; break; - default: - eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::NONE; break; - } - SscdSetStatus(pPage,eStatus); + sd::toolpanel::SlideSorterCacheDisplay::PageStatus eStatus; + switch (nClass) + { + case 0: + eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::IN_QUEUE_PRIORITY_0; break; + case 1: + eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::IN_QUEUE_PRIORITY_1; break; + case 2: + eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::IN_QUEUE_PRIORITY_2; break; + default: + eStatus = ::sd::toolpanel::SlideSorterCacheDisplay::NONE; break; + } + SscdSetStatus(pPage,eStatus); } void SscdSetVisibility (const SdrModel* pModel, sal_Int32 nIndex, bool bVisible) { - ::sd::toolpanel::SlideSorterCacheDisplay* pDisplay - = ::sd::toolpanel::SlideSorterCacheDisplay::Instance( - dynamic_cast<const SdDrawDocument*>(pModel)); - if (pDisplay != NULL) - pDisplay->SetPageVisibility(nIndex, bVisible); + ::sd::toolpanel::SlideSorterCacheDisplay* pDisplay + = ::sd::toolpanel::SlideSorterCacheDisplay::Instance( + dynamic_cast<const SdDrawDocument*>(pModel)); + if (pDisplay != NULL) + pDisplay->SetPageVisibility(nIndex, bVisible); } void SscdSetUpToDate (const SdrPage* pPage, bool bUpToDate) { - ::sd::toolpanel::SlideSorterCacheDisplay* pDisplay - = ::sd::toolpanel::SlideSorterCacheDisplay::Instance( - dynamic_cast<const SdDrawDocument*>(pPage->GetModel())); - if (pDisplay != NULL) - pDisplay->SetUpToDate((pPage->GetPageNum()-1)/2, bUpToDate); + ::sd::toolpanel::SlideSorterCacheDisplay* pDisplay + = ::sd::toolpanel::SlideSorterCacheDisplay::Instance( + dynamic_cast<const SdDrawDocument*>(pPage->GetModel())); + if (pDisplay != NULL) + pDisplay->SetUpToDate((pPage->GetPageNum()-1)/2, bUpToDate); } -#define SSCD_SET_REQUEST_CLASS(Page,RequestClass) \ - SscdSetRequestClass(Page,RequestClass) -#define SSCD_SET_STATUS(RequestData,Status) \ - SscdSetStatus(RequestData,::sd::toolpanel::SlideSorterCacheDisplay::Status) +#define SSCD_SET_REQUEST_CLASS(Page,RequestClass) \ + SscdSetRequestClass(Page,RequestClass) +#define SSCD_SET_STATUS(RequestData,Status) \ + SscdSetStatus(RequestData,::sd::toolpanel::SlideSorterCacheDisplay::Status) #define SSCD_SET_VISIBILITY(Model,Index,Visible) \ - SscdSetVisibility(Model,Index,Visible) + SscdSetVisibility(Model,Index,Visible) #define SSCD_SET_UPTODATE(Page,UpToDate) \ - SscdSetUpToDate(Page,UpToDate) + SscdSetUpToDate(Page,UpToDate) } #else -#define SSCD_SET_REQUEST_CLASS(Page,RequestClass) -#define SSCD_SET_STATUS(RequestData,Status) -#define SSCD_SET_VISIBILITY(Model,Index,Visible) -#define SSCD_SET_UPTODATE(Page,UpToDate) +#define SSCD_SET_REQUEST_CLASS(Page,RequestClass) +#define SSCD_SET_STATUS(RequestData,Status) +#define SSCD_SET_VISIBILITY(Model,Index,Visible) +#define SSCD_SET_UPTODATE(Page,UpToDate) #endif diff --git a/main/sd/source/ui/inc/taskpane/SubToolPanel.hxx b/main/sd/source/ui/inc/taskpane/SubToolPanel.hxx index e005f3b..3bd2ab4 100644 --- a/main/sd/source/ui/inc/taskpane/SubToolPanel.hxx +++ b/main/sd/source/ui/inc/taskpane/SubToolPanel.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -36,93 +36,93 @@ class Window; namespace sd { namespace toolpanel { -/** The sub tool panel is in function similar to the tool panel. It - differes in two points. First, it is a control that can be used - as element in a tool panel and thus is actually a nested tool - panel. - - <p>Secondly, it formats its elements differently. The actual controls - are placed one below the other with a title bar above each control. - Clicking on the title bar expands or collapses the control. When there - is not enough space then scroll bars are shown.</p> - - <p>To avoid flickering when painting the sub tool panel the background - is made transparent and painting it is done by this class. While - layouting its children it remembers the gaps between children and stores - them in maStripeList. In Paint() those gaps as well as the border - around all children are painted in the background color.</p> +/** The sub tool panel is in function similar to the tool panel. It + differs in two points. First, it is a control that can be used + as element in a tool panel and thus is actually a nested tool + panel. + + <p>Secondly, it formats its elements differently. The actual controls + are placed one below the other with a title bar above each control. + Clicking on the title bar expands or collapses the control. When there + is not enough space then scroll bars are shown.</p> + + <p>To avoid flickering when painting the sub tool panel the background + is made transparent and painting it is done by this class. While + layouting its children it remembers the gaps between children and stores + them in maStripeList. In Paint() those gaps as well as the border + around all children are painted in the background color.</p> */ class SubToolPanel - : public Control, - public TreeNode + : public Control, + public TreeNode { public: - /** Create a new sub tool panel with the given window as its - parent. This will usually be a child window. - */ - SubToolPanel (Window& i_rParentWindow); - virtual ~SubToolPanel (void); + /** Create a new sub tool panel with the given window as its + parent. This will usually be a child window. + */ + SubToolPanel (Window& i_rParentWindow); + virtual ~SubToolPanel (void); - virtual void Paint (const Rectangle& rRect); + virtual void Paint (const Rectangle& rRect); - /** Initiate a rearrangement of the controls and title bars. - */ - virtual void Resize (void); + /** Initiate a rearrangement of the controls and title bars. + */ + virtual void Resize (void); - virtual void RequestResize (void); + virtual void RequestResize (void); - virtual Size GetPreferredSize (void); - virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); - virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); - virtual bool IsResizable (void); - virtual ::Window* GetWindow (void); - virtual sal_Int32 GetMinimumWidth (void); + virtual Size GetPreferredSize (void); + virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); + virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); + virtual bool IsResizable (void); + virtual ::Window* GetWindow (void); + virtual sal_Int32 GetMinimumWidth (void); - virtual void ExpandControl ( - TreeNode* pControl, - bool bExpansionState); + virtual void ExpandControl ( + TreeNode* pControl, + bool bExpansionState); - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> CreateAccessibleObject ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent); + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible> CreateAccessibleObject ( + const ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible>& rxParent); using Window::GetWindow; private: - ::Window maWindowFiller; - bool mbIsRearrangePending; - bool mbIsLayoutPending; - sal_uInt32 mnChildrenWidth; - /// Border above top-most and below bottom-most control. - const int mnVerticalBorder; - /// Gap between two controls. - const int mnVerticalGap; - /// Border at the left and right of the controls. - const int mnHorizontalBorder; - /** List of horizontal stripes that is created from the gaps between - children when they are layouted. The stripes are painted in Paint() - to fill the space around the children. - */ - typedef ::std::vector< ::std::pair<int,int> > StripeList; - StripeList maStripeList; - - /** Calculate position, size, and visibility of the controls. - Call this method after the list of controls, their expansion - state, or the size of the sub panel has changed. - */ - void Rearrange (void); - - /** Determine the minimal size that is necessary to show the controls - one over the other. It may be smaller than the available area. - */ - Size GetRequiredSize (void); - - /** Place the child windows one above the other and return the size of - the bounding box. - */ - sal_Int32 LayoutChildren (void); - - DECL_LINK(WindowEventListener, VclSimpleEvent*); + ::Window maWindowFiller; + bool mbIsRearrangePending; + bool mbIsLayoutPending; + sal_uInt32 mnChildrenWidth; + /// Border above top-most and below bottom-most control. + const int mnVerticalBorder; + /// Gap between two controls. + const int mnVerticalGap; + /// Border at the left and right of the controls. + const int mnHorizontalBorder; + /** List of horizontal stripes that is created from the gaps between + children when they are layouted. The stripes are painted in Paint() + to fill the space around the children. + */ + typedef ::std::vector< ::std::pair<int,int> > StripeList; + StripeList maStripeList; + + /** Calculate position, size, and visibility of the controls. + Call this method after the list of controls, their expansion + state, or the size of the sub panel has changed. + */ + void Rearrange (void); + + /** Determine the minimal size that is necessary to show the controls + one over the other. It may be smaller than the available area. + */ + Size GetRequiredSize (void); + + /** Place the child windows one above the other and return the size of + the bounding box. + */ + sal_Int32 LayoutChildren (void); + + DECL_LINK(WindowEventListener, VclSimpleEvent*); }; } } // end of namespace ::sd::toolpanel diff --git a/main/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx b/main/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx index be5c2d4..625143c 100644 --- a/main/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx +++ b/main/sd/source/ui/inc/taskpane/TaskPaneControlFactory.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -42,50 +42,50 @@ class TreeNode; namespace sd { namespace toolpanel { /** A simple factory base class defines the interface that is used by - some of the control containers of the task pane to create controls on - demand when they are about to be displayed for the first time. + some of the control containers of the task pane to create controls on + demand when they are about to be displayed for the first time. - It provides the InternalCreateControl() method as hook that can be - overloaded by derived classes to provide a new control. + It provides the InternalCreateControl() method as hook that can be + overloaded by derived classes to provide a new control. */ class ControlFactory { public: - ControlFactory (void); - virtual ~ControlFactory (void); + ControlFactory (void); + virtual ~ControlFactory (void); - /** creates a tree node which acts as root of an own tree + /** creates a tree node which acts as root of an own tree - Derived classes should overload InternalCreateControl. - */ - ::std::auto_ptr<TreeNode> CreateControl( ::Window& i_rParent ); + Derived classes should overload InternalCreateControl. + */ + ::std::auto_ptr<TreeNode> CreateControl( ::Window& i_rParent ); protected: - virtual TreeNode* InternalCreateControl( ::Window& i_rParent ) = 0; + virtual TreeNode* InternalCreateControl( ::Window& i_rParent ) = 0; }; /** A simple helper class that realizes a ControlFactory that is able to create root controls, providing - the to-be-created control with an additional parameter. + the to-be-created control with an additional parameter. */ template<class ControlType, class ArgumentType> class RootControlFactoryWithArg - : public ControlFactory + : public ControlFactory { public: - RootControlFactoryWithArg (ArgumentType& rArgument) - : mrArgument(rArgument) - {} + RootControlFactoryWithArg (ArgumentType& rArgument) + : mrArgument(rArgument) + {} protected: - virtual TreeNode* InternalCreateControl( ::Window& i_rParent ) - { - return new ControlType( i_rParent, mrArgument ); - } + virtual TreeNode* InternalCreateControl( ::Window& i_rParent ) + { + return new ControlType( i_rParent, mrArgument ); + } private: - ArgumentType& mrArgument; + ArgumentType& mrArgument; }; diff --git a/main/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx b/main/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx index 2f38799..2965bd8 100644 --- a/main/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx +++ b/main/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -40,169 +40,169 @@ 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 + 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. + 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. + This class provides the means of communication between objects on + different levels. */ class TreeNode - : public ILayoutableWindow, - public ILayouter + : 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; - + 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 necessarily 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 informed 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; + ::std::auto_ptr<ControlContainer> mpControlContainer; private: - TreeNode* mpParent; - typedef ::std::vector<Link> StateChangeListenerContainer; - StateChangeListenerContainer maStateChangeListeners; + 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. + changes of a tree node. */ class TreeNodeStateChangeEvent { public: - TreeNodeStateChangeEvent ( - const TreeNode& rNode, - TreeNodeStateChangeEventId eEventId, - TreeNode* pChild = NULL); + TreeNodeStateChangeEvent ( + const TreeNode& rNode, + TreeNodeStateChangeEventId eEventId, + TreeNode* pChild = NULL); - const TreeNode& mrSource; - TreeNodeStateChangeEventId meEventId; - TreeNode* mpChild; + const TreeNode& mrSource; + TreeNodeStateChangeEventId meEventId; + TreeNode* mpChild; }; } } // end of namespace ::sd::toolpanel diff --git a/main/sd/source/ui/inc/taskpane/TitleBar.hxx b/main/sd/source/ui/inc/taskpane/TitleBar.hxx index b046cc4..dc7cc06 100644 --- a/main/sd/source/ui/inc/taskpane/TitleBar.hxx +++ b/main/sd/source/ui/inc/taskpane/TitleBar.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -39,123 +39,123 @@ namespace sd { namespace toolpanel { /** The title bar above a control in a sub tool panel. - <p>The title bar shows two kinds of indicators: 1) Expansion is - displayed by two sets of two bitmaps, a triangle pointing to the right - resp. a minus in a square indicates that the control is collapsed, a - triangle pointing down resp. a plus in a square stands for an expanded - control. 2) Keyboard focus is indicated by a dotted rectangle. + <p>The title bar shows two kinds of indicators: 1) Expansion is + displayed by two sets of two bitmaps, a triangle pointing to the right + resp. a minus in a square indicates that the control is collapsed, a + triangle pointing down resp. a plus in a square stands for an expanded + control. 2) Keyboard focus is indicated by a dotted rectangle. */ class TitleBar - : public ::Window, - public TreeNode + : public ::Window, + public TreeNode { public: - enum TitleBarType { - TBT_SUB_CONTROL_HEADLINE - }; - - /** Create a new title bar whose content, the given title string, - will be formatted according to the given type. - */ - TitleBar ( - ::Window* pParent, - const String& rsTitle, - TitleBarType eType, - bool bIsExpandable); - virtual ~TitleBar (void); - - virtual Size GetPreferredSize (void); - virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); - virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); - virtual bool IsResizable (void); - virtual ::Window* GetWindow (void); - virtual sal_Int32 GetMinimumWidth (void); - - virtual void Paint (const Rectangle& rBoundingBox); - virtual bool Expand (bool bFlag = true); - virtual bool IsExpanded (void) const; - virtual void SetEnabledState(bool bFlag); - virtual void GetFocus (void); - virtual void LoseFocus (void); - - virtual void MouseMove(const MouseEvent& rEvent); - /** Empty implementation prevents forwarding to docking window. - */ - virtual void MouseButtonDown (const MouseEvent& rEvent); - /** Empty implementation prevents forwarding to docking window. - */ - virtual void MouseButtonUp (const MouseEvent& rEvent); - - virtual void DataChanged (const DataChangedEvent& rEvent); - - String GetTitle (void) const; - - ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible > CreateAccessibleObject ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent); + enum TitleBarType { + TBT_SUB_CONTROL_HEADLINE + }; + + /** Create a new title bar whose content, the given title string, + will be formatted according to the given type. + */ + TitleBar ( + ::Window* pParent, + const String& rsTitle, + TitleBarType eType, + bool bIsExpandable); + virtual ~TitleBar (void); + + virtual Size GetPreferredSize (void); + virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); + virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); + virtual bool IsResizable (void); + virtual ::Window* GetWindow (void); + virtual sal_Int32 GetMinimumWidth (void); + + virtual void Paint (const Rectangle& rBoundingBox); + virtual bool Expand (bool bFlag = true); + virtual bool IsExpanded (void) const; + virtual void SetEnabledState(bool bFlag); + virtual void GetFocus (void); + virtual void LoseFocus (void); + + virtual void MouseMove(const MouseEvent& rEvent); + /** Empty implementation prevents forwarding to docking window. + */ + virtual void MouseButtonDown (const MouseEvent& rEvent); + /** Empty implementation prevents forwarding to docking window. + */ + virtual void MouseButtonUp (const MouseEvent& rEvent); + + virtual void DataChanged (const DataChangedEvent& rEvent); + + String GetTitle (void) const; + + ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible > CreateAccessibleObject ( + const ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible>& rxParent); private: - TitleBarType meType; - String msTitle; - bool mbExpanded; - bool mbFocused; - // Size of the bounding box that encloses the title string. - ::std::auto_ptr<VirtualDevice> mpDevice; - bool mbIsExpandable; - - /** Return whether this TitleBar object has an expansion indicator - bitmap. It is safe to call GetExpansionIndicator() when this method - returns <FALSE/> but unnecessary. - */ - bool HasExpansionIndicator (void) const; - - /** Return the image of the expansion indicator. - @return - When there is no expansion indictor for this TitleBar object, - then an empty Image is returned. You better call - HasExpansionIndicator() to prevent this. - */ - Image GetExpansionIndicator (void) const; - - /** Calculate the bounding box of the title text. This takes into - account indentation due to an expansion indicator and the given - available width. When the text can not be displayed on one line, it - is broken into multiple lines. - @param nAvailableWidth - When 0 is given then the natural text width is used, i.e. the - text is not broken into multiple lines. - */ - Rectangle CalculateTextBoundingBox ( - int nAvailableWidth, - bool bEmphasizeExpanded); - - /** Add some space to the given text box and return the bounding box of - the title bar. - */ - Rectangle CalculateTitleBarBox ( - const Rectangle& rTextBox, - int nTitleBarWidth); - - void PaintSubPanelHeadLineBar (void); - - void PaintBackground (const Rectangle& rTextBox); - - /// Paint a focus indicator that encloses the given rectangle. - void PaintFocusIndicator (const Rectangle& rIndicatorBox); - - Rectangle PaintExpansionIndicator (const Rectangle& rTextBox); - - void PaintText (const Rectangle& rTextBox); - - sal_uInt16 GetTextStyle (void); - - const static int snIndentationWidth; - - // Default constructor, copy constructor, and assignment are not supported. - TitleBar (void); - TitleBar (const TitleBar&); - TitleBar& operator= (const TitleBar&); + TitleBarType meType; + String msTitle; + bool mbExpanded; + bool mbFocused; + // Size of the bounding box that encloses the title string. + ::std::auto_ptr<VirtualDevice> mpDevice; + bool mbIsExpandable; + + /** Return whether this TitleBar object has an expansion indicator + bitmap. It is safe to call GetExpansionIndicator() when this method + returns <FALSE/> but unnecessary. + */ + bool HasExpansionIndicator (void) const; + + /** Return the image of the expansion indicator. + @return + When there is no expansion indicator for this TitleBar object, + then an empty Image is returned. You better call + HasExpansionIndicator() to prevent this. + */ + Image GetExpansionIndicator (void) const; + + /** Calculate the bounding box of the title text. This takes into + account indentation due to an expansion indicator and the given + available width. When the text can not be displayed on one line, it + is broken into multiple lines. + @param nAvailableWidth + When 0 is given then the natural text width is used, i.e. the + text is not broken into multiple lines. + */ + Rectangle CalculateTextBoundingBox ( + int nAvailableWidth, + bool bEmphasizeExpanded); + + /** Add some space to the given text box and return the bounding box of + the title bar. + */ + Rectangle CalculateTitleBarBox ( + const Rectangle& rTextBox, + int nTitleBarWidth); + + void PaintSubPanelHeadLineBar (void); + + void PaintBackground (const Rectangle& rTextBox); + + /// Paint a focus indicator that encloses the given rectangle. + void PaintFocusIndicator (const Rectangle& rIndicatorBox); + + Rectangle PaintExpansionIndicator (const Rectangle& rTextBox); + + void PaintText (const Rectangle& rTextBox); + + sal_uInt16 GetTextStyle (void); + + const static int snIndentationWidth; + + // Default constructor, copy constructor, and assignment are not supported. + TitleBar (void); + TitleBar (const TitleBar&); + TitleBar& operator= (const TitleBar&); using Window::GetWindow; }; diff --git a/main/sd/source/ui/inc/taskpane/TitledControl.hxx b/main/sd/source/ui/inc/taskpane/TitledControl.hxx index 49a2340..41d161f 100644 --- a/main/sd/source/ui/inc/taskpane/TitledControl.hxx +++ b/main/sd/source/ui/inc/taskpane/TitledControl.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -42,134 +42,134 @@ namespace sd { namespace toolpanel { class ControlContainer; -/** This wrapper adds a title bar to a control. Both title bar and - control are child windows. +/** This wrapper adds a title bar to a control. Both title bar and + control are child windows. */ class TitledControl - : public ::Window, - public TreeNode + : public ::Window, + public TreeNode { public: - typedef ::boost::function1<void, TitledControl&> ClickHandler; - - /** Create a new descriptor for the given control. - @param pParent - The parent window of the new descriptor. - @param pControl - The control that is shown when being in the expanded - state. - @param rTitle - String that is shown as title in the title area above the - control. - @param rClickHandler - The typical action of the click handler is to expand the control. - @param eType - Type of the title bar. This specifies how the title bar - will be formatted. For more information see TitleBar. - - */ - TitledControl ( - TreeNode* pParent, - ::std::auto_ptr<TreeNode> pControl, - const String& rTitle, - const ClickHandler& rClickHandler, - TitleBar::TitleBarType eType); - - virtual ~TitledControl (void); - - - virtual Size GetPreferredSize (void); - virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); - virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); - virtual bool IsResizable (void); - virtual ::Window* GetWindow (void); - - virtual void Resize (void); - virtual void GetFocus (void); - virtual void KeyInput (const KeyEvent& rEvent); - - // void Select (bool bExpansionState); - - TitleBar* GetTitleBar (void); - /** Return the control child. When a control factory has been given and - the control has not yet been created and the given flag is <TRUE/> - then the control is created. - */ - TreeNode* GetControl (void); - const TreeNode* GetConstControl () const; - - const String& GetTitle (void) const; - - /** Expand the control without informing its container. This - method usually is called by the container as a result of a - higher level expand command. You may want to use - ExpandViaContainer() instead. - @param bExpanded - When <TRUE/> then the control is expanded, otherwise it is - collapsed. - */ - virtual bool Expand (bool bExpanded = true); - - /** Return whether the control is currently expanded (<TRUE/>) or - not (<FALSE/>). - */ - virtual bool IsExpanded (void) const; - - /** Returns the value of the control. - */ - virtual bool IsExpandable (void) const; - - virtual void SetEnabledState(bool bFlag); - - virtual bool IsShowing (void) const; - virtual void Show (bool bVisible); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible > CreateAccessibleObject ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent); + typedef ::boost::function1<void, TitledControl&> ClickHandler; + + /** Create a new descriptor for the given control. + @param pParent + The parent window of the new descriptor. + @param pControl + The control that is shown when being in the expanded + state. + @param rTitle + String that is shown as title in the title area above the + control. + @param rClickHandler + The typical action of the click handler is to expand the control. + @param eType + Type of the title bar. This specifies how the title bar + will be formatted. For more information see TitleBar. + + */ + TitledControl ( + TreeNode* pParent, + ::std::auto_ptr<TreeNode> pControl, + const String& rTitle, + const ClickHandler& rClickHandler, + TitleBar::TitleBarType eType); + + virtual ~TitledControl (void); + + + virtual Size GetPreferredSize (void); + virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); + virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); + virtual bool IsResizable (void); + virtual ::Window* GetWindow (void); + + virtual void Resize (void); + virtual void GetFocus (void); + virtual void KeyInput (const KeyEvent& rEvent); + + // void Select (bool bExpansionState); + + TitleBar* GetTitleBar (void); + /** Return the control child. When a control factory has been given and + the control has not yet been created and the given flag is <TRUE/> + then the control is created. + */ + TreeNode* GetControl (void); + const TreeNode* GetConstControl () const; + + const String& GetTitle (void) const; + + /** Expand the control without informing its container. This + method usually is called by the container as a result of a + higher level expand command. You may want to use + ExpandViaContainer() instead. + @param bExpanded + When <TRUE/> then the control is expanded, otherwise it is + collapsed. + */ + virtual bool Expand (bool bExpanded = true); + + /** Return whether the control is currently expanded (<TRUE/>) or + not (<FALSE/>). + */ + virtual bool IsExpanded (void) const; + + /** Returns the value of the control. + */ + virtual bool IsExpandable (void) const; + + virtual void SetEnabledState(bool bFlag); + + virtual bool IsShowing (void) const; + virtual void Show (bool bVisible); + + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible > CreateAccessibleObject ( + const ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible>& rxParent); using Window::GetWindow; using Window::Show; private: - String msTitle; - bool mbVisible; - void* mpUserData; - ::std::auto_ptr<ClickHandler> mpClickHandler; - - /// Do not use! Assignment operator is not supported. - const TitledControl& operator= ( - const TitledControl& aDescriptor); - - void UpdateStates (void); - - DECL_LINK(WindowEventListener, VclSimpleEvent*); + String msTitle; + bool mbVisible; + void* mpUserData; + ::std::auto_ptr<ClickHandler> mpClickHandler; + + /// Do not use! Assignment operator is not supported. + const TitledControl& operator= ( + const TitledControl& aDescriptor); + + void UpdateStates (void); + + DECL_LINK(WindowEventListener, VclSimpleEvent*); }; /** This standard implementation of the ClickHandler expands, or toggles the - expansion state, of the control, whose title was clicked. + expansion state, of the control, whose title was clicked. */ class TitledControlStandardClickHandler { public: - /** Create a new instance of this class. - @param rControlContainer - The container of which the TitledControl is part of. - @param eExpansionState - This specifies whether to always expand the titled control or to - toggle its expansion state. - */ - TitledControlStandardClickHandler ( - ControlContainer& rControlContainer, - ControlContainer::ExpansionState eExpansionState); - void operator () (TitledControl& rTitledControl); + /** Create a new instance of this class. + @param rControlContainer + The container of which the TitledControl is part of. + @param eExpansionState + This specifies whether to always expand the titled control or to + toggle its expansion state. + */ + TitledControlStandardClickHandler ( + ControlContainer& rControlContainer, + ControlContainer::ExpansionState eExpansionState); + void operator () (TitledControl& rTitledControl); private: - ControlContainer& mrControlContainer; - ControlContainer::ExpansionState meExpansionState; + ControlContainer& mrControlContainer; + ControlContainer::ExpansionState meExpansionState; }; } } // end of namespace ::sd::toolpanel diff --git a/main/sd/source/ui/inc/taskpane/ToolPanelViewShell.hxx b/main/sd/source/ui/inc/taskpane/ToolPanelViewShell.hxx index 30e8caf..48bc29b 100644 --- a/main/sd/source/ui/inc/taskpane/ToolPanelViewShell.hxx +++ b/main/sd/source/ui/inc/taskpane/ToolPanelViewShell.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * 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 @@ -7,16 +7,16 @@ * 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 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ @@ -39,7 +39,7 @@ class PopupMenu; namespace com { namespace sun { namespace star { namespace ui { - class XUIElement; + class XUIElement; } } } } namespace sd { @@ -52,37 +52,37 @@ class TitleBar; class TitledControl; class ToolPanelViewShell_Impl; /** The tool panel is a view shell for some very specific reasons: - - It fits better into the concept of panes being docking windows whose - content, a view shell, can be exchanged on runtime. - - A control in the tool panel that wants to show a context menu has to - do that over the dispatcher of a shell. These shells, usually - implemented by the controls themselves, have to be managed by someone. - If interpreted as object bars this can be handled by the - ObjectBarManager of the ViewShell. + - It fits better into the concept of panes being docking windows whose + content, a view shell, can be exchanged on runtime. + - A control in the tool panel that wants to show a context menu has to + do that over the dispatcher of a shell. These shells, usually + implemented by the controls themselves, have to be managed by someone. + If interpreted as object bars this can be handled by the + ObjectBarManager of the ViewShell. */ class ToolPanelViewShell - : public ViewShell + : public ViewShell { public: - TYPEINFO(); - SFX_DECL_INTERFACE(SD_IF_SDTOOLPANELSHELL) - - ToolPanelViewShell ( - SfxViewFrame* pFrame, - ViewShellBase& rViewShellBase, - ::Window* pParentWindow, - FrameView* pFrameView); - virtual ~ToolPanelViewShell (void); - - /** Register the SFX interfaces so that (some of) the controls can be - pushed as SFX shells on the shell stack and process slot calls and - so on. - */ - static void RegisterControls (void); - - virtual void GetFocus (void); - virtual void LoseFocus (void); - virtual void KeyInput (const KeyEvent& rEvent); + TYPEINFO(); + SFX_DECL_INTERFACE(SD_IF_SDTOOLPANELSHELL) + + ToolPanelViewShell ( + SfxViewFrame* pFrame, + ViewShellBase& rViewShellBase, + ::Window* pParentWindow, + FrameView* pFrameView); + virtual ~ToolPanelViewShell (void); + + /** Register the SFX interfaces so that (some of) the controls can be + pushed as SFX shells on the shell stack and process slot calls and + so on. + */ + static void RegisterControls (void); + + virtual void GetFocus (void); + virtual void LoseFocus (void); + virtual void KeyInput (const KeyEvent& rEvent); using sd::ViewShell::KeyInput; virtual SdPage* GetActualPage (void); @@ -90,71 +90,71 @@ public: virtual void ArrangeGUIElements (void); - TaskPaneShellManager& GetSubShellManager (void) const; + TaskPaneShellManager& GetSubShellManager (void) const; - /** deactivates the given panel, bypassing the configuration controller. Only valid for tool panels which are - not under the drawing framework's control. - */ - void ActivatePanel( const ::rtl::OUString& i_rPanelResourceURL ); + /** deactivates the given panel, bypassing the configuration controller. Only valid for tool panels which are + not under the drawing framework's control. + */ + void ActivatePanel( const ::rtl::OUString& i_rPanelResourceURL ); - /** deactivates the given panel, bypassing the configuration controller - */ - void DeactivatePanel( const ::rtl::OUString& i_rPanelResourceURL ); + /** deactivates the given panel, bypassing the configuration controller + */ + void DeactivatePanel( const ::rtl::OUString& i_rPanelResourceURL ); - /** Return a pointer to the docking window that is the parent or a - predecessor of the content window. - @return - When the view shell is not placed in a docking window, e.g. when - shown in the center pane, then <NULL?> is returned. - */ - DockingWindow* GetDockingWindow (void); + /** Return a pointer to the docking window that is the parent or a + predecessor of the content window. + @return + When the view shell is not placed in a docking window, e.g. when + shown in the center pane, then <NULL?> is returned. + */ + DockingWindow* GetDockingWindow (void); - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> - CreateAccessibleDocumentView (::sd::Window* pWindow); + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::accessibility::XAccessible> + CreateAccessibleDocumentView (::sd::Window* pWindow); - virtual css::uno::Reference<css::drawing::XDrawSubController> CreateSubController (void); + virtual css::uno::Reference<css::drawing::XDrawSubController> CreateSubController (void); - /** Relocate all toplevel controls to the given parent window. - */ - virtual bool RelocateToParentWindow (::Window* pParentWindow); + /** Relocate all toplevel controls to the given parent window. + */ + virtual bool RelocateToParentWindow (::Window* pParentWindow); - /// returns <TRUE/> if and only if the given window is the panel anchor window of our ToolPanelDeck - bool IsPanelAnchorWindow( const ::Window& i_rWindow ) const; + /// returns <TRUE/> if and only if the given window is the panel anchor window of our ToolPanelDeck + bool IsPanelAnchorWindow( const ::Window& i_rWindow ) const; - /** creates an XUIElement for the given standard panel - */ - ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > - CreatePanelUIElement( - const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rDocFrame, - const ::rtl::OUString& i_rPanelResourceURL - ); + /** creates an XUIElement for the given standard panel + */ + ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > + CreatePanelUIElement( + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rDocFrame, + const ::rtl::OUString& i_rPanelResourceURL + ); private: - ::boost::scoped_ptr< ToolPanelViewShell_Impl > mpImpl; - - ::boost::shared_ptr<TaskPaneShellManager> mpSubShellManager; - - /** The id of the menu in the menu bar/tool box of the parent docking - window. - */ - sal_uInt16 mnMenuId; - - /** Create a popup menu. it contains two sections, one for - docking or un-docking the tool panel, one for toggling the - visibility state of the tool panel items. - @param bIsDocking - According to this flag one of the lock/unlock entries is - made disabled. - */ - ::std::auto_ptr<PopupMenu> CreatePopupMenu (bool bIsDocking); - - - /** Initialize the task pane view shell if that has not yet been done - before. If mbIsInitialized is already set to <TRUE/> then this - method returns immediately. - */ - void Initialize (void); + ::boost::scoped_ptr< ToolPanelViewShell_Impl > mpImpl; + + ::boost::shared_ptr<TaskPaneShellManager> mpSubShellManager; + + /** The id of the menu in the menu bar/tool box of the parent docking + window. + */ + sal_uInt16 mnMenuId; + + /** Create a popup menu. It contains two sections, one for + docking or un-docking the tool panel, one for toggling the + visibility state of the tool panel items. + @param bIsDocking + According to this flag one of the lock/unlock entries is + made disabled. + */ + ::std::auto_ptr<PopupMenu> CreatePopupMenu (bool bIsDocking); + + + /** Initialize the task pane view shell if that has not yet been done + before. If mbIsInitialized is already set to <TRUE/> then this + method returns immediately. + */ + void Initialize (void); };