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 .
22 #include <sal/config.h>
23 #include <sfx2/dllapi.h>
24 #include <sfx2/charwin.hxx>
25 #include <svtools/toolbarmenu.hxx>
30 namespace com::sun::star::frame
{ class XFrame
; }
32 class SfxCharmapCtrl final
: public WeldToolbarPopup
35 explicit SfxCharmapCtrl(CharmapPopup
* pControl
, weld::Widget
* pParent
);
36 virtual ~SfxCharmapCtrl() override
;
38 virtual void GrabFocus() override
;
41 rtl::Reference
<CharmapPopup
> m_xControl
;
43 ScopedVclPtr
<VirtualDevice
> m_xVirDev
;
45 std::deque
<OUString
> m_aRecentCharList
;
46 std::deque
<OUString
> m_aRecentCharFontList
;
47 std::deque
<OUString
> m_aFavCharList
;
48 std::deque
<OUString
> m_aFavCharFontList
;
50 SvxCharView m_aRecentCharView
[16];
51 SvxCharView m_aFavCharView
[16];
52 std::unique_ptr
<weld::Label
> m_xRecentLabel
;
53 std::unique_ptr
<weld::Button
> m_xDlgBtn
;
54 std::unique_ptr
<weld::CustomWeld
> m_xRecentCharView
[16];
55 std::unique_ptr
<weld::CustomWeld
> m_xFavCharView
[16];
57 DECL_LINK(CharClickHdl
, SvxCharView
*, void);
58 DECL_LINK(OpenDlgHdl
, weld::Button
&, void);
60 void getFavCharacterList();
61 void updateFavCharControl();
63 void getRecentCharacterList(); //gets both recent char and recent char font list
64 void updateRecentCharControl();
67 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */