1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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_SW_SOURCE_UIBASE_INC_UITOOL_HXX
20 #define INCLUDED_SW_SOURCE_UIBASE_INC_UITOOL_HXX
22 #include <vcl/weld.hxx>
23 #include <swtypes.hxx>
30 namespace com::sun::star::awt
{ class XPopupMenu
; }
31 namespace weld
{ class ComboBox
; }
32 namespace model
{ class ComplexColor
; }
40 // fill BoxInfo attribute
41 SW_DLLPUBLIC
void PrepareBoxInfo(SfxItemSet
& rSet
, const SwWrtShell
& rSh
);
44 * Convert character specific attributes to general ones used by tab pages.
46 * @param[in,out] rSet the set in which character attributes are stored
47 * @param[in] bIsPara is called by a paragraph style
49 SW_DLLPUBLIC
void ConvertAttrCharToGen(SfxItemSet
& rSet
, bool bPara
= false);
52 * Convert general attributes to the corresponding character attributes.
53 * This method is used after executed a character dialog.
55 * @param[in,out] rSet the set in which character attributes are stored
56 * @param[in] rOrigSet original itemset used as input for the dialog
57 * @param[in] bIsPara is called by a paragraph style
59 SW_DLLPUBLIC
void ConvertAttrGenToChar(SfxItemSet
& rSet
, const SfxItemSet
& rOrigSet
, bool bPara
= false);
63 * Apply character background on the shell. Need to use this to hide the mixed
64 * character background and character highlighting attribute, which were
65 * added for MSO compatibility where there are two kind of character background.
67 * @param[in] rBackgroundColor the color to apply on the shell
68 * @param[in,out] rShell the shell on which we apply the new attribute
70 void ApplyCharBackground(Color
const& rBackgroundColor
, model::ComplexColor
const& rComplexColor
, SwWrtShell
& rShell
);
72 // SfxItemSets <-> PageDesc
73 void ItemSetToPageDesc( const SfxItemSet
& rSet
, SwPageDesc
& rPageDesc
);
74 void PageDescToItemSet( const SwPageDesc
& rPageDesc
, SfxItemSet
& rSet
);
76 // fill tabs with default tabs
77 SW_DLLPUBLIC
void MakeDefTabs(SwTwips nDefDist
, SvxTabStopItem
& rTabs
);
79 // erase DefaultTabs from TabStopArray
80 //void EraseDefTabs(SvxTabStopItem& rTabs);
82 // determine space between 1st and 2nd element
83 SW_DLLPUBLIC SwTwips
GetTabDist(const SvxTabStopItem
& rTabs
);
85 // determine whether a Sfx-PageDesc combination exists in the set
86 // and set this in the set and delete the transport items
87 // (PageBreak & PageModel) from the set
88 void SwToSfxPageDescAttr( SfxItemSet
& rSet
);
89 void SfxToSwPageDescAttr( const SwWrtShell
& rShell
, SfxItemSet
& rSet
);
91 SW_DLLPUBLIC FieldUnit
GetDfltMetric(bool bWeb
);
92 void SetDfltMetric(FieldUnit eMetric
, bool bWeb
);
94 bool HasCharUnit( bool bWeb
);
95 void SetApplyCharUnit(bool bApplyChar
, bool bWeb
);
97 // fill ListBox with all char style templates, except the standard ones
98 SW_DLLPUBLIC
void FillCharStyleListBox(weld::ComboBox
& rToFill
, SwDocShell
* pDocSh
, bool bSorted
= false, bool bWithDefault
= false);
100 //inserts a string sorted into a ListBox,
101 SW_DLLPUBLIC
void InsertStringSorted(const OUString
& rId
, const OUString
& rEntry
, weld::ComboBox
& rToFill
, int nOffset
);
103 // Get table width and alignment
104 SwTwips
GetTableWidth( SwFrameFormat
const * pFormat
, SwTabCols
const & rCols
, sal_uInt16
*pPercent
,
107 OUString
GetAppLangDateTimeString( const DateTime
& );
109 // search for a command string within the menu structure and execute it
110 // at the dispatcher if there is one, if executed return true
111 bool ExecuteMenuCommand(const css::uno::Reference
<css::awt::XPopupMenu
>& rMenu
, const SfxViewFrame
& rViewFrame
, sal_uInt16 nId
);
113 #endif // INCLUDED_SW_SOURCE_UIBASE_INC_UITOOL_HXX
115 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */