Version 7.6.3.2-android, tag libreoffice-7.6.3.2-android
[LibreOffice.git] / sw / source / uibase / inc / uitool.hxx
blob87eef4e84f16371dfc31aa190132db04e4f49d26
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_SW_SOURCE_UIBASE_INC_UITOOL_HXX
20 #define INCLUDED_SW_SOURCE_UIBASE_INC_UITOOL_HXX
22 #include <vcl/weld.hxx>
23 #include <swtypes.hxx>
24 #include <swdllapi.h>
26 class SfxItemSet;
27 class SwPageDesc;
28 class SvxTabStopItem;
29 class SwWrtShell;
30 namespace com::sun::star::awt { class XPopupMenu; }
31 namespace weld { class ComboBox; }
32 namespace model { class ComplexColor; }
33 class SwDocShell;
34 class SwFrameFormat;
35 class SwTabCols;
36 class DateTime;
37 class SfxViewFrame;
38 class SwEditShell;
40 // fill BoxInfo attribute
41 SW_DLLPUBLIC void PrepareBoxInfo(SfxItemSet& rSet, const SwWrtShell& rSh);
43 /**
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
48 **/
49 SW_DLLPUBLIC void ConvertAttrCharToGen(SfxItemSet& rSet, bool bPara = false);
51 /**
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
58 **/
59 SW_DLLPUBLIC void ConvertAttrGenToChar(SfxItemSet& rSet, const SfxItemSet& rOrigSet, bool bPara = false);
62 /**
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
69 **/
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,
105 SwWrtShell* pSh );
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: */