dlxjj/imradv3
0263
1// Generated with ImRAD 0.92// visit https://github.com/tpecholt/imrad3 4#include "ui_settings_dlg.h"5#include "utils.h"6 7SettingsDlg settingsDlg;8 9 10void SettingsDlg::OpenPopup(std::function<void(ImRad::ModalResult)> clb)11{12 callback = clb;13 modalResult = ImRad::None;14 auto *ioUserData = (ImRad::IOUserData *)ImGui::GetIO().UserData;15 ioUserData->dimBgRatio = 1.f;16 ImGui::OpenPopup(ID);17 Init();18}19 20void SettingsDlg::ClosePopup(ImRad::ModalResult mr)21{22 modalResult = mr;23 auto *ioUserData = (ImRad::IOUserData *)ImGui::GetIO().UserData;24 ioUserData->dimBgRatio = 0.f;25}26 27void SettingsDlg::ResetLayout()28{29 // ImGui::GetCurrentWindow()->HiddenFramesCannotSkipItems = 2;30 vb1.Reset();31 hb3.Reset();32}33 34void SettingsDlg::Init()35{36 // TODO: Add your code here37}38 39void SettingsDlg::Draw()40{41 /// @style imrad42 /// @unit px43 /// @begin TopWindow44 auto* ioUserData = (ImRad::IOUserData*)ImGui::GetIO().UserData;45 ID = ImGui::GetID("###SettingsDlg");46 ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, { 10, 10 });47 ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, { 10, 5 });48 ImGui::SetNextWindowSize({ 700, 520 }, ImGuiCond_FirstUseEver); //{ 700, 520 }49 ImGui::SetNextWindowSizeConstraints({ 0, 0 }, { FLT_MAX, FLT_MAX });50 bool tmpOpen = true;51 if (ImGui::BeginPopupModal("Settings###SettingsDlg", &tmpOpen, ImGuiWindowFlags_NoCollapse))52 {53 if (ioUserData->activeActivity != "")54 ImRad::RenderDimmedBackground(ioUserData->WorkRect(), ioUserData->dimBgRatio);55 if (modalResult != ImRad::None)56 {57 ImGui::CloseCurrentPopup();58 if (modalResult != ImRad::Cancel)59 callback(modalResult);60 }61 if (ImGui::Shortcut(ImGuiKey_Escape))62 ClosePopup();63 /// @separator64 65 // TODO: Add Draw calls of dependent popup windows here66 67 /// @begin Selectable68 vb1.BeginLayout();69 ImGui::PushStyleColor(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_TextDisabled));70 ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, { 0, 0.5f });71 ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true);72 ImRad::Selectable("Category", false, ImGuiSelectableFlags_NoAutoClosePopups, { 140, 24 });73 ImGui::PopItemFlag();74 ImGui::PopStyleVar();75 vb1.AddSize(0, 24);76 ImGui::PopStyleColor();77 /// @end Selectable78 79 /// @begin Text80 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);81 ImGui::PushFont(ImRad::GetFontByName("imrad.H3"));82 ImGui::TextUnformatted("Environment Settings");83 vb1.UpdateSize(0, ImRad::VBox::ItemSize);84 ImGui::PopFont();85 /// @end Text86 87 // TODO: Add Draw calls of dependent popup windows here88 89 /// @begin Table90 if (ImGui::BeginTable("table1", 1, ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterH | ImGuiTableFlags_BordersOuterV, { 140, vb1.GetSize() }))91 {92 ImGui::TableSetupColumn("A", 0, 0);93 ImGui::TableSetupScrollFreeze(0, 0);94 ImGui::TableNextRow(0, 0);95 ImGui::TableSetColumnIndex(0);96 /// @separator97 98 /// @begin Selectable99 ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, { 0, 0.5f });100 ImRad::Selectable("\xee\x85\xa3 Environment", true, ImGuiSelectableFlags_NoAutoClosePopups, { -1, 30 });101 ImGui::PopStyleVar();102 /// @end Selectable103 104 105 /// @separator106 ImGui::EndTable();107 }108 vb1.AddSize(1, ImRad::VBox::Stretch(1));109 /// @end Table110 111 /// @begin Child112 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);113 ImGui::PushStyleColor(ImGuiCol_ChildBg, 0xffd0d0d0);114 ImGui::BeginChild("child2", { -1, vb1.GetSize() }, ImGuiChildFlags_AlwaysUseWindowPadding | ImGuiChildFlags_NavFlattened, ImGuiWindowFlags_NoSavedSettings);115 {116 /// @separator117 118 /// @begin Text119 ImGui::PushFont(ImRad::GetFontByName("imrad.H3"));120 ImGui::AlignTextToFramePadding();121 ImGui::TextUnformatted("UI font");122 ImGui::PopFont();123 /// @end Text124 125 /// @begin Selectable126 ImRad::Spacing(1);127 ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, { 0, 0 });128 ImGui::AlignTextToFramePadding();129 ImRad::Selectable("Regular:", false, ImGuiSelectableFlags_NoAutoClosePopups, { 60, 0 });130 ImGui::PopStyleVar();131 /// @end Selectable132 133 /// @begin Combo134 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);135 ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 1);136 ImGui::SetNextItemWidth(200);137 ImRad::Combo("##uiFontName", &uiFontName, fontNames, 0);138 ImGui::PopStyleVar();139 /// @end Combo140 141 /// @begin Text142 ImGui::SameLine(0, 2 * ImGui::GetStyle().ItemSpacing.x);143 ImGui::TextUnformatted("Size:");144 /// @end Text145 146 /// @begin Combo147 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);148 ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 1);149 ImGui::SetNextItemWidth(100);150 ImRad::Combo("##uiFontSize", &uiFontSize, "12\00014\00016\00018\00019\00020\00021\00022\00024\00026\00028\00032\00036\000", 0);151 ImGui::PopStyleVar();152 /// @end Combo153 154 /// @begin Text155 ImRad::Spacing(4);156 ImGui::PushFont(ImRad::GetFontByName("imrad.H3"));157 ImGui::AlignTextToFramePadding();158 ImGui::TextUnformatted("Property Grid Fonts");159 ImGui::PopFont();160 /// @end Text161 162 /// @begin Selectable163 ImRad::Spacing(1);164 ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, { 0, 0 });165 ImGui::AlignTextToFramePadding();166 ImRad::Selectable("Regular:", false, ImGuiSelectableFlags_NoAutoClosePopups, { 60, 0 });167 ImGui::PopStyleVar();168 /// @end Selectable169 170 /// @begin Combo171 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);172 ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 1);173 ImGui::SetNextItemWidth(200);174 ImRad::Combo("##pgFontName", &pgFontName, fontNames, 0);175 ImGui::PopStyleVar();176 /// @end Combo177 178 /// @begin Text179 ImGui::SameLine(0, 2 * ImGui::GetStyle().ItemSpacing.x);180 ImGui::TextUnformatted("Size:");181 /// @end Text182 183 /// @begin Combo184 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);185 ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 1);186 ImGui::SetNextItemWidth(100);187 ImRad::Combo("##pgFontSize", &pgFontSize, "12\00014\00016\00018\00019\00020\00021\00022\00024\00026\00028\00032\00036\000", 0);188 ImGui::PopStyleVar();189 /// @end Combo190 191 /// @begin Selectable192 ImRad::Spacing(1);193 ImGui::PushStyleVar(ImGuiStyleVar_SelectableTextAlign, { 0, 0 });194 ImGui::AlignTextToFramePadding();195 ImRad::Selectable("Bold:", false, ImGuiSelectableFlags_NoAutoClosePopups, { 60, 0 });196 ImGui::PopStyleVar();197 /// @end Selectable198 199 /// @begin Combo200 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);201 ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 1);202 ImGui::SetNextItemWidth(200);203 ImRad::Combo("##pgbFontName", &pgbFontName, fontNames, 0);204 ImGui::PopStyleVar();205 /// @end Combo206 207 /// @separator208 ImGui::EndChild();209 }210 ImGui::PopStyleColor();211 vb1.UpdateSize(0, ImRad::VBox::Stretch(1));212 /// @end Child213 214 /// @begin Spacer215 hb3.BeginLayout();216 ImRad::Spacing(1);217 ImRad::Dummy({ hb3.GetSize(), 0 });218 vb1.AddSize(2, ImRad::VBox::ItemSize);219 hb3.AddSize(0, ImRad::HBox::Stretch(1));220 /// @end Spacer221 222 /// @begin Button223 ImGui::SameLine(0, 1 * ImGui::GetStyle().ItemSpacing.x);224 if (ImGui::Button("OK", { 100, 30 }))225 {226 ClosePopup(ImRad::Ok);227 }228 vb1.UpdateSize(0, 30);229 hb3.AddSize(1, 100);230 /// @end Button231 232 /// @separator233 ImGui::EndPopup();234 }235 ImGui::PopStyleVar();236 ImGui::PopStyleVar();237 /// @end TopWindow238}239 