1*22de8995SAndre Fischer /************************************************************** 2*22de8995SAndre Fischer * 3*22de8995SAndre Fischer * Licensed to the Apache Software Foundation (ASF) under one 4*22de8995SAndre Fischer * or more contributor license agreements. See the NOTICE file 5*22de8995SAndre Fischer * distributed with this work for additional information 6*22de8995SAndre Fischer * regarding copyright ownership. The ASF licenses this file 7*22de8995SAndre Fischer * to you under the Apache License, Version 2.0 (the 8*22de8995SAndre Fischer * "License"); you may not use this file except in compliance 9*22de8995SAndre Fischer * with the License. You may obtain a copy of the License at 10*22de8995SAndre Fischer * 11*22de8995SAndre Fischer * http://www.apache.org/licenses/LICENSE-2.0 12*22de8995SAndre Fischer * 13*22de8995SAndre Fischer * Unless required by applicable law or agreed to in writing, 14*22de8995SAndre Fischer * software distributed under the License is distributed on an 15*22de8995SAndre Fischer * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*22de8995SAndre Fischer * KIND, either express or implied. See the License for the 17*22de8995SAndre Fischer * specific language governing permissions and limitations 18*22de8995SAndre Fischer * under the License. 19*22de8995SAndre Fischer * 20*22de8995SAndre Fischer *************************************************************/ 21*22de8995SAndre Fischer 22*22de8995SAndre Fischer #include "precompiled_sfx2.hxx" 23*22de8995SAndre Fischer 24*22de8995SAndre Fischer #include "Panel.hxx" 25*22de8995SAndre Fischer #include "TitleBar.hxx" 26*22de8995SAndre Fischer #include "ContentPanelDescriptor.hxx" 27*22de8995SAndre Fischer 28*22de8995SAndre Fischer #include <tools/svborder.hxx> 29*22de8995SAndre Fischer 30*22de8995SAndre Fischer 31*22de8995SAndre Fischer using namespace css; 32*22de8995SAndre Fischer using namespace cssu; 33*22de8995SAndre Fischer 34*22de8995SAndre Fischer namespace { 35*22de8995SAndre Fischer static const char* VerticalStackLayouterName("vertical-stack"); 36*22de8995SAndre Fischer } 37*22de8995SAndre Fischer 38*22de8995SAndre Fischer 39*22de8995SAndre Fischer namespace sfx2 { 40*22de8995SAndre Fischer 41*22de8995SAndre Fischer Panel::Panel ( 42*22de8995SAndre Fischer const ContentPanelDescriptor& rPanelDescriptor, 43*22de8995SAndre Fischer Window* pParentWindow) 44*22de8995SAndre Fischer : Window(pParentWindow), 45*22de8995SAndre Fischer msLayoutHint(rPanelDescriptor.msLayout), 46*22de8995SAndre Fischer mpTitleBar(new TitleBar(rPanelDescriptor.msTitle, false, pParentWindow)), 47*22de8995SAndre Fischer mbIsTitleBarOptional(rPanelDescriptor.mbIsTitleBarOptional), 48*22de8995SAndre Fischer mxElement(), 49*22de8995SAndre Fischer mxVerticalStackLayoutElement() 50*22de8995SAndre Fischer { 51*22de8995SAndre Fischer SetBackground(Wallpaper(Color(0xff4500))); 52*22de8995SAndre Fischer 53*22de8995SAndre Fischer } 54*22de8995SAndre Fischer 55*22de8995SAndre Fischer 56*22de8995SAndre Fischer 57*22de8995SAndre Fischer 58*22de8995SAndre Fischer Panel::~Panel (void) 59*22de8995SAndre Fischer { 60*22de8995SAndre Fischer } 61*22de8995SAndre Fischer 62*22de8995SAndre Fischer 63*22de8995SAndre Fischer 64*22de8995SAndre Fischer 65*22de8995SAndre Fischer const ::rtl::OUString& Panel::GetLayoutHint (void) const 66*22de8995SAndre Fischer { 67*22de8995SAndre Fischer return msLayoutHint; 68*22de8995SAndre Fischer } 69*22de8995SAndre Fischer 70*22de8995SAndre Fischer 71*22de8995SAndre Fischer 72*22de8995SAndre Fischer 73*22de8995SAndre Fischer TitleBar* Panel::GetTitleBar (void) const 74*22de8995SAndre Fischer { 75*22de8995SAndre Fischer return mpTitleBar; 76*22de8995SAndre Fischer } 77*22de8995SAndre Fischer 78*22de8995SAndre Fischer 79*22de8995SAndre Fischer 80*22de8995SAndre Fischer 81*22de8995SAndre Fischer bool Panel::IsTitleBarOptional (void) const 82*22de8995SAndre Fischer { 83*22de8995SAndre Fischer return mbIsTitleBarOptional; 84*22de8995SAndre Fischer } 85*22de8995SAndre Fischer 86*22de8995SAndre Fischer 87*22de8995SAndre Fischer 88*22de8995SAndre Fischer 89*22de8995SAndre Fischer void Panel::SetUIElement (const Reference<ui::XUIElement>& rxElement) 90*22de8995SAndre Fischer { 91*22de8995SAndre Fischer mxElement = rxElement; 92*22de8995SAndre Fischer if (mxElement.is()) 93*22de8995SAndre Fischer { 94*22de8995SAndre Fischer SetBackground(Wallpaper()); 95*22de8995SAndre Fischer 96*22de8995SAndre Fischer if (msLayoutHint.equalsAscii(VerticalStackLayouterName)) 97*22de8995SAndre Fischer mxVerticalStackLayoutElement.set(mxElement->getRealInterface(), UNO_QUERY); 98*22de8995SAndre Fischer } 99*22de8995SAndre Fischer } 100*22de8995SAndre Fischer 101*22de8995SAndre Fischer 102*22de8995SAndre Fischer 103*22de8995SAndre Fischer 104*22de8995SAndre Fischer void Panel::Paint (const Rectangle& rUpdateArea) 105*22de8995SAndre Fischer { 106*22de8995SAndre Fischer Window::Paint(rUpdateArea); 107*22de8995SAndre Fischer } 108*22de8995SAndre Fischer 109*22de8995SAndre Fischer 110*22de8995SAndre Fischer 111*22de8995SAndre Fischer 112*22de8995SAndre Fischer Reference<ui::XVerticalStackLayoutElement> Panel::GetVerticalStackElement (void) const 113*22de8995SAndre Fischer { 114*22de8995SAndre Fischer return mxVerticalStackLayoutElement; 115*22de8995SAndre Fischer } 116*22de8995SAndre Fischer 117*22de8995SAndre Fischer 118*22de8995SAndre Fischer } // end of namespace sfx2 119