public void OnGUI() { if (!AndroidBridge.AndroidExtensionsInstalled) { AndroidLogcatUtilities.ShowAndroidIsNotInstalledMessage(); return; } GUILayout.BeginHorizontal(); int count; lock (ms_LogEntries) { count = ms_LogEntries.Length; } GUILayout.Label("Entries: " + count); if (GUILayout.Button("Clear")) { lock (ms_LogEntries) { ms_LogEntries = new StringBuilder(); } } GUILayout.EndHorizontal(); var e = Event.current; if (e.type == EventType.MouseDown && e.button == 1) { var menuItems = new[] { new GUIContent("Copy All") }; EditorUtility.DisplayCustomMenu(new Rect(e.mousePosition.x, e.mousePosition.y, 0, 0), menuItems.ToArray(), -1, MenuSelection, null); } m_ScrollPosition = GUILayout.BeginScrollView(m_ScrollPosition, true, true); GUILayout.TextArea(ms_LogEntries.ToString(), AndroidLogcatStyles.internalLogStyle, GUILayout.ExpandHeight(true)); GUILayout.EndScrollView(); }
void OnGUI() { if (!AndroidBridge.AndroidExtensionsInstalled) { AndroidLogcatUtilities.ShowAndroidIsNotInstalledMessage(); return; } GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); EditorGUI.BeginChangeCheck(); m_WindowMode = (WindowMode)GUILayout.Toolbar((int)m_WindowMode, new[] { new GUIContent("Original"), new GUIContent("Resolved"), }, "LargeButton", GUI.ToolbarButtonSize.Fixed, GUILayout.ExpandWidth(true)); if (EditorGUI.EndChangeCheck()) { SelectWindowMode(m_WindowMode); } m_ScrollPosition = EditorGUILayout.BeginScrollView(m_ScrollPosition); GUI.SetNextControlName(WindowMode.ResolvedLog.ToString()); switch (m_WindowMode) { case WindowMode.ResolvedLog: // Note: Not using EditorGUILayout.SelectableLabel, because scrollbars are not working correctly EditorGUILayout.TextArea(m_ResolvedStacktraces, AndroidLogcatStyles.resolvedStacktraceStyle, GUILayout.ExpandHeight(true)); break; case WindowMode.OriginalLog: m_Text = EditorGUILayout.TextArea(m_Text, AndroidLogcatStyles.stacktraceStyle, GUILayout.ExpandHeight(true)); break; } EditorGUILayout.EndScrollView(); GUILayout.EndVertical(); DoInfoGUI(); GUILayout.EndHorizontal(); }
void OnGUI() { if (!AndroidBridge.AndroidExtensionsInstalled) { AndroidLogcatUtilities.ShowAndroidIsNotInstalledMessage(); return; } EditorGUILayout.BeginVertical(); GUILayout.Space(5); EditorGUILayout.BeginHorizontal(AndroidLogcatStyles.toolbar); GUIContent statusIcon = GUIContent.none; if (m_CaptureCount > 0) { int frame = (int)Mathf.Repeat(Time.realtimeSinceStartup * 10, 11.99f); statusIcon = AndroidLogcatStyles.Status.GetContent(frame); Repaint(); } GUILayout.Label(statusIcon, AndroidLogcatStyles.StatusIcon, GUILayout.Width(30)); EditorGUI.BeginChangeCheck(); m_SelectedDevice = EditorGUILayout.Popup(m_SelectedDevice, m_Devices, AndroidLogcatStyles.toolbarPopup); if (EditorGUI.EndChangeCheck()) { QueueScreenCapture(); } EditorGUI.BeginDisabledGroup(m_CaptureCount > 0); if (GUILayout.Button("Capture", AndroidLogcatStyles.toolbarButton)) { QueueScreenCapture(); } EditorGUI.EndDisabledGroup(); if (GUILayout.Button("Save...", AndroidLogcatStyles.toolbarButton)) { var path = EditorUtility.SaveFilePanel("Save Screen Capture", "", Path.GetFileName(m_ImagePath), "png"); if (!string.IsNullOrEmpty(path)) { try { File.Copy(m_ImagePath, path, true); } catch (Exception ex) { Debug.LogErrorFormat("Failed to save to '{0}' as '{1}'.", path, ex.Message); } } } EditorGUILayout.EndHorizontal(); GUILayout.Space(10); var id = GetDeviceId(); if (string.IsNullOrEmpty(id)) { EditorGUILayout.HelpBox("No valid device detected, please reopen this window after selecting proper device.", MessageType.Info); } else { if (!string.IsNullOrEmpty(m_Error)) { EditorGUILayout.HelpBox(m_Error, MessageType.Error); } else { if (m_ImageTexture != null) { Rect rect = new Rect(0, kButtonAreaHeight, position.width, position.height - kButtonAreaHeight - kBottomAreaHeight); GUI.DrawTexture(rect, m_ImageTexture, ScaleMode.ScaleToFit); } } } EditorGUILayout.EndVertical(); }
internal void OnGUI() { if (!AndroidBridge.AndroidExtensionsInstalled) { AndroidLogcatUtilities.ShowAndroidIsNotInstalledMessage(); return; } if (m_ApplySettings) { ApplySettings(m_Runtime.Settings); m_ApplySettings = false; } EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(AndroidLogcatStyles.toolbar); { ShowDuringBuildRun = GUILayout.Toggle(ShowDuringBuildRun, kAutoRunText, AndroidLogcatStyles.toolbarButton); HandleSelectedDeviceField(); EditorGUI.BeginDisabledGroup(!m_StatusBar.Connected); HandleSelectedPackage(); HandleSearchField(); SetRegex(GUILayout.Toggle(m_Runtime.UserSettings.FilterIsRegularExpression, kRegexText, AndroidLogcatStyles.toolbarButton)); EditorGUI.EndDisabledGroup(); GUILayout.Space(kSpace); if (GUILayout.Button(kReconnect, AndroidLogcatStyles.toolbarButton)) { RestartLogCat(); } if (GUILayout.Button(kDisconnect, AndroidLogcatStyles.toolbarButton)) { StopLogCat(); } GUILayout.Space(kSpace); if (GUILayout.Button(kClearButtonText, AndroidLogcatStyles.toolbarButton)) { ClearLogCat(); Repaint(); } DoToolsGUI(); } EditorGUILayout.EndHorizontal(); if (Unsupported.IsDeveloperMode()) { DoDebuggingGUI(); } if (DoMessageView()) { Repaint(); } m_MemoryViewer.DoGUI(); if (m_StatusBar != null) { m_StatusBar.DoGUI(); } EditorGUILayout.EndVertical(); }
void OnGUI() { if (!AndroidBridge.AndroidExtensionsInstalled) { AndroidLogcatUtilities.ShowAndroidIsNotInstalledMessage(); return; } EditorGUILayout.BeginVertical(); { EditorGUILayout.LabelField("Available devices:", EditorStyles.boldLabel); GUI.Box(m_DeviceScrollRect, GUIContent.none, EditorStyles.helpBox); m_DevicesScrollPosition = EditorGUILayout.BeginScrollView(m_DevicesScrollPosition); bool refreshDevices = false; foreach (var deviceValue in m_Runtime.DeviceQuery.Devices) { var device = deviceValue.Value; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(device.DisplayName, EditorStyles.label); EditorGUI.BeginDisabledGroup(device.State != IAndroidLogcatDevice.DeviceState.Connected); if (GUILayout.Button(" Copy IP ", GUILayout.ExpandWidth(false))) { m_IpString = CopyIP(device.Id); EditorGUIUtility.systemCopyBuffer = m_IpString; GUIUtility.keyboardControl = 0; GUIUtility.hotControl = 0; Repaint(); } float connectButtoSize = 100.0f; if (device.ConnectionType == IAndroidLogcatDevice.DeviceConnectionType.Network) { if (GUILayout.Button(kDisconnect, GUILayout.Width(connectButtoSize))) { DisconnectDevice(device); refreshDevices = true; } } else { if (GUILayout.Button(kConnect, GUILayout.Width(connectButtoSize))) { SetTCPIPAndConnectDevice(device.Id, CopyIP(device.Id), "5555"); refreshDevices = true; } } EditorGUI.EndDisabledGroup(); var rc = GUILayoutUtility.GetLastRect(); var orgColor = GUI.color; GUI.color = Color.black; if (Event.current.type == EventType.Repaint) { GUI.DrawTexture(new Rect(0, rc.y + rc.height, m_DeviceScrollRect.width, 1), EditorGUIUtility.whiteTexture); } GUI.color = orgColor; EditorGUILayout.EndHorizontal(); if (refreshDevices) { m_Runtime.DeviceQuery.UpdateConnectedDevicesList(true); GUIUtility.keyboardControl = 0; GUIUtility.hotControl = 0; break; } } EditorGUILayout.EndScrollView(); if (Event.current.type == EventType.Repaint) { m_DeviceScrollRect = GUILayoutUtility.GetLastRect(); } GUILayout.Space(5); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("IP", EditorStyles.boldLabel); EditorGUILayout.LabelField("Port", EditorStyles.boldLabel, GUILayout.Width(100)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); m_IpString = EditorGUILayout.TextField(m_IpString); m_PortString = EditorGUILayout.TextField(m_PortString, GUILayout.Width(100)); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(m_IpString)); if (GUILayout.Button("Connect")) { Close(); EditorPrefs.SetString(kAndroidLogcatLastIp, m_IpString); EditorPrefs.SetString(kAndroidLogcatLastPort, m_PortString); ConnectDevice(m_IpString, m_PortString); GUIUtility.ExitGUI(); } EditorGUI.EndDisabledGroup(); if (GUILayout.Button("Refresh Devices")) { m_Runtime.DeviceQuery.UpdateConnectedDevicesList(false); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); }