diff options
Diffstat (limited to 'sd/source/ui/inc/pubdlg.hxx')
-rw-r--r-- | sd/source/ui/inc/pubdlg.hxx | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/sd/source/ui/inc/pubdlg.hxx b/sd/source/ui/inc/pubdlg.hxx new file mode 100644 index 000000000..1f0b7274c --- /dev/null +++ b/sd/source/ui/inc/pubdlg.hxx @@ -0,0 +1,205 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#pragma once + +#include <svtools/valueset.hxx> +#include <vcl/weld.hxx> +#include <vcl/weldutils.hxx> +#include <pres.hxx> +#include "assclass.hxx" + +#include <memory> +#include <vector> + +class ListBox; +class Edit; +class SdHtmlAttrPreview; +class SdPublishingDesign; +class ButtonSet; + +namespace com::sun::star::beans +{ +struct PropertyValue; +} +namespace com::sun::star::uno +{ +template <class E> class Sequence; +} + +// ********************************************************************* +// Html-Export Autopilot +// ********************************************************************* +// should turn this into a wizard +class SdPublishingDlg final : public weld::GenericDialogController +{ +private: + // page 1 controls + std::unique_ptr<weld::Container> m_xPage1; + std::unique_ptr<weld::Label> m_xPage1_Title; + std::unique_ptr<weld::RadioButton> m_xPage1_NewDesign; + std::unique_ptr<weld::RadioButton> m_xPage1_OldDesign; + std::unique_ptr<weld::TreeView> m_xPage1_Designs; + std::unique_ptr<weld::Button> m_xPage1_DelDesign; + std::unique_ptr<weld::Label> m_xPage1_Desc; + + // page 2 controls + std::unique_ptr<weld::Container> m_xPage2; + std::unique_ptr<weld::Container> m_xPage2Frame2; + std::unique_ptr<weld::Container> m_xPage2Frame3; + std::unique_ptr<weld::Container> m_xPage2Frame4; + std::unique_ptr<weld::Label> m_xPage2_Title; + std::unique_ptr<weld::RadioButton> m_xPage2_Standard; + std::unique_ptr<weld::RadioButton> m_xPage2_Frames; + std::unique_ptr<weld::RadioButton> m_xPage2_SingleDocument; + std::unique_ptr<weld::RadioButton> m_xPage2_Kiosk; + std::unique_ptr<weld::RadioButton> m_xPage2_WebCast; + std::unique_ptr<weld::Image> m_xPage2_Standard_FB; + std::unique_ptr<weld::Image> m_xPage2_Frames_FB; + std::unique_ptr<weld::Image> m_xPage2_Kiosk_FB; + std::unique_ptr<weld::Image> m_xPage2_WebCast_FB; + + std::unique_ptr<weld::Label> m_xPage2_Title_Html; + std::unique_ptr<weld::CheckButton> m_xPage2_Content; + std::unique_ptr<weld::CheckButton> m_xPage2_Notes; + + std::unique_ptr<weld::Label> m_xPage2_Title_WebCast; + std::unique_ptr<weld::RadioButton> m_xPage2_ASP; + std::unique_ptr<weld::RadioButton> m_xPage2_PERL; + std::unique_ptr<weld::Label> m_xPage2_URL_txt; + std::unique_ptr<weld::Entry> m_xPage2_URL; + std::unique_ptr<weld::Label> m_xPage2_CGI_txt; + std::unique_ptr<weld::Entry> m_xPage2_CGI; + std::unique_ptr<weld::Label> m_xPage2_Index_txt; + std::unique_ptr<weld::Entry> m_xPage2_Index; + std::unique_ptr<weld::Label> m_xPage2_Title_Kiosk; + std::unique_ptr<weld::RadioButton> m_xPage2_ChgDefault; + std::unique_ptr<weld::RadioButton> m_xPage2_ChgAuto; + std::unique_ptr<weld::Label> m_xPage2_Duration_txt; + std::unique_ptr<weld::FormattedSpinButton> m_xPage2_Duration; + std::unique_ptr<weld::TimeFormatter> m_xFormatter; + std::unique_ptr<weld::CheckButton> m_xPage2_Endless; + + // page 3 controls + std::unique_ptr<weld::Container> m_xPage3; + std::unique_ptr<weld::Label> m_xPage3_Title1; + std::unique_ptr<weld::RadioButton> m_xPage3_Png; + std::unique_ptr<weld::RadioButton> m_xPage3_Gif; + std::unique_ptr<weld::RadioButton> m_xPage3_Jpg; + std::unique_ptr<weld::Label> m_xPage3_Quality_txt; + std::unique_ptr<weld::ComboBox> m_xPage3_Quality; + std::unique_ptr<weld::Label> m_xPage3_Title2; + std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_1; + std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_2; + std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_3; + std::unique_ptr<weld::RadioButton> m_xPage3_Resolution_4; + std::unique_ptr<weld::Label> m_xPage3_Title3; + std::unique_ptr<weld::CheckButton> m_xPage3_SldSound; + std::unique_ptr<weld::CheckButton> m_xPage3_HiddenSlides; + + // page 4 controls + std::unique_ptr<weld::Container> m_xPage4; + std::unique_ptr<weld::Label> m_xPage4_Title1; + std::unique_ptr<weld::Label> m_xPage4_Author_txt; + std::unique_ptr<weld::Entry> m_xPage4_Author; + std::unique_ptr<weld::Label> m_xPage4_Email_txt; + std::unique_ptr<weld::Entry> m_xPage4_Email; + std::unique_ptr<weld::Label> m_xPage4_WWW_txt; + std::unique_ptr<weld::Entry> m_xPage4_WWW; + std::unique_ptr<weld::Label> m_xPage4_Title2; + std::unique_ptr<weld::TextView> m_xPage4_Misc; + std::unique_ptr<weld::CheckButton> m_xPage4_Download; + + // page 5 controls + std::unique_ptr<weld::Container> m_xPage5; + std::unique_ptr<weld::Label> m_xPage5_Title; + std::unique_ptr<weld::CheckButton> m_xPage5_TextOnly; + std::unique_ptr<ValueSet> m_xPage5_Buttons; + std::unique_ptr<weld::CustomWeld> m_xPage5_ButtonsWnd; + + // page 6 controls + std::unique_ptr<weld::Container> m_xPage6; + std::unique_ptr<weld::Label> m_xPage6_Title; + std::unique_ptr<weld::RadioButton> m_xPage6_Default; + std::unique_ptr<weld::RadioButton> m_xPage6_User; + std::unique_ptr<weld::Button> m_xPage6_Back; + std::unique_ptr<weld::Button> m_xPage6_Text; + std::unique_ptr<weld::Button> m_xPage6_Link; + std::unique_ptr<weld::Button> m_xPage6_VLink; + std::unique_ptr<weld::Button> m_xPage6_ALink; + std::unique_ptr<weld::RadioButton> m_xPage6_DocColors; + std::unique_ptr<SdHtmlAttrPreview> m_xPage6_Preview; + std::unique_ptr<weld::CustomWeld> m_xPage6_PreviewWnd; + + std::unique_ptr<ButtonSet> m_xButtonSet; + + // standard controls + std::unique_ptr<weld::Button> m_xLastPageButton; + std::unique_ptr<weld::Button> m_xNextPageButton; + std::unique_ptr<weld::Button> m_xFinishButton; + + Assistent aAssistentFunc; + + bool m_bImpress; + bool m_bButtonsDirty; + + void SetDefaults(); + void CreatePages(); + + Color m_aBackColor, m_aTextColor, m_aLinkColor; + Color m_aVLinkColor, m_aALinkColor; + + void ChangePage(); + void UpdatePage(); + + std::vector<SdPublishingDesign> m_aDesignList; + bool m_bDesignListDirty; + SdPublishingDesign* m_pDesign; + void Load(); + bool Save(); + + void GetDesign(SdPublishingDesign* pDesign); + void SetDesign(SdPublishingDesign const* pDesign); + + void LoadPreviewButtons(); + + DECL_LINK(FinishHdl, weld::Button&, void); + DECL_LINK(NextPageHdl, weld::Button&, void); + DECL_LINK(LastPageHdl, weld::Button&, void); + + DECL_LINK(DesignHdl, weld::Toggleable&, void); + DECL_LINK(DesignSelectHdl, weld::TreeView&, void); + DECL_LINK(DesignDeleteHdl, weld::Button&, void); + DECL_LINK(BaseHdl, weld::Toggleable&, void); + DECL_LINK(ContentHdl, weld::Toggleable&, void); + DECL_LINK(GfxFormatHdl, weld::Toggleable&, void); + DECL_LINK(ResolutionHdl, weld::Toggleable&, void); + DECL_LINK(ButtonsHdl, ValueSet*, void); + DECL_LINK(ColorHdl, weld::Button&, void); + DECL_LINK(WebServerHdl, weld::Toggleable&, void); + DECL_LINK(SlideChgHdl, weld::Toggleable&, void); + +public: + SdPublishingDlg(weld::Window* pWindow, DocumentType eDocType); + virtual ~SdPublishingDlg() override; + + void GetParameterSequence(css::uno::Sequence<css::beans::PropertyValue>& rParams); +}; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |