pub trait ServerHandler<S: Server> {
type InputStyleArray: AsRef<[InputStyle]>;
type InputContextData;
// Required methods
fn new_ic_data(
&mut self,
server: &mut S,
input_style: InputStyle,
) -> Result<Self::InputContextData, ServerError>;
fn input_styles(&self) -> Self::InputStyleArray;
fn filter_events(&self) -> u32;
fn handle_connect(&mut self, server: &mut S) -> Result<(), ServerError>;
fn handle_create_ic(
&mut self,
server: &mut S,
user_ic: &mut UserInputContext<Self::InputContextData>,
) -> Result<(), ServerError>;
fn handle_destroy_ic(
&mut self,
server: &mut S,
user_ic: UserInputContext<Self::InputContextData>,
) -> Result<(), ServerError>;
fn handle_reset_ic(
&mut self,
server: &mut S,
user_ic: &mut UserInputContext<Self::InputContextData>,
) -> Result<String, ServerError>;
fn handle_set_focus(
&mut self,
server: &mut S,
user_ic: &mut UserInputContext<Self::InputContextData>,
) -> Result<(), ServerError>;
fn handle_unset_focus(
&mut self,
server: &mut S,
user_ic: &mut UserInputContext<Self::InputContextData>,
) -> Result<(), ServerError>;
fn handle_set_ic_values(
&mut self,
server: &mut S,
user_ic: &mut UserInputContext<Self::InputContextData>,
) -> Result<(), ServerError>;
fn handle_forward_event(
&mut self,
server: &mut S,
user_ic: &mut UserInputContext<Self::InputContextData>,
xev: &S::XEvent,
) -> Result<bool, ServerError>;
}Required Associated Types§
type InputStyleArray: AsRef<[InputStyle]>
type InputContextData
Required Methods§
fn new_ic_data( &mut self, server: &mut S, input_style: InputStyle, ) -> Result<Self::InputContextData, ServerError>
fn input_styles(&self) -> Self::InputStyleArray
fn filter_events(&self) -> u32
fn handle_connect(&mut self, server: &mut S) -> Result<(), ServerError>
fn handle_create_ic( &mut self, server: &mut S, user_ic: &mut UserInputContext<Self::InputContextData>, ) -> Result<(), ServerError>
fn handle_destroy_ic( &mut self, server: &mut S, user_ic: UserInputContext<Self::InputContextData>, ) -> Result<(), ServerError>
fn handle_reset_ic( &mut self, server: &mut S, user_ic: &mut UserInputContext<Self::InputContextData>, ) -> Result<String, ServerError>
fn handle_set_focus( &mut self, server: &mut S, user_ic: &mut UserInputContext<Self::InputContextData>, ) -> Result<(), ServerError>
fn handle_unset_focus( &mut self, server: &mut S, user_ic: &mut UserInputContext<Self::InputContextData>, ) -> Result<(), ServerError>
fn handle_set_ic_values( &mut self, server: &mut S, user_ic: &mut UserInputContext<Self::InputContextData>, ) -> Result<(), ServerError>
Sourcefn handle_forward_event(
&mut self,
server: &mut S,
user_ic: &mut UserInputContext<Self::InputContextData>,
xev: &S::XEvent,
) -> Result<bool, ServerError>
fn handle_forward_event( &mut self, server: &mut S, user_ic: &mut UserInputContext<Self::InputContextData>, xev: &S::XEvent, ) -> Result<bool, ServerError>
return false when event back to client
if return true it consumed and don’t back to client