Make window resizable
This commit is contained in:
parent
19a78de82f
commit
f38f2f139e
6 changed files with 26 additions and 23 deletions
|
@ -16,7 +16,7 @@ our $Options = {
|
|||
cli => 'notes=s',
|
||||
type => 's',
|
||||
multiline => 1,
|
||||
width => 450,
|
||||
full_width => 1,
|
||||
height => 130,
|
||||
serialize => sub { join '\n', split /\R/, $_[0] },
|
||||
deserialize => sub { join "\n", split /\\n/, $_[0] },
|
||||
|
@ -33,7 +33,7 @@ our $Options = {
|
|||
label => 'Output filename format',
|
||||
cli => 'output-filename-format=s',
|
||||
type => 's',
|
||||
width => 300,
|
||||
full_width => 1,
|
||||
},
|
||||
|
||||
# printer options
|
||||
|
@ -319,7 +319,7 @@ our $Options = {
|
|||
cli => 'start-gcode=s',
|
||||
type => 's',
|
||||
multiline => 1,
|
||||
width => 350,
|
||||
full_width => 1,
|
||||
height => 120,
|
||||
serialize => sub { join '\n', split /\R+/, $_[0] },
|
||||
deserialize => sub { join "\n", split /\\n/, $_[0] },
|
||||
|
@ -329,7 +329,7 @@ our $Options = {
|
|||
cli => 'end-gcode=s',
|
||||
type => 's',
|
||||
multiline => 1,
|
||||
width => 350,
|
||||
full_width => 1,
|
||||
height => 120,
|
||||
serialize => sub { join '\n', split /\R+/, $_[0] },
|
||||
deserialize => sub { join "\n", split /\\n/, $_[0] },
|
||||
|
@ -339,7 +339,7 @@ our $Options = {
|
|||
cli => 'layer-gcode=s',
|
||||
type => 's',
|
||||
multiline => 1,
|
||||
width => 350,
|
||||
full_width => 1,
|
||||
height => 50,
|
||||
serialize => sub { join '\n', split /\R+/, $_[0] },
|
||||
deserialize => sub { join "\n", split /\\n/, $_[0] },
|
||||
|
@ -349,7 +349,7 @@ our $Options = {
|
|||
cli => 'post-process=s@',
|
||||
type => 's@',
|
||||
multiline => 1,
|
||||
width => 350,
|
||||
full_width => 1,
|
||||
height => 60,
|
||||
serialize => sub { join '; ', @{$_[0]} },
|
||||
deserialize => sub { [ split /\s*;\s*/, $_[0] ] },
|
||||
|
@ -416,12 +416,14 @@ our $Options = {
|
|||
sidetext => 'approximate seconds',
|
||||
cli => 'fan-below-layer-time=i',
|
||||
type => 'i',
|
||||
width => 60,
|
||||
},
|
||||
'slowdown_below_layer_time' => {
|
||||
label => 'Slow down if layer print time is below',
|
||||
sidetext => 'approximate seconds',
|
||||
cli => 'slowdown-below-layer-time=i',
|
||||
type => 'i',
|
||||
width => 60,
|
||||
},
|
||||
'min_print_speed' => {
|
||||
label => 'Min print speed',
|
||||
|
|
|
@ -21,14 +21,11 @@ sub OnInit {
|
|||
$self->SetAppName('Slic3r');
|
||||
Slic3r::debugf "wxWidgets version %s\n", &Wx::wxVERSION_STRING;
|
||||
|
||||
my $frame = Wx::Frame->new( undef, -1, 'Slic3r', [-1, -1], Wx::wxDefaultSize,
|
||||
wxDEFAULT_FRAME_STYLE ^ (wxRESIZE_BORDER | wxMAXIMIZE_BOX) );
|
||||
my $frame = Wx::Frame->new(undef, -1, 'Slic3r', [-1, -1], [760,500], wxDEFAULT_FRAME_STYLE);
|
||||
Wx::Image::AddHandler(Wx::PNGHandler->new);
|
||||
$frame->SetIcon(Wx::Icon->new("$Slic3r::var/Slic3r_128px.png", &Wx::wxBITMAP_TYPE_PNG) );
|
||||
|
||||
my $panel = Slic3r::GUI::SkeinPanel->new($frame);
|
||||
my $box = Wx::BoxSizer->new(wxVERTICAL);
|
||||
$box->Add($panel, 0);
|
||||
|
||||
if (eval "use Growl::GNTP; 1") {
|
||||
# register growl notifications
|
||||
|
@ -75,8 +72,7 @@ sub OnInit {
|
|||
# will not be handled correctly
|
||||
$frame->SetMenuBar($menubar);
|
||||
|
||||
$box->SetSizeHints($frame);
|
||||
$frame->SetSizer($box);
|
||||
$frame->SetMinSize($frame->GetSize);
|
||||
$frame->Show;
|
||||
$frame->Layout;
|
||||
|
||||
|
|
|
@ -19,7 +19,9 @@ sub new {
|
|||
my $self = $class->SUPER::new($box, wxVERTICAL);
|
||||
|
||||
my $grid_sizer = Wx::FlexGridSizer->new(scalar(@{$p{options}}), 2, ($p{no_labels} ? 1 : 2), 0);
|
||||
|
||||
$grid_sizer->SetFlexibleDirection(&Wx::wxHORIZONTAL);
|
||||
$grid_sizer->AddGrowableCol($p{no_labels} ? 0 : 1);
|
||||
|
||||
# grab the default font, to fix Windows font issues/keep things consistent
|
||||
my $bold_font = Wx::SystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
|
||||
$bold_font->SetWeight(&Wx::wxFONTWEIGHT_BOLD);
|
||||
|
@ -101,7 +103,7 @@ sub new {
|
|||
$sizer->Add($sidetext, 0, &Wx::wxLEFT, 4);
|
||||
$grid_sizer->Add($sizer);
|
||||
} else {
|
||||
$grid_sizer->Add($field);
|
||||
$grid_sizer->Add($field, 0, $opt->{full_width} ? &Wx::wxEXPAND : 0);
|
||||
}
|
||||
$fields{$opt_key} ||= [$field];
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ sub new {
|
|||
$self->{list} = Wx::ListView->new($self, -1, [-1, -1], [-1, 180], &Wx::wxLC_SINGLE_SEL | &Wx::wxLC_REPORT | &Wx::wxBORDER_DEFAULT);
|
||||
$self->{list}->InsertColumn(0, "Name", &Wx::wxLIST_FORMAT_LEFT, 300);
|
||||
$self->{list}->InsertColumn(1, "Copies", &Wx::wxLIST_FORMAT_CENTER, 50);
|
||||
$self->{list}->InsertColumn(2, "Scale", &Wx::wxLIST_FORMAT_CENTER, 50);
|
||||
$self->{list}->InsertColumn(2, "Scale", &Wx::wxLIST_FORMAT_CENTER, &Wx::wxLIST_AUTOSIZE_USEHEADER);
|
||||
EVT_LIST_ITEM_SELECTED($self, $self->{list}, \&list_item_selected);
|
||||
EVT_LIST_ITEM_DESELECTED($self, $self->{list}, \&list_item_deselected);
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ sub new {
|
|||
|
||||
my $sizer = Wx::BoxSizer->new(wxVERTICAL);
|
||||
$sizer->Add($buttons_sizer, 0, wxEXPAND | wxALL, 10);
|
||||
$sizer->Add($tabpanel);
|
||||
$sizer->Add($tabpanel, 1, wxEXPAND);
|
||||
|
||||
$sizer->SetSizeHints($self);
|
||||
$self->SetSizer($sizer);
|
||||
|
|
|
@ -101,6 +101,7 @@ sub new {
|
|||
},
|
||||
{
|
||||
title => 'Cooling thresholds',
|
||||
label_width => 250,
|
||||
options => [qw(fan_below_layer_time slowdown_below_layer_time min_print_speed)],
|
||||
},
|
||||
]);
|
||||
|
@ -132,11 +133,7 @@ sub new {
|
|||
{
|
||||
title => 'Post-processing scripts',
|
||||
no_labels => 1,
|
||||
options => [qw(post_process)], # this is not the right place for duplicate_distance
|
||||
},
|
||||
{
|
||||
title => 'Other',
|
||||
options => [qw(duplicate_distance)], # this is not the right place for duplicate_distance
|
||||
options => [qw(post_process)],
|
||||
},
|
||||
]);
|
||||
|
||||
|
@ -149,6 +146,10 @@ sub new {
|
|||
title => 'Flow',
|
||||
options => [qw(bridge_flow_ratio)],
|
||||
},
|
||||
{
|
||||
title => 'Other',
|
||||
options => [qw(duplicate_distance)],
|
||||
},
|
||||
]);
|
||||
|
||||
return $self;
|
||||
|
@ -227,13 +228,15 @@ package Slic3r::GUI::Tab::Page;
|
|||
|
||||
use Wx qw(:sizer :progressdialog);
|
||||
use Wx::Event qw();
|
||||
use base 'Wx::Panel';
|
||||
use base 'Wx::ScrolledWindow';
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
my ($parent, %params) = @_;
|
||||
my $self = $class->SUPER::new($parent, -1);
|
||||
|
||||
$self->SetScrollbars(1, 1, 1, 1);
|
||||
|
||||
$self->{vsizer} = Wx::BoxSizer->new(&Wx::wxVERTICAL);
|
||||
$self->SetSizer($self->{vsizer});
|
||||
|
||||
|
@ -247,7 +250,7 @@ sub new {
|
|||
sub append_optgroup {
|
||||
my $self = shift;
|
||||
|
||||
my $optgroup = Slic3r::GUI::OptionsGroup->new($self, @_, label_width => 200);
|
||||
my $optgroup = Slic3r::GUI::OptionsGroup->new($self, label_width => 200, @_);
|
||||
$self->{vsizer}->Add($optgroup, 0, wxEXPAND | wxALL, 5);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue