Skip to content

Commit

Permalink
implement right/left key handlers for treeviews
Browse files Browse the repository at this point in the history
  • Loading branch information
gfgtdf committed Mar 7, 2016
1 parent d26c2b6 commit 33b8d66
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
22 changes: 22 additions & 0 deletions src/gui/widgets/tree_view.cpp
Expand Up @@ -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
3 changes: 1 addition & 2 deletions src/gui/widgets/tree_view.hpp
Expand Up @@ -89,13 +89,12 @@ class ttree_view : public tscrollbar_container

/** 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.
Expand Down

0 comments on commit 33b8d66

Please sign in to comment.