В разных форумах, в т.ч. и на английском находил примеры правки файла привязок клавиш к объектам GTK, в данном случае речь о навигации по дереву. Мне нужно такое же поведение в eclipse как и в эклипсе для windows:
При нажатии на кнопку "влево" если стоим на сворачиваемом узле, то свернуть его (аналогично нажатию на кнопку "Shift+Left"), если узел уже свёрнут или не сворачиваемый, то перейти к родительскому узлу (аналогично нажатию кнопки "Забой") пробовал код подобный этому (в комментариях) - не работатет.
@binding-set MyTreeViewBinding
{
bind "Left" { "select-cursor-parent" ()
"expand-collapse-cursor-row" (0,0,0) };
/* I've try code below instead code above - isn't work
bind "Left" { if ("test-expand-row" ())
"expand-collapse-cursor-row" (0,0,0)
else
"select-cursor-parent" () }; */
bind "Right" { "expand-collapse-cursor-row" (0,1,0) };
}
treeview
{
-gtk-key-bindings: MyTreeViewBinding;
}
Пробовал и много других вариантов @when ... @else; @if ... @else о скобками и без скобок. Готовых примеров с использованием условий в привязках не нашёл, однако списке функций присутствуют функции возвращающие значения текущего состояния узла дерева, поэтому предполагаю, что всё же как то условия можно использовать.