Fcitx
fcitx
focusgroup.h
1
/*
2
* SPDX-FileCopyrightText: 2016-2016 CSSlayer <wengxt@gmail.com>
3
*
4
* SPDX-License-Identifier: LGPL-2.1-or-later
5
*
6
*/
7
#ifndef _FCITX_FOCUSGROUP_H_
8
#define _FCITX_FOCUSGROUP_H_
9
10
#include <cstddef>
11
#include <memory>
12
#include <string>
13
#include <fcitx-utils/macros.h>
14
#include <fcitx/fcitxcore_export.h>
15
#include <
fcitx/inputcontext.h
>
16
#include <
fcitx/inputpanel.h
>
17
18
namespace
fcitx
{
19
20
class
InputContextManager;
21
class
FocusGroupPrivate;
22
class
InputContext;
23
24
class
FCITXCORE_EXPORT
FocusGroup
{
25
friend
class
InputContextManagerPrivate
;
26
friend
class
InputContext
;
27
28
public
:
29
FocusGroup
(
const
std::string &display,
InputContextManager
&manager);
30
FocusGroup
(
const
FocusGroup
&) =
delete
;
31
virtual
~
FocusGroup
();
32
33
void
setFocusedInputContext(
InputContext
*ic);
34
InputContext
*focusedInputContext()
const
;
35
bool
foreach
(
const
InputContextVisitor &visitor);
36
37
const
std::string &display()
const
;
38
size_t
size()
const
;
39
40
protected
:
41
void
addInputContext(
InputContext
*ic);
42
void
removeInputContext(
InputContext
*ic);
43
44
private
:
45
std::unique_ptr<FocusGroupPrivate> d_ptr;
46
FCITX_DECLARE_PRIVATE(
FocusGroup
);
47
};
48
}
// namespace fcitx
49
50
#endif // _FCITX_FOCUSGROUP_H_
fcitx::FocusGroup
Definition:
focusgroup.h:24
inputpanel.h
Class for input panel in UI.
fcitx
Definition:
action.cpp:17
fcitx::InputContextManagerPrivate
Definition:
inputcontextmanager.cpp:90
fcitx::InputContextManager
Definition:
inputcontextmanager.h:26
inputcontext.h
Input Context for Fcitx.
fcitx::InputContext
An input context represents a client of Fcitx.
Definition:
inputcontext.h:47
Generated by
1.8.13