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 #ifndef INCLUDED_SW_SOURCE_UI_ENVELP_SWUILABIMP_HXX 20 #define INCLUDED_SW_SOURCE_UI_ENVELP_SWUILABIMP_HXX 21 22 #include <label.hxx> 23 #include <labimg.hxx> 24 #include <labrec.hxx> 25 #include <sfx2/tabdlg.hxx> 26 27 class SwLabPage : public SfxTabPage 28 { 29 SwDBManager* pDBManager; 30 OUString sActDBName; 31 SwLabItem aItem; 32 33 std::unique_ptr<weld::Widget> m_xAddressFrame; 34 std::unique_ptr<weld::CheckButton> m_xAddrBox; 35 std::unique_ptr<weld::TextView> m_xWritingEdit; 36 std::unique_ptr<weld::ComboBox> m_xDatabaseLB; 37 std::unique_ptr<weld::ComboBox> m_xTableLB; 38 std::unique_ptr<weld::Button> m_xInsertBT; 39 std::unique_ptr<weld::ComboBox> m_xDBFieldLB; 40 std::unique_ptr<weld::RadioButton> m_xContButton; 41 std::unique_ptr<weld::RadioButton> m_xSheetButton; 42 std::unique_ptr<weld::ComboBox> m_xMakeBox; 43 std::unique_ptr<weld::ComboBox> m_xTypeBox; 44 std::unique_ptr<weld::ComboBox> m_xHiddenSortTypeBox; 45 std::unique_ptr<weld::Label> m_xFormatInfo; 46 47 DECL_LINK(AddrHdl, weld::ToggleButton&, void); 48 DECL_LINK(DatabaseHdl, weld::ComboBox&, void ); 49 DECL_LINK(FieldHdl, weld::Button&, void); 50 DECL_LINK(PageHdl, weld::ToggleButton&, void); 51 DECL_LINK(MakeHdl, weld::ComboBox&, void); 52 DECL_LINK(TypeHdl, weld::ComboBox&, void); 53 54 void DisplayFormat (); 55 SwLabRec* GetSelectedEntryPos(); 56 57 public: 58 SwLabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet); 59 60 virtual ~SwLabPage() override; 61 62 static std::unique_ptr<SfxTabPage> Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet); 63 64 virtual void ActivatePage(const SfxItemSet& rSet) override; 65 virtual DeactivateRC DeactivatePage(SfxItemSet* pSet) override; 66 void FillItem(SwLabItem& rItem); 67 virtual bool FillItemSet(SfxItemSet* rSet) override; 68 virtual void Reset(const SfxItemSet* rSet) override; 69 GetParentSwLabDlg()70 SwLabDlg* GetParentSwLabDlg() {return static_cast<SwLabDlg*>(GetDialogController());} 71 72 void SetToBusinessCard(); 73 74 void InitDatabaseBox(); SetDBManager(SwDBManager * pDBManager_)75 void SetDBManager(SwDBManager* pDBManager_) { pDBManager = pDBManager_; } GetDBManager() const76 SwDBManager* GetDBManager() const { return pDBManager; } 77 }; 78 79 class SwPrivateDataPage : public SfxTabPage 80 { 81 std::unique_ptr<weld::Entry> m_xFirstNameED; 82 std::unique_ptr<weld::Entry> m_xNameED; 83 std::unique_ptr<weld::Entry> m_xShortCutED; 84 std::unique_ptr<weld::Entry> m_xFirstName2ED; 85 std::unique_ptr<weld::Entry> m_xName2ED; 86 std::unique_ptr<weld::Entry> m_xShortCut2ED; 87 std::unique_ptr<weld::Entry> m_xStreetED; 88 std::unique_ptr<weld::Entry> m_xZipED; 89 std::unique_ptr<weld::Entry> m_xCityED; 90 std::unique_ptr<weld::Entry> m_xCountryED; 91 std::unique_ptr<weld::Entry> m_xStateED; 92 std::unique_ptr<weld::Entry> m_xTitleED; 93 std::unique_ptr<weld::Entry> m_xProfessionED; 94 std::unique_ptr<weld::Entry> m_xPhoneED; 95 std::unique_ptr<weld::Entry> m_xMobilePhoneED; 96 std::unique_ptr<weld::Entry> m_xFaxED; 97 std::unique_ptr<weld::Entry> m_xHomePageED; 98 std::unique_ptr<weld::Entry> m_xMailED; 99 100 public: 101 SwPrivateDataPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet); 102 virtual ~SwPrivateDataPage() override; 103 104 static std::unique_ptr<SfxTabPage> Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet); 105 106 virtual void ActivatePage(const SfxItemSet& rSet) override; 107 virtual DeactivateRC DeactivatePage(SfxItemSet* pSet) override; 108 virtual bool FillItemSet(SfxItemSet* rSet) override; 109 virtual void Reset(const SfxItemSet* rSet) override; 110 }; 111 112 class SwBusinessDataPage : public SfxTabPage 113 { 114 std::unique_ptr<weld::Entry> m_xCompanyED; 115 std::unique_ptr<weld::Entry> m_xCompanyExtED; 116 std::unique_ptr<weld::Entry> m_xSloganED; 117 std::unique_ptr<weld::Entry> m_xStreetED; 118 std::unique_ptr<weld::Entry> m_xZipED; 119 std::unique_ptr<weld::Entry> m_xCityED; 120 std::unique_ptr<weld::Entry> m_xCountryED; 121 std::unique_ptr<weld::Entry> m_xStateED; 122 std::unique_ptr<weld::Entry> m_xPositionED; 123 std::unique_ptr<weld::Entry> m_xPhoneED; 124 std::unique_ptr<weld::Entry> m_xMobilePhoneED; 125 std::unique_ptr<weld::Entry> m_xFaxED; 126 std::unique_ptr<weld::Entry> m_xHomePageED; 127 std::unique_ptr<weld::Entry> m_xMailED; 128 129 public: 130 SwBusinessDataPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet); 131 virtual ~SwBusinessDataPage() override; 132 133 static std::unique_ptr<SfxTabPage> Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet); 134 135 virtual void ActivatePage(const SfxItemSet& rSet) override; 136 virtual DeactivateRC DeactivatePage(SfxItemSet* pSet) override; 137 virtual bool FillItemSet(SfxItemSet* rSet) override; 138 virtual void Reset(const SfxItemSet* rSet) override; 139 }; 140 141 #endif 142 143 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 144