Пример #1
0
        private void RaiseDataSourceChanged(TreeListNode node)
        {
            if (OnDataSourceChanged != null && allowDataSourceChanged)
            {
                DeviceTreeDataSourceChangedEventArgs args = new DeviceTreeDataSourceChangedEventArgs(node.Tag);

                OnDataSourceChanged(tlTrees, ref args);
                RefreshMenuItem(node, args);
            }
        }
Пример #2
0
        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();
        }