1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SD_SOURCE_UI_INC_PUBDLG_HXX
21 #define INCLUDED_SD_SOURCE_UI_INC_PUBDLG_HXX
23 #include <vcl/fixed.hxx>
24 #include <vcl/button.hxx>
25 #include <vcl/field.hxx>
26 #include <vcl/dialog.hxx>
27 #include <vcl/layout.hxx>
29 #include "assclass.hxx"
37 class SdHtmlAttrPreview
;
38 class SdPublishingDesign
;
41 namespace com
{ namespace sun
{ namespace star
{ namespace beans
{ struct PropertyValue
; } } } }
42 namespace com
{ namespace sun
{ namespace star
{ namespace uno
{ template <class E
> class Sequence
; } } } }
44 // *********************************************************************
45 // Html-Export Autopilot
46 // *********************************************************************
48 class SdPublishingDlg
: public ModalDialog
52 VclPtr
<VclContainer
> pPage1
;
53 VclPtr
<FixedText
> pPage1_Title
;
54 VclPtr
<RadioButton
> pPage1_NewDesign
;
55 VclPtr
<RadioButton
> pPage1_OldDesign
;
56 VclPtr
<ListBox
> pPage1_Designs
;
57 VclPtr
<PushButton
> pPage1_DelDesign
;
58 VclPtr
<FixedText
> pPage1_Desc
;
61 VclPtr
<VclContainer
> pPage2
;
62 VclPtr
<VclContainer
> pPage2Frame2
;
63 VclPtr
<VclContainer
> pPage2Frame3
;
64 VclPtr
<VclContainer
> pPage2Frame4
;
65 VclPtr
<FixedText
> pPage2_Title
;
66 VclPtr
<RadioButton
> pPage2_Standard
;
67 VclPtr
<RadioButton
> pPage2_Frames
;
68 VclPtr
<RadioButton
> pPage2_SingleDocument
;
69 VclPtr
<RadioButton
> pPage2_Kiosk
;
70 VclPtr
<RadioButton
> pPage2_WebCast
;
71 VclPtr
<FixedImage
> pPage2_Standard_FB
;
72 VclPtr
<FixedImage
> pPage2_Frames_FB
;
73 VclPtr
<FixedImage
> pPage2_Kiosk_FB
;
74 VclPtr
<FixedImage
> pPage2_WebCast_FB
;
76 VclPtr
<FixedText
> pPage2_Title_Html
;
77 VclPtr
<CheckBox
> pPage2_Content
;
78 VclPtr
<CheckBox
> pPage2_Notes
;
80 VclPtr
<FixedText
> pPage2_Title_WebCast
;
81 VclPtr
<RadioButton
> pPage2_ASP
;
82 VclPtr
<RadioButton
> pPage2_PERL
;
83 VclPtr
<FixedText
> pPage2_URL_txt
;
84 VclPtr
<Edit
> pPage2_URL
;
85 VclPtr
<FixedText
> pPage2_CGI_txt
;
86 VclPtr
<Edit
> pPage2_CGI
;
87 VclPtr
<FixedText
> pPage2_Index_txt
;
88 VclPtr
<Edit
> pPage2_Index
;
89 VclPtr
<FixedText
> pPage2_Title_Kiosk
;
90 VclPtr
<RadioButton
> pPage2_ChgDefault
;
91 VclPtr
<RadioButton
> pPage2_ChgAuto
;
92 VclPtr
<FixedText
> pPage2_Duration_txt
;
93 VclPtr
<TimeField
> pPage2_Duration
;
94 VclPtr
<CheckBox
> pPage2_Endless
;
97 VclPtr
<VclContainer
> pPage3
;
98 VclPtr
<FixedText
> pPage3_Title1
;
99 VclPtr
<RadioButton
> pPage3_Png
;
100 VclPtr
<RadioButton
> pPage3_Gif
;
101 VclPtr
<RadioButton
> pPage3_Jpg
;
102 VclPtr
<FixedText
> pPage3_Quality_txt
;
103 VclPtr
<ComboBox
> pPage3_Quality
;
104 VclPtr
<FixedText
> pPage3_Title2
;
105 VclPtr
<RadioButton
> pPage3_Resolution_1
;
106 VclPtr
<RadioButton
> pPage3_Resolution_2
;
107 VclPtr
<RadioButton
> pPage3_Resolution_3
;
108 VclPtr
<FixedText
> pPage3_Title3
;
109 VclPtr
<CheckBox
> pPage3_SldSound
;
110 VclPtr
<CheckBox
> pPage3_HiddenSlides
;
113 VclPtr
<VclContainer
> pPage4
;
114 VclPtr
<FixedText
> pPage4_Title1
;
115 VclPtr
<FixedText
> pPage4_Author_txt
;
116 VclPtr
<Edit
> pPage4_Author
;
117 VclPtr
<FixedText
> pPage4_Email_txt
;
118 VclPtr
<Edit
> pPage4_Email
;
119 VclPtr
<FixedText
> pPage4_WWW_txt
;
120 VclPtr
<Edit
> pPage4_WWW
;
121 VclPtr
<FixedText
> pPage4_Title2
;
122 VclPtr
<VclMultiLineEdit
> pPage4_Misc
;
123 VclPtr
<CheckBox
> pPage4_Download
;
126 VclPtr
<VclContainer
> pPage5
;
127 VclPtr
<FixedText
> pPage5_Title
;
128 VclPtr
<CheckBox
> pPage5_TextOnly
;
129 VclPtr
<ValueSet
> pPage5_Buttons
;
132 VclPtr
<VclContainer
> pPage6
;
133 VclPtr
<FixedText
> pPage6_Title
;
134 VclPtr
<RadioButton
> pPage6_Default
;
135 VclPtr
<RadioButton
> pPage6_User
;
136 VclPtr
<PushButton
> pPage6_Back
;
137 VclPtr
<PushButton
> pPage6_Text
;
138 VclPtr
<PushButton
> pPage6_Link
;
139 VclPtr
<PushButton
> pPage6_VLink
;
140 VclPtr
<PushButton
> pPage6_ALink
;
141 VclPtr
<RadioButton
> pPage6_DocColors
;
142 VclPtr
<SdHtmlAttrPreview
> pPage6_Preview
;
144 std::unique_ptr
< ButtonSet
> mpButtonSet
;
147 VclPtr
<PushButton
> pLastPageButton
;
148 VclPtr
<PushButton
> pNextPageButton
;
149 VclPtr
<PushButton
> pFinishButton
;
151 Assistent aAssistentFunc
;
154 bool m_bButtonsDirty
;
159 Color m_aBackColor
, m_aTextColor
, m_aLinkColor
;
160 Color m_aVLinkColor
, m_aALinkColor
;
165 std::vector
<SdPublishingDesign
> m_aDesignList
;
166 bool m_bDesignListDirty
;
167 SdPublishingDesign
* m_pDesign
;
171 void GetDesign( SdPublishingDesign
* pDesign
);
172 void SetDesign( SdPublishingDesign
const * pDesign
);
174 void LoadPreviewButtons();
176 DECL_LINK( FinishHdl
, Button
*, void );
177 DECL_LINK( NextPageHdl
, Button
*, void );
178 DECL_LINK( LastPageHdl
, Button
*, void );
180 DECL_LINK( DesignHdl
, Button
*, void );
181 DECL_LINK( DesignSelectHdl
, ListBox
&, void );
182 DECL_LINK( DesignDeleteHdl
, Button
*, void );
183 DECL_LINK( BaseHdl
, Button
*, void );
184 DECL_LINK( ContentHdl
, Button
*, void );
185 DECL_LINK( GfxFormatHdl
, Button
*, void );
186 DECL_LINK( ResolutionHdl
, Button
*, void );
187 DECL_LINK( ButtonsHdl
, ValueSet
*, void );
188 DECL_LINK( ColorHdl
, Button
*, void );
189 DECL_LINK( WebServerHdl
, Button
*, void );
190 DECL_LINK( SlideChgHdl
, Button
*, void );
194 SdPublishingDlg(vcl::Window
* pWindow
, DocumentType eDocType
);
195 virtual ~SdPublishingDlg() override
;
196 virtual void dispose() override
;
198 void GetParameterSequence( css::uno::Sequence
< css::beans::PropertyValue
>& rParams
);
200 // Screenshot interface
201 virtual std::vector
<OString
> getAllPageUIXMLDescriptions() const override
;
202 virtual bool selectPageByUIXMLDescription(const OString
& rUIXMLDescription
) override
;
205 #endif // INCLUDED_SD_SOURCE_UI_INC_PUBDLG_HXX
207 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */