scim::FrontEndBase Class Reference
[FrontEnd]

The base class to implement the FrontEnd objects. More...

#include <scim_frontend.h>

List of all members.

Public Member Functions

 FrontEndBase (const BackEndPointer &backend)
 Constructor.
virtual ~FrontEndBase ()
 Virtual destructor.
virtual void init (int argc, char **argv)=0
 init the frontend.
virtual void run ()=0
 run the frontend.

Protected Member Functions

functions can be used by derived classes.
uint32 get_factory_list_for_encoding (std::vector< String > &uuids, const String &encoding) const
 Get the IMEngine factories list for specific encoding.
uint32 get_factory_list_for_language (std::vector< String > &uuids, const String &language) const
 Get the IMEngine factories list for specific language.
String get_default_factory (const String &language, const String &encoding) const
 Get the default IMEngineFactory UUID for a specific language and encoding.
void set_default_factory (const String &language, const String &uuid)
 Set the default IMEngineFactory for a specific language.
String get_next_factory (const String &language, const String &encoding, const String &cur_uuid) const
 Get the next IMEngineFactory for a specific language and encoding.
String get_previous_factory (const String &language, const String &encoding, const String &cur_uuid) const
 Get the previous IMEngineFactory for a specific language and encoding.
WideString get_factory_name (const String &uuid) const
 get the name of an IMEngine factory.
WideString get_factory_authors (const String &uuid) const
 get the authors info of an IMEngine factory.
WideString get_factory_credits (const String &uuid) const
 get the credits info of an IMEngine factory.
WideString get_factory_help (const String &uuid) const
 get the help info of an IMEngine factory.
String get_factory_icon_file (const String &uuid) const
 get the icon file of an IMEngine factory.
String get_factory_locales (const String &uuid) const
 get the supported locales of an IMEngine factory.
String get_factory_language (const String &uuid) const
 get the language of an IMEngine factory.
bool validate_factory (const String &uuid, const String &encoding=String("")) const
 Check if an IMEngine factory is valid and the given encoding is supported by it.
String get_all_locales () const
 get all locales supported by BackEnd.
int new_instance (const String &sf_uuid, const String &encoding)
 create a new IMEngine instance for specific encoding.
bool replace_instance (int si_id, const String &sf_uuid)
 replace an IMEngine instance by a new instance created by another factory.
bool delete_instance (int id)
 delete an IMEngine instance according to its id.
void delete_all_instances ()
 delete all IMEngine instances.
String get_instance_uuid (int id) const
 get the factory uuid of this instance.
String get_instance_encoding (int id) const
 get the working encoding of an IMEngine instance.
WideString get_instance_name (int id) const
 get the name of an IMEngine instance.
WideString get_instance_authors (int id) const
 get the authors info of an IMEngine instance.
WideString get_instance_credits (int id) const
 get the credits info of an IMEngine instance.
WideString get_instance_help (int id) const
 get the help of an IMEngine instance.
String get_instance_icon_file (int id) const
 get the icon file of an IMEngine instance.
bool process_key_event (int id, const KeyEvent &key) const
 process a key event using specific IMEngine instance.
void move_preedit_caret (int id, unsigned int pos) const
 let a specific IMEngine instance move its preedit caret.
void select_candidate (int id, unsigned int index) const
 let a specific IMEngine instance select a candidate in its current lookup table.
void update_lookup_table_page_size (int id, unsigned int page_size) const
 update the page size of a specific IMEngine instance's lookup table.
void lookup_table_page_up (int id) const
 Let a specific IMEngine instance flip its lookup table to the previous page.
void lookup_table_page_down (int id) const
 Let a specific IMEngine instance flip its lookup table to the previous page.
void reset (int id) const
 reset a specific IMEngine instance.
void focus_in (int id) const
 focus in a specific IMEngine instance.
void focus_out (int id) const
 focus out a specific IMEngine instance.
void trigger_property (int id, const String &property) const
 trigger a property of a specific IMEngine instance.
void process_helper_event (int id, const String &helper_uuid, const Transaction &trans) const
 let a specific IMEngine instance to process the events sent from a Helper process.
void update_client_capabilities (int id, unsigned int cap) const
 let a specific IMEngine instance to update itself according to the capabilities of the client application.
Virtual protected methods.
The following methods should be implemented by derivation classes. these functions handle the real things.

