merge the formfield patch from ooo-build
[ooovba.git] / sd / source / ui / inc / pubdlg.hxx
blobd4ae0e3cafcb2d4f423663b9441f141dd6109023
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: pubdlg.hxx,v $
10 * $Revision: 1.12 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _SD_PUBDLG_HXX
32 #define _SD_PUBDLG_HXX
34 #include <com/sun/star/beans/PropertyValue.hpp>
35 #include <vcl/fixed.hxx>
36 #ifndef _GROUP_HXX //autogen
37 #include <vcl/group.hxx>
38 #endif
39 #ifndef _BUTTON_HXX //autogen
40 #include <vcl/button.hxx>
41 #endif
42 #ifndef _BUTTON_HXX //autogen
43 #include <vcl/button.hxx>
44 #endif
45 #ifndef _FIELD_HXX //autogen
46 #include <vcl/field.hxx>
47 #endif
48 #ifndef _DIALOG_HXX //autogen
49 #include <vcl/dialog.hxx>
50 #endif
51 #include "resltn.hxx" // enum PublishingResolution
52 #include "pres.hxx"
53 #include "assclass.hxx"
55 #include <boost/scoped_ptr.hpp>
57 #define NOOFPAGES 6
59 enum HtmlPublishMode { PUBLISH_HTML, PUBLISH_FRAMES, PUBLISH_WEBCAST, PUBLISH_KIOSK };
61 class SfxItemSet;
63 class FixedText;
64 class RadioButton;
65 class ListBox;
66 class ComboBox;
67 class Edit;
68 class MultiLineEdit;
69 class ValueSet;
70 class SdHtmlAttrPreview;
71 class List;
72 class SdPublishingDesign;
73 class ButtonSet;
75 // *********************************************************************
76 // Html-Export Autopilot
77 // *********************************************************************
79 class SdPublishingDlg : public ModalDialog
81 private:
82 // page 1 controls
83 FixedBitmap* pPage1_Bmp;
84 FixedLine* pPage1_Titel;
85 RadioButton* pPage1_NewDesign;
86 RadioButton* pPage1_OldDesign;
87 ListBox* pPage1_Designs;
88 PushButton* pPage1_DelDesign;
89 FixedText* pPage1_Desc;
91 // page 2 controls
92 FixedBitmap* pPage2_Bmp;
93 FixedLine* pPage2_Titel;
94 RadioButton* pPage2_Standard;
95 RadioButton* pPage2_Frames;
96 RadioButton* pPage2_Kiosk;
97 RadioButton* pPage2_WebCast;
98 FixedBitmap* pPage2_Standard_FB;
99 FixedBitmap* pPage2_Frames_FB;
100 FixedBitmap* pPage2_Kiosk_FB;
101 FixedBitmap* pPage2_WebCast_FB;
103 FixedLine* pPage2_Titel_Html;
104 CheckBox* pPage2_Content;
105 CheckBox* pPage2_Notes;
107 FixedLine* pPage2_Titel_WebCast;
108 RadioButton* pPage2_ASP;
109 RadioButton* pPage2_PERL;
110 FixedText* pPage2_URL_txt;
111 Edit* pPage2_URL;
112 FixedText* pPage2_CGI_txt;
113 Edit* pPage2_CGI;
114 FixedText* pPage2_Index_txt;
115 Edit* pPage2_Index;
116 FixedLine* pPage2_Vert;
117 FixedLine* pPage2_Titel_Kiosk;
118 RadioButton* pPage2_ChgDefault;
119 RadioButton* pPage2_ChgAuto;
120 FixedText* pPage2_Duration_txt;
121 TimeField* pPage2_Duration;
122 CheckBox* pPage2_Endless;
124 // page 3 controls
125 FixedBitmap* pPage3_Bmp;
126 FixedLine* pPage3_Titel1;
127 RadioButton* pPage3_Png;
128 RadioButton* pPage3_Gif;
129 RadioButton* pPage3_Jpg;
130 FixedText* pPage3_Quality_txt;
131 ComboBox* pPage3_Quality;
132 FixedLine* pPage3_Vert;
133 FixedLine* pPage3_Titel2;
134 RadioButton* pPage3_Resolution_1;
135 RadioButton* pPage3_Resolution_2;
136 RadioButton* pPage3_Resolution_3;
137 FixedLine* pPage3_Titel3;
138 CheckBox* pPage3_SldSound;
139 CheckBox* pPage3_HiddenSlides;
140 // page 4 controls
142 FixedBitmap* pPage4_Bmp;
143 FixedLine* pPage4_Titel1;
144 FixedText* pPage4_Author_txt;
145 Edit* pPage4_Author;
146 FixedText* pPage4_Email_txt;
147 Edit* pPage4_Email;
148 FixedText* pPage4_WWW_txt;
149 Edit* pPage4_WWW;
150 FixedText* pPage4_Titel2;
151 MultiLineEdit* pPage4_Misc;
152 CheckBox* pPage4_Download;
153 //-/ CheckBox* pPage4_Created;
155 // page 5 controls
157 FixedBitmap* pPage5_Bmp;
158 FixedLine* pPage5_Titel;
159 CheckBox* pPage5_TextOnly;
160 ValueSet* pPage5_Buttons;
162 // page 6 controls
164 FixedBitmap* pPage6_Bmp;
165 FixedLine* pPage6_Titel;
166 RadioButton* pPage6_Default;
167 RadioButton* pPage6_User;
168 PushButton* pPage6_Back;
169 PushButton* pPage6_Text;
170 PushButton* pPage6_Link;
171 PushButton* pPage6_VLink;
172 PushButton* pPage6_ALink;
173 RadioButton* pPage6_DocColors;
174 SdHtmlAttrPreview* pPage6_Preview;
176 boost::scoped_ptr< ButtonSet > mpButtonSet;
178 // CheckBox* pPage6_Sound;
180 // standard controls
181 FixedLine aBottomLine;
182 HelpButton aHelpButton;
183 CancelButton aCancelButton;
184 PushButton aLastPageButton;
185 PushButton aNextPageButton;
186 OKButton aFinishButton;
188 Assistent aAssistentFunc;
190 BOOL m_bImpress;
191 BOOL m_bButtonsDirty;
193 void SetDefaults();
194 void CreatePages();
195 void RemovePages();
197 Color m_aBackColor, m_aTextColor, m_aLinkColor;
198 Color m_aVLinkColor, m_aALinkColor;
200 void ChangePage();
201 void UpdatePage();
203 List* m_pDesignList;
204 BOOL m_bDesignListDirty;
205 SdPublishingDesign* m_pDesign;
206 BOOL Load();
207 BOOL Save();
209 void GetDesign( SdPublishingDesign* pDesign );
210 void SetDesign( SdPublishingDesign* pDesign );
212 void LoadPreviewButtons();
214 DECL_LINK( FinishHdl, OKButton * );
215 DECL_LINK( NextPageHdl, PushButton * );
216 DECL_LINK( LastPageHdl, PushButton * );
218 DECL_LINK( DesignHdl, RadioButton * );
219 DECL_LINK( DesignSelectHdl, ListBox * );
220 DECL_LINK( DesignDeleteHdl, PushButton * );
221 DECL_LINK( BaseHdl, RadioButton * );
222 DECL_LINK( ContentHdl, RadioButton * );
223 DECL_LINK( GfxFormatHdl, RadioButton * );
224 DECL_LINK( ResolutionHdl, RadioButton * );
225 DECL_LINK( ButtonsHdl, ValueSet* );
226 DECL_LINK( ColorHdl, PushButton * );
227 DECL_LINK( WebServerHdl, RadioButton * );
228 DECL_LINK( SlideChgHdl, RadioButton* );
230 public:
232 SdPublishingDlg(Window* pWindow, DocumentType eDocType);
233 ~SdPublishingDlg();
235 void GetParameterSequence( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rParams );
238 #endif // _SD_PUBDLG_HXX