Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorbubnikv <bubnikv@gmail.com>2017-10-27 19:52:35 +0300
committerbubnikv <bubnikv@gmail.com>2017-10-27 19:52:35 +0300
commit2455aee97cf595563ef7d61c8abe39ad31e5514e (patch)
tree4a15aebe5603e6fb6b6a63c9743de924daaae96b /lib
parent3bc79e80d5d0618633d1ce556f561774acc59588 (diff)
Further reduction of Perl Config.pm methods.
Diffstat (limited to 'lib')
-rw-r--r--lib/Slic3r/Config.pm44
-rw-r--r--lib/Slic3r/GUI/ConfigWizard.pm4
-rw-r--r--lib/Slic3r/GUI/Plater.pm2
-rw-r--r--lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm8
4 files changed, 7 insertions, 51 deletions
diff --git a/lib/Slic3r/Config.pm b/lib/Slic3r/Config.pm
index 4b6e5d453..c5e49df6b 100644
--- a/lib/Slic3r/Config.pm
+++ b/lib/Slic3r/Config.pm
@@ -8,12 +8,6 @@ use utf8;
use List::Util qw(first max);
-# cemetery of old config settings
-our @Ignore = qw(duplicate_x duplicate_y multiply_x multiply_y support_material_tool acceleration
- adjust_overhang_flow standby_temperature scale rotate duplicate duplicate_grid
- rotate scale duplicate_grid start_perimeters_at_concave_points start_perimeters_at_non_overhang
- randomize_start seal_position bed_size print_center g0 vibration_limit gcode_arcs pressure_advance);
-
# C++ Slic3r::PrintConfigDef exported as a Perl hash of hashes.
# The C++ counterpart is a constant singleton.
our $Options = print_config_def();
@@ -29,23 +23,6 @@ $Options->{threads}{readonly} = !$Slic3r::have_threads;
}
}
-# Fill in the underlying C++ Slic3r::DynamicPrintConfig with the content of the defaults
-# provided by the C++ class Slic3r::FullPrintConfig.
-# Used by the UI.
-sub new_from_defaults {
- my ($class, @opt_keys) = @_;
- my $self = $class->new;
- # Instantiating the C++ class Slic3r::FullPrintConfig.
- my $defaults = Slic3r::Config::Full->new;
- if (@opt_keys) {
- $self->set($_, $defaults->get($_))
- for grep $defaults->has($_), @opt_keys;
- } else {
- $self->apply_static($defaults);
- }
- return $self;
-}
-
# From command line parameters, used by slic3r.pl
sub new_from_cli {
my $class = shift;
@@ -87,27 +64,6 @@ sub new_from_cli {
return $self;
}
-sub merge {
- my $class = shift;
- my $config = $class->new;
- $config->apply($_) for @_;
- return $config;
-}
-
-sub clone {
- my $self = shift;
- my $new = (ref $self)->new;
- $new->apply($self);
- return $new;
-}
-
-sub get_value {
- my ($self, $opt_key) = @_;
- return $Options->{$opt_key}{ratio_over}
- ? $self->get_abs_value($opt_key)
- : $self->get($opt_key);
-}
-
# CLASS METHODS:
# Write a "Windows" style ini file with categories enclosed in squre brackets.
diff --git a/lib/Slic3r/GUI/ConfigWizard.pm b/lib/Slic3r/GUI/ConfigWizard.pm
index 19310b3c1..8cdcac052 100644
--- a/lib/Slic3r/GUI/ConfigWizard.pm
+++ b/lib/Slic3r/GUI/ConfigWizard.pm
@@ -202,7 +202,7 @@ sub append_option {
# populate repository with the factory default
my ($opt_key, $opt_index) = split /#/, $full_key, 2;
- $self->config->apply(Slic3r::Config->new_from_defaults($opt_key));
+ $self->config->apply(Slic3r::Config::new_from_defaults_keys($opt_key));
# draw the control
my $optgroup = Slic3r::GUI::ConfigOptionsGroup->new(
@@ -300,7 +300,7 @@ sub new {
$self->append_text('Set the shape of your printer\'s bed, then click Next.');
- $self->config->apply(Slic3r::Config->new_from_defaults('bed_shape'));
+ $self->config->apply(Slic3r::Config::new_from_defaults_keys('bed_shape'));
$self->{bed_shape_panel} = my $panel = Slic3r::GUI::BedShapePanel->new($self, $self->config->bed_shape);
$self->{bed_shape_panel}->on_change(sub {
$self->config->set('bed_shape', $self->{bed_shape_panel}->GetValue);
diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm
index 827170a8b..c4b401cce 100644
--- a/lib/Slic3r/GUI/Plater.pm
+++ b/lib/Slic3r/GUI/Plater.pm
@@ -49,7 +49,7 @@ sub new {
my $class = shift;
my ($parent) = @_;
my $self = $class->SUPER::new($parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
- $self->{config} = Slic3r::Config->new_from_defaults(qw(
+ $self->{config} = Slic3r::Config::new_from_defaults_keys(qw(
bed_shape complete_objects extruder_clearance_radius skirts skirt_distance brim_width variable_layer_height
serial_port serial_speed octoprint_host octoprint_apikey
nozzle_diameter single_extruder_multi_material
diff --git a/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm b/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
index 469794766..039c642c7 100644
--- a/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
+++ b/lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
@@ -312,7 +312,7 @@ sub selection_changed {
$config = $self->{model_object}->config;
}
# get default values
- my $default_config = Slic3r::Config->new_from_defaults(@opt_keys);
+ my $default_config = Slic3r::Config::new_from_defaults_keys(@opt_keys);
# append default extruder
push @opt_keys, 'extruder';
@@ -490,12 +490,12 @@ sub CanClose {
# validate options before allowing user to dismiss the dialog
# the validate method only works on full configs so we have
# to merge our settings with the default ones
- my $config = Slic3r::Config->merge($self->GetParent->GetParent->GetParent->GetParent->GetParent->config, $self->model_object->config);
+ my $config = $self->GetParent->GetParent->GetParent->GetParent->GetParent->config->clone;
eval {
+ $config->apply($self->model_object->config);
$config->validate;
};
- return 0 if Slic3r::GUI::catch_error($self);
- return 1;
+ return ! Slic3r::GUI::catch_error($self);
}
sub PartsChanged {