Fixed UI bug on OSX, experimental features made switchable through
environment.
This commit is contained in:
parent
79ff013ea7
commit
c79e1cc89b
2 changed files with 23 additions and 6 deletions
lib/Slic3r/GUI
|
@ -191,6 +191,12 @@ sub new {
|
||||||
return $self;
|
return $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub Destroy {
|
||||||
|
my ($self) = @_;
|
||||||
|
$self->DestroyGL;
|
||||||
|
return $self->SUPER::Destroy;
|
||||||
|
}
|
||||||
|
|
||||||
sub _first_selected_object_id {
|
sub _first_selected_object_id {
|
||||||
my ($self) = @_;
|
my ($self) = @_;
|
||||||
for my $i (0..$#{$self->volumes}) {
|
for my $i (0..$#{$self->volumes}) {
|
||||||
|
@ -786,7 +792,8 @@ sub InitGL {
|
||||||
$self->init(1);
|
$self->init(1);
|
||||||
|
|
||||||
my $shader;
|
my $shader;
|
||||||
$shader = $self->{shader} = new Slic3r::GUI::GLShader;
|
$shader = $self->{shader} = new Slic3r::GUI::GLShader
|
||||||
|
if (defined($ENV{'SLIC3R_EXPERIMENTAL'} && defined($ENV{'SLIC3R_EXPERIMENTAL'} == 1);
|
||||||
if ($self->{shader}) {
|
if ($self->{shader}) {
|
||||||
my $info = $shader->Load($self->_fragment_shader, $self->_vertex_shader);
|
my $info = $shader->Load($self->_fragment_shader, $self->_vertex_shader);
|
||||||
print $info if $info;
|
print $info if $info;
|
||||||
|
@ -840,6 +847,13 @@ sub InitGL {
|
||||||
glEnable(GL_MULTISAMPLE);
|
glEnable(GL_MULTISAMPLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub DestroyGL {
|
||||||
|
my $self = shift;
|
||||||
|
if ($self->init && $self->GetContext) {
|
||||||
|
delete $self->{shader};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub Render {
|
sub Render {
|
||||||
my ($self, $dc) = @_;
|
my ($self, $dc) = @_;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ use Slic3r::Geometry qw(X Y Z MIN MAX scale unscale deg2rad);
|
||||||
use LWP::UserAgent;
|
use LWP::UserAgent;
|
||||||
use threads::shared qw(shared_clone);
|
use threads::shared qw(shared_clone);
|
||||||
use Wx qw(:button :cursor :dialog :filedialog :keycode :icon :font :id :listctrl :misc
|
use Wx qw(:button :cursor :dialog :filedialog :keycode :icon :font :id :listctrl :misc
|
||||||
:panel :sizer :toolbar :window wxTheApp :notebook :combobox);
|
:panel :sizer :toolbar :window wxTheApp :notebook :combobox wxNullBitmap);
|
||||||
use Wx::Event qw(EVT_BUTTON EVT_TOGGLEBUTTON EVT_COMMAND EVT_KEY_DOWN EVT_LIST_ITEM_ACTIVATED
|
use Wx::Event qw(EVT_BUTTON EVT_TOGGLEBUTTON EVT_COMMAND EVT_KEY_DOWN EVT_LIST_ITEM_ACTIVATED
|
||||||
EVT_LIST_ITEM_DESELECTED EVT_LIST_ITEM_SELECTED EVT_MOUSE_EVENTS EVT_PAINT EVT_TOOL
|
EVT_LIST_ITEM_DESELECTED EVT_LIST_ITEM_SELECTED EVT_MOUSE_EVENTS EVT_PAINT EVT_TOOL
|
||||||
EVT_CHOICE EVT_COMBOBOX EVT_TIMER EVT_NOTEBOOK_PAGE_CHANGED);
|
EVT_CHOICE EVT_COMBOBOX EVT_TIMER EVT_NOTEBOOK_PAGE_CHANGED);
|
||||||
|
@ -158,7 +158,8 @@ sub new {
|
||||||
$self->{htoolbar}->AddTool(TB_SETTINGS, "Settings…", Wx::Bitmap->new($Slic3r::var->("cog.png"), wxBITMAP_TYPE_PNG), '');
|
$self->{htoolbar}->AddTool(TB_SETTINGS, "Settings…", Wx::Bitmap->new($Slic3r::var->("cog.png"), wxBITMAP_TYPE_PNG), '');
|
||||||
|
|
||||||
# FIXME add a button for layer editing
|
# FIXME add a button for layer editing
|
||||||
$self->{htoolbar}->AddCheckTool(TB_LAYER_EDITING, "Layer editing", Wx::Bitmap->new($Slic3r::var->("cog.png"), wxBITMAP_TYPE_PNG), '');
|
$self->{htoolbar}->AddTool(TB_LAYER_EDITING, 'Layer Editing', Wx::Bitmap->new($Slic3r::var->("delete.png"), wxBITMAP_TYPE_PNG), wxNullBitmap, 1, undef, 'Layer Editing');
|
||||||
|
if (defined($ENV{'SLIC3R_EXPERIMENTAL'} && defined($ENV{'SLIC3R_EXPERIMENTAL'} == 1);
|
||||||
} else {
|
} else {
|
||||||
my %tbar_buttons = (
|
my %tbar_buttons = (
|
||||||
add => "Add…",
|
add => "Add…",
|
||||||
|
@ -180,9 +181,11 @@ sub new {
|
||||||
$self->{"btn_$_"} = Wx::Button->new($self, -1, $tbar_buttons{$_}, wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
|
$self->{"btn_$_"} = Wx::Button->new($self, -1, $tbar_buttons{$_}, wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
|
||||||
$self->{btoolbar}->Add($self->{"btn_$_"});
|
$self->{btoolbar}->Add($self->{"btn_$_"});
|
||||||
}
|
}
|
||||||
|
if (defined($ENV{'SLIC3R_EXPERIMENTAL'} && defined($ENV{'SLIC3R_EXPERIMENTAL'} == 1) {
|
||||||
$self->{"btn_layer_editing"} = Wx::ToggleButton->new($self, -1, $tbar_buttons{'layer_editing'}, wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
|
$self->{"btn_layer_editing"} = Wx::ToggleButton->new($self, -1, $tbar_buttons{'layer_editing'}, wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);
|
||||||
$self->{btoolbar}->Add($self->{"btn_layer_editing"});
|
$self->{btoolbar}->Add($self->{"btn_layer_editing"});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$self->{list} = Wx::ListView->new($self, -1, wxDefaultPosition, wxDefaultSize,
|
$self->{list} = Wx::ListView->new($self, -1, wxDefaultPosition, wxDefaultSize,
|
||||||
wxLC_SINGLE_SEL | wxLC_REPORT | wxBORDER_SUNKEN | wxTAB_TRAVERSAL | wxWANTS_CHARS );
|
wxLC_SINGLE_SEL | wxLC_REPORT | wxBORDER_SUNKEN | wxTAB_TRAVERSAL | wxWANTS_CHARS );
|
||||||
|
|
Loading…
Add table
Reference in a new issue