public KeyModule(VtmDev dev, GlobalGUIManager global) : base(dev, global) { Background = Brushes.Gray; //key to UI for (int i = 0; i < keys.Length; i++) { keys[i].Background = KeyColors[i]; EndTimes[i] = DateTime.Now; Children.Add(keys[i]); } //key click event for (int i = 0; i < VtmDev.TrigKeyCount; i++) { int x = i;//闭包 keys[i].OnHalfClickEvent += () => { VtmDev.TrigKeyPress(x); keys[x].Background = PressedColor; EndTimes[x] = DateTime.Now.AddMilliseconds(ShowDelayMs); //Active Timer UITimer.Start(); }; } VtmDev.TrigKeyActive = true; UITimer.Interval = TimeSpan.FromMilliseconds(ShowDelayMs / 3); UITimer.Tick += UpdateUI; }
public BlackModule(VtmDev dev, Position position, VtmDevCanvas canvas, GlobalGUIManager global) : base(dev, global) { this.global = global; VtmDevCanvas = canvas; Children.Add(new Label() { Content = position.ToString() }); this.position = position; //为所有此位置的模块创建menuItems foreach (var moduleInfo in from info in ModuleList where ModulePositionAttribute.GetPositionsByType(info.Item1).Contains(position) select info) { //moduleInfo中所有Type都是符合position的 MenuItem menuItem = new MenuItem() { Header = moduleInfo.Item2 }; menuItem.Click += AddItem; menuItem.Tag = moduleInfo.Item1; menuItems.Add(menuItem); } }
public VtmModuleBase(VtmDev dev, GlobalGUIManager global) { //IsHitTestVisible = false; Cursor = Cursors.Cross; Background = Brushes.Green; ContextMenu = new ContextMenu(); VtmDev = dev; }
public TemSensorModule(VtmDev dev, GlobalGUIManager global) : base(dev, global) { Children.Add(new Canvas() { Margin = new System.Windows.Thickness(SensorPosition.X, SensorPosition.Y, 0, 0), Width = 5, Height = 5, Background = Brushes.Yellow }); }
public LedModule(VtmDev dev, GlobalGUIManager global) : base(dev, global) { //LED CANVAS for (int i = 0; i < leds.Length; i++) { LedCanvasControls[i] = new LedCanvasControl() { Width = 40, Height = 80, Margin = new Thickness(40 * i, 0, 0, 0), IsHitTestVisible = false }; Children.Add(LedCanvasControls[i]); } Background = Brushes.White; }
public static IDictionary <Position, BlackModule> NewBlackModules(VtmDevCanvas canvas, GlobalGUIManager global) { return(new Dictionary <Position, BlackModule> { { Position.A, new BlackModule(null, Position.A, canvas, global) }, { Position.B, new BlackModule(null, Position.B, canvas, global) }, { Position.C, new BlackModule(null, Position.C, canvas, global) }, { Position.D, new BlackModule(null, Position.D, canvas, global) } }); }
public EnvModuleBase(VtmDev dev, GlobalGUIManager global) : base(dev, global) { EnviromentCanvas.EnvSetableList.Add(this); rootcvs = global.rootcvs; }
public BpwsnModule(VtmDev dev, GlobalGUIManager global) : base(dev, global) { Background = Brushes.Gray; signal = new WirelessSignal(global.rootcvs, dev.WirelessPackageDevice, 20, 20); Children.Add(signal); }