xref: /aoo41x/main/vcl/inc/unx/i18n_im.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org 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.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _SAL_I18N_INPUTMETHOD_HXX
29 #define _SAL_I18N_INPUTMETHOD_HXX
30 
31 #include <vclpluginapi.h>
32 
33 extern "C" char* GetMethodName( XIMStyle nStyle, char *pBuf, int nBufSize);
34 
35 #define bUseInputMethodDefault True
36 
37 class VCLPLUG_GEN_PUBLIC SalI18N_InputMethod
38 {
39 	Bool    	mbUseable; 	// system supports locale as well as status
40 							// and preedit style ?
41 	Bool    	mbMultiLingual;	// system supports iiimp
42 	XIM			maMethod;
43 	XIMCallback maDestroyCallback;
44 	XIMStyles  *mpStyles;
45 
46 public:
47 
48 	Bool		IsMultiLingual()		{ return mbMultiLingual;	}
49     Bool        PosixLocale();
50 	Bool		UseMethod()				{ return mbUseable;	}
51 	XIM 		GetMethod() 			{ return maMethod;	}
52     void        HandleDestroyIM();
53 	Bool 		CreateMethod( Display *pDisplay );
54 	XIMStyles  *GetSupportedStyles() 	{ return mpStyles; 	}
55 	Bool		SetLocale( const char* pLocale = "" );
56 	Bool		FilterEvent( XEvent *pEvent, XLIB_Window window );
57 	Bool		AddConnectionWatch (Display *pDisplay, void *pConnectionHandler);
58 
59 	SalI18N_InputMethod();
60 	~SalI18N_InputMethod();
61 };
62 
63 #endif // _SAL_I18N_INPUTMETHOD_HXX
64 
65 
66