Initial editor accessibility.
This commit is contained in:
parent
4310cb82b8
commit
302fa831cc
137 changed files with 1544 additions and 93 deletions
|
|
@ -1485,6 +1485,15 @@ void AnimationTimelineEdit::_notification(int p_what) {
|
|||
len_hb->set_size(Size2(get_buttons_width(), get_size().height));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_ACCESSIBILITY_UPDATE: {
|
||||
RID ae = get_accessibility_element();
|
||||
ERR_FAIL_COND(ae.is_null());
|
||||
|
||||
//TODO
|
||||
DisplayServer::get_singleton()->accessibility_update_set_role(ae, DisplayServer::AccessibilityRole::ROLE_STATIC_TEXT);
|
||||
DisplayServer::get_singleton()->accessibility_update_set_value(ae, TTR(vformat("The %s is not accessible at this time.", "Animation timeline editor")));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_DRAW: {
|
||||
int key_range = get_size().width - get_buttons_width() - get_name_limit();
|
||||
|
||||
|
|
@ -2008,10 +2017,12 @@ AnimationTimelineEdit::AnimationTimelineEdit() {
|
|||
expander->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||
expander->set_mouse_filter(MOUSE_FILTER_IGNORE);
|
||||
len_hb->add_child(expander);
|
||||
|
||||
time_icon = memnew(TextureRect);
|
||||
time_icon->set_v_size_flags(SIZE_SHRINK_CENTER);
|
||||
time_icon->set_tooltip_text(TTR("Animation length (seconds)"));
|
||||
len_hb->add_child(time_icon);
|
||||
|
||||
length = memnew(EditorSpinSlider);
|
||||
length->set_min(SECOND_DECIMAL);
|
||||
length->set_max(36000);
|
||||
|
|
@ -2020,11 +2031,14 @@ AnimationTimelineEdit::AnimationTimelineEdit() {
|
|||
length->set_custom_minimum_size(Vector2(70 * EDSCALE, 0));
|
||||
length->set_hide_slider(true);
|
||||
length->set_tooltip_text(TTR("Animation length (seconds)"));
|
||||
length->set_accessibility_name(TTRC("Animation length"));
|
||||
length->connect(SceneStringName(value_changed), callable_mp(this, &AnimationTimelineEdit::_anim_length_changed));
|
||||
len_hb->add_child(length);
|
||||
|
||||
loop = memnew(Button);
|
||||
loop->set_flat(true);
|
||||
loop->set_tooltip_text(TTR("Animation Looping"));
|
||||
loop->set_accessibility_name(TTRC("Animation Looping"));
|
||||
loop->connect(SceneStringName(pressed), callable_mp(this, &AnimationTimelineEdit::_anim_loop_pressed));
|
||||
loop->set_toggle_mode(true);
|
||||
len_hb->add_child(loop);
|
||||
|
|
@ -2056,6 +2070,15 @@ void AnimationTrackEdit::_notification(int p_what) {
|
|||
selected_icon = get_editor_theme_icon(SNAME("KeySelected"));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_ACCESSIBILITY_UPDATE: {
|
||||
RID ae = get_accessibility_element();
|
||||
ERR_FAIL_COND(ae.is_null());
|
||||
|
||||
//TODO
|
||||
DisplayServer::get_singleton()->accessibility_update_set_role(ae, DisplayServer::AccessibilityRole::ROLE_STATIC_TEXT);
|
||||
DisplayServer::get_singleton()->accessibility_update_set_value(ae, TTR(vformat("The %s is not accessible at this time.", "Animation track editor")));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_DRAW: {
|
||||
if (animation.is_null()) {
|
||||
return;
|
||||
|
|
@ -3604,6 +3627,15 @@ void AnimationTrackEditGroup::_notification(int p_what) {
|
|||
icon_size = Vector2(1, 1) * get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_ACCESSIBILITY_UPDATE: {
|
||||
RID ae = get_accessibility_element();
|
||||
ERR_FAIL_COND(ae.is_null());
|
||||
|
||||
//TODO
|
||||
DisplayServer::get_singleton()->accessibility_update_set_role(ae, DisplayServer::AccessibilityRole::ROLE_STATIC_TEXT);
|
||||
DisplayServer::get_singleton()->accessibility_update_set_value(ae, TTR(vformat("The %s is not accessible at this time.", "Animation track group")));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_DRAW: {
|
||||
const Ref<Font> font = get_theme_font(SceneStringName(font), SNAME("Label"));
|
||||
const int font_size = get_theme_font_size(SceneStringName(font_size), SNAME("Label"));
|
||||
|
|
@ -7674,6 +7706,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
bezier_edit_icon->set_toggle_mode(true);
|
||||
bezier_edit_icon->connect(SceneStringName(pressed), callable_mp(this, &AnimationTrackEditor::_toggle_bezier_edit));
|
||||
bezier_edit_icon->set_tooltip_text(TTR("Toggle between the bezier curve editor and track editor."));
|
||||
bezier_edit_icon->set_accessibility_name(TTRC("Bezier Curve Editor"));
|
||||
|
||||
bottom_hf->add_child(bezier_edit_icon);
|
||||
|
||||
|
|
@ -7692,6 +7725,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
selected_filter->connect(SceneStringName(pressed), callable_mp(this, &AnimationTrackEditor::_view_group_toggle)); // Same function works the same.
|
||||
selected_filter->set_toggle_mode(true);
|
||||
selected_filter->set_tooltip_text(TTR("Only show tracks from nodes selected in tree."));
|
||||
selected_filter->set_accessibility_name(TTRC("Show Tracks from Selected Nodes"));
|
||||
|
||||
bottom_hf->add_child(selected_filter);
|
||||
|
||||
|
|
@ -7700,6 +7734,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
view_group->connect(SceneStringName(pressed), callable_mp(this, &AnimationTrackEditor::_view_group_toggle));
|
||||
view_group->set_toggle_mode(true);
|
||||
view_group->set_tooltip_text(TTR("Group tracks by node or display them as plain list."));
|
||||
view_group->set_accessibility_name(TTRC("Group Tracks by Node"));
|
||||
|
||||
bottom_hf->add_child(view_group);
|
||||
bottom_hf->add_child(memnew(VSeparator));
|
||||
|
|
@ -7711,6 +7746,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
snap_timeline->set_toggle_mode(true);
|
||||
snap_timeline->set_pressed(false);
|
||||
snap_timeline->set_tooltip_text(TTR("Apply snapping to timeline cursor."));
|
||||
snap_timeline->set_accessibility_name(TTRC("Apply Snapping to Cursor"));
|
||||
|
||||
snap_keys = memnew(Button);
|
||||
snap_keys->set_flat(true);
|
||||
|
|
@ -7719,6 +7755,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
snap_keys->set_toggle_mode(true);
|
||||
snap_keys->set_pressed(true);
|
||||
snap_keys->set_tooltip_text(TTR("Apply snapping to selected key(s)."));
|
||||
snap_keys->set_accessibility_name(TTRC("Apply Snapping to Selected Key"));
|
||||
|
||||
fps_compat = memnew(Button);
|
||||
fps_compat->set_flat(true);
|
||||
|
|
@ -7727,6 +7764,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
fps_compat->set_toggle_mode(true);
|
||||
fps_compat->set_pressed(true);
|
||||
fps_compat->set_tooltip_text(TTR("Apply snapping to the nearest integer FPS."));
|
||||
fps_compat->set_accessibility_name(TTRC("Apply Snapping to Nearest Integer FPS"));
|
||||
fps_compat->connect(SceneStringName(toggled), callable_mp(this, &AnimationTrackEditor::_update_fps_compat_mode));
|
||||
|
||||
nearest_fps_label = memnew(Label);
|
||||
|
|
@ -7740,6 +7778,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
step->set_hide_slider(true);
|
||||
step->set_custom_minimum_size(Size2(100, 0) * EDSCALE);
|
||||
step->set_tooltip_text(TTR("Animation step value."));
|
||||
step->set_accessibility_name(TTRC("Animation Step Value"));
|
||||
bottom_hf->add_child(step);
|
||||
step->connect(SceneStringName(value_changed), callable_mp(this, &AnimationTrackEditor::_update_step));
|
||||
step->set_read_only(true);
|
||||
|
|
@ -7747,6 +7786,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
snap_mode = memnew(OptionButton);
|
||||
snap_mode->add_item(TTR("Seconds"));
|
||||
snap_mode->add_item(TTR("FPS"));
|
||||
snap_mode->set_accessibility_name(TTRC("Snap Mode"));
|
||||
snap_mode->set_disabled(true);
|
||||
bottom_hf->add_child(snap_mode);
|
||||
snap_mode->connect(SceneStringName(item_selected), callable_mp(this, &AnimationTrackEditor::_snap_mode_changed));
|
||||
|
|
@ -7764,6 +7804,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
zoom->set_value(1.0);
|
||||
zoom->set_custom_minimum_size(Size2(200, 0) * EDSCALE);
|
||||
zoom->set_v_size_flags(SIZE_SHRINK_CENTER);
|
||||
zoom->set_accessibility_name(TTRC("Zoom"));
|
||||
zoom_hb->add_child(zoom);
|
||||
bottom_hf->add_child(zoom_hb);
|
||||
timeline->set_zoom(zoom);
|
||||
|
|
@ -7774,6 +7815,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
auto_fit->set_flat(true);
|
||||
auto_fit->connect(SceneStringName(pressed), callable_mp(this, &AnimationTrackEditor::_auto_fit));
|
||||
auto_fit->set_shortcut(ED_GET_SHORTCUT("animation_editor/auto_fit"));
|
||||
auto_fit->set_accessibility_name(TTRC("Auto Fit"));
|
||||
bottom_hf->add_child(auto_fit);
|
||||
|
||||
auto_fit_bezier = memnew(Button);
|
||||
|
|
@ -7781,6 +7823,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
auto_fit_bezier->set_visible(false);
|
||||
auto_fit_bezier->connect(SceneStringName(pressed), callable_mp(this, &AnimationTrackEditor::_auto_fit_bezier));
|
||||
auto_fit_bezier->set_shortcut(ED_GET_SHORTCUT("animation_editor/auto_fit"));
|
||||
auto_fit_bezier->set_accessibility_name(TTRC("Auto Fit Bezier"));
|
||||
bottom_hf->add_child(auto_fit_bezier);
|
||||
|
||||
edit = memnew(MenuButton);
|
||||
|
|
@ -7789,6 +7832,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
edit->set_flat(false);
|
||||
edit->set_disabled(true);
|
||||
edit->set_tooltip_text(TTR("Animation properties."));
|
||||
edit->set_accessibility_name(TTRC("Animation Properties"));
|
||||
edit->get_popup()->add_item(TTR("Copy Tracks..."), EDIT_COPY_TRACKS);
|
||||
edit->get_popup()->add_item(TTR("Paste Tracks"), EDIT_PASTE_TRACKS);
|
||||
edit->get_popup()->add_separator();
|
||||
|
|
@ -7833,10 +7877,12 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
prop_selector = memnew(PropertySelector);
|
||||
add_child(prop_selector);
|
||||
prop_selector->connect("selected", callable_mp(this, &AnimationTrackEditor::_new_track_property_selected));
|
||||
prop_selector->set_accessibility_name(TTRC("Track Property"));
|
||||
|
||||
method_selector = memnew(PropertySelector);
|
||||
add_child(method_selector);
|
||||
method_selector->connect("selected", callable_mp(this, &AnimationTrackEditor::_add_method_key));
|
||||
method_selector->set_accessibility_name(TTRC("Method Key"));
|
||||
|
||||
insert_confirm = memnew(ConfirmationDialog);
|
||||
add_child(insert_confirm);
|
||||
|
|
@ -7881,18 +7927,21 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
optimize_velocity_error->set_min(0.001);
|
||||
optimize_velocity_error->set_step(0.001);
|
||||
optimize_velocity_error->set_value(0.01);
|
||||
optimize_velocity_error->set_accessibility_name(TTRC("Max Velocity Error"));
|
||||
optimize_vb->add_margin_child(TTR("Max Velocity Error:"), optimize_velocity_error);
|
||||
optimize_angular_error = memnew(SpinBox);
|
||||
optimize_angular_error->set_max(1.0);
|
||||
optimize_angular_error->set_min(0.001);
|
||||
optimize_angular_error->set_step(0.001);
|
||||
optimize_angular_error->set_value(0.01);
|
||||
optimize_angular_error->set_accessibility_name(TTRC("Max Angular Error"));
|
||||
optimize_vb->add_margin_child(TTR("Max Angular Error:"), optimize_angular_error);
|
||||
optimize_precision_error = memnew(SpinBox);
|
||||
optimize_precision_error->set_max(6);
|
||||
optimize_precision_error->set_min(1);
|
||||
optimize_precision_error->set_step(1);
|
||||
optimize_precision_error->set_value(3);
|
||||
optimize_precision_error->set_accessibility_name(TTRC("Max Precision Error"));
|
||||
optimize_vb->add_margin_child(TTR("Max Precision Error:"), optimize_precision_error);
|
||||
|
||||
optimize_dialog->set_ok_button_text(TTR("Optimize"));
|
||||
|
|
@ -7943,6 +7992,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
scale->set_max(99999);
|
||||
scale->set_step(0.001);
|
||||
scale->set_select_all_on_focus(true);
|
||||
scale->set_accessibility_name(TTRC("Scale Ratio"));
|
||||
vbc->add_margin_child(TTR("Scale Ratio:"), scale);
|
||||
scale_dialog->connect(SceneStringName(confirmed), callable_mp(this, &AnimationTrackEditor::_edit_menu_pressed).bind(EDIT_SCALE_CONFIRM), CONNECT_DEFERRED);
|
||||
add_child(scale_dialog);
|
||||
|
|
@ -7958,6 +8008,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
ease_grid->set_columns(2);
|
||||
ease_dialog->add_child(ease_grid);
|
||||
transition_selection = memnew(OptionButton);
|
||||
transition_selection->set_accessibility_name(TTRC("Transition Type"));
|
||||
transition_selection->add_item(TTR("Linear", "Transition Type"), Tween::TRANS_LINEAR);
|
||||
transition_selection->add_item(TTR("Sine", "Transition Type"), Tween::TRANS_SINE);
|
||||
transition_selection->add_item(TTR("Quint", "Transition Type"), Tween::TRANS_QUINT);
|
||||
|
|
@ -7973,6 +8024,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
transition_selection->select(Tween::TRANS_LINEAR); // Default
|
||||
transition_selection->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED); // Translation context is needed.
|
||||
ease_selection = memnew(OptionButton);
|
||||
ease_selection->set_accessibility_name(TTRC("Ease Type"));
|
||||
ease_selection->add_item(TTR("In", "Ease Type"), Tween::EASE_IN);
|
||||
ease_selection->add_item(TTR("Out", "Ease Type"), Tween::EASE_OUT);
|
||||
ease_selection->add_item(TTR("InOut", "Ease Type"), Tween::EASE_IN_OUT);
|
||||
|
|
@ -7984,6 +8036,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
ease_fps->set_max(999);
|
||||
ease_fps->set_step(FPS_DECIMAL);
|
||||
ease_fps->set_value(30); // Default
|
||||
ease_fps->set_accessibility_name(TTRC("FPS"));
|
||||
ease_grid->add_child(memnew(Label(TTR("Transition Type:"))));
|
||||
ease_grid->add_child(transition_selection);
|
||||
ease_grid->add_child(memnew(Label(TTR("Ease Type:"))));
|
||||
|
|
@ -8000,12 +8053,16 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
bake_grid->set_columns(2);
|
||||
bake_dialog->add_child(bake_grid);
|
||||
bake_trs = memnew(CheckBox);
|
||||
bake_trs->set_accessibility_name(TTRC("3D Pos/Rot/Scl Track"));
|
||||
bake_trs->set_pressed(true);
|
||||
bake_blendshape = memnew(CheckBox);
|
||||
bake_blendshape->set_accessibility_name(TTRC("Blendshape Track"));
|
||||
bake_blendshape->set_pressed(true);
|
||||
bake_value = memnew(CheckBox);
|
||||
bake_value->set_accessibility_name(TTRC("Value Track"));
|
||||
bake_value->set_pressed(true);
|
||||
bake_fps = memnew(SpinBox);
|
||||
bake_fps->set_accessibility_name(TTRC("FPS"));
|
||||
bake_fps->set_min(FPS_DECIMAL);
|
||||
bake_fps->set_max(999);
|
||||
bake_fps->set_step(FPS_DECIMAL);
|
||||
|
|
@ -8033,6 +8090,7 @@ AnimationTrackEditor::AnimationTrackEditor() {
|
|||
track_copy_vbox->add_child(select_all_button);
|
||||
|
||||
track_copy_select = memnew(Tree);
|
||||
track_copy_select->set_accessibility_name(TTRC("Copy Selection"));
|
||||
track_copy_select->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
|
||||
track_copy_select->set_h_size_flags(SIZE_EXPAND_FILL);
|
||||
track_copy_select->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||
|
|
@ -8369,6 +8427,15 @@ void AnimationMarkerEdit::_notification(int p_what) {
|
|||
selected_icon = get_editor_theme_icon(SNAME("MarkerSelected"));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_ACCESSIBILITY_UPDATE: {
|
||||
RID ae = get_accessibility_element();
|
||||
ERR_FAIL_COND(ae.is_null());
|
||||
|
||||
//TODO
|
||||
DisplayServer::get_singleton()->accessibility_update_set_role(ae, DisplayServer::AccessibilityRole::ROLE_STATIC_TEXT);
|
||||
DisplayServer::get_singleton()->accessibility_update_set_value(ae, TTR(vformat("The %s is not accessible at this time.", "Animation marker editor")));
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_DRAW: {
|
||||
if (animation.is_null()) {
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue