1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
/*
* 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 .
*/
#ifndef INCLUDED_SVX_SOURCE_SIDEBAR_PARAGRAPH_PARALINESPACINGCONTROL_HXX
#define INCLUDED_SVX_SOURCE_SIDEBAR_PARAGRAPH_PARALINESPACINGCONTROL_HXX
#include "svx/sidebar/PopupControl.hxx"
#include "svx/sidebar/ValueSetWithTextControl.hxx"
#include <sfx2/bindings.hxx>
#include <svtools/ctrlbox.hxx>
#include <svtools/ctrltool.hxx>
#include "ParaPropertyPanel.hxx"
#include <vcl/fixed.hxx>
#include <svl/poolitem.hxx>
#include <editeng/lspcitem.hxx>
#include <sfx2/sidebar/EnumContext.hxx>
namespace svx { namespace sidebar {
#define LSP_POS_GLOBAL_VALUE "Line_Spacing_Pos"
#define LSP_LV_GLOBAL_VALUE "Line_Spacing_Lv"
#define BEGIN_VALUE 28
class ParaLineSpacingControl:public svx::sidebar::PopupControl
{
public:
ParaLineSpacingControl(Window* pParent, svx::sidebar::ParaPropertyPanel& rPanel);
~ParaLineSpacingControl();
void Rearrange(SfxItemState currSPState,FieldUnit currMetricUnit,SvxLineSpacingItem* currSPItem,const ::sfx2::sidebar::EnumContext currentContext);
//virtual void Paint(const Rectangle& rect);
//add
short GetLastCustomState();
long GetLastCustomValue();
//add end
void ExecuteLineSpace();
void SetLineSpace( SvxLineSpacingItem& rLineSpace,
int eSpace, long lValue = 0 );
void ExecuteLineSpacing( bool aIsCustom, sal_uInt16 aEntry );
void SetAllNoSel();
void PopupModeEndCallback();
private:
bool mbUseLineSPCustom;
bool mbLineSPDisable;
SfxMapUnit m_eLNSpaceUnit;
ParaPropertyPanel& mrParaPropertyPanel;
SfxBindings* mpBindings;
long nMinFixDist;
Edit* pActLineDistFld;
ValueSetWithTextControl maLineSpacing;
FixedText maCustomFT;
FixedText maLSpacingFT;
ListBox aLineDist;
FixedText maOfFT;
MetricField aLineDistAtPercentBox;
MetricField aLineDistAtMetricBox;
Image maSpacing1;
Image maSpacing115;
Image maSpacing15;
Image maSpacing2;
Image maSelSpacing1;
Image maSelSpacing115;
Image maSelSpacing15;
Image maSelSpacing2;
Image maSelSelHanging;
Image maImgCus;
Image maImgCusGrey;
OUString maStrCus;
Image* mpImg;
Image* mpImgSel;
OUString* mpStr;
OUString* mpStrTip;
OUString maLine;
OUString maOf;
sal_Int64 maValue;
sal_uInt16 maPos;
private:
void initial();
DECL_LINK(LineSPDistHdl_Impl, ListBox*);
DECL_LINK(LineSPDistAtHdl_Impl, void*);
DECL_LINK(VSSelHdl, void*);
};
}}
#endif
|