Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FXComposeContext.h
Go to the documentation of this file.
1 /********************************************************************************
2 * *
3 * C o m p o s e - C o n t e x t *
4 * *
5 *********************************************************************************
6 * Copyright (C) 2005,2006 by Jeroen van der Zijp. All Rights Reserved. *
7 *********************************************************************************
8 * This library is free software; you can redistribute it and/or *
9 * modify it under the terms of the GNU Lesser General Public *
10 * License as published by the Free Software Foundation; either *
11 * version 2.1 of the License, or (at your option) any later version. *
12 * *
13 * This library is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16 * Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public *
19 * License along with this library; if not, write to the Free Software *
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
21 *********************************************************************************
22 * $Id: FXComposeContext.h,v 1.8 2006/01/22 17:57:59 fox Exp $ *
23 ********************************************************************************/
24 #ifndef FXCOMPOSECONTEXT_H
25 #define FXCOMPOSECONTEXT_H
26 
27 #ifndef FXID_H
28 #include "FXId.h"
29 #endif
30 
31 namespace FX {
32 
33 
34 class FXApp;
35 class FXWindow;
36 
37 
38 /**
39 * Compose Context manages the state of an input method
40 * if input method support is enabled.
41 */
42 class FXAPI FXComposeContext : public FXId {
44 protected:
45  FXWindow *window; // Window we belong to
46  FXSelector message; // Message to send it
47 private:
48 #ifndef WIN32
49  static int editStartCallback(void*,FXComposeContext*,void*);
50  static void editDoneCallback(void*,FXComposeContext*,void*);
51  static void editDrawCallback(void*,FXComposeContext*,void*);
52  static void editCaretCallback(void*,FXComposeContext*,void*);
53  static void statusStartCallback(void*,FXComposeContext*,void*);
54  static void statusDoneCallback(void*,FXComposeContext*,void*);
55  static void statusDrawCallback(void*,FXComposeContext*,void*);
56 #endif
57 protected:
59 private:
61  FXComposeContext &operator=(const FXComposeContext&);
62 public:
63 
64  /// Construct compose context for given window
66 
67  /// Create resource
68  virtual void create();
69 
70  /// Destroy resource
71  virtual void destroy();
72 
73  /// Focus in
74  void focusIn();
75 
76  /// Focus out
77  void focusOut();
78 
79  /// Set the spot
80  void setSpot(FXint x,FXint y);
81 
82  /// Set the area
83  void setArea(FXint x,FXint y,FXint w,FXint h);
84 
85  /// Translate key event
86  FXString translateEvent(FXRawEvent& event);
87 
88  /// Destructor
89  virtual ~FXComposeContext();
90  };
91 
92 }
93 
94 #endif
Base class for all windows.
Definition: FXWindow.h:115
FXuint FXSelector
Association key.
Definition: FXObject.h:53
#define FXAPI
Definition: fxdefs.h:122
_XEvent FXRawEvent
Definition: fxdefs.h:475
Application Object.
Definition: FXApp.h:158
#define NULL
Definition: fxdefs.h:41
Encapsulates server side resource.
Definition: FXId.h:37
Definition: FX4Splitter.h:31
int FXint
Definition: fxdefs.h:397
Compose Context manages the state of an input method if input method support is enabled.
Definition: FXComposeContext.h:42
#define FXDECLARE(classname)
Macro to set up class declaration.
Definition: FXObject.h:92
FXString provides essential string manipulation capabilities.
Definition: FXString.h:33

Copyright © 1997-2005 Jeroen van der Zijp