virtual void show_preedit_string (int id)
 show preedit string area for an IMEngine instance.
virtual void show_aux_string (int id)
 show aux string area for an IMEngine instance.
virtual void show_lookup_table (int id)
 show lookup table area for an IMEngine instance.
virtual void hide_preedit_string (int id)
 hide preedit string area for an IMEngine instance.
virtual void hide_aux_string (int id)
 hide aux string area for an IMEngine instance.
virtual void hide_lookup_table (int id)
 hide lookup table area for an IMEngine instance.
virtual void update_preedit_caret (int id, int caret)
 update the position of preedit caret for an IMEngine instance.
virtual void update_preedit_string (int id, const WideString &str, const AttributeList &attrs)
 update the content of preedit string for an IMEngine instance.
virtual void update_aux_string (int id, const WideString &str, const AttributeList &attrs)
 update the content of aux string for an IMEngine instance.
virtual void update_lookup_table (int id, const LookupTable &table)
 update the content of lookup table for an IMEngine instance.
virtual void commit_string (int id, const WideString &str)
 commit a string to client for an IMEngine instance.
virtual void forward_key_event (int id, const KeyEvent &key)
 forward a keyevent to the client of an IMEngine instance.
virtual void register_properties (int id, const PropertyList &properties)
 register all the properties of an IMEngine instance into this FrontEnd.
virtual void update_property (int id, const Property &property)
 update a property of an IMEngine instance.
virtual void beep (int id)
 generate a short beep.
virtual void start_helper (int id, const String &helper_uuid)
 start a Client Helper process.
virtual void stop_helper (int id, const String &helper_uuid)
 stop a Client Helper process.
virtual void send_helper_event (int id, const String &helper_uuid, const Transaction &trans)
 send an events transaction to a Client Helper process.
virtual bool get_surrounding_text (int id, WideString &text, int &cursor, int maxlen_before, int maxlen_after)
 Retrieves context around the insertion point.
virtual bool delete_surrounding_text (int id, int offset, int len)
 Ask the client to delete characters around the cursor position.

Friends

class FrontEndBaseImpl


Detailed Description

The base class to implement the FrontEnd objects.

FrontEnd is an interface between IMEngineFactory/IMEngineInstance objects and the user applications. It forward the user requests to IMEngineFactory/IMEngineInstance objects, and handle the requests sent back.


Constructor & Destructor Documentation

scim::FrontEndBase::FrontEndBase ( const BackEndPointer backend  ) 

Constructor.

Parameters:
backend A BackEnd object which holds all IMEngineFactory objects.

virtual scim::FrontEndBase::~FrontEndBase (  )  [virtual]

Virtual destructor.


Member Function Documentation

uint32 scim::FrontEndBase::get_factory_list_for_encoding ( std::vector< String > &  uuids,
const String encoding 
) const [protected]

Get the IMEngine factories list for specific encoding.

Parameters:
uuids the vector to store the factories' uuids which support the encoding.
encoding the encoding to be queried. If empty, all IMEngine factories will be returned.
Returns:
the number of IMEngine factories found.

uint32 scim::FrontEndBase::get_factory_list_for_language ( std::vector< String > &  uuids,
const String language 
) const [protected]

Get the IMEngine factories list for specific language.

Parameters:
uuids the vector to store the factories' uuids which support the encoding.
language the language to be queried. If empty, all IMEngine factories will be returned.
Returns:
the number of IMEngine factories found.

String scim::FrontEndBase::get_default_factory ( const String language,
const String encoding 
) const [protected]

Get the default IMEngineFactory UUID for a specific language and encoding.

Parameters:
language the language to be queried.
encoding the encoding to be queried, if empty then don't match encoding.
Returns:
the UUID of the default IMEngineFactory for this language.

void scim::FrontEndBase::set_default_factory ( const String language,
const String uuid 
) [protected]

Set the default IMEngineFactory for a specific language.

Parameters:
language the language to be set.
uuid the uuid of the default IMEngineFactory for this language.

String scim::FrontEndBase::get_next_factory ( const String language,
const String encoding,
const String cur_uuid 
) const [protected]

Get the next IMEngineFactory for a specific language and encoding.

Parameters:
language the language to be queried, if empty then don't match language.
encoding the encoding to be queried, if empty then don't match encoding.
cur_uuid the UUID of current IMEngineFactory.
Returns:
the UUID of the next IMEngineFactory for this language and encoding corresponding to the current IMEngineFactory.

