xref: /AOO41X/main/sd/source/ui/inc/pubdlg.hxx (revision 67e470dafe1997e73f56ff7ff4878983707e3e07)
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