LibreOffice Module sd (master) 1
pubdlg.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20#pragma once
21
22#include <svtools/valueset.hxx>
23#include <vcl/weld.hxx>
24#include <vcl/weldutils.hxx>
25#include <pres.hxx>
26#include "assclass.hxx"
27
28#include <memory>
29#include <vector>
30
31class ListBox;
32class Edit;
35class ButtonSet;
36
38{
39struct PropertyValue;
40}
41namespace com::sun::star::uno
42{
43template <class E> class Sequence;
44}
45
46// *********************************************************************
47// Html-Export Autopilot
48// *********************************************************************
49// should turn this into a wizard
51{
52private:
53 // page 1 controls
54 std::unique_ptr<weld::Container> m_xPage1;
55 std::unique_ptr<weld::Label> m_xPage1_Title;
56 std::unique_ptr<weld::RadioButton> m_xPage1_NewDesign;
57 std::unique_ptr<weld::RadioButton> m_xPage1_OldDesign;
58 std::unique_ptr<weld::TreeView> m_xPage1_Designs;
59 std::unique_ptr<weld::Button> m_xPage1_DelDesign;
60 std::unique_ptr<weld::Label> m_xPage1_Desc;
61
62 // page 2 controls
63 std::unique_ptr<weld::Container> m_xPage2;
64 std::unique_ptr<weld::Container> m_xPage2Frame2;
65 std::unique_ptr<weld::Container> m_xPage2Frame3;
66 std::unique_ptr<weld::Container> m_xPage2Frame4;
67 std::unique_ptr<weld::Label> m_xPage2_Title;
68 std::unique_ptr<weld::RadioButton> m_xPage2_Standard;
69 std::unique_ptr<weld::RadioButton> m_xPage2_Frames;
70 std::unique_ptr<weld::RadioButton> m_xPage2_SingleDocument;
71 std::unique_ptr<weld::RadioButton> m_xPage2_Kiosk;
72 std::unique_ptr<weld::RadioButton> m_xPage2_WebCast;
73 std::unique_ptr<weld::Image> m_xPage2_Standard_FB;
74 std::unique_ptr<weld::Image> m_xPage2_Frames_FB;
75 std::unique_ptr<weld::Image> m_xPage2_Kiosk_FB;
76 std::unique_ptr<weld::Image> m_xPage2_WebCast_FB;
77
78 std::unique_ptr<weld::Label> m_xPage2_Title_Html;
79 std::unique_ptr<weld::CheckButton> m_xPage2_Content;
80 std::unique_ptr<weld::CheckButton> m_xPage2_Notes;
81
82 std::unique_ptr<weld::Label> m_xPage2_Title_WebCast;
83 std::unique_ptr<weld::RadioButton> m_xPage2_ASP;
84 std::unique_ptr<weld::RadioButton> m_xPage2_PERL;
85 std::unique_ptr<weld::Label> m_xPage2_URL_txt;
86 std::unique_ptr<weld::Entry> m_xPage2_URL;
87 std::unique_ptr<weld::Label> m_xPage2_CGI_txt;
88 std::unique_ptr<weld::Entry> m_xPage2_CGI;
89 std::unique_ptr<weld::Label> m_xPage2_Index_txt;
90 std::unique_ptr<weld::Entry> m_xPage2_Index;
91 std::unique_ptr<weld::Label> m_xPage2_Title_Kiosk;
92 std::unique_ptr<weld::RadioButton> m_xPage2_ChgDefault;
93 std::unique_ptr<weld::RadioButton> m_xPage2_ChgAuto;
94 std::unique_ptr<weld::Label> m_xPage2_Duration_txt;
95 std::unique_ptr<weld::FormattedSpinButton> m_xPage2_Duration;
96 std::unique_ptr<weld::TimeFormatter> m_xFormatter;
97 std::unique_ptr<weld::CheckButton> m_xPage2_Endless;
98
99 // page 3 controls
100 std::unique_ptr<weld::Container> m_xPage3;
101 std::unique_ptr<weld::Label> m_xPage3_Title1;
102 std::unique_ptr<weld::RadioButton> m_xPage3_Png;
103 std::unique_ptr<weld::RadioButton> m_xPage3_Gif;
104 std::unique_ptr<weld::RadioButton> m_xPage3_Jpg;
105 std::unique_ptr<weld::Label> m_xPage3_Quality_txt;
106 std::unique_ptr<weld::ComboBox> m_xPage3_Quality;
107 std::unique_ptr<weld::Label> m_xPage3_Title2;
108 std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_1;
109 std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_2;
110 std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_3;
111 std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_4;
112 std::unique_ptr<weld::Label> m_xPage3_Title3;
113 std::unique_ptr<weld::CheckButton> m_xPage3_SldSound;
114 std::unique_ptr<weld::CheckButton> m_xPage3_HiddenSlides;
115
116 // page 4 controls
117 std::unique_ptr<weld::Container> m_xPage4;
118 std::unique_ptr<weld::Label> m_xPage4_Title1;
119 std::unique_ptr<weld::Label> m_xPage4_Author_txt;
120 std::unique_ptr<weld::Entry> m_xPage4_Author;
121 std::unique_ptr<weld::Label> m_xPage4_Email_txt;
122 std::unique_ptr<weld::Entry> m_xPage4_Email;
123 std::unique_ptr<weld::Label> m_xPage4_WWW_txt;
124 std::unique_ptr<weld::Entry> m_xPage4_WWW;
125 std::unique_ptr<weld::Label> m_xPage4_Title2;
126 std::unique_ptr<weld::TextView> m_xPage4_Misc;
127 std::unique_ptr<weld::CheckButton> m_xPage4_Download;
128
129 // page 5 controls
130 std::unique_ptr<weld::Container> m_xPage5;
131 std::unique_ptr<weld::Label> m_xPage5_Title;
132 std::unique_ptr<weld::CheckButton> m_xPage5_TextOnly;
133 std::unique_ptr<ValueSet> m_xPage5_Buttons;
134 std::unique_ptr<weld::CustomWeld> m_xPage5_ButtonsWnd;
135
136 // page 6 controls
137 std::unique_ptr<weld::Container> m_xPage6;
138 std::unique_ptr<weld::Label> m_xPage6_Title;
139 std::unique_ptr<weld::RadioButton> m_xPage6_Default;
140 std::unique_ptr<weld::RadioButton> m_xPage6_User;
141 std::unique_ptr<weld::Button> m_xPage6_Back;
142 std::unique_ptr<weld::Button> m_xPage6_Text;
143 std::unique_ptr<weld::Button> m_xPage6_Link;
144 std::unique_ptr<weld::Button> m_xPage6_VLink;
145 std::unique_ptr<weld::Button> m_xPage6_ALink;
146 std::unique_ptr<weld::RadioButton> m_xPage6_DocColors;
147 std::unique_ptr<SdHtmlAttrPreview> m_xPage6_Preview;
148 std::unique_ptr<weld::CustomWeld> m_xPage6_PreviewWnd;
149
150 std::unique_ptr<ButtonSet> m_xButtonSet;
151
152 // standard controls
153 std::unique_ptr<weld::Button> m_xLastPageButton;
154 std::unique_ptr<weld::Button> m_xNextPageButton;
155 std::unique_ptr<weld::Button> m_xFinishButton;
156
158
161
162 void SetDefaults();
163 void CreatePages();
164
167
168 void ChangePage();
169 void UpdatePage();
170
171 std::vector<SdPublishingDesign> m_aDesignList;
174 void Load();
175 bool Save();
176
177 void GetDesign(SdPublishingDesign* pDesign);
178 void SetDesign(SdPublishingDesign const* pDesign);
179
180 void LoadPreviewButtons();
181
182 DECL_LINK(FinishHdl, weld::Button&, void);
183 DECL_LINK(NextPageHdl, weld::Button&, void);
184 DECL_LINK(LastPageHdl, weld::Button&, void);
185
186 DECL_LINK(DesignHdl, weld::Toggleable&, void);
187 DECL_LINK(DesignSelectHdl, weld::TreeView&, void);
188 DECL_LINK(DesignDeleteHdl, weld::Button&, void);
189 DECL_LINK(BaseHdl, weld::Toggleable&, void);
190 DECL_LINK(ContentHdl, weld::Toggleable&, void);
191 DECL_LINK(GfxFormatHdl, weld::Toggleable&, void);
192 DECL_LINK(ResolutionHdl, weld::Toggleable&, void);
193 DECL_LINK(ButtonsHdl, ValueSet*, void);
194 DECL_LINK(ColorHdl, weld::Button&, void);
195 DECL_LINK(WebServerHdl, weld::Toggleable&, void);
196 DECL_LINK(SlideChgHdl, weld::Toggleable&, void);
197
198public:
199 SdPublishingDlg(weld::Window* pWindow, DocumentType eDocType);
200 virtual ~SdPublishingDlg() override;
201
202 void GetParameterSequence(css::uno::Sequence<css::beans::PropertyValue>& rParams);
203};
204
205/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
DECL_LINK(DesignSelectHdl, weld::TreeView &, void)
std::unique_ptr< weld::CheckButton > m_xPage2_Endless
Definition: pubdlg.hxx:97
std::unique_ptr< weld::CheckButton > m_xPage3_HiddenSlides
Definition: pubdlg.hxx:114
std::unique_ptr< weld::RadioButton > m_xPage2_ChgDefault
Definition: pubdlg.hxx:92
std::unique_ptr< weld::Container > m_xPage2Frame4
Definition: pubdlg.hxx:66
std::unique_ptr< weld::RadioButton > m_xPage2_PERL
Definition: pubdlg.hxx:84
SdPublishingDlg(weld::Window *pWindow, DocumentType eDocType)
Definition: pubdlg.cxx:357
Color m_aVLinkColor
Definition: pubdlg.hxx:166
DECL_LINK(ResolutionHdl, weld::Toggleable &, void)
std::unique_ptr< weld::ComboBox > m_xPage3_Quality
Definition: pubdlg.hxx:106
std::unique_ptr< weld::RadioButton > m_xPage2_ChgAuto
Definition: pubdlg.hxx:93
std::unique_ptr< weld::Label > m_xPage2_CGI_txt
Definition: pubdlg.hxx:87
DECL_LINK(ContentHdl, weld::Toggleable &, void)
std::unique_ptr< weld::Label > m_xPage2_Duration_txt
Definition: pubdlg.hxx:94
std::unique_ptr< weld::Label > m_xPage2_Title_Html
Definition: pubdlg.hxx:78
std::unique_ptr< weld::RadioButton > m_xPage3_Jpg
Definition: pubdlg.hxx:104
std::unique_ptr< weld::Button > m_xFinishButton
Definition: pubdlg.hxx:155
std::unique_ptr< weld::RadioButton > m_xPage3_Resolution_1
Definition: pubdlg.hxx:108
std::unique_ptr< weld::Label > m_xPage4_Email_txt
Definition: pubdlg.hxx:121
std::unique_ptr< weld::Label > m_xPage4_WWW_txt
Definition: pubdlg.hxx:123
std::unique_ptr< weld::Label > m_xPage1_Desc
Definition: pubdlg.hxx:60
std::unique_ptr< weld::Label > m_xPage4_Title1
Definition: pubdlg.hxx:118
std::unique_ptr< weld::CustomWeld > m_xPage5_ButtonsWnd
Definition: pubdlg.hxx:134
std::unique_ptr< weld::RadioButton > m_xPage1_OldDesign
Definition: pubdlg.hxx:57
DECL_LINK(GfxFormatHdl, weld::Toggleable &, void)
Color m_aBackColor
Definition: pubdlg.hxx:165
std::unique_ptr< weld::Label > m_xPage1_Title
Definition: pubdlg.hxx:55
DECL_LINK(NextPageHdl, weld::Button &, void)
std::unique_ptr< weld::Container > m_xPage4
Definition: pubdlg.hxx:117
void UpdatePage()
Definition: pubdlg.cxx:1109
std::unique_ptr< weld::Entry > m_xPage4_Author
Definition: pubdlg.hxx:120
Color m_aLinkColor
Definition: pubdlg.hxx:165
std::unique_ptr< weld::TimeFormatter > m_xFormatter
Definition: pubdlg.hxx:96
DECL_LINK(DesignHdl, weld::Toggleable &, void)
std::unique_ptr< weld::Button > m_xNextPageButton
Definition: pubdlg.hxx:154
std::unique_ptr< weld::Container > m_xPage1
Definition: pubdlg.hxx:54
std::unique_ptr< weld::TreeView > m_xPage1_Designs
Definition: pubdlg.hxx:58
std::unique_ptr< weld::Entry > m_xPage2_URL
Definition: pubdlg.hxx:86
std::unique_ptr< weld::Button > m_xPage6_Text
Definition: pubdlg.hxx:142
std::unique_ptr< weld::RadioButton > m_xPage2_WebCast
Definition: pubdlg.hxx:72
std::unique_ptr< weld::CheckButton > m_xPage4_Download
Definition: pubdlg.hxx:127
void ChangePage()
Definition: pubdlg.cxx:1096
std::unique_ptr< weld::Button > m_xLastPageButton
Definition: pubdlg.hxx:153
DECL_LINK(WebServerHdl, weld::Toggleable &, void)
std::unique_ptr< weld::CheckButton > m_xPage3_SldSound
Definition: pubdlg.hxx:113
DECL_LINK(BaseHdl, weld::Toggleable &, void)
Color m_aALinkColor
Definition: pubdlg.hxx:166
bool m_bDesignListDirty
Definition: pubdlg.hxx:172
std::unique_ptr< weld::RadioButton > m_xPage6_DocColors
Definition: pubdlg.hxx:146
std::unique_ptr< weld::FormattedSpinButton > m_xPage2_Duration
Definition: pubdlg.hxx:95
void CreatePages()
Definition: pubdlg.cxx:472
std::unique_ptr< weld::Container > m_xPage6
Definition: pubdlg.hxx:137
std::unique_ptr< weld::Entry > m_xPage2_CGI
Definition: pubdlg.hxx:88
std::unique_ptr< weld::Image > m_xPage2_WebCast_FB
Definition: pubdlg.hxx:76
std::unique_ptr< weld::RadioButton > m_xPage6_Default
Definition: pubdlg.hxx:139
std::unique_ptr< weld::Label > m_xPage4_Title2
Definition: pubdlg.hxx:125
DECL_LINK(DesignDeleteHdl, weld::Button &, void)
DECL_LINK(LastPageHdl, weld::Button &, void)
std::unique_ptr< weld::Label > m_xPage3_Title3
Definition: pubdlg.hxx:112
std::unique_ptr< weld::Container > m_xPage3
Definition: pubdlg.hxx:100
std::unique_ptr< weld::Container > m_xPage2Frame3
Definition: pubdlg.hxx:65
void GetDesign(SdPublishingDesign *pDesign)
Definition: pubdlg.cxx:1359
std::unique_ptr< weld::Container > m_xPage5
Definition: pubdlg.hxx:130
std::unique_ptr< weld::RadioButton > m_xPage1_NewDesign
Definition: pubdlg.hxx:56
std::unique_ptr< weld::RadioButton > m_xPage2_Kiosk
Definition: pubdlg.hxx:71
std::unique_ptr< weld::RadioButton > m_xPage3_Gif
Definition: pubdlg.hxx:103
std::unique_ptr< ValueSet > m_xPage5_Buttons
Definition: pubdlg.hxx:133
std::unique_ptr< weld::Label > m_xPage3_Quality_txt
Definition: pubdlg.hxx:105
DECL_LINK(ColorHdl, weld::Button &, void)
std::unique_ptr< weld::Button > m_xPage6_ALink
Definition: pubdlg.hxx:145
Color m_aTextColor
Definition: pubdlg.hxx:165
std::unique_ptr< weld::RadioButton > m_xPage3_Png
Definition: pubdlg.hxx:102
std::unique_ptr< weld::TextView > m_xPage4_Misc
Definition: pubdlg.hxx:126
bool m_bButtonsDirty
Definition: pubdlg.hxx:160
std::unique_ptr< weld::RadioButton > m_xPage2_SingleDocument
Definition: pubdlg.hxx:70
std::unique_ptr< weld::Container > m_xPage2
Definition: pubdlg.hxx:63
std::unique_ptr< weld::Entry > m_xPage4_Email
Definition: pubdlg.hxx:122
std::unique_ptr< weld::CheckButton > m_xPage5_TextOnly
Definition: pubdlg.hxx:132
std::unique_ptr< weld::Label > m_xPage5_Title
Definition: pubdlg.hxx:131
std::unique_ptr< weld::Label > m_xPage2_Index_txt
Definition: pubdlg.hxx:89
std::unique_ptr< weld::Label > m_xPage2_Title_Kiosk
Definition: pubdlg.hxx:91
void SetDefaults()
Definition: pubdlg.cxx:650
std::unique_ptr< weld::CustomWeld > m_xPage6_PreviewWnd
Definition: pubdlg.hxx:148
std::unique_ptr< ButtonSet > m_xButtonSet
Definition: pubdlg.hxx:150
void GetParameterSequence(css::uno::Sequence< css::beans::PropertyValue > &rParams)
Definition: pubdlg.cxx:661
std::unique_ptr< weld::Label > m_xPage6_Title
Definition: pubdlg.hxx:138
std::unique_ptr< weld::RadioButton > m_xPage3_Resolution_4
Definition: pubdlg.hxx:111
std::unique_ptr< weld::RadioButton > m_xPage6_User
Definition: pubdlg.hxx:140
std::unique_ptr< weld::Label > m_xPage2_URL_txt
Definition: pubdlg.hxx:85
std::unique_ptr< weld::RadioButton > m_xPage3_Resolution_3
Definition: pubdlg.hxx:110
std::unique_ptr< weld::Container > m_xPage2Frame2
Definition: pubdlg.hxx:64
DECL_LINK(ButtonsHdl, ValueSet *, void)
std::unique_ptr< weld::Entry > m_xPage4_WWW
Definition: pubdlg.hxx:124
std::unique_ptr< weld::CheckButton > m_xPage2_Notes
Definition: pubdlg.hxx:80
std::unique_ptr< weld::Image > m_xPage2_Frames_FB
Definition: pubdlg.hxx:74
std::unique_ptr< weld::Button > m_xPage1_DelDesign
Definition: pubdlg.hxx:59
std::unique_ptr< weld::Label > m_xPage2_Title_WebCast
Definition: pubdlg.hxx:82
std::unique_ptr< weld::RadioButton > m_xPage2_Frames
Definition: pubdlg.hxx:69
std::unique_ptr< weld::RadioButton > m_xPage2_ASP
Definition: pubdlg.hxx:83
DECL_LINK(FinishHdl, weld::Button &, void)
SdPublishingDesign * m_pDesign
Definition: pubdlg.hxx:173
std::unique_ptr< weld::Image > m_xPage2_Kiosk_FB
Definition: pubdlg.hxx:75
std::unique_ptr< weld::Label > m_xPage2_Title
Definition: pubdlg.hxx:67
virtual ~SdPublishingDlg() override
Definition: pubdlg.cxx:467
void SetDesign(SdPublishingDesign const *pDesign)
Definition: pubdlg.cxx:1278
std::unique_ptr< weld::Entry > m_xPage2_Index
Definition: pubdlg.hxx:90
void LoadPreviewButtons()
loads the html buttons from the button sets, creates a preview and fills the itemset for page 5
Definition: pubdlg.cxx:1230
std::unique_ptr< weld::RadioButton > m_xPage2_Standard
Definition: pubdlg.hxx:68
std::unique_ptr< SdHtmlAttrPreview > m_xPage6_Preview
Definition: pubdlg.hxx:147
std::unique_ptr< weld::RadioButton > m_xPage3_Resolution_2
Definition: pubdlg.hxx:109
std::unique_ptr< weld::Button > m_xPage6_Link
Definition: pubdlg.hxx:143
DECL_LINK(SlideChgHdl, weld::Toggleable &, void)
Assistent aAssistentFunc
Definition: pubdlg.hxx:157
std::unique_ptr< weld::Button > m_xPage6_VLink
Definition: pubdlg.hxx:144
std::unique_ptr< weld::Image > m_xPage2_Standard_FB
Definition: pubdlg.hxx:73
std::vector< SdPublishingDesign > m_aDesignList
Definition: pubdlg.hxx:171
std::unique_ptr< weld::Label > m_xPage4_Author_txt
Definition: pubdlg.hxx:119
std::unique_ptr< weld::Button > m_xPage6_Back
Definition: pubdlg.hxx:141
std::unique_ptr< weld::Label > m_xPage3_Title2
Definition: pubdlg.hxx:107
std::unique_ptr< weld::Label > m_xPage3_Title1
Definition: pubdlg.hxx:101
std::unique_ptr< weld::CheckButton > m_xPage2_Content
Definition: pubdlg.hxx:79
DocumentType