String scim::FrontEndBase::get_previous_factory ( const String language,
const String encoding,
const String cur_uuid 
) const [protected]

Get the previous IMEngineFactory for a specific language and encoding.

Parameters:
language the language to be queried, if empty then don't match language.
encoding the encoding to be queried, if empty then don't match encoding.
cur_uuid the UUID of current IMEngineFactory.
Returns:
the UUID of the previous IMEngineFactory for this language and encoding corresponding to the current IMEngineFactory.

WideString scim::FrontEndBase::get_factory_name ( const String uuid  )  const [protected]

get the name of an IMEngine factory.

Parameters:
uuid the uuid of the IMEngine factory
Returns:
the name of the IMEngine factory.

WideString scim::FrontEndBase::get_factory_authors ( const String uuid  )  const [protected]

get the authors info of an IMEngine factory.

Parameters:
uuid the uuid of the IMEngine factory
Returns:
the authors info of the IMEngine factory.

WideString scim::FrontEndBase::get_factory_credits ( const String uuid  )  const [protected]

get the credits info of an IMEngine factory.

Parameters:
uuid the uuid of the IMEngine factory
Returns:
the credits info of the IMEngine factory.

WideString scim::FrontEndBase::get_factory_help ( const String uuid  )  const [protected]

get the help info of an IMEngine factory.

Parameters:
uuid the uuid of the IMEngine factory
Returns:
the help info of the IMEngine factory.

String scim::FrontEndBase::get_factory_icon_file ( const String uuid  )  const [protected]

get the icon file of an IMEngine factory.

Parameters:
uuid the uuid of the IMEngine factory
Returns:
the icon file name of the IMEngine factory.

String scim::FrontEndBase::get_factory_locales ( const String uuid  )  const [protected]

get the supported locales of an IMEngine factory.

Parameters:
uuid the uuid of the IMEngine factory
Returns:
a comma separated list of the supported locales.

String scim::FrontEndBase::get_factory_language ( const String uuid  )  const [protected]

get the language of an IMEngine factory.

Parameters:
uuid the uuid of the IMEngine factory
Returns:
the language of this IMEngine factory.

bool scim::FrontEndBase::validate_factory ( const String uuid,
const String encoding = String("") 
) const [protected]

Check if an IMEngine factory is valid and the given encoding is supported by it.

Parameters:
uuid The uuid of the IMEngine factory to be checked.
encoding The encoding should be supported by the factory.
Returns:
true if the factory is valid and the given encoding is supported.

String scim::FrontEndBase::get_all_locales (  )  const [protected]

get all locales supported by BackEnd.

Returns:
a comman separated list of all supported locales.

int scim::FrontEndBase::new_instance ( const String sf_uuid,
const String encoding 
) [protected]

create a new IMEngine instance for specific encoding.

Parameters:
sf_uuid the IMEngineFactory UUID.
encoding the encoding to be used.
Returns:
the newly created IMEngine instance id, -1 means error occurred.

bool scim::FrontEndBase::replace_instance ( int  si_id,
const String sf_uuid 
) [protected]

replace an IMEngine instance by a new instance created by another factory.

This function is used to change the input method for an input context on the fly.

Parameters:
si_id the IMEngine instance to be replaced.
sf_uuid the new IMEngine factory to be used.
Returns:
true if success.

bool scim::FrontEndBase::delete_instance ( int  id  )  [protected]

delete an IMEngine instance according to its id.

Parameters:
id the id of the IMEngine instance to be deleted.
Returns:
true if success, false if there is no such instance.

void scim::FrontEndBase::delete_all_instances (  )  [protected]

delete all IMEngine instances.

This function should be called just before quitting the FrontEnd.

String scim::FrontEndBase::get_instance_uuid ( int  id  )  const [protected]

get the factory uuid of this instance.

Parameters:
id the IMEngine instance id.
Returns:
the factory uuid of this instance.

String scim::FrontEndBase::get_instance_encoding ( int  id  )  const [protected]

get the working encoding of an IMEngine instance.

Parameters:
id the IMEngine instance id.
Returns:
the working encoding of this IMEngine instance.

WideString scim::FrontEndBase::get_instance_name ( int  id  )  const [protected]

get the name of an IMEngine instance.

