SCIMBridge  0.4.x
scim-bridge-client-imcontext-qt.h
Go to the documentation of this file.
1 /*
2  * SCIM Bridge
3  *
4  * Copyright (c) 2006 Ryo Dairiki <ryo-dairiki@users.sourceforge.net>
5  *
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation and
10  * appearing in the file LICENSE.LGPL included in the package of this file.
11  * You can also redistribute it and/or modify it under the terms of
12  * the GNU General Public License as published by the Free Software Foundation and
13  * appearing in the file LICENSE.GPL included in the package of this file.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18  */
19 
26 #ifndef SCIMBRIDGECLIENTIMCONTEXTQT_H_
27 #define SCIMBRIDGECLIENTIMCONTEXTQT_H_
28 
29 #ifdef QT4
30 #include <QApplication>
31 #include <QEvent>
32 #include <QFont>
33 #include <QInputContext>
34 #include <QInputMethodEvent>
35 #include <QObject>
36 #include <QPoint>
37 #include <QWidget>
38 #else
39 #include <qapplication.h>
40 #include <qevent.h>
41 #include <qfont.h>
42 #include <qinputcontext.h>
43 #include <qobject.h>
44 #include <qptrlist.h>
45 #include <qpoint.h>
46 #include <qwidget.h>
47 #endif
48 
49 #include "scim-bridge.h"
50 #include "scim-bridge-attribute.h"
51 
53 
55 
59 struct _ScimBridgeClientIMContext: public QInputContext
60 {
61 
62  public:
63 
67  static void static_initialize ();
68 
72  static void static_finalize ();
73 
77  static void connection_opened ();
78 
82  static void connection_closed ();
83 
90 
95 
103  virtual bool x11FilterEvent (QWidget *widget, XEvent *event) = 0;
104 
111  virtual bool filterEvent (const QEvent *event) = 0;
112 
113 #ifdef QT4
114 
117  virtual void update () = 0;
118 
124  virtual QString identifierName () = 0;
125 
131  virtual QString language () = 0;
132 
139  virtual void mouseHandler (int offset, QMouseEvent *event) = 0;
140 
146  virtual void widgetDestroyed (QWidget *widget) = 0;
147 
148 #else
149 
153  virtual void setFocus () = 0;
154 
158  virtual void unsetFocus () = 0;
159 
169  virtual void setMicroFocus (int x, int y, int w, int h, QFont *font = 0) = 0;
170 
179  virtual void mouseHandler (int offset, QEvent::Type type, ButtonState button, ButtonState state) = 0;
180 
181 #endif
182 
186  virtual void reset () = 0;
187 
188  protected:
189 
194 
195 };
196 
197 #endif /*SCIMBRIDGECLIENTIMCONTEXTQT_H_*/
scim_bridge_client_imcontext_update_preedit
void scim_bridge_client_imcontext_update_preedit(ScimBridgeClientIMContext *imcontext)
Definition: scim-bridge-client-imcontext-gtk.c:435
scim_bridge_free_key_event
void scim_bridge_free_key_event(ScimBridgeKeyEvent *key_event)
Definition: scim-bridge-key-event.c:59
scim-bridge-client-common-qt.h
This is the common header for qt client of scim-bridge.
SCIM_BRIDGE_IDENTIFIER_NAME
const QString SCIM_BRIDGE_IDENTIFIER_NAME
Definition: scim-bridge-client-common-qt.h:43
scim_bridge_client_imcontext_set_preedit_shown
void scim_bridge_client_imcontext_set_preedit_shown(ScimBridgeClientIMContext *imcontext, boolean preedit_shown)
Definition: scim-bridge-client-imcontext-gtk.c:298
SCIM_BRIDGE_ATTRIBUTE_DECORATE_UNDERLINE
static const scim_bridge_attribute_value_t SCIM_BRIDGE_ATTRIBUTE_DECORATE_UNDERLINE
Definition: scim-bridge-attribute.h:66
scim-bridge-string.h
This is the header for the functions to manupulate strings.
SCIM_BRIDGE_ATTRIBUTE_DECORATE_REVERSE
static const scim_bridge_attribute_value_t SCIM_BRIDGE_ATTRIBUTE_DECORATE_REVERSE
Definition: scim-bridge-attribute.h:76
scim_bridge_key_event_bridge_to_qt
QKeyEvent * scim_bridge_key_event_bridge_to_qt(const ScimBridgeKeyEvent *bridge_key_event)
Definition: scim-bridge-client-key-event-utility-qt.cpp:174
scim-bridge.h
This header describes about fundamental definitions of scim-bridge.
_ScimBridgeKeyEvent
Definition: scim-bridge-key-event.c:39
ScimBridgeClientIMContextImpl::filterEvent
bool filterEvent(const QEvent *event)
Definition: scim-bridge-client-imcontext-qt.cpp:340
scim_bridge_attribute_get_end
size_t scim_bridge_attribute_get_end(const ScimBridgeAttribute *attribute)
Definition: scim-bridge-attribute.c:90
scim_bridge_attribute_get_value
scim_bridge_attribute_value_t scim_bridge_attribute_get_value(const ScimBridgeAttribute *attribute)
Definition: scim-bridge-attribute.c:102
scim-bridge-attribute.h
This header describes about attributes.
scim_bridge_attribute_value_t
unsigned int scim_bridge_attribute_value_t
Definition: scim-bridge-attribute.h:51
scim_bridge_attribute_type_t
enum _scim_bridge_attribute_type_t scim_bridge_attribute_type_t
Definition: scim-bridge-attribute.h:46
scim_bridge_attribute_get_red
unsigned int scim_bridge_attribute_get_red(const ScimBridgeAttribute *attribute)
Definition: scim-bridge-attribute.c:120
scim_bridge_client_imcontext_commit
void scim_bridge_client_imcontext_commit(ScimBridgeClientIMContext *imcontext)
Definition: scim-bridge-client-imcontext-gtk.c:486
scim_bridge_key_event_qt_to_bridge
ScimBridgeKeyEvent * scim_bridge_key_event_qt_to_bridge(const QKeyEvent *qt_key_event)
Definition: scim-bridge-client-key-event-utility-qt.cpp:236
scim-bridge-output.h
This header is used for print out error messages.
_ScimBridgeClientIMContext::unsetFocus
virtual void unsetFocus()=0
_ScimBridgeClientIMContext::alloc
static _ScimBridgeClientIMContext * alloc()
Definition: scim-bridge-client-imcontext-qt.cpp:158
_ScimBridgeClientIMContext::static_finalize
static void static_finalize()
Definition: scim-bridge-client-imcontext-qt.cpp:143
scim_bridge_attribute_get_green
unsigned int scim_bridge_attribute_get_green(const ScimBridgeAttribute *attribute)
Definition: scim-bridge-attribute.c:135
_ScimBridgeClientIMContext::connection_opened
static void connection_opened()
Definition: scim-bridge-client-imcontext-qt.cpp:148
_ScimBridgeClientIMContext::mouseHandler
virtual void mouseHandler(int offset, QEvent::Type type, ButtonState button, ButtonState state)=0
scim_bridge_client_imcontext_set_id
void scim_bridge_client_imcontext_set_id(ScimBridgeClientIMContext *imcontext, scim_bridge_imcontext_id_t new_id)
Definition: scim-bridge-client-imcontext-gtk.c:262
SCIM_BRIDGE_ATTRIBUTE_DECORATE_HIGHLIGHT
static const scim_bridge_attribute_value_t SCIM_BRIDGE_ATTRIBUTE_DECORATE_HIGHLIGHT
Definition: scim-bridge-attribute.h:71
scim_bridge_pdebugln
void scim_bridge_pdebugln(scim_bridge_debug_level_t level, const char *format,...)
Definition: scim-bridge-agent-output.cpp:81
scim_bridge_client_imcontext_set_preedit_string
void scim_bridge_client_imcontext_set_preedit_string(ScimBridgeClientIMContext *imcontext, const char *preedit_string)
Definition: scim-bridge-client-imcontext-gtk.c:274
scim_bridge_client_imcontext_delete_surrounding_text
boolean scim_bridge_client_imcontext_delete_surrounding_text(ScimBridgeClientIMContext *imcontext, int offset, int length)
Definition: scim-bridge-client-imcontext-gtk.c:543
_ScimBridgeClientIMContext::setFocus
virtual void setFocus()=0
_ScimBridgeClientIMContext::reset
virtual void reset()=0
scim_bridge_attribute_get_blue
unsigned int scim_bridge_attribute_get_blue(const ScimBridgeAttribute *attribute)
Definition: scim-bridge-attribute.c:150
scim-bridge-client-imcontext.h
This is the common header of IMContext over the all clients.
ScimBridgeClientIMContextImpl::setFocus
void setFocus()
Definition: scim-bridge-client-imcontext-qt.cpp:281
ScimBridgeClientIMContextImpl::reset
void reset()
Definition: scim-bridge-client-imcontext-qt.cpp:373
ScimBridgeClientIMContextImpl::x11FilterEvent
bool x11FilterEvent(QWidget *widget, XEvent *event)
Definition: scim-bridge-client-imcontext-qt.cpp:311
scim_bridge_client_imcontext_get_surrounding_text
boolean scim_bridge_client_imcontext_get_surrounding_text(ScimBridgeClientIMContext *imcontext, int before_max, int after_max, char **string, int *cursor_position)
Definition: scim-bridge-client-imcontext-gtk.c:498
scim_bridge_imcontext_id_t
int scim_bridge_imcontext_id_t
Definition: scim-bridge-imcontext.h:47
scim-bridge-client-key-event-utility-qt.h
This is the header of the functions to translate key events between scim-bridge and qt.
_ScimBridgeClientIMContext
Definition: scim-bridge-client-imcontext-gtk.c:42
scim_bridge_client_imcontext_set_preedit_attributes
void scim_bridge_client_imcontext_set_preedit_attributes(ScimBridgeClientIMContext *imcontext, ScimBridgeAttribute **const preedit_attributes, int attribute_count)
Definition: scim-bridge-client-imcontext-gtk.c:320
scim_bridge_attribute_get_type
scim_bridge_attribute_type_t scim_bridge_attribute_get_type(const ScimBridgeAttribute *attribute)
Definition: scim-bridge-attribute.c:66
scim_bridge_client_imcontext_set_commit_string
void scim_bridge_client_imcontext_set_commit_string(ScimBridgeClientIMContext *imcontext, const char *commit_string)
Definition: scim-bridge-client-imcontext-gtk.c:464
scim_bridge_client_imcontext_set_preedit_cursor_position
void scim_bridge_client_imcontext_set_preedit_cursor_position(ScimBridgeClientIMContext *imcontext, int cursor_position)
Definition: scim-bridge-client-imcontext-gtk.c:314
scim_bridge_client_imcontext_get_id
scim_bridge_imcontext_id_t scim_bridge_client_imcontext_get_id(const ScimBridgeClientIMContext *imcontext)
Definition: scim-bridge-client-imcontext-gtk.c:268
_ScimBridgeAttribute
Definition: scim-bridge-attribute.c:27
scim-bridge-client-imcontext-qt.h
This is the header of the public interface of IMContexts.
_ScimBridgeClientIMContext::_ScimBridgeClientIMContext
_ScimBridgeClientIMContext()
Definition: scim-bridge-client-imcontext-qt.h:193
scim_bridge_attribute_get_begin
size_t scim_bridge_attribute_get_begin(const ScimBridgeAttribute *attribute)
Definition: scim-bridge-attribute.c:78
scim_bridge_perrorln
void scim_bridge_perrorln(const char *format,...)
Definition: scim-bridge-agent-output.cpp:103
_ScimBridgeClientIMContext::static_initialize
static void static_initialize()
Definition: scim-bridge-client-imcontext-qt.cpp:138
_ScimBridgeClientIMContext::x11FilterEvent
virtual bool x11FilterEvent(QWidget *widget, XEvent *event)=0
scim_bridge_client_imcontext_beep
void scim_bridge_client_imcontext_beep(ScimBridgeClientIMContext *imcontext)
Definition: scim-bridge-client-imcontext-gtk.c:492
_ScimBridgeClientIMContext::setMicroFocus
virtual void setMicroFocus(int x, int y, int w, int h, QFont *font=0)=0
ScimBridgeClientIMContextImpl
Definition: scim-bridge-client-imcontext-qt.cpp:59
scim_bridge_client_imcontext_imengine_status_changed
void scim_bridge_client_imcontext_imengine_status_changed(ScimBridgeClientIMContext *imcontext, boolean enabled)
Definition: scim-bridge-client-imcontext-gtk.c:578
ScimBridgeClientIMContextImpl::unsetFocus
void unsetFocus()
Definition: scim-bridge-client-imcontext-qt.cpp:289
scim_bridge_client_imcontext_forward_key_event
void scim_bridge_client_imcontext_forward_key_event(ScimBridgeClientIMContext *imcontext, const ScimBridgeKeyEvent *key_event)
Definition: scim-bridge-client-imcontext-gtk.c:557
_ScimBridgeClientIMContext::filterEvent
virtual bool filterEvent(const QEvent *event)=0
_ScimBridgeClientIMContext::~_ScimBridgeClientIMContext
virtual ~_ScimBridgeClientIMContext()
Definition: scim-bridge-client-imcontext-qt.h:94
ScimBridgeClientIMContextImpl::mouseHandler
void mouseHandler(int offset, QEvent::Type type, ButtonState button, ButtonState state)
Definition: scim-bridge-client-imcontext-qt.cpp:305
retval_t
int retval_t
Definition: scim-bridge.h:59
scim_bridge_key_event_get_code
scim_bridge_key_code_t scim_bridge_key_event_get_code(const ScimBridgeKeyEvent *key_event)
Definition: scim-bridge-key-event.c:65
_ScimBridgeClientIMContext::connection_closed
static void connection_closed()
Definition: scim-bridge-client-imcontext-qt.cpp:153
scim_bridge_client_imcontext_replace_surrounding_text
boolean scim_bridge_client_imcontext_replace_surrounding_text(ScimBridgeClientIMContext *imcontext, int cursor_position, const char *string)
Definition: scim-bridge-client-imcontext-gtk.c:550
ScimBridgeClientIMContextImpl::setMicroFocus
void setMicroFocus(int x, int y, int w, int h, QFont *font=0)
Definition: scim-bridge-client-imcontext-qt.cpp:297