1ff12d537SAndre Fischer /************************************************************** 2ff12d537SAndre Fischer * 3ff12d537SAndre Fischer * Licensed to the Apache Software Foundation (ASF) under one 4ff12d537SAndre Fischer * or more contributor license agreements. See the NOTICE file 5ff12d537SAndre Fischer * distributed with this work for additional information 6ff12d537SAndre Fischer * regarding copyright ownership. The ASF licenses this file 7ff12d537SAndre Fischer * to you under the Apache License, Version 2.0 (the 8ff12d537SAndre Fischer * "License"); you may not use this file except in compliance 9ff12d537SAndre Fischer * with the License. You may obtain a copy of the License at 10ff12d537SAndre Fischer * 11ff12d537SAndre Fischer * http://www.apache.org/licenses/LICENSE-2.0 12ff12d537SAndre Fischer * 13ff12d537SAndre Fischer * Unless required by applicable law or agreed to in writing, 14ff12d537SAndre Fischer * software distributed under the License is distributed on an 15ff12d537SAndre Fischer * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16ff12d537SAndre Fischer * KIND, either express or implied. See the License for the 17ff12d537SAndre Fischer * specific language governing permissions and limitations 18ff12d537SAndre Fischer * under the License. 19ff12d537SAndre Fischer * 20ff12d537SAndre Fischer *************************************************************/ 21ff12d537SAndre Fischer 22ff12d537SAndre Fischer #ifndef SFX_SIDEBAR_PANEL_TITLE_BAR_HXX 23ff12d537SAndre Fischer #define SFX_SIDEBAR_PANEL_TITLE_BAR_HXX 24ff12d537SAndre Fischer 25ff12d537SAndre Fischer #include "TitleBar.hxx" 26ff12d537SAndre Fischer 277a32b0c8SAndre Fischer #include <boost/function.hpp> 287a32b0c8SAndre Fischer 29ff12d537SAndre Fischer 30ff12d537SAndre Fischer namespace sfx2 { namespace sidebar { 31ff12d537SAndre Fischer 32ff12d537SAndre Fischer class Panel; 33ff12d537SAndre Fischer 34ff12d537SAndre Fischer class PanelTitleBar 35ff12d537SAndre Fischer : public TitleBar 36ff12d537SAndre Fischer { 37ff12d537SAndre Fischer public: 38ff12d537SAndre Fischer PanelTitleBar ( 39ff12d537SAndre Fischer const ::rtl::OUString& rsTitle, 40ff12d537SAndre Fischer Window* pParentWindow, 41*c545150fSOliver-Rainer Wittmann Panel* pPanel ); 42ff12d537SAndre Fischer virtual ~PanelTitleBar (void); 43ff12d537SAndre Fischer 44*c545150fSOliver-Rainer Wittmann void SetMenuAction ( const ::boost::function<void(void)>& rMenuAction ); 45*c545150fSOliver-Rainer Wittmann 467a32b0c8SAndre Fischer virtual void DataChanged (const DataChangedEvent& rEvent); 47ff12d537SAndre Fischer virtual void MouseButtonDown (const MouseEvent& rMouseEvent); 48ff12d537SAndre Fischer virtual void MouseButtonUp (const MouseEvent& rMouseEvent); 49ff12d537SAndre Fischer 50ff12d537SAndre Fischer protected: 51ff12d537SAndre Fischer virtual Rectangle GetTitleArea (const Rectangle& rTitleBarBox); 52ff12d537SAndre Fischer virtual void PaintDecoration (const Rectangle& rTitleBarBox); 53ff12d537SAndre Fischer virtual sidebar::Paint GetBackgroundPaint (void); 54ff12d537SAndre Fischer virtual Color GetTextColor (void); 557a32b0c8SAndre Fischer virtual void HandleToolBoxItemClick (const sal_uInt16 nItemIndex); 56ff12d537SAndre Fischer 57ff12d537SAndre Fischer private: 58ff12d537SAndre Fischer bool mbIsLeftButtonDown; 59ff12d537SAndre Fischer Panel* mpPanel; 607a32b0c8SAndre Fischer const sal_uInt16 mnMenuItemIndex; 61*c545150fSOliver-Rainer Wittmann ::boost::function<void(void)> maMenuAction; 62ff12d537SAndre Fischer }; 63ff12d537SAndre Fischer 64ff12d537SAndre Fischer 65ff12d537SAndre Fischer } } // end of namespace sfx2::sidebar 66ff12d537SAndre Fischer 67ff12d537SAndre Fischer #endif 68