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 <memory>
11
#include <fcitx-utils/macros.h>
12
#include "fcitxcore_export.h"
13
#include "
inputcontext.h
"
14
#include "
inputpanel.h
"
15
16
namespace
fcitx
{
17
18
class
InputContextManager;
19
class
FocusGroupPrivate;
20
class
InputContext;
21
22
class
FCITXCORE_EXPORT
FocusGroup
{
23
friend
class
InputContextManagerPrivate
;
24
friend
class
InputContext
;
25
26
public
:
27
FocusGroup
(
const
std::string &display,
InputContextManager
&manager);
28
FocusGroup
(
const
FocusGroup
&) =
delete
;
29
virtual
~
FocusGroup
();
30
31
void
setFocusedInputContext(
InputContext
*ic);
32
InputContext
*focusedInputContext()
const
;
33
bool
foreach
(
const
InputContextVisitor &visitor);
34
35
const
std::string &display()
const
;
36
size_t
size()
const
;
37
38
protected
:
39
void
addInputContext(
InputContext
*ic);
40
void
removeInputContext(
InputContext
*ic);
41
42
private
:
43
std::unique_ptr<FocusGroupPrivate> d_ptr;
44
FCITX_DECLARE_PRIVATE(
FocusGroup
);
45
};
46
}
// namespace fcitx
47
48
#endif // _FCITX_FOCUSGROUP_H_
fcitx::FocusGroup
Definition:
focusgroup.h:22
inputpanel.h
Class for input panel in UI.
fcitx
Definition:
action.cpp:12
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:45
Generated by
1.8.13