Bump version to 6.4.7.2.M8
[LibreOffice.git] / cui / source / inc / dlgname.hxx
bloba1e90f32db715648f2a0c7a66b76687c2765fc04
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 .
19 #ifndef INCLUDED_CUI_SOURCE_INC_DLGNAME_HXX
20 #define INCLUDED_CUI_SOURCE_INC_DLGNAME_HXX
22 #include <vcl/weld.hxx>
24 /// Dialog for editing a name
25 class SvxNameDialog : public weld::GenericDialogController
27 private:
28 std::unique_ptr<weld::Entry> m_xEdtName;
29 std::unique_ptr<weld::Label> m_xFtDescription;
30 std::unique_ptr<weld::Button> m_xBtnOK;
32 Link<SvxNameDialog&,bool> m_aCheckNameHdl;
34 DECL_LINK(ModifyHdl, weld::Entry&, void);
36 public:
37 SvxNameDialog(weld::Window* pWindow, const OUString& rName, const OUString& rDesc);
39 OUString GetName() const { return m_xEdtName->get_text(); }
41 /** add a callback Link that is called whenever the content of the edit
42 field is changed. The Link result determines whether the OK
43 Button is enabled (> 0) or disabled (== 0).
45 @param rLink a Callback declared with DECL_LINK and implemented with
46 IMPL_LINK, that is executed on modification.
48 @param bCheckImmediately If true, the Link is called directly after
49 setting it. It is recommended to set this flag to true to avoid
50 an inconsistent state if the initial String (given in the CTOR)
51 does not satisfy the check condition.
53 @todo Remove the parameter bCheckImmediately and incorporate the 'true'
54 behaviour as default.
56 void SetCheckNameHdl(const Link<SvxNameDialog&,bool>& rLink, bool bCheckImmediately)
58 m_aCheckNameHdl = rLink;
59 if (bCheckImmediately)
60 m_xBtnOK->set_sensitive(rLink.Call(*this));
63 void SetEditHelpId(const OString& aHelpId) { m_xEdtName->set_help_id(aHelpId);}
66 /** #i68101#
67 Dialog for editing Object name
68 plus uniqueness-callback-linkHandler */
69 class SvxObjectNameDialog : public weld::GenericDialogController
71 private:
72 // name
73 std::unique_ptr<weld::Entry> m_xEdtName;
75 // buttons
76 std::unique_ptr<weld::Button> m_xBtnOK;
78 // callback link for name uniqueness
79 Link<SvxObjectNameDialog&,bool> aCheckNameHdl;
81 DECL_LINK(ModifyHdl, weld::Entry&, void);
83 public:
84 // constructor
85 SvxObjectNameDialog(weld::Window* pWindow, const OUString& rName);
87 // data access
88 OUString GetName() const { return m_xEdtName->get_text(); }
90 // set handler
91 void SetCheckNameHdl(const Link<SvxObjectNameDialog&,bool>& rLink)
93 aCheckNameHdl = rLink;
97 /** #i68101#
98 Dialog for editing Object Title and Description */
99 class SvxObjectTitleDescDialog : public weld::GenericDialogController
101 private:
102 // title
103 std::unique_ptr<weld::Entry> m_xEdtTitle;
105 // description
106 std::unique_ptr<weld::TextView> m_xEdtDescription;
108 public:
109 // constructor
110 SvxObjectTitleDescDialog(weld::Window* pWindow, const OUString& rTitle, const OUString& rDesc);
111 // data access
112 OUString GetTitle() const { return m_xEdtTitle->get_text(); }
113 OUString GetDescription() const { return m_xEdtDescription->get_text(); }
116 #endif // INCLUDED_CUI_SOURCE_INC_DLGNAME_HXX
118 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */