Skip to content

Commit

Permalink
GUI text boxes for start/end GCODE. #12
Browse files Browse the repository at this point in the history
  • Loading branch information
alranel committed Nov 13, 2011
1 parent b2f0f85 commit 60f6ce3
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
6 changes: 6 additions & 0 deletions lib/Slic3r/Config.pm
Expand Up @@ -107,12 +107,18 @@ our $Options = {
'start_gcode' => {
label => 'Start GCODE',
type => 's',
multiline => 1,
width => 350,
height => 150,
serialize => sub { join '\n', split /\R+/, $_[0] },
deserialize => sub { join "\n", split /\\n/, $_[0] },
},
'end_gcode' => {
label => 'End GCODE',
type => 's',
multiline => 1,
width => 350,
height => 150,
serialize => sub { join '\n', split /\R+/, $_[0] },
deserialize => sub { join "\n", split /\\n/, $_[0] },
},
Expand Down
13 changes: 11 additions & 2 deletions lib/Slic3r/GUI/OptionsGroup.pm
Expand Up @@ -23,8 +23,17 @@ sub new {
my $label = Wx::StaticText->new($parent, -1, "$opt->{label}:", Wx::wxDefaultPosition, [180,-1]);
$label->Wrap(180); # needed to avoid Linux/GTK bug
my $field;
if ($opt->{type} =~ /^(i|f)$/) {
$field = Wx::TextCtrl->new($parent, -1, Slic3r::Config->get($opt_key));
if ($opt->{type} =~ /^(i|f|s)$/) {
my $style = 0;
my $size = Wx::wxDefaultSize;

if ($opt->{multiline}) {
$style = &Wx::wxTE_MULTILINE;
$size = Wx::Size->new($opt->{width} || -1, $opt->{height} || -1);
}

$field = Wx::TextCtrl->new($parent, -1, Slic3r::Config->get($opt_key),
Wx::wxDefaultPosition, $size, $style);
EVT_TEXT($parent, $field, sub { Slic3r::Config->set($opt_key, $field->GetValue) });
push @reload_callbacks, sub { $field->SetValue(Slic3r::Config->get($opt_key)) };
} elsif ($opt->{type} eq 'bool') {
Expand Down
6 changes: 6 additions & 0 deletions lib/Slic3r/GUI/SkeinPanel.pm
Expand Up @@ -47,6 +47,10 @@ sub new {
title => 'Transform',
options => [qw(scale rotate duplicate_x duplicate_y duplicate_distance)],
},
gcode => {
title => 'Custom GCODE',
options => [qw(start_gcode end_gcode)],
},
);
$self->{panels} = \%panels;

Expand All @@ -71,9 +75,11 @@ sub new {

my $tab1 = $make_tab->([qw(printer filament)], [qw(speed)]);
my $tab2 = $make_tab->([qw(transform accuracy skirt)], [qw(print retract)]);
my $tab3 = $make_tab->([qw(gcode)]);

$tabpanel->AddPage($tab1, "Printer and Filament");
$tabpanel->AddPage($tab2, "Print Settings");
$tabpanel->AddPage($tab3, "Start/End GCODE");

my $buttons_sizer;
{
Expand Down

0 comments on commit 60f6ce3

Please sign in to comment.