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