18 std::bitset<32>
bits = data.mask;
30 preview =
"Everything";
39 for(
size_t i = 0; i <
bits.size(); ++i)
41 if(
bits.test(i) && !layer_names[i].empty())
47 preview += layer_names[i];
52 if(ImGui::CalcTextSize(preview.c_str()).x > ImGui::GetContentRegionAvail().x)
58 if(ImGui::BeginCombo(
"##Type", preview.c_str()))
60 ImGui::PushItemFlag(ImGuiItemFlags_AutoClosePopups,
false);
62 if(ImGui::MenuItem(
"Edit Layers...",
"",
false))
64 ctx.get_cached<
hub>().open_project_settings(ctx,
"Layers");
67 if(ImGui::MenuItem(
"Nothing",
"",
bits.none()))
71 result.changed =
true;
74 if(ImGui::MenuItem(
"Everything",
"",
bits.all()))
78 result.changed =
true;
81 for(
size_t i = 0; i <
bits.size(); ++i)
83 if(layer_names[i].empty())
87 if(ImGui::MenuItem(layer_names[i].c_str(),
"",
bits.test(i)))
90 result.changed =
true;
93 ImGui::DrawItemActivityOutline();
104 result.edit_finished |=
true;
106 data.mask = int(
bits.to_ulong());