public ConnectionTabItem(ConnectionTabData connectionTabData) { // Create an instance of the usercontrol closeableTabHeader = new CloseableHeader(); // Assign the usercontrol to the tab header this.Header = closeableTabHeader; closeableTabHeader.button_close.MouseEnter += new MouseEventHandler(button_close_MouseEnter); closeableTabHeader.button_close.MouseLeave += new MouseEventHandler(button_close_MouseLeave); closeableTabHeader.button_close.Click += new RoutedEventHandler(button_close_Click); closeableTabHeader.label_TabTitle.SizeChanged += new SizeChangedEventHandler(label_TabTitle_SizeChanged); this.Available = false; this.ConnectionTabData = connectionTabData; }
private void CommandExe(string key, string value) { string report = ""; if (StrCompare(key, "exit")) { mainWindow.Dispatcher.Invoke(() => { App.Current.Shutdown(); }); } else if (StrCompare(key, "send")) { if (value == null) { mainWindow.Dispatcher.Invoke(() => { mainWindow.Text_Send_Click(null, null); }); } else { if (value.ElementAt(0) == '"' && value.ElementAt(value.Length - 1) == '"') { ; } int newlineMark = value.IndexOf("\\n"); value = value.Replace("\\n", "\n"); value = value.Replace("\\r", "\r"); mainWindow.Dispatcher.Invoke(() => { SelectedConnectionTab.SendData(value, DateTime.Now); }); } } else if (StrCompare(key, "clear")) { if (value == null) { mainWindow.Dispatcher.Invoke(() => { mainWindow.Button_ReceiveWindow_Clear_Click(null, null); }); } } else if (StrCompare(key, "freeze")) { if (value == null) { mainWindow.Dispatcher.Invoke(() => { }); } } else if (StrCompare(key, "serial")) { if (SelectedConnectionTab == null) { Debug.WriteLine("choose serial"); ConnectionTabData connection = null; mainWindow.Dispatcher.Invoke(() => { Debug.WriteLine("NewTab"); connection = ConnectionTabHelper.NewTab(); connection.TabItem.Title = "ArduBlockly"; connection.ToolBarSetting.SendText = "測試"; SelectedConnectionTab = connection; SelectedConnectionTab.ConnectionTypeChoose(0); }); } ((Connection.Serial.Settings)SelectedConnectionTab.ToolBarSetting.ConnectionSettings).ComPort = int.Parse(value); Debug.WriteLine("set comport"); } else if (StrCompare(key, "disconnect")) { mainWindow.Dispatcher.Invoke(() => { SelectedConnectionTab.Disconnect(); }); } else if (StrCompare(key, "connect")) { Debug.WriteLine("Connect"); mainWindow.Dispatcher.Invoke(() => { SelectedConnectionTab.Connect(); }); } else if (StrCompare(key, "text")) { if (value != null) { value = value.Replace("\\n", "\n"); value = value.Replace("\\r", "\r"); mainWindow.Dispatcher.Invoke(() => { mainWindow.TextBox_Send_Text.Text = value; }); } } else if (StrCompare(key, "auto_spilt")) { bool result = false; bool successful = bool.TryParse(value, out result); if (successful) { mainWindow.Dispatcher.Invoke(() => { mainWindow.Toggle_Receive_AutoSpilt.IsChecked = result; }); } } else if (StrCompare(key, "show_time")) { bool result = false; bool successful = bool.TryParse(value, out result); if (successful) { mainWindow.Dispatcher.Invoke(() => { mainWindow.Toggle_Receive_ShowTime.IsChecked = result; }); } } else if (StrCompare(key, "next_line")) { mainWindow.Dispatcher.Invoke(() => { mainWindow.Button_ReceiveWindow_PrintNewLine_Click(null, null); }); } else if (StrCompare(key, "window")) { System.Windows.WindowState state = System.Windows.WindowState.Normal; if (StrCompare(value, "max")) { state = System.Windows.WindowState.Maximized; } else if (StrCompare(value, "min")) { state = System.Windows.WindowState.Minimized; } else if (StrCompare(value, "normal")) { state = System.Windows.WindowState.Normal; } mainWindow.Dispatcher.Invoke(() => { mainWindow.WindowState = state; }); } else if (StrCompare(key, "selectTabByName")) { ConnectionTabData tabData = ConnectionTabHelper.ConnectionTabDataList.Find((data) => { return(data.TabItem.Title == value); }); if (tabData != null) { SelectedConnectionTab = tabData; } } else if (StrCompare(key, "selectTabByIndex")) { uint index; if (uint.TryParse(value, out index)) { ConnectionTabData tabData = ConnectionTabHelper.ConnectionTabDataList.ElementAt((int)index); if (tabData != null) { SelectedConnectionTab = tabData; } } } else if (StrCompare(key, "focus")) { if (SelectedConnectionTab != null) { SelectedConnectionTab.Focus(); } } else if (StrCompare(key, "connected")) { } else { if (SelectedConnectionTab != null) { SelectedConnectionTab.ToolBarSetting.ConnectionSettings.Parse(key, value, report); } } }