1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 #include <svtools/ehdl.hxx>
22 #include <svl/itempool.hxx>
23 #include <svl/urihelper.hxx>
24 #include <svtools/helpopt.hxx>
25 #include <framework/sfxhelperfunctions.hxx>
26 #include <rtl/ustring.hxx>
27 #include <com/sun/star/uno/Exception.hpp>
28 #include <com/sun/star/uno/RuntimeException.hpp>
29 #include <com/sun/star/uno/Reference.hxx>
31 #include "sfxtypes.hxx"
32 #include "appdata.hxx"
33 #include <sfx2/docfac.hxx>
34 #include <sfx2/app.hxx>
35 #include "arrdecl.hxx"
36 #include <sfx2/dispatch.hxx>
37 #include <sfx2/sfxresid.hxx>
38 #include <sfx2/fcontnr.hxx>
39 #include <sfx2/viewsh.hxx>
40 #include <sfx2/msgpool.hxx>
41 #include <sfx2/mnumgr.hxx>
42 #include <sfx2/appuno.hxx>
44 #include <sfx2/docfile.hxx>
45 #include "workwin.hxx"
47 DBG_NAME(SfxAppMainNewMenu
)
48 DBG_NAME(SfxAppMainBmkMenu
)
49 DBG_NAME(SfxAppMainWizMenu
)
50 DBG_NAME(SfxAppMainOLEReg
)
51 DBG_NAME(SfxAppMainCHAOSReg
)
53 //===================================================================
55 TYPEINIT2(SfxApplication
,SfxShell
,SfxBroadcaster
);
57 //--------------------------------------------------------------------
58 void SfxApplication::Init
64 This virtual method is called from SFx through Application::Main(),
65 before Execute() is called and:
66 - the Intro is already displayed,
67 - the Applications window exists, but it is still hidden,
68 - the Bindings already exist (Controller can be registered),
69 - the Init and Config-Manager already exists,
70 - the Standard-Controller already exists,
71 - the SFx-Shells have alredy registered their Interfaces.
75 <SfxApplication::Exit()>
76 <SfxApplication::OpenClients()>
81 //--------------------------------------------------------------------
83 void SfxApplication::Exit()
87 This virtual method is called from SFx through Application::Main(),
88 after Execute() has finished and
89 - the configuration (SfxConfigManager) was already saved,
90 - the window postions etc. in the SfxIniManager were written,
91 - the Application widow still exists, but is hidden
92 - all Documents and their Views already are closed.
93 - Dispatcher, Bindings etc. already destroyed.
96 <SfxApplication::Init(int,char*[])>
102 //-------------------------------------------------------------------------
104 SfxFilterMatcher
& SfxApplication::GetFilterMatcher()
106 if( !pAppData_Impl
->pMatcher
)
108 pAppData_Impl
->pMatcher
= new SfxFilterMatcher();
109 URIHelper::SetMaybeFileHdl( STATIC_LINK(
110 pAppData_Impl
->pMatcher
, SfxFilterMatcher
, MaybeFileHdl_Impl
) );
112 return *pAppData_Impl
->pMatcher
;
115 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */