1b9e67834SAndre Fischer /************************************************************** 2b9e67834SAndre Fischer * 3b9e67834SAndre Fischer * Licensed to the Apache Software Foundation (ASF) under one 4b9e67834SAndre Fischer * or more contributor license agreements. See the NOTICE file 5b9e67834SAndre Fischer * distributed with this work for additional information 6b9e67834SAndre Fischer * regarding copyright ownership. The ASF licenses this file 7b9e67834SAndre Fischer * to you under the Apache License, Version 2.0 (the 8b9e67834SAndre Fischer * "License"); you may not use this file except in compliance 9b9e67834SAndre Fischer * with the License. You may obtain a copy of the License at 10b9e67834SAndre Fischer * 11b9e67834SAndre Fischer * http://www.apache.org/licenses/LICENSE-2.0 12b9e67834SAndre Fischer * 13b9e67834SAndre Fischer * Unless required by applicable law or agreed to in writing, 14b9e67834SAndre Fischer * software distributed under the License is distributed on an 15b9e67834SAndre Fischer * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16b9e67834SAndre Fischer * KIND, either express or implied. See the License for the 17b9e67834SAndre Fischer * specific language governing permissions and limitations 18b9e67834SAndre Fischer * under the License. 19b9e67834SAndre Fischer * 20b9e67834SAndre Fischer *************************************************************/ 21b9e67834SAndre Fischer 22b9e67834SAndre Fischer #ifndef SFX_SIDEBAR_SIDEBAR_PANEL_HXX 23b9e67834SAndre Fischer #define SFX_SIDEBAR_SIDEBAR_PANEL_HXX 24b9e67834SAndre Fischer 25*95a18594SAndre Fischer #include <tools/link.hxx> 26b9e67834SAndre Fischer #include <com/sun/star/ui/XSidebarPanel.hpp> 27b9e67834SAndre Fischer 28b9e67834SAndre Fischer #include <boost/noncopyable.hpp> 29b9e67834SAndre Fischer #include <cppuhelper/compbase1.hxx> 30b9e67834SAndre Fischer #include <cppuhelper/basemutex.hxx> 31b9e67834SAndre Fischer 32b9e67834SAndre Fischer namespace css = ::com::sun::star; 33b9e67834SAndre Fischer namespace cssu = ::com::sun::star::uno; 34b9e67834SAndre Fischer 35b9e67834SAndre Fischer namespace 36b9e67834SAndre Fischer { 37b9e67834SAndre Fischer typedef ::cppu::WeakComponentImplHelper1 < 38b9e67834SAndre Fischer css::ui::XSidebarPanel 39b9e67834SAndre Fischer > SidebarPanelInterfaceBase; 40b9e67834SAndre Fischer } 41b9e67834SAndre Fischer 42b9e67834SAndre Fischer 43b9e67834SAndre Fischer class DockingWindow; 44*95a18594SAndre Fischer class VclWindowEvent; 45b9e67834SAndre Fischer 46b9e67834SAndre Fischer namespace sfx2 { namespace sidebar { 47b9e67834SAndre Fischer 48b9e67834SAndre Fischer class Panel; 49b9e67834SAndre Fischer 50b9e67834SAndre Fischer class SidebarPanel 51b9e67834SAndre Fischer : private ::boost::noncopyable, 52b9e67834SAndre Fischer private ::cppu::BaseMutex, 53b9e67834SAndre Fischer public SidebarPanelInterfaceBase 54b9e67834SAndre Fischer { 55b9e67834SAndre Fischer public: 56b9e67834SAndre Fischer static cssu::Reference<css::ui::XSidebarPanel> Create (Panel* pPanel); 57b9e67834SAndre Fischer 58b9e67834SAndre Fischer protected: 59b9e67834SAndre Fischer SidebarPanel( 60b9e67834SAndre Fischer Panel* pPanel); 61b9e67834SAndre Fischer virtual ~SidebarPanel (void); 62b9e67834SAndre Fischer 63b9e67834SAndre Fischer virtual void SAL_CALL disposing (const css::lang::EventObject& rEventObject) 64b9e67834SAndre Fischer throw(cssu::RuntimeException); 65b9e67834SAndre Fischer 66b9e67834SAndre Fischer virtual void SAL_CALL disposing (void); 67b9e67834SAndre Fischer 68b9e67834SAndre Fischer // XSidebarPanel 69b9e67834SAndre Fischer virtual cssu::Reference<css::rendering::XCanvas> SAL_CALL getCanvas (void) 70b9e67834SAndre Fischer throw (cssu::RuntimeException); 71b9e67834SAndre Fischer virtual css::awt::Point SAL_CALL getPositionOnScreen (void) 72b9e67834SAndre Fischer throw (cssu::RuntimeException); 73b9e67834SAndre Fischer virtual cssu::Reference<css::beans::XPropertySet> SAL_CALL getThemeProperties (void) 74b9e67834SAndre Fischer throw (cssu::RuntimeException); 75b9e67834SAndre Fischer 76b9e67834SAndre Fischer private: 77b9e67834SAndre Fischer Panel* mpPanel; 78b9e67834SAndre Fischer cssu::Reference<css::rendering::XCanvas> mxCanvas; 79b9e67834SAndre Fischer 80b9e67834SAndre Fischer DECL_LINK(HandleWindowEvent, VclWindowEvent*); 81b9e67834SAndre Fischer }; 82b9e67834SAndre Fischer 83b9e67834SAndre Fischer 84b9e67834SAndre Fischer } } // end of namespace sfx2::sidebar 85b9e67834SAndre Fischer 86b9e67834SAndre Fischer #endif 87