当选中所有孩子的复选框时,如何勾选大纲视图中的复选框?

时间:2009-06-02 17:49:46

标签: objective-c cocoa

当选中所有孩子的复选框时,如何选中大纲视图中父母/组行上的复选框。但是当只检查一些时显示一条线。以下是我所说的一个例子:

alt text http://snapplr.com/snap/042v

1 个答案:

答案 0 :(得分:3)

每当您选中一个复选框时,请检查其所有兄弟姐妹是否都已选中。如果是,请检查父级。 (并在该级别再次运行检查。)

要做到这一点......好吧,你的NSOutlineView有一个数据源,对吧?有什么能告诉它要展示什么?好吧,在单击复选框时调用的方法(无论你设置的是什么),获取被点击的行后面的父对象,然后更新其状态。如果您没有直接引用模型中的复选框,则可以使用-[NSOutlineView parentForItem:]进行查找。

希望这足以让你开始。如果没有,那么你需要提出一个更具体的问题,详细说明你遇到麻烦的部分。