xref: /aoo42x/main/sc/source/ui/view/tabvwshd.cxx (revision b3f79822)
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 
GetDialogParent()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