LibreOffice Module svx (master) 1
TextCharacterSpacingControl.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#ifndef INCLUDED_SVX_SOURCE_SIDEBAR_TEXT_TEXTCHARACTERSPACINGCONTROL_HXX
20#define INCLUDED_SVX_SOURCE_SIDEBAR_TEXT_TEXTCHARACTERSPACINGCONTROL_HXX
21
23
24namespace svx {
25#define SPACING_NOCUSTOM 0
26#define SPACING_CLOSE_BY_CLICK_ICON -1
27#define SPACING_CLOSE_BY_CUS_EDIT 1
28
29inline constexpr OUStringLiteral SIDEBAR_SPACING_GLOBAL_VALUE = u"PopupPanel_Spacing";
30
32
34{
35public:
37
38 virtual void GrabFocus() override;
39
40 virtual ~TextCharacterSpacingControl() override;
41
42private:
44 short mnLastCus;
45
46 std::unique_ptr<weld::MetricSpinButton> mxEditKerning;
47 std::unique_ptr<weld::Button> mxTight;
48 std::unique_ptr<weld::Button> mxVeryTight;
49 std::unique_ptr<weld::Button> mxNormal;
50 std::unique_ptr<weld::Button> mxLoose;
51 std::unique_ptr<weld::Button> mxVeryLoose;
52 std::unique_ptr<weld::Button> mxLastCustom;
53
55
56 void Initialize();
57 void ExecuteCharacterSpacing(tools::Long nValue, bool bClose = true);
58
59 DECL_LINK(PredefinedValuesHdl, weld::Button&, void);
60 DECL_LINK(KerningModifyHdl, weld::MetricSpinButton&, void);
61
62 static MapUnit GetCoreMetric();
63};
64
65}
66
67#endif
68
69/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
DECL_LINK(KerningModifyHdl, weld::MetricSpinButton &, void)
std::unique_ptr< weld::Button > mxVeryLoose
std::unique_ptr< weld::MetricSpinButton > mxEditKerning
DECL_LINK(PredefinedValuesHdl, weld::Button &, void)
void ExecuteCharacterSpacing(tools::Long nValue, bool bClose=true)
TextCharacterSpacingControl(TextCharacterSpacingPopup *pControl, weld::Widget *pParent)
std::unique_ptr< weld::Button > mxTight
rtl::Reference< TextCharacterSpacingPopup > mxControl
std::unique_ptr< weld::Button > mxLastCustom
std::unique_ptr< weld::Button > mxNormal
std::unique_ptr< weld::Button > mxVeryTight
std::unique_ptr< weld::Button > mxLoose
float u
sal_Int16 nValue
Definition: fmsrccfg.cxx:81
MapUnit
constexpr OUStringLiteral SIDEBAR_SPACING_GLOBAL_VALUE
long Long