Parameters:
id the IMEngine instance id.
Returns:
the name of this IMEngine instance, aka. the name of its factory.

WideString scim::FrontEndBase::get_instance_authors ( int  id  )  const [protected]

get the authors info of an IMEngine instance.

Parameters:
id the IMEngine instance id.
Returns:
the authors info of this IMEngine instance, aka. the authors of its factory.

WideString scim::FrontEndBase::get_instance_credits ( int  id  )  const [protected]

get the credits info of an IMEngine instance.

Parameters:
id the IMEngine instance id.
Returns:
the credits info of this IMEngine instance, aka. the credits of its factory.

WideString scim::FrontEndBase::get_instance_help ( int  id  )  const [protected]

get the help of an IMEngine instance.

Parameters:
id the IMEngine instance id.
Returns:
the help of this IMEngine instance, aka. the help of its factory.

String scim::FrontEndBase::get_instance_icon_file ( int  id  )  const [protected]

get the icon file of an IMEngine instance.

Parameters:
id the IMEngine instance id.
Returns:
the icon file name of this IMEngine instance.

bool scim::FrontEndBase::process_key_event ( int  id,
const KeyEvent key 
) const [protected]

process a key event using specific IMEngine instance.

Parameters:
id the IMEngine instance id.
key the key event to be processed.
Returns:
true if the event was processed successfully, false if the event was not processed and should be forward to the client application.

void scim::FrontEndBase::move_preedit_caret ( int  id,
unsigned int  pos 
) const [protected]

let a specific IMEngine instance move its preedit caret.

Parameters:
id the IMEngine instance id.
pos the new preedit caret position.

void scim::FrontEndBase::select_candidate ( int  id,
unsigned int  index 
) const [protected]

let a specific IMEngine instance select a candidate in its current lookup table.

Parameters:
id the IMEngine instance id.
index the candidate index in current lookup table page to be selected.

void scim::FrontEndBase::update_lookup_table_page_size ( int  id,
unsigned int  page_size 
) const [protected]

update the page size of a specific IMEngine instance's lookup table.

Parameters:
id the IMEngine instance id.
page_size the new page size to be used.

void scim::FrontEndBase::lookup_table_page_up ( int  id  )  const [protected]

Let a specific IMEngine instance flip its lookup table to the previous page.

void scim::FrontEndBase::lookup_table_page_down ( int  id  )  const [protected]

Let a specific IMEngine instance flip its lookup table to the previous page.

void scim::FrontEndBase::reset ( int  id  )  const [protected]

reset a specific IMEngine instance.

Parameters:
id the id of the IMEngine instance to be reset.

void scim::FrontEndBase::focus_in ( int  id  )  const [protected]

focus in a specific IMEngine instance.

Parameters:
id the id of the IMEngine instance to be focused in.

void scim::FrontEndBase::focus_out ( int  id  )  const [protected]

focus out a specific IMEngine instance.

Parameters:
id the id of the IMEngine instance to be focused out.

void scim::FrontEndBase::trigger_property ( int  id,
const String property 
) const [protected]

trigger a property of a specific IMEngine instance.

Parameters:
id the id of the IMEngine instance.
property the key of the property to be triggered.

void scim::FrontEndBase::process_helper_event ( int  id,
const String helper_uuid,
const Transaction trans 
) const [protected]

let a specific IMEngine instance to process the events sent from a Helper process.

Parameters:
id the id of the IMEngine instance.
helper_uuid the uuid of the Helper process.
trans the transaction which contains the events.

void scim::FrontEndBase::update_client_capabilities ( int  id,
unsigned int  cap 
) const [protected]

let a specific IMEngine instance to update itself according to the capabilities of the client application.

Parameters:
id the id of the IMEngine instance.
cap the bitset of the capabilities which are supported by client.

virtual void scim::FrontEndBase::show_preedit_string ( int  id  )  [protected, virtual]

show preedit string area for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.

virtual void scim::FrontEndBase::show_aux_string ( int  id  )  [protected, virtual]

show aux string area for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.

virtual void scim::FrontEndBase::show_lookup_table ( int  id  )  [protected, virtual]

show lookup table area for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.

virtual void scim::FrontEndBase::hide_preedit_string ( int  id  )  [protected, virtual]

hide preedit string area for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.

virtual void scim::FrontEndBase::hide_aux_string ( int  id  )  [protected, virtual]

hide aux string area for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.

