diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Slic3r.pm | 1 | ||||
-rw-r--r-- | lib/Slic3r/GUI/MainFrame.pm | 6 | ||||
-rw-r--r-- | lib/Slic3r/GUI/Plater.pm | 4 | ||||
-rw-r--r-- | lib/Slic3r/GUI/ProgressStatusBar.pm | 136 |
4 files changed, 9 insertions, 138 deletions
diff --git a/lib/Slic3r.pm b/lib/Slic3r.pm index 46627311f..4a178682c 100644 --- a/lib/Slic3r.pm +++ b/lib/Slic3r.pm @@ -166,6 +166,7 @@ sub thread_cleanup { *Slic3r::GUI::Tab::DESTROY = sub {}; *Slic3r::GUI::PresetHints::DESTROY = sub {}; *Slic3r::GUI::TabIface::DESTROY = sub {}; + *Slic3r::GUI::ProgressStatusBar::DESTROY= sub {}; *Slic3r::OctoPrint::DESTROY = sub {}; *Slic3r::Duet::DESTROY = sub {}; *Slic3r::PresetUpdater::DESTROY = sub {}; diff --git a/lib/Slic3r/GUI/MainFrame.pm b/lib/Slic3r/GUI/MainFrame.pm index 6b932f92f..50aa3e51d 100644 --- a/lib/Slic3r/GUI/MainFrame.pm +++ b/lib/Slic3r/GUI/MainFrame.pm @@ -63,15 +63,11 @@ sub new { # initialize status bar $self->{statusbar} = Slic3r::GUI::ProgressStatusBar->new(); - # $self->{statusbar}->SetParent($self, Wx::NewId); $self->{statusbar}->Embed; $self->{statusbar}->SetStatusText(L("Version ").$Slic3r::VERSION.L(" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases")); # Make the global status bar and its progress indicator available in C++ - $appController->set_global_progress_indicator( - $self->{statusbar}->GetProgId(), - $self->{statusbar}->GetId(), - ); + $appController->set_global_progress_indicator($self->{statusbar}); $appController->set_model($self->{plater}->{model}); $appController->set_print($self->{plater}->{print}); diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index ee2689d16..ffc3b9640 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -1569,7 +1569,9 @@ sub on_progress_event { my ($self, $percent, $message) = @_; $self->statusbar->SetProgress($percent); - $self->statusbar->SetStatusText("$messageā¦"); + # TODO: three dot character is not properly translated into C++ + # $self->statusbar->SetStatusText("$messageā¦"); + $self->statusbar->SetStatusText("$message..."); } # Called when the G-code export finishes, either successfully or with an error. diff --git a/lib/Slic3r/GUI/ProgressStatusBar.pm b/lib/Slic3r/GUI/ProgressStatusBar.pm index a696feb7f..edc0c0ce3 100644 --- a/lib/Slic3r/GUI/ProgressStatusBar.pm +++ b/lib/Slic3r/GUI/ProgressStatusBar.pm @@ -1,146 +1,18 @@ # Status bar at the bottom of the main screen. +# Now it just implements cancel cb on perl side, every other functionality is +# in C++ -package Slic3r::GUI::ProgressStatusBar; +package Slic3r::GUI::ProgressStatusBar; use strict; use warnings; -# use Wx qw(:gauge :misc); -# use base 'Wx::StatusBar'; - our $cancel_cb; -# sub new { -# my $class = shift; -# my $self = $class->SUPER::new(@_); - -# $self->{busy} = 0; -# $self->{timer} = Wx::Timer->new($self); -# $self->{prog} = Wx::Gauge->new($self, wxGA_HORIZONTAL, 100, wxDefaultPosition, wxDefaultSize); -# $self->{prog}->Hide; -# $self->{cancelbutton} = Wx::Button->new($self, -1, "Cancel", wxDefaultPosition, wxDefaultSize); -# $self->{cancelbutton}->Hide; - -# $self->SetFieldsCount(3); -# $self->SetStatusWidths(-1, 150, 155); - -# Wx::Event::EVT_TIMER($self, \&OnTimer, $self->{timer}); -# Wx::Event::EVT_SIZE($self, \&OnSize); -# Wx::Event::EVT_BUTTON($self, $self->{cancelbutton}, sub { -# $self->{cancel_cb}->(); -# $self->{cancelbutton}->Hide; -# }); - -# return $self; -# } - -# sub DESTROY { -# my $self = shift; -# $self->{timer}->Stop if $self->{timer} && $self->{timer}->IsRunning; -# } - -# sub OnSize { -# my ($self, $event) = @_; - -# my %fields = ( -# # 0 is reserved for status text -# 1 => $self->{cancelbutton}, -# 2 => $self->{prog}, -# ); - -# foreach (keys %fields) { -# my $rect = $self->GetFieldRect($_); -# my $offset = &Wx::wxGTK ? 1 : 0; # add a cosmetic 1 pixel offset on wxGTK -# my $pos = [$rect->GetX + $offset, $rect->GetY + $offset]; -# $fields{$_}->Move($pos); -# $fields{$_}->SetSize($rect->GetWidth - $offset, $rect->GetHeight); -# } - -# $event->Skip; -# } - -# sub OnTimer { -# my ($self, $event) = @_; - -# if ($self->{prog}->IsShown) { -# $self->{timer}->Stop; -# } -# $self->{prog}->Pulse if $self->{_busy}; -# } - sub SetCancelCallback { my $self = shift; my ($cb) = @_; $cancel_cb = $cb; - # $cb ? $self->{cancelbutton}->Show : $self->{cancelbutton}->Hide; + $cb ? $self->ShowCancelButton : $self->HideCancelButton; } -# sub Run { -# my $self = shift; -# my $rate = shift || 100; -# if (!$self->{timer}->IsRunning) { -# $self->{timer}->Start($rate); -# } -# } - -# sub GetProgress { -# my $self = shift; -# return $self->{prog}->GetValue; -# } - -# sub SetProgress { -# my $self = shift; -# my ($val) = @_; -# if (!$self->{prog}->IsShown) { -# $self->ShowProgress(1); -# } -# if ($val == $self->{prog}->GetRange) { -# $self->{prog}->SetValue(0); -# $self->ShowProgress(0); -# } else { -# $self->{prog}->SetValue($val); -# } -# } - -# sub SetRange { -# my $self = shift; -# my ($val) = @_; - -# if ($val != $self->{prog}->GetRange) { -# $self->{prog}->SetRange($val); -# } -# } - -# sub ShowProgress { -# my $self = shift; -# my ($show) = @_; - -# $self->{prog}->Show($show); -# $self->{prog}->Pulse; -# } - -# sub StartBusy { -# my $self = shift; -# my $rate = shift || 100; - -# $self->{_busy} = 1; -# $self->ShowProgress(1); -# if (!$self->{timer}->IsRunning) { -# $self->{timer}->Start($rate); -# } -# } - -# sub StopBusy { -# my $self = shift; - -# $self->{timer}->Stop; -# $self->ShowProgress(0); -# $self->{prog}->SetValue(0); -# $self->{_busy} = 0; -# } - -# sub IsBusy { -# my $self = shift; -# return $self->{_busy}; -# } - 1; |