void Tabs() { bool childopened = true; ImGui.Begin("tabwindow", ref childopened, ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoSavedSettings | ImGuiWindowFlags.NoBringToFrontOnFocus | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoResize); var prevSel = selected; TabHandler.TabLabels(tabs, ref selected); ImGui.BeginChild("##tabcontent"); if (selected != null) { selected.Draw(); } ImGui.EndChild(); ImGui.End(); if (resourceEditor != null) { resourceEditor.Draw(); } if (projectWindow != null) { projectWindow.Draw(); } }
protected override void Draw(double elapsed) { Viewport.Replace(0, 0, Width, Height); RenderState.ClearColor = new Color4(0.2f, 0.2f, 0.2f, 1f); RenderState.ClearAll(); guiHelper.NewFrame(elapsed); ImGui.PushFont(ImGuiHelper.Noto); ImGui.BeginMainMenuBar(); if (ImGui.BeginMenu("File")) { if (Theme.IconMenuItem("Open", "open", Color4.White, true)) { string f; if ((f = FileDialog.ChooseFolder()) != null) { NewGui(f); } } if (selected is SaveableTab saveable) { if (Theme.IconMenuItem($"Save '{saveable.Title}'", "save", Color4.White, true)) { saveable.Save(); } } else { Theme.IconMenuItem("Save", "save", Color4.LightGray, false); } if (Theme.IconMenuItem("Quit", "quit", Color4.White, true)) { Exit(); } ImGui.EndMenu(); } if (ImGui.BeginMenu("Lua")) { if (ImGui.BeginMenu("Base Icons")) { ImGui.MenuItem("Bar", "", ref TestApi.HasBar); ImGui.MenuItem("Trader", "", ref TestApi.HasTrader); ImGui.MenuItem("Equipment", "", ref TestApi.HasEquip); ImGui.MenuItem("Ship Dealer", "", ref TestApi.HasShipDealer); ImGui.EndMenu(); } if (ImGui.BeginMenu("Active Room")) { var rooms = TestApi.GetNavbarButtons(); for (int i = 0; i < rooms.Length; i++) { if (ImGui.MenuItem(rooms[i].IconName + "##" + i, "", TestApi.ActiveHotspotIndex == i)) { TestApi.ActiveHotspotIndex = i; } } ImGui.EndMenu(); } if (ImGui.BeginMenu("Room Actions")) { ImGui.MenuItem("Launch", "", ref TestApi.HasLaunchAction); ImGui.MenuItem("Repair", "", ref TestApi.HasRepairAction); ImGui.MenuItem("Missions", "", ref TestApi.HasMissionVendor); ImGui.MenuItem("News", "", ref TestApi.HasNewsAction); ImGui.EndMenu(); } ImGui.EndMenu(); } if (UiData != null && ImGui.BeginMenu("View")) { ImGui.MenuItem("Project", "", ref projectWindow.IsOpen); ImGui.MenuItem("Resources", "", ref resourceEditor.IsOpen); ImGui.EndMenu(); } var menu_height = ImGui.GetWindowSize().Y; ImGui.EndMainMenuBar(); var size = (Vector2)ImGui.GetIO().DisplaySize; size.Y -= menu_height; ImGui.SetNextWindowSize(new Vector2(size.X, size.Y - 25), ImGuiCond.Always); ImGui.SetNextWindowPos(new Vector2(0, menu_height), ImGuiCond.Always, Vector2.Zero); bool childopened = true; ImGui.Begin("tabwindow", ref childopened, ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoSavedSettings | ImGuiWindowFlags.NoBringToFrontOnFocus | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoResize); var prevSel = selected; TabHandler.TabLabels(tabs, ref selected); ImGui.BeginChild("##tabcontent"); if (selected != null) { selected.Draw(); } ImGui.EndChild(); ImGui.End(); if (resourceEditor != null) { resourceEditor.Draw(); } if (projectWindow != null) { projectWindow.Draw(); } //Status Bar ImGui.SetNextWindowSize(new Vector2(size.X, 25f), ImGuiCond.Always); ImGui.SetNextWindowPos(new Vector2(0, size.Y - 6f), ImGuiCond.Always, Vector2.Zero); bool sbopened = true; ImGui.Begin("statusbar", ref sbopened, ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoSavedSettings | ImGuiWindowFlags.NoBringToFrontOnFocus | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoResize); ImGui.Text($"InterfaceEdit{(XmlFolder != null ? " - Editing: " : "")}{(XmlFolder ?? "")}"); ImGui.End(); //Finish Render ImGui.PopFont(); guiHelper.Render(RenderState); }