1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 #include "precompiled_sfx2.hxx" 23 24 #include "TabBar.hxx" 25 #include "sfx2/sidebar/SidebarChildWindow.hxx" 26 #include "SidebarDockingWindow.hxx" 27 #include "sfx2/sfxsids.hrc" 28 #include "helpid.hrc" 29 #include "sfx2/dockwin.hxx" 30 #include <sfx2/sidebar/propertypanel.hrc> 31 32 33 namespace sfx2 { namespace sidebar { 34 35 36 SFX_IMPL_DOCKINGWINDOW(SidebarChildWindow, SID_SIDEBAR); 37 38 39 SidebarChildWindow::SidebarChildWindow ( 40 Window* pParentWindow, 41 sal_uInt16 nId, 42 SfxBindings* pBindings, 43 SfxChildWinInfo* pInfo) 44 : SfxChildWindow(pParentWindow, nId) 45 { 46 this->pWindow = new SidebarDockingWindow( 47 pBindings, 48 *this, 49 pParentWindow, 50 WB_STDDOCKWIN | WB_OWNERDRAWDECORATION | WB_CLIPCHILDREN | WB_SIZEABLE | WB_3DLOOK | WB_ROLLABLE); 51 eChildAlignment = SFX_ALIGN_RIGHT; 52 53 this->pWindow->SetHelpId(HID_SIDEBAR_WINDOW); 54 this->pWindow->SetOutputSizePixel(Size(GetDefaultWidth(this->pWindow), 450)); 55 56 SfxDockingWindow* pDockingParent = dynamic_cast<SfxDockingWindow*>(this->pWindow); 57 if (pDockingParent != NULL) 58 pDockingParent->Initialize(pInfo); 59 SetHideNotDelete(sal_True); 60 61 this->pWindow->Show(); 62 } 63 64 65 66 67 sal_Int32 SidebarChildWindow::GetDefaultWidth (Window* pWindow) 68 { 69 if (pWindow != NULL) 70 { 71 // Width of the paragraph panel. 72 const static sal_Int32 nMaxPropertyPageWidth (115); 73 74 return pWindow->LogicToPixel(Point(nMaxPropertyPageWidth,1), MAP_APPFONT).X() 75 + TabBar::GetDefaultWidth(); 76 } 77 else 78 return 0; 79 } 80 81 82 } } // end of namespace sfx2::sidebar 83