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_sc.hxx" 26 27 28 29 //------------------------------------------------------------------ 30 31 #ifdef _MSC_VER 32 #pragma optimize ("", off) 33 #endif 34 35 // INCLUDE --------------------------------------------------------------- 36 37 #include <sfx2/childwin.hxx> 38 #include <sfx2/request.hxx> 39 #include <sfx2/viewfrm.hxx> 40 #include <vcl/svapp.hxx> 41 #include <vcl/wrkwin.hxx> 42 43 #include "tabvwsh.hxx" 44 #include "global.hxx" 45 #include "scmod.hxx" 46 #include "docsh.hxx" 47 #include "sc.hrc" 48 49 50 // STATIC DATA ----------------------------------------------------------- 51 52 //------------------------------------------------------------------ 53 54 #define IS_AVAILABLE(WhichId,ppItem) \ 55 (pReqArgs->GetItemState((WhichId), sal_True, ppItem ) == SFX_ITEM_SET) 56 57 //! Parent-Window fuer Dialoge 58 //! Problem: OLE Server! 59 60 Window* ScTabViewShell::GetDialogParent() 61 { 62 // #95513# if a ref-input dialog is open, use it as parent 63 // (necessary when a slot is executed from the dialog's OK handler) 64 if ( nCurRefDlgId && nCurRefDlgId == SC_MOD()->GetCurRefDlgId() ) 65 { 66 SfxViewFrame* pViewFrm = GetViewFrame(); 67 if ( pViewFrm->HasChildWindow(nCurRefDlgId) ) 68 { 69 SfxChildWindow* pChild = pViewFrm->GetChildWindow(nCurRefDlgId); 70 if (pChild) 71 { 72 Window* pWin = pChild->GetWindow(); 73 if (pWin && pWin->IsVisible()) 74 return pWin; 75 } 76 } 77 } 78 79 ScDocShell* pDocSh = GetViewData()->GetDocShell(); 80 if ( pDocSh->IsOle() ) 81 { 82 //TODO/LATER: how to GetEditWindow in embedded document?! 83 //It should be OK to return the VieShell Window! 84 return GetWindow(); 85 //SvInPlaceEnvironment* pEnv = pDocSh->GetIPEnv(); 86 //if (pEnv) 87 // return pEnv->GetEditWin(); 88 } 89 90 return GetActiveWin(); // for normal views, too 91 } 92 93 94 95 96 97