![是否可以在键盘绑定 gtk.css 文件中使用“if-then-else”语句?](https://linux22.com/image/912964/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%E9%94%AE%E7%9B%98%E7%BB%91%E5%AE%9A%20gtk.css%20%E6%96%87%E4%BB%B6%E4%B8%AD%E4%BD%BF%E7%94%A8%E2%80%9Cif-then-else%E2%80%9D%E8%AF%AD%E5%8F%A5%EF%BC%9F.png)
这里https://stackoverflow.com/questions/4747264/is-it-possible-to-use-arrow-keys-alone-to-expand-tree-node-in-package-explorer-i/我找到了一个改变 eclipse 中树形视图行为的好主意。我想改进它,但我不知道该怎么做,因为我找不到在 gtk.css 配置文件中使用 if-then-else 语句的示例。
我在下面的参考中找到了几种方法“test-collapse-row”和“test-expand-row”https://developer.gnome.org/gtk3/stable/GtkTreeView.html#GtkTreeView-select-cursor-row测试当前行是否可展开。我试图找到一个带有 css 键绑定条件的示例,但尚未找到。
@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;
}
如果它是节点并且它没有折叠则需要折叠它,但如果它不是节点或者它已经折叠则设置指向父级的指针,但不要折叠它。