Version 6.4.0.3, tag libreoffice-6.4.0.3
[LibreOffice.git] / include / sfx2 / emojicontrol.hxx
blob4026a31954ab8b0fab1f4ecafd7c0ca4a6a4deac
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/.
8 */
10 #ifndef INCLUDED_SFX2_INC_EMOJICONTROL_HXX
11 #define INCLUDED_SFX2_INC_EMOJICONTROL_HXX
13 #include <sal/config.h>
14 #include <sfx2/dllapi.h>
15 #include <vcl/tabctrl.hxx>
16 #include <sfx2/tbxctrl.hxx>
18 #define TAB_FONT_SIZE 15
20 namespace com::sun::star::frame { class XFrame; }
22 class EmojiView;
23 class ThumbnailViewItem;
24 enum class FILTER_CATEGORY;
26 class SfxEmojiControl final : public SfxPopupWindow
28 public:
29 explicit SfxEmojiControl(sal_uInt16 nId, vcl::Window* pParent,
30 const css::uno::Reference< css::frame::XFrame >& rFrame);
32 virtual ~SfxEmojiControl() override;
34 virtual void dispose() override;
36 private:
37 void ConvertLabelToUnicode(sal_uInt16 nPageId);
39 /// Return filter according to the currently selected tab page.
40 FILTER_CATEGORY getCurrentFilter() const;
42 DECL_LINK(ActivatePageHdl, TabControl*, void);
43 DECL_STATIC_LINK(SfxEmojiControl, InsertHdl, ThumbnailViewItem*, void);
45 VclPtr<TabControl> mpTabControl;
46 VclPtr<EmojiView> mpEmojiView;
49 #endif
51 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */