xref: /trunk/main/sd/source/ui/dlg/PaneChildWindows.cxx (revision 7a32b0c8)
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  
23  
24  // MARKER(update_precomp.py): autogen include statement, do not remove
25  #include "precompiled_sd.hxx"
26  #include "PaneChildWindows.hxx"
27  #include "PaneDockingWindow.hrc"
28  #include "PaneDockingWindow.hxx"
29  #include "ViewShellBase.hxx"
30  #include "framework/FrameworkHelper.hxx"
31  #include "app.hrc"
32  #include "strings.hrc"
33  #include "sdresid.hxx"
34  
35  #include <com/sun/star/drawing/framework/XConfigurationController.hpp>
36  #include <com/sun/star/drawing/framework/ResourceActivationMode.hpp>
37  
38  #include <sfx2/app.hxx>
39  #include <sfx2/dockwin.hxx>
40  #include <sfx2/bindings.hxx>
41  #include <sfx2/dispatch.hxx>
42  #include <tools/diagnose_ex.h>
43  
44  namespace sd {
45  
46  using ::com::sun::star::uno::Reference;
47  using ::com::sun::star::drawing::framework::XResourceId;
48  using ::com::sun::star::drawing::framework::XConfigurationController;
49  using ::com::sun::star::drawing::framework::ResourceActivationMode_ADD;
50  using ::com::sun::star::drawing::framework::ResourceActivationMode_REPLACE;
51  
SFX_IMPL_DOCKINGWINDOW(LeftPaneImpressChildWindow,SID_LEFT_PANE_IMPRESS)52  SFX_IMPL_DOCKINGWINDOW(LeftPaneImpressChildWindow, SID_LEFT_PANE_IMPRESS)
53  SFX_IMPL_DOCKINGWINDOW(LeftPaneDrawChildWindow, SID_LEFT_PANE_DRAW)
54  
55  //===== PaneChildWindow =======================================================
56  
57  PaneChildWindow::PaneChildWindow (
58      ::Window* pParentWindow,
59      sal_uInt16 nId,
60      SfxBindings* pBindings,
61      SfxChildWinInfo* pInfo,
62      const sal_uInt16 nDockWinTitleResId,
63      const sal_uInt16 nTitleBarResId,
64      SfxChildAlignment eAlignment)
65      : SfxChildWindow (pParentWindow, nId)
66  {
67      pWindow = new PaneDockingWindow (
68          pBindings,
69          this,
70          pParentWindow,
71          SdResId( nDockWinTitleResId ),
72          String( SdResId( nTitleBarResId ) ) );
73      eChildAlignment = eAlignment;
74      static_cast<SfxDockingWindow*>(pWindow)->Initialize(pInfo);
75      SetHideNotDelete(sal_True);
76  
77      ViewShellBase* pBase = ViewShellBase::GetViewShellBase(pBindings->GetDispatcher()->GetFrame());
78      if (pBase != NULL)
79      {
80          framework::FrameworkHelper::Instance(*pBase)->UpdateConfiguration();
81      }
82  }
83  
84  
85  
86  
~PaneChildWindow(void)87  PaneChildWindow::~PaneChildWindow (void)
88  {
89      ViewShellBase* pBase = NULL;
90      PaneDockingWindow* pDockingWindow = dynamic_cast<PaneDockingWindow*>(pWindow);
91      if (pDockingWindow != NULL)
92          pBase = ViewShellBase::GetViewShellBase(
93              pDockingWindow->GetBindings().GetDispatcher()->GetFrame());
94      if (pBase != NULL)
95          framework::FrameworkHelper::Instance(*pBase)->UpdateConfiguration();
96  }
97  
98  
99  
100  
101  
102  
103  //===== LeftPaneImpressChildWindow ============================================
104  
LeftPaneImpressChildWindow(::Window * pParentWindow,sal_uInt16 nId,SfxBindings * pBindings,SfxChildWinInfo * pInfo)105  LeftPaneImpressChildWindow::LeftPaneImpressChildWindow (
106      ::Window* pParentWindow,
107      sal_uInt16 nId,
108      SfxBindings* pBindings,
109      SfxChildWinInfo* pInfo)
110      : PaneChildWindow(
111          pParentWindow,
112          nId,
113          pBindings,
114          pInfo,
115          FLT_LEFT_PANE_IMPRESS_DOCKING_WINDOW,
116          STR_LEFT_PANE_IMPRESS_TITLE,
117          SFX_ALIGN_LEFT)
118  {
119  }
120  
121  
122  
123  
124  //===== LeftPaneDrawChildWindow ===============================================
125  
LeftPaneDrawChildWindow(::Window * pParentWindow,sal_uInt16 nId,SfxBindings * pBindings,SfxChildWinInfo * pInfo)126  LeftPaneDrawChildWindow::LeftPaneDrawChildWindow (
127      ::Window* pParentWindow,
128      sal_uInt16 nId,
129      SfxBindings* pBindings,
130      SfxChildWinInfo* pInfo)
131      : PaneChildWindow(
132          pParentWindow,
133          nId,
134          pBindings,
135          pInfo,
136          FLT_LEFT_PANE_DRAW_DOCKING_WINDOW,
137          STR_LEFT_PANE_DRAW_TITLE,
138          SFX_ALIGN_LEFT)
139  {
140  }
141  
142  
143  } // end of namespace ::sd
144