New Select Next and Select Prev menu items. #3770

This commit is contained in:
Alessandro Ranellucci 2017-03-26 20:50:25 +02:00
parent 9e71fe2bf3
commit 35758819f2
2 changed files with 34 additions and 0 deletions

View File

@ -181,6 +181,12 @@ sub _init_menubar {
my $selectMenuItem = $self->{plater_menu}->AppendSubMenu($selectMenu, "Select", 'Select an object in the plater');
wxTheApp->set_menu_item_icon($selectMenuItem, 'brick.png');
}
$self->_append_menu_item($self->{plater_menu}, "Select Next Object\tCtrl+Right", 'Select Next Object in the plater', sub {
$plater->select_next;
}, undef, 'arrow_right.png');
$self->_append_menu_item($self->{plater_menu}, "Select Prev Object\tCtrl+Left", 'Select Previous Object in the plater', sub {
$plater->select_prev;
}, undef, 'arrow_left.png');
$self->{plater_menu}->AppendSeparator();
$self->_append_menu_item($self->{plater_menu}, "Export G-code...", 'Export current plate as G-code', sub {
$plater->export_gcode;

View File

@ -2226,6 +2226,34 @@ sub select_object {
$self->selection_changed(1);
}
sub select_next {
my ($self) = @_;
return if !@{$self->{objects}};
my ($obj_idx, $object) = $self->selected_object;
if (!defined $obj_idx || $obj_idx == $#{$self->{objects}}) {
$obj_idx = 0;
} else {
$obj_idx++;
}
$self->select_object($obj_idx);
$self->refresh_canvases;
}
sub select_prev {
my ($self) = @_;
return if !@{$self->{objects}};
my ($obj_idx, $object) = $self->selected_object;
if (!defined $obj_idx || $obj_idx == 0) {
$obj_idx = $#{$self->{objects}};
} else {
$obj_idx--;
}
$self->select_object($obj_idx);
$self->refresh_canvases;
}
sub selected_object {
my $self = shift;