LibreOffice Module svx (master) 1
dlgunit.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
20#ifndef INCLUDED_SVX_SOURCE_DIALOG_DLGUNIT_HXX
21#define INCLUDED_SVX_SOURCE_DIALOG_DLGUNIT_HXX
22
23#include <rtl/ustrbuf.hxx>
24#include <svx/svdtrans.hxx>
25#include <vcl/fieldvalues.hxx>
26
27inline OUString GetUnitString(tools::Long nVal_100, FieldUnit eFieldUnit, sal_Unicode cSep)
28{
29 OUStringBuffer aVal
30 = OUString::number(vcl::ConvertValue(nVal_100, 2, MapUnit::Map100thMM, eFieldUnit));
31
32 while (aVal.getLength() < 3)
33 aVal.insert(0, "0");
34
35 aVal.insert(aVal.getLength() - 2, cSep);
36 OUString aSuffix = SdrFormatter::GetUnitStr(eFieldUnit);
37 if (eFieldUnit != FieldUnit::NONE && eFieldUnit != FieldUnit::DEGREE
38 && eFieldUnit != FieldUnit::INCH)
39 aVal.append(" ");
40 if (eFieldUnit == FieldUnit::INCH)
41 {
42 OUString sDoublePrime = u"\u2033";
43 if (aSuffix != "\"" && aSuffix != sDoublePrime)
44 aVal.append(" ");
45 else
46 aSuffix = sDoublePrime;
47 }
48 aVal.append(aSuffix);
49
50 return aVal.makeStringAndClear();
51}
52
53#endif // INCLUDED_SVX_SOURCE_DIALOG_DLGUNIT_HXX
54
55/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static OUString GetUnitStr(MapUnit eUnit)
Definition: svdtrans.cxx:783
OUString GetUnitString(tools::Long nVal_100, FieldUnit eFieldUnit, sal_Unicode cSep)
Definition: dlgunit.hxx:27
float u
FieldUnit
long Long
sal_Int64 ConvertValue(sal_Int64 nValue, sal_Int64 mnBaseValue, sal_uInt16 nDecDigits, FieldUnit eInUnit, FieldUnit eOutUnit)
sal_uInt16 sal_Unicode