Extract layer rename dialog and brush preset registry shells
This commit is contained in:
@@ -7,6 +7,27 @@
|
||||
|
||||
namespace pp::panopainter {
|
||||
|
||||
namespace {
|
||||
std::vector<NodePanelBrushPreset*> s_legacy_brush_preset_panels;
|
||||
}
|
||||
|
||||
void register_legacy_brush_preset_panel(NodePanelBrushPreset& panel)
|
||||
{
|
||||
s_legacy_brush_preset_panels.push_back(&panel);
|
||||
}
|
||||
|
||||
void unregister_legacy_brush_preset_panel(NodePanelBrushPreset& panel)
|
||||
{
|
||||
s_legacy_brush_preset_panels.erase(
|
||||
std::remove(s_legacy_brush_preset_panels.begin(), s_legacy_brush_preset_panels.end(), &panel),
|
||||
s_legacy_brush_preset_panels.end());
|
||||
}
|
||||
|
||||
const std::vector<NodePanelBrushPreset*>& legacy_brush_preset_panels()
|
||||
{
|
||||
return s_legacy_brush_preset_panels;
|
||||
}
|
||||
|
||||
LegacyBrushPresetListServices::LegacyBrushPresetListServices(NodePanelBrushPreset& owner)
|
||||
: owner_(owner)
|
||||
{
|
||||
@@ -21,7 +42,7 @@ pp::foundation::Status LegacyBrushPresetListServices::add_current_brush_preset(i
|
||||
return pp::foundation::Status::invalid_argument("current brush must be available to add a preset");
|
||||
}
|
||||
|
||||
for (auto p : NodePanelBrushPreset::s_panels) {
|
||||
for (auto p : legacy_brush_preset_panels()) {
|
||||
p->add_brush(std::make_shared<Brush>(*Canvas::I->m_current_brush));
|
||||
}
|
||||
return pp::foundation::Status::success();
|
||||
@@ -33,7 +54,7 @@ void LegacyBrushPresetListServices::remove_brush_preset(
|
||||
bool selects_target,
|
||||
bool clears_selection)
|
||||
{
|
||||
for (auto p : NodePanelBrushPreset::s_panels) {
|
||||
for (auto p : legacy_brush_preset_panels()) {
|
||||
if (current_index < 0 || current_index >= static_cast<int>(p->m_container->m_children.size())) {
|
||||
continue;
|
||||
}
|
||||
@@ -51,7 +72,7 @@ void LegacyBrushPresetListServices::remove_brush_preset(
|
||||
|
||||
void LegacyBrushPresetListServices::move_brush_preset(int from_index, int to_index)
|
||||
{
|
||||
for (auto p : NodePanelBrushPreset::s_panels) {
|
||||
for (auto p : legacy_brush_preset_panels()) {
|
||||
if (from_index >= 0 && from_index < static_cast<int>(p->m_container->m_children.size())) {
|
||||
p->m_container->move_child(p->m_container->m_children[from_index].get(), to_index);
|
||||
}
|
||||
@@ -60,7 +81,7 @@ void LegacyBrushPresetListServices::move_brush_preset(int from_index, int to_ind
|
||||
|
||||
void LegacyBrushPresetListServices::select_brush_preset(int index, bool notify_brush_changed)
|
||||
{
|
||||
for (auto p : NodePanelBrushPreset::s_panels) {
|
||||
for (auto p : legacy_brush_preset_panels()) {
|
||||
if (p->m_current) {
|
||||
p->m_current->m_selected = false;
|
||||
}
|
||||
@@ -75,7 +96,7 @@ void LegacyBrushPresetListServices::select_brush_preset(int index, bool notify_b
|
||||
|
||||
void LegacyBrushPresetListServices::clear_brush_presets(bool clears_selection)
|
||||
{
|
||||
for (auto p : NodePanelBrushPreset::s_panels) {
|
||||
for (auto p : legacy_brush_preset_panels()) {
|
||||
p->m_container->remove_all_children();
|
||||
if (clears_selection) {
|
||||
p->m_current = nullptr;
|
||||
@@ -85,7 +106,7 @@ void LegacyBrushPresetListServices::clear_brush_presets(bool clears_selection)
|
||||
|
||||
void LegacyBrushPresetListServices::update_preset_empty_notification()
|
||||
{
|
||||
for (auto p : NodePanelBrushPreset::s_panels) {
|
||||
for (auto p : legacy_brush_preset_panels()) {
|
||||
p->m_notification->SetVisibility(p->m_container->m_children.size() == 0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user