feat: added layer renaming

This commit is contained in:
Sara Gerretsen 2025-12-07 21:31:35 +01:00
parent 31d9cde40c
commit fab10c4feb
2 changed files with 8 additions and 0 deletions

View file

@ -45,6 +45,12 @@ void PrimitiveLayerList::switch_index(size_t from, size_t to) {
this->terrain->set_primitives(primitives);
}
void PrimitiveLayerList::layer_renamed(TreeItem *item) {
Array primitives = this->terrain->get_primitives();
Ref<TerrainPrimitive> primitive{ primitives.get(item->get_index()) };
primitive->set_name(item->get_text(1));
}
void PrimitiveLayerList::item_edited() {
TreeItem *edited{ get_edited() };
switch (get_edited_column()) {
@ -54,6 +60,7 @@ void PrimitiveLayerList::item_edited() {
switch_index(edited->get_index(), edited->get_text(0).to_int());
return;
case 1: // name
layer_renamed(edited);
return;
}
}

View file

@ -11,6 +11,7 @@ class PrimitiveLayerList : public Tree {
void generate_subtree(size_t idx, Ref<TerrainPrimitive> prim, TreeItem *parent);
void regenerate_tree(Array array);
void switch_index(size_t from, size_t to);
void layer_renamed(TreeItem *item);
void item_edited();
protected: