xref: /trunk/main/sd/source/ui/app/sddll1.cxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_sd.hxx"
30 
31 
32 #include <unotools/moduleoptions.hxx>
33 #include "sddll.hxx"
34 #include "diactrl.hxx"
35 #include "tbx_ww.hxx"
36 #include "TextObjectBar.hxx"
37 #include "BezierObjectBar.hxx"
38 #include "GraphicObjectBar.hxx"
39 #include "MediaObjectBar.hxx"
40 #include "ImpressViewShellBase.hxx"
41 #include "PresentationViewShellBase.hxx"
42 #include "OutlineViewShell.hxx"
43 #include "PresentationViewShell.hxx"
44 #include "OutlineViewShellBase.hxx"
45 #include "SlideSorterViewShellBase.hxx"
46 #include "DrawViewShell.hxx"
47 #include "GraphicViewShell.hxx"
48 #include "GraphicViewShellBase.hxx"
49 #include "DrawDocShell.hxx"
50 #include "GraphicDocShell.hxx"
51 #include "SlideSorterViewShell.hxx"
52 #include "taskpane/ToolPanelViewShell.hxx"
53 #include "FactoryIds.hxx"
54 #include "sdmod.hxx"
55 #include "app.hrc"
56 
57 namespace sd { namespace ui { namespace table {
58 	extern void RegisterInterfaces( SfxModule* pMod );
59 } } }
60 
61 
62 /*************************************************************************
63 |*
64 |* Register all Factorys
65 |*
66 \************************************************************************/
67 
68 
69 void SdDLL::RegisterFactorys()
70 {
71 	if (SvtModuleOptions().IsImpress())
72     {
73         ::sd::ImpressViewShellBase::RegisterFactory (
74             ::sd::IMPRESS_FACTORY_ID);
75         ::sd::SlideSorterViewShellBase::RegisterFactory (
76             ::sd::SLIDE_SORTER_FACTORY_ID);
77         ::sd::OutlineViewShellBase::RegisterFactory (
78             ::sd::OUTLINE_FACTORY_ID);
79         ::sd::PresentationViewShellBase::RegisterFactory (
80             ::sd::PRESENTATION_FACTORY_ID);
81     }
82 	if (SvtModuleOptions().IsDraw())
83     {
84 		::sd::GraphicViewShellBase::RegisterFactory (::sd::DRAW_FACTORY_ID);
85     }
86 }
87 
88 
89 
90 /*************************************************************************
91 |*
92 |* Register all Interfaces
93 |*
94 \************************************************************************/
95 
96 void SdDLL::RegisterInterfaces()
97 {
98 	// Modul
99 	SfxModule* pMod = SD_MOD();
100 	SdModule::RegisterInterface(pMod);
101 
102     // View shell base.
103 	::sd::ViewShellBase::RegisterInterface(pMod);
104 
105 	// DocShells
106 	::sd::DrawDocShell::RegisterInterface(pMod);
107 	::sd::GraphicDocShell::RegisterInterface(pMod);
108 
109 	// Impress ViewShells
110 	::sd::DrawViewShell::RegisterInterface(pMod);
111 	::sd::OutlineViewShell::RegisterInterface(pMod);
112 	::sd::PresentationViewShell::RegisterInterface(pMod);
113 
114 	// Draw ViewShell
115 	::sd::GraphicViewShell::RegisterInterface(pMod);
116 
117 	// Impress ObjectShells
118 	::sd::BezierObjectBar::RegisterInterface(pMod);
119 	::sd::TextObjectBar::RegisterInterface(pMod);
120 	::sd::GraphicObjectBar::RegisterInterface(pMod);
121 
122 	// Media ObjectShell
123 	::sd::MediaObjectBar::RegisterInterface(pMod);
124 
125 	// Table ObjectShell
126 	::sd::ui::table::RegisterInterfaces(pMod);
127 
128     // View shells for the side panes.
129     ::sd::slidesorter::SlideSorterViewShell::RegisterInterface (pMod);
130 	::sd::toolpanel::ToolPanelViewShell::RegisterInterface(pMod);
131     // Tell the tool panel view shell to register the interfaces of its
132     // controls.
133 	::sd::toolpanel::ToolPanelViewShell::RegisterControls();
134 }
135