private void RaiseDataSourceChanged(TreeListNode node) { if (OnDataSourceChanged != null && allowDataSourceChanged) { DeviceTreeDataSourceChangedEventArgs args = new DeviceTreeDataSourceChangedEventArgs(node.Tag); OnDataSourceChanged(tlTrees, ref args); RefreshMenuItem(node, args); } }
private void RefreshMenuItem(TreeListNode node, DeviceTreeDataSourceChangedEventArgs args) { if (node == null) { MenuItemHelper.Instance.Buttons[MenuItem.NewProductionLine].Enabled = true; MenuItemHelper.Instance.Buttons[MenuItem.RemoveProductionLine].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewDevice].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveDevice].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.ImportDeviceConfigParams].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewSubTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveSubTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewTag].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveTag].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.GatewayServiceDeploy].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.UpdateDeviceTagsToService].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.GatewayServiceUninstall].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.UpdateServiceFile].Enabled = false; } else { if (DataHelper.Instance.AllEntities[args.EntityID] is ProductionLineEntity) { MenuItemHelper.Instance.Buttons[MenuItem.NewProductionLine].Enabled = true; MenuItemHelper.Instance.Buttons[MenuItem.RemoveProductionLine].Enabled = !node.HasChildren; MenuItemHelper.Instance.Buttons[MenuItem.NewDevice].Enabled = true; MenuItemHelper.Instance.Buttons[MenuItem.RemoveDevice].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.ImportDeviceConfigParams].Enabled = true; MenuItemHelper.Instance.Buttons[MenuItem.NewTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewSubTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveSubTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewTag].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveTag].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.GatewayServiceDeploy].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.UpdateDeviceTagsToService].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.GatewayServiceUninstall].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.UpdateServiceFile].Enabled = false; } else if (DataHelper.Instance.AllEntities[args.EntityID] is DeviceEntity entity) { MenuItemHelper.Instance.Buttons[MenuItem.NewProductionLine].Enabled = true; MenuItemHelper.Instance.Buttons[MenuItem.RemoveProductionLine].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewDevice].Enabled = true; MenuItemHelper.Instance.Buttons[MenuItem.RemoveDevice].Enabled = entity.Service.CanDeploy; MenuItemHelper.Instance.Buttons[MenuItem.ImportDeviceConfigParams].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewTagGroup].Enabled = true; MenuItemHelper.Instance.Buttons[MenuItem.RemoveTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewSubTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveSubTagGroup].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.NewTag].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.RemoveTag].Enabled = false; MenuItemHelper.Instance.Buttons[MenuItem.GatewayServiceDeploy].Enabled = entity.Service.CanDeploy; MenuItemHelper.Instance.Buttons[MenuItem.UpdateDeviceTagsToService].Enabled = entity.Service.CanUpdateParams(); MenuItemHelper.Instance.Buttons[MenuItem.GatewayServiceUninstall].Enabled = !entity.Service.CanDeploy; MenuItemHelper.Instance.Buttons[MenuItem.UpdateServiceFile].Enabled = entity.Service.CanUpdateParams(); } } RefreshTreeNodeStatue(); }