xref: /trunk/main/sd/source/ui/inc/pubdlg.hxx (revision 67e470da)
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 #ifndef _SD_PUBDLG_HXX
25 #define _SD_PUBDLG_HXX
26 
27 #include <com/sun/star/beans/PropertyValue.hpp>
28 #include <vcl/fixed.hxx>
29 #ifndef _GROUP_HXX //autogen
30 #include <vcl/group.hxx>
31 #endif
32 #ifndef _BUTTON_HXX //autogen
33 #include <vcl/button.hxx>
34 #endif
35 #ifndef _BUTTON_HXX //autogen
36 #include <vcl/button.hxx>
37 #endif
38 #ifndef _FIELD_HXX //autogen
39 #include <vcl/field.hxx>
40 #endif
41 #ifndef _DIALOG_HXX //autogen
42 #include <vcl/dialog.hxx>
43 #endif
44 #include "resltn.hxx"       // enum PublishingResolution
45 #include "pres.hxx"
46 #include "assclass.hxx"
47 
48 #include <boost/scoped_ptr.hpp>
49 
50 #define NOOFPAGES 6
51 
52 enum HtmlPublishMode { PUBLISH_HTML, PUBLISH_FRAMES, PUBLISH_WEBCAST, PUBLISH_KIOSK };
53 
54 class SfxItemSet;
55 
56 class FixedText;
57 class RadioButton;
58 class ListBox;
59 class ComboBox;
60 class Edit;
61 class MultiLineEdit;
62 class ValueSet;
63 class SdHtmlAttrPreview;
64 class List;
65 class SdPublishingDesign;
66 class ButtonSet;
67 
68 // *********************************************************************
69 // Html-Export Autopilot
70 // *********************************************************************
71 
72 class SdPublishingDlg : public ModalDialog
73 {
74 private:
75 	// page 1 controls
76 	FixedBitmap*	pPage1_Bmp;
77 	FixedLine*		pPage1_Titel;
78 	RadioButton*	pPage1_NewDesign;
79 	RadioButton*	pPage1_OldDesign;
80 	ListBox*		pPage1_Designs;
81 	PushButton*		pPage1_DelDesign;
82 	FixedText*		pPage1_Desc;
83 
84 	// page 2 controls
85 	FixedBitmap*	pPage2_Bmp;
86 	FixedLine*		pPage2_Titel;
87 	RadioButton*	pPage2_Standard;
88 	RadioButton*	pPage2_Frames;
89 	RadioButton*	pPage2_Kiosk;
90 	RadioButton*	pPage2_WebCast;
91 	FixedBitmap*	pPage2_Standard_FB;
92 	FixedBitmap*	pPage2_Frames_FB;
93 	FixedBitmap*	pPage2_Kiosk_FB;
94 	FixedBitmap*	pPage2_WebCast_FB;
95 
96 	FixedLine*		pPage2_Titel_Html;
97 	CheckBox*		pPage2_Content;
98 	CheckBox*		pPage2_Notes;
99 
100 	FixedLine*		pPage2_Titel_WebCast;
101 	RadioButton*	pPage2_ASP;
102 	RadioButton*	pPage2_PERL;
103 	FixedText*		pPage2_URL_txt;
104 	Edit*			pPage2_URL;
105 	FixedText*		pPage2_CGI_txt;
106 	Edit*			pPage2_CGI;
107 	FixedText*		pPage2_Index_txt;
108 	Edit*			pPage2_Index;
109     FixedLine*      pPage2_Vert;
110 	FixedLine*		pPage2_Titel_Kiosk;
111 	RadioButton*	pPage2_ChgDefault;
112 	RadioButton*	pPage2_ChgAuto;
113 	FixedText*		pPage2_Duration_txt;
114 	TimeField*		pPage2_Duration;
115 	CheckBox*		pPage2_Endless;
116 
117 	// page 3 controls
118 	FixedBitmap*	pPage3_Bmp;
119 	FixedLine*		pPage3_Titel1;
120 	RadioButton*	pPage3_Png;
121 	RadioButton*	pPage3_Gif;
122 	RadioButton*	pPage3_Jpg;
123 	FixedText*		pPage3_Quality_txt;
124 	ComboBox*		pPage3_Quality;
125     FixedLine*      pPage3_Vert;
126 	FixedLine*		pPage3_Titel2;
127 	RadioButton*	pPage3_Resolution_1;
128 	RadioButton*	pPage3_Resolution_2;
129 	RadioButton*	pPage3_Resolution_3;
130 	FixedLine*		pPage3_Titel3;
131 	CheckBox*		pPage3_SldSound;
132 	CheckBox*		pPage3_HiddenSlides;
133 	// page 4 controls
134 
135 	FixedBitmap*	pPage4_Bmp;
136 	FixedLine*		pPage4_Titel1;
137 	FixedText*		pPage4_Author_txt;
138 	Edit*			pPage4_Author;
139 	FixedText*		pPage4_Email_txt;
140 	Edit*			pPage4_Email;
141 	FixedText*		pPage4_WWW_txt;
142 	Edit*			pPage4_WWW;
143 	FixedText*		pPage4_Titel2;
144 	MultiLineEdit*	pPage4_Misc;
145 	CheckBox*		pPage4_Download;
146 //-/	CheckBox*		pPage4_Created;
147 
148 	// page 5 controls
149 
150 	FixedBitmap*	pPage5_Bmp;
151 	FixedLine*		pPage5_Titel;
152 	CheckBox*		pPage5_TextOnly;
153 	ValueSet*		pPage5_Buttons;
154 
155 	// page 6 controls
156 
157 	FixedBitmap*	pPage6_Bmp;
158 	FixedLine*		pPage6_Titel;
159 	RadioButton*	pPage6_Default;
160 	RadioButton*	pPage6_User;
161 	PushButton*		pPage6_Back;
162 	PushButton*		pPage6_Text;
163 	PushButton*		pPage6_Link;
164 	PushButton*		pPage6_VLink;
165 	PushButton*		pPage6_ALink;
166 	RadioButton*	pPage6_DocColors;
167 	SdHtmlAttrPreview*	pPage6_Preview;
168 
169 	boost::scoped_ptr< ButtonSet > mpButtonSet;
170 
171 //	CheckBox*		pPage6_Sound;
172 
173 	// standard controls
174 	FixedLine		aBottomLine;
175 	HelpButton		aHelpButton;
176 	CancelButton	aCancelButton;
177 	PushButton		aLastPageButton;
178 	PushButton		aNextPageButton;
179 	OKButton		aFinishButton;
180 
181 	Assistent		aAssistentFunc;
182 
183 	sal_Bool			m_bImpress;
184 	sal_Bool			m_bButtonsDirty;
185 
186 	void SetDefaults();
187 	void CreatePages();
188 	void RemovePages();
189 
190 	Color m_aBackColor, m_aTextColor, m_aLinkColor;
191 	Color m_aVLinkColor, m_aALinkColor;
192 
193 	void	ChangePage();
194 	void	UpdatePage();
195 
196 	List*	m_pDesignList;
197 	sal_Bool	m_bDesignListDirty;
198 	SdPublishingDesign* m_pDesign;
199 	sal_Bool	Load();
200 	sal_Bool	Save();
201 
202 	void	GetDesign( SdPublishingDesign* pDesign );
203 	void	SetDesign( SdPublishingDesign* pDesign );
204 
205 	void	LoadPreviewButtons();
206 
207 	DECL_LINK( FinishHdl, OKButton * );
208 	DECL_LINK( NextPageHdl, PushButton * );
209 	DECL_LINK( LastPageHdl, PushButton * );
210 
211 	DECL_LINK( DesignHdl, RadioButton * );
212 	DECL_LINK( DesignSelectHdl, ListBox * );
213 	DECL_LINK( DesignDeleteHdl, PushButton * );
214 	DECL_LINK( BaseHdl, RadioButton * );
215 	DECL_LINK( ContentHdl, RadioButton * );
216 	DECL_LINK( GfxFormatHdl, RadioButton * );
217 	DECL_LINK( ResolutionHdl, RadioButton * );
218 	DECL_LINK( ButtonsHdl, ValueSet* );
219 	DECL_LINK( ColorHdl, PushButton * );
220 	DECL_LINK( WebServerHdl, RadioButton * );
221 	DECL_LINK( SlideChgHdl, RadioButton* );
222 
223 public:
224 
225 	SdPublishingDlg(Window* pWindow, DocumentType eDocType);
226 	~SdPublishingDlg();
227 
228 	void GetParameterSequence( ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rParams );
229 };
230 
231 #endif // _SD_PUBDLG_HXX
232