В Gtk, как я могу сделать CellRendererToggle в TreeViewColumn с несколькими CellRenderers только для переключения, когда установлен сам флажок? - PullRequest
2 голосов
/ 01 марта 2010

У меня есть TreeModel, представляющее дерево Tag с. Каждый Tag имеет эти свойства, среди прочего:

string Name
bool Active
Tag Parent
TagList Children //basically just a List<Tag>

TreeView имеет один столбец с двумя CellRenderer s: a CellRendererToggle для Active и CellRendererText для Name. я хочу их в одном столбце, потому что несколько столбцов становится грязным, как вы получить дальше вниз по потомкам в TreeView.

Моя проблема в том, что когда я нажимаю в любом месте в столбце, CellRendererToggle переключается. Это проблематично, потому что я хочу делайте такие вещи, как перетаскивание тегов и их переименование. Есть любой способ заставить CellRendererToggle only переключаться при нажатии на самом флажке, не перемещая его в отдельный столбец?

1 Ответ

3 голосов
/ 02 марта 2010

Вам необходимо установить CellRenderer Mode на Activatable:

renderer.Mode = CellRendererMode.Activatable;

Если рендерер не активируется, но другой рендерер в столбце есть, Gtk передает кликэтому рендереру.Настройка средств рендеринга без переключателей также не позволяет им переходить по щелчку.

...