summaryrefslogtreecommitdiff
path: root/sfx2/inc
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-07 22:36:26 +0200
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2010-04-07 22:36:26 +0200
commit1cf2a482871ba237ec9470b88da074b97a2dbf41 (patch)
treec9b0520fa86bf4512a198524483f970525da9843 /sfx2/inc
parentf0cd4535a2d40ce66c346596bedbc7eac97a0b63 (diff)
slidecopy: improved the generic TaskPane, now filled from the configuration, including a small sample extension
still some way to go .... open items include: - add to all affected applications - respect the ImageURL property of the config data - clarify how this interacts with SD's Drawing Framework, and Impress' TaskPane - re-activate the previously-active tool panel when opening the pane again - obtain the XAccessible from the tool panel - title when docked - proper TAB handling when multiple panel/drawers exist
Diffstat (limited to 'sfx2/inc')
-rw-r--r--sfx2/inc/sfx2/taskpane.hxx49
1 files changed, 40 insertions, 9 deletions
diff --git a/sfx2/inc/sfx2/taskpane.hxx b/sfx2/inc/sfx2/taskpane.hxx
index c2801f8e5094..896f2bf32a05 100644
--- a/sfx2/inc/sfx2/taskpane.hxx
+++ b/sfx2/inc/sfx2/taskpane.hxx
@@ -56,22 +56,53 @@ namespace sfx2
//==================================================================================================================
//= TaskPane
//==================================================================================================================
- class TaskPane_Impl;
- class TaskPane : public SfxDockingWindow
+ class ModuleTaskPane_Impl;
+ /** SFX-less version of a module dependent task pane, filled with tool panels as specified in the respective
+ module's configuration
+ */
+ class ModuleTaskPane : public Window
{
public:
- TaskPane(
- SfxBindings* i_pBindings,
- TaskPaneWrapper& i_rWrapper,
- Window* i_pParent,
- WinBits i_nBits
- );
+ /** creates a new instance
+ @param i_rParentWindow
+ the parent window
+ @param i_rModuleIdentifier
+ a string describing the module which the task pane should act for. The tool panels registered
+ for this module will be displayed in the task pane.
+ */
+ ModuleTaskPane( Window& i_rParentWindow, const ::rtl::OUString& i_rModuleIdentifier );
+ ~ModuleTaskPane();
+
+ /** determines whether a given module has any registered tool panels
+ */
+ static bool ModuleHasToolPanels( const ::rtl::OUString& i_rModuleIdentifier );
+ /** determines whether a given module has any registered tool panels
+ */
+ static bool ModuleHasToolPanels( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rDocumentFrame );
+
+ // Window overridables
+ virtual void Resize();
+ virtual void GetFocus();
+
+ private:
+ ::boost::scoped_ptr< ModuleTaskPane_Impl > m_pImpl;
+ };
+
+ //==================================================================================================================
+ //= TaskPaneDockingWindow
+ //==================================================================================================================
+ class TaskPaneDockingWindow : public SfxDockingWindow
+ {
+ public:
+ TaskPaneDockingWindow( SfxBindings* i_pBindings, TaskPaneWrapper& i_rWrapper,
+ Window* i_pParent, WinBits i_nBits );
virtual void GetFocus();
virtual void Resize();
+ virtual long Notify( NotifyEvent& i_rNotifyEvent );
private:
- ::boost::scoped_ptr< TaskPane_Impl > m_pImpl;
+ ModuleTaskPane m_aTaskPane;
};
//......................................................................................................................