implement right/left key handlers for treeviews
This commit is contained in:
parent
d26c2b6043
commit
33b8d66b34
2 changed files with 23 additions and 2 deletions
|
@ -186,4 +186,26 @@ void ttree_view::signal_handler_left_button_down(const event::tevent event)
|
|||
get_window()->keyboard_capture(this);
|
||||
}
|
||||
|
||||
void ttree_view::handle_key_left_arrow(SDLMod modifier, bool& handled)
|
||||
{
|
||||
ttree_view_node* selected = selected_item();
|
||||
if(!selected || selected->is_folded()) {
|
||||
tscrollbar_container::handle_key_left_arrow(modifier, handled);
|
||||
return;
|
||||
}
|
||||
selected->fold();
|
||||
handled = true;
|
||||
}
|
||||
|
||||
void ttree_view::handle_key_right_arrow(SDLMod modifier, bool& handled)
|
||||
{
|
||||
ttree_view_node* selected = selected_item();
|
||||
if(!selected || !selected->is_folded()) {
|
||||
tscrollbar_container::handle_key_left_arrow(modifier, handled);
|
||||
return;
|
||||
}
|
||||
selected->unfold();
|
||||
handled = true;
|
||||
}
|
||||
|
||||
} // namespace gui2
|
||||
|
|
|
@ -89,13 +89,12 @@ protected:
|
|||
|
||||
/** Inherited from tscrollbar_container. */
|
||||
void handle_key_down_arrow(SDLMod modifier, bool& handled);
|
||||
|
||||
#endif
|
||||
/** Inherited from tscrollbar_container. */
|
||||
void handle_key_left_arrow(SDLMod modifier, bool& handled);
|
||||
|
||||
/** Inherited from tscrollbar_container. */
|
||||
void handle_key_right_arrow(SDLMod modifier, bool& handled);
|
||||
#endif
|
||||
private:
|
||||
/**
|
||||
* @todo evaluate which way the dependancy should go.
|
||||
|
|
Loading…
Add table
Reference in a new issue