MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / EditorInspectorArray

Method EditorInspectorArray

editor/inspector/editor_inspector.cpp:3275–3328  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3273}
3274
3275EditorInspectorArray::EditorInspectorArray(bool p_read_only) {
3276 read_only = p_read_only;
3277
3278 odd_style.instantiate();
3279 even_style.instantiate();
3280
3281 rmb_popup = memnew(PopupMenu);
3282 rmb_popup->set_accessibility_name(TTRC("Move"));
3283 rmb_popup->add_item(TTR("Move Up"), OPTION_MOVE_UP);
3284 rmb_popup->add_item(TTR("Move Down"), OPTION_MOVE_DOWN);
3285 rmb_popup->add_separator();
3286 rmb_popup->add_item(TTR("Insert New Before"), OPTION_NEW_BEFORE);
3287 rmb_popup->add_item(TTR("Insert New After"), OPTION_NEW_AFTER);
3288 rmb_popup->add_separator();
3289 rmb_popup->add_item(TTR("Remove"), OPTION_REMOVE);
3290 rmb_popup->add_separator();
3291 rmb_popup->add_item(TTR("Clear Array"), OPTION_CLEAR_ARRAY);
3292 rmb_popup->add_item(TTR("Resize Array..."), OPTION_RESIZE_ARRAY);
3293 rmb_popup->connect(SceneStringName(id_pressed), callable_mp(this, &EditorInspectorArray::_rmb_popup_id_pressed));
3294 add_child(rmb_popup);
3295
3296 elements_vbox = memnew(VBoxContainer);
3297 elements_vbox->add_theme_constant_override("separation", 0);
3298 vbox->add_child(elements_vbox);
3299
3300 add_button = memnew(EditorInspectorActionButton(TTRC("Add Element"), SNAME("Add")));
3301 add_button->connect(SceneStringName(pressed), callable_mp(this, &EditorInspectorArray::_add_button_pressed));
3302 add_button->set_disabled(read_only);
3303 vbox->add_child(add_button);
3304
3305 control_dropping = memnew(Control);
3306 control_dropping->connect(SceneStringName(draw), callable_mp(this, &EditorInspectorArray::_control_dropping_draw));
3307 control_dropping->set_mouse_filter(Control::MOUSE_FILTER_IGNORE);
3308 add_child(control_dropping);
3309
3310 resize_dialog = memnew(AcceptDialog);
3311 resize_dialog->set_title(TTRC("Resize Array"));
3312 resize_dialog->add_cancel_button();
3313 resize_dialog->connect(SceneStringName(confirmed), callable_mp(this, &EditorInspectorArray::_resize_dialog_confirmed));
3314 add_child(resize_dialog);
3315
3316 VBoxContainer *resize_dialog_vbox = memnew(VBoxContainer);
3317 resize_dialog->add_child(resize_dialog_vbox);
3318
3319 new_size_spin_box = memnew(SpinBox);
3320 new_size_spin_box->set_accessibility_name(TTRC("New Size:"));
3321 new_size_spin_box->set_max(16384);
3322 new_size_spin_box->connect(SceneStringName(value_changed), callable_mp(this, &EditorInspectorArray::_new_size_spin_box_value_changed));
3323 new_size_spin_box->get_line_edit()->connect(SceneStringName(text_submitted), callable_mp(this, &EditorInspectorArray::_new_size_spin_box_text_submitted));
3324 new_size_spin_box->set_editable(!read_only);
3325 resize_dialog_vbox->add_margin_child(TTRC("New Size:"), new_size_spin_box);
3326
3327 vbox->connect(SceneStringName(visibility_changed), callable_mp(this, &EditorInspectorArray::_vbox_visibility_changed));
3328}
3329
3330////////////////////////////////////////////////
3331////////////////////////////////////////////////

Callers

nothing calls this directly

Calls 15

TTRFunction · 0.85
set_mouse_filterMethod · 0.80
add_cancel_buttonMethod · 0.80
add_margin_childMethod · 0.80
connectMethod · 0.65
instantiateMethod · 0.45
add_itemMethod · 0.45
add_separatorMethod · 0.45
add_childMethod · 0.45

Tested by

no test coverage detected