private void Clicked(Label lbl, SelectionPanelOptions option) { if (option == SelectionPanelOptions.Unknown) { return; } bool state = (bool)lbl.Tag; if (Nodes != null) { if (option != SelectionPanelOptions.All) { ChangeCheckedStateOfNodes(GetComponentType(option), state); } else { ChangeCheckedStateOfNodes(GetComponentType(SelectionPanelOptions.Modules), state); ChangeCheckedStateOfNodes(GetComponentType(SelectionPanelOptions.Classes), state); ChangeCheckedStateOfNodes(GetComponentType(SelectionPanelOptions.Forms), state); ChangeCheckedStateOfNodes(GetComponentType(SelectionPanelOptions.Documents), state); } } if (SelectionChanged != null) { SelectionChanged(option, new Events.SelectionEventArgs() { CheckedState = state }); } ManageState(lbl, new Business.Component(), state); }
private vbext_ComponentType GetComponentType(SelectionPanelOptions option) { switch (option) { case SelectionPanelOptions.Modules: return(vbext_ComponentType.vbext_ct_StdModule); case SelectionPanelOptions.Forms: return(vbext_ComponentType.vbext_ct_MSForm); case SelectionPanelOptions.Classes: return(vbext_ComponentType.vbext_ct_ClassModule); case SelectionPanelOptions.Documents: return(vbext_ComponentType.vbext_ct_Document); // we don't care about these, needs to be handled in calling method case SelectionPanelOptions.All: case SelectionPanelOptions.Unknown: default: throw new ArgumentOutOfRangeException(string.Format(strings.ComponentTypeCannotBeConverted, option.ToString())); } }