/// <summary>Draws this instance.</summary> public override void Draw() { if (!isOpen) { eventHandler?.Invoke(this, EventType.CloseConsole); return; } if (ImGui.Begin("Console", ref isOpen)) { if (ImGui.Button(Icon.TRASH + " Clean")) { Clear(); return; } ImGui.SameLine(); filter.Draw(Icon.SEARCH + "", -100.0f); ImGui.SameLine(); ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, itemSpace); ImGui.PushStyleColor(ImGuiCol.Button, filterLogs ? buttonPressed : buttonDefault); if (ImGui.Button(Icon.COMMENT + "")) { filterLogs = !filterLogs; } ImGui.PopStyleColor(1); ImGui.SameLine(); ImGui.PushStyleColor(ImGuiCol.Button, filterWarnings ? buttonPressed : buttonDefault); if (log.Find(i => i.Contains("Warning")) != null) { ImGui.PushStyleColor(ImGuiCol.Text, yellowColor); } if (ImGui.Button(Icon.EXCLAMATIONCIRCLE + "")) { filterWarnings = !filterWarnings; } ImGui.PopStyleColor(); if (log.Find(i => i.Contains("Warning")) != null) { ImGui.PopStyleColor(); } ImGui.SameLine(); ImGui.PushStyleColor(ImGuiCol.Button, filterErrors ? buttonPressed : buttonDefault); if (log.Find(i => i.Contains("Error")) != null) { ImGui.PushStyleColor(ImGuiCol.Text, redColor); } if (ImGui.Button(Icon.EXCLAMATIONTRIANGLE + "")) { filterErrors = !filterErrors; } ImGui.PopStyleColor(); if (log.Find(i => i.Contains("Error")) != null) { ImGui.PopStyleColor(); } ImGui.PopStyleVar(1); ImGui.Separator(); if (ImGui.BeginChild("scrolling", new System.Numerics.Vector2(0, 0), false, ImGuiWindowFlags.HorizontalScrollbar)) { ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, new System.Numerics.Vector2(0, 0)); for (int i = 0; i < log.Count; i++) { if (filter.IsActive()) { if (filter.PassFilter(log[i])) { Print(log[i]); } } else { Print(log[i]); } } ImGui.PopStyleVar(); if (ImGui.GetScrollY() >= ImGui.GetScrollMaxY()) { ImGui.SetScrollHereY(1.0f); } } ImGui.EndChild(); } ImGui.End(); }
/// <summary>Draw this instance.</summary> public override void Draw() { if (ImGui.Begin(Name, ref isOpen)) { ImGui.PushStyleVar(ImGuiStyleVar.ItemSpacing, new System.Numerics.Vector2(1.0f, 3.0f)); ImGui.PushStyleColor(ImGuiCol.Button, new Vector4(0, 0, 0, 0)); ImGui.PushStyleVar(ImGuiStyleVar.FrameBorderSize, 0f); if (Project.Current != null) { foreach (string folderButton in GetNameDir(currentDirRight)) { if (ImGui.Button(folderButton)) { MoveToDir(folderButton); } ImGui.SameLine(); ImGui.Text("/"); ImGui.SameLine(); } } ImGui.PopStyleVar(2); ImGui.PopStyleColor(); filter.Draw(Icon.SEARCH + string.Empty, ImGui.GetContentRegionAvail().X - 20.0f); if (filter.IsActive()) { templist.Clear(); foreach (string file in Directory.GetFiles(Project.Current.AssetsPath, "*", SearchOption.AllDirectories)) { if (filter.PassFilter(Path.GetFileName(file))) { templist.Add(file); } } } ImGui.Separator(); if (ImGui.BeginChild("Assets-Child-Master")) { if (ImGui.BeginChild("Assets-Child-Left", new Vector2((ImGui.GetWindowWidth() <= ImGui.GetWindowHeight()) ? ImGui.GetContentRegionAvail().X : ImGui.GetContentRegionAvail().X / 3, ImGui.GetContentRegionAvail().Y), true)) { if (Project.Current != null) { ImGui.PushStyleColor(ImGuiCol.Button, new Vector4(0, 0, 0, 0)); ImGui.PushStyleVar(ImGuiStyleVar.FrameBorderSize, 0f); if (!filter.IsActive()) { if (Project.Current != null) { ShowTree(Project.Current.AssetsPath); } } else { foreach (string file in templist) { ShowFile(file); } } ImGui.PopStyleVar(); ImGui.PopStyleColor(); } } ImGui.EndChild(); ImGui.SameLine(); if (ImGui.GetWindowWidth() > ImGui.GetWindowHeight()) { if (ImGui.BeginChild("Assets-Child-Right", new System.Numerics.Vector2(ImGui.GetContentRegionAvail().X, ImGui.GetContentRegionAvail().Y), true, ImGuiWindowFlags.AlwaysAutoResize)) { ImGui.PushStyleColor(ImGuiCol.Button, new Vector4(0, 0, 0, 0)); ImGui.PushStyleVar(ImGuiStyleVar.FrameBorderSize, 0f); if (Project.Current != null) { if (!filter.IsActive()) { foreach (string directory in Directory.GetDirectories(currentDirRight)) { ImGui.PushStyleVar(ImGuiStyleVar.ButtonTextAlign, new Vector2(0f, 0.5f)); if (ImGui.Button(Icon.FOLDERO + " " + Path.GetFileName(Path.GetDirectoryName(directory + "/t.txt")), new Vector2(ImGui.GetContentRegionAvail().X, 25.0f))) { ChangeDir(directory); } ImGui.PopStyleVar(); } ShowFiles(currentDirRight); } else { foreach (string file in templist) { ShowFile(file); } } } ImGui.PopStyleVar(); ImGui.PopStyleColor(); } ImGui.EndChild(); } } ImGui.EndChild(); } ImGui.End(); }