bump product version to 6.3.0.0.beta1
[LibreOffice.git] / sd / source / ui / inc / pubdlg.hxx
blobf870c2f07ec70bf7b86ce0132e33524f7b29865d
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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>
28 #include <pres.hxx>
29 #include "assclass.hxx"
31 #include <memory>
32 #include <vector>
34 class ListBox;
35 class Edit;
36 class ValueSet;
37 class SdHtmlAttrPreview;
38 class SdPublishingDesign;
39 class ButtonSet;
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
50 private:
51 // page 1 controls
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;
60 // page 2 controls
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;
96 // page 3 controls
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;
112 // page 4 controls
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;
125 // page 5 controls
126 VclPtr<VclContainer> pPage5;
127 VclPtr<FixedText> pPage5_Title;
128 VclPtr<CheckBox> pPage5_TextOnly;
129 VclPtr<ValueSet> pPage5_Buttons;
131 // page 6 controls
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;
146 // standard controls
147 VclPtr<PushButton> pLastPageButton;
148 VclPtr<PushButton> pNextPageButton;
149 VclPtr<PushButton> pFinishButton;
151 Assistent aAssistentFunc;
153 bool m_bImpress;
154 bool m_bButtonsDirty;
156 void SetDefaults();
157 void CreatePages();
159 Color m_aBackColor, m_aTextColor, m_aLinkColor;
160 Color m_aVLinkColor, m_aALinkColor;
162 void ChangePage();
163 void UpdatePage();
165 std::vector<SdPublishingDesign> m_aDesignList;
166 bool m_bDesignListDirty;
167 SdPublishingDesign* m_pDesign;
168 void Load();
169 bool Save();
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 );
192 public:
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: */