7 #ifndef _FCITX_INPUTCONTEXTMANAGER_H_ 8 #define _FCITX_INPUTCONTEXTMANAGER_H_ 11 #include <fcitx-config/enum.h> 12 #include <fcitx-utils/macros.h> 13 #include <fcitx/fcitxcore_export.h> 18 class InputContextManagerPrivate;
21 class InputContextProperty;
22 typedef std::function<bool(FocusGroup *ic)> FocusGroupVisitor;
24 FCITX_CONFIG_ENUM(PropertyPropagatePolicy, All, Program, No);
59 void setPropertyPropagatePolicy(PropertyPropagatePolicy policy);
72 bool registerProperty(
const std::string &name,
75 bool foreach(
const InputContextVisitor &visitor);
76 bool foreachFocused(
const InputContextVisitor &visitor);
77 bool foreachGroup(
const FocusGroupVisitor &visitor);
114 void setPreeditEnabledByDefault(
bool enable);
115 bool isPreeditEnabledByDefault()
const;
120 void setInstance(
Instance *instance);
122 void unregisterInputContext(
InputContext &inputContext);
126 void unregisterProperty(
const std::string &name);
128 void notifyFocus(
InputContext &inputContext,
bool focus);
136 std::unique_ptr<InputContextManagerPrivate> d_ptr;
141 #endif // _FCITX_INPUTCONTEXTMANAGER_H_
An instance represents a standalone Fcitx instance.
Factory class for input context property.
An input context represents a client of Fcitx.
This is a class that designed to store state that is specific to certain input context.