virtual void scim::FrontEndBase::hide_lookup_table ( int  id  )  [protected, virtual]

hide lookup table area for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.

virtual void scim::FrontEndBase::update_preedit_caret ( int  id,
int  caret 
) [protected, virtual]

update the position of preedit caret for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
caret the new caret position.

virtual void scim::FrontEndBase::update_preedit_string ( int  id,
const WideString str,
const AttributeList attrs 
) [protected, virtual]

update the content of preedit string for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
str the new content of preedit string.
attrs the string attributes.

virtual void scim::FrontEndBase::update_aux_string ( int  id,
const WideString str,
const AttributeList attrs 
) [protected, virtual]

update the content of aux string for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
str the new content of aux string.
attrs the string attributes.

virtual void scim::FrontEndBase::update_lookup_table ( int  id,
const LookupTable table 
) [protected, virtual]

update the content of lookup table for an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
table the new lookup table.

virtual void scim::FrontEndBase::commit_string ( int  id,
const WideString str 
) [protected, virtual]

commit a string to client for an IMEngine instance.

Parameters:
id the id of the IMEngine instance to commit the string.
str the string to be committed.

virtual void scim::FrontEndBase::forward_key_event ( int  id,
const KeyEvent key 
) [protected, virtual]

forward a keyevent to the client of an IMEngine instance.

Parameters:
id the id of the IMEngine instance.
key the key event to be forwarded.

virtual void scim::FrontEndBase::register_properties ( int  id,
const PropertyList properties 
) [protected, virtual]

register all the properties of an IMEngine instance into this FrontEnd.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
properties the PropertyList contains all the properties of this IMEngine instance.

virtual void scim::FrontEndBase::update_property ( int  id,
const Property property 
) [protected, virtual]

update a property of an IMEngine instance.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
property the Property to be updated.

virtual void scim::FrontEndBase::beep ( int  id  )  [protected, virtual]

generate a short beep.

Parameters:
id the id of the IMEngine instance. It must have been focused in.

virtual void scim::FrontEndBase::start_helper ( int  id,
const String helper_uuid 
) [protected, virtual]

start a Client Helper process.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
helper_uuid The UUID of the Helper object.

virtual void scim::FrontEndBase::stop_helper ( int  id,
const String helper_uuid 
) [protected, virtual]

stop a Client Helper process.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
helper_uuid The UUID of the Helper object.

virtual void scim::FrontEndBase::send_helper_event ( int  id,
const String helper_uuid,
const Transaction trans 
) [protected, virtual]

send an events transaction to a Client Helper process.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
helper_uuid The UUID of the Helper object.
trans the transaction which contains events.

virtual bool scim::FrontEndBase::get_surrounding_text ( int  id,
WideString text,
int &  cursor,
int  maxlen_before,
int  maxlen_after 
) [protected, virtual]

Retrieves context around the insertion point.

Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed.

Unlike other signal activation actions, this action will return the result immediately.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
text location to store the context string around the insertion point.
cursor location to store index of the insertion cursor within .
maxlen_before the maxmium length of context string to be retrieved before the cursor; -1 means unlimited.
maxlen_after the maxmium length of context string to be retrieved after the cursor; -1 means unlimited.
Returns:
true if surrounding text was provided.

virtual bool scim::FrontEndBase::delete_surrounding_text ( int  id,
int  offset,
int  len 
) [protected, virtual]

Ask the client to delete characters around the cursor position.

In order to use this function, you should first call get_surrounding_text () to get the current context, and call this function immediately afterwards to make sure that you know what you are deleting. You should also account for the fact that even if the signal was handled, the input context might not have deleted all the characters that were requested to be deleted.

Parameters:
id the id of the IMEngine instance. It must have been focused in.
offset offset from cursor position in chars; a negative value means start before the cursor.
len number of characters to delete.
Returns:
true if the signal was handled.

virtual void scim::FrontEndBase::init ( int  argc,
char **  argv 
) [pure virtual]

init the frontend.

This method must be implemented by derivation classes.

virtual void scim::FrontEndBase::run (  )  [pure virtual]

run the frontend.

This method must be implemented by derivation classes.


Friends And Related Function Documentation

friend class FrontEndBaseImpl [friend]


The documentation for this class was generated from the following file:

Generated on Sat Jan 24 23:45:07 2009 for scim by  doxygen 1.5.7.1