private void __clickItem(EventContext context) { GButton item = ((GObject)context.data).asButton; if (item == null) { return; } if (item.grayed) { _list.selectedIndex = -1; return; } Controller c = item.GetController("checked"); if (c != null && c.selectedIndex != 0) { if (c.selectedIndex == 1) { c.selectedIndex = 2; } else { c.selectedIndex = 1; } } if (hideOnClickItem) { if (_parentMenu != null) { _parentMenu.Hide(); } Hide(); } item.DispatchEvent(EVENT_TYPE, item); //event data is for backward compatibility }