diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-07 22:36:26 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-07 22:36:26 +0200 |
commit | 1cf2a482871ba237ec9470b88da074b97a2dbf41 (patch) | |
tree | c9b0520fa86bf4512a198524483f970525da9843 /sfx2/inc | |
parent | f0cd4535a2d40ce66c346596bedbc7eac97a0b63 (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.hxx | 49 |
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; }; //...................................................................................................................... |