コード例 #1
0
        /// <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();
        }
コード例 #2
0
        /// <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();
        }