Changeset 505
- Timestamp:
- 10/26/08 08:50:02 (3 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 3 edited
-
MANIFEST (modified) (1 diff)
-
lib/Padre/Wx/Dialog.pm (added)
-
lib/Padre/Wx/FindDialog.pm (modified) (3 diffs)
-
lib/Padre/Wx/ModuleStartDialog.pm (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/MANIFEST
r470 r505 24 24 lib/Padre/Wx/App.pm 25 25 lib/Padre/Wx/Bookmarks.pm 26 lib/Padre/Wx/Dialog.pm 26 27 lib/Padre/Wx/Editor.pm 27 28 lib/Padre/Wx/FindDialog.pm -
trunk/lib/Padre/Wx/FindDialog.pm
r467 r505 8 8 9 9 use Padre::Wx; 10 use Padre::Wx::Dialog; 10 11 11 12 our $VERSION = '0.12'; … … 33 34 34 35 my $layout = get_layout($search_term, $config); 35 Padre::Wx:: ModuleStartDialog::build_layout($dialog, $layout, [150, 200]);36 Padre::Wx::Dialog::build_layout($dialog, $layout, [150, 200]); 36 37 37 38 foreach my $cb (@cbs) { … … 173 174 my ( $dialog ) = @_; 174 175 175 my $data = Padre::Wx:: ModuleStartDialog::get_data_from($dialog, get_layout());176 my $data = Padre::Wx::Dialog::get_data_from($dialog, get_layout()); 176 177 177 178 #print Data::Dumper::Dumper $data; -
trunk/lib/Padre/Wx/ModuleStartDialog.pm
r468 r505 9 9 # Module::Start widget of Padre 10 10 11 use Padre::Wx (); 11 use Padre::Wx (); 12 use Padre::Wx::Dialog (); 12 13 13 14 our $VERSION = '0.12'; … … 25 26 26 27 my $layout = get_layout($config); 27 build_layout($dialog, $layout, [100, 200]);28 Padre::Wx::Dialog::build_layout($dialog, $layout, [100, 200]); 28 29 29 30 $dialog->{_ok_}->SetDefault; … … 81 82 82 83 83 sub build_layout {84 my ($dialog, $layout, $width) = @_;85 86 my $box = Wx::BoxSizer->new( Wx::wxVERTICAL );87 88 foreach my $i (0..@$layout-1) {89 my $row = Wx::BoxSizer->new( Wx::wxHORIZONTAL );90 $box->Add($row);91 foreach my $j (0..@{$layout->[$i]}-1) {92 if (not @{ $layout->[$i][$j] } ) { # [] means Expand93 $row->Add($width->[$j], 0, 0, Wx::wxEXPAND, 0);94 next;95 }96 my ($class, $name, $arg, @params) = @{ $layout->[$i][$j] };97 98 my $widget;99 if ($class eq 'Wx::Button') {100 my ($first, $second) = $arg =~ /[a-zA-Z]/ ? (-1, $arg) : ($arg, '');101 $widget = $class->new( $dialog, $first, $second);102 } elsif ($class eq 'Wx::DirPickerCtrl') {103 my $title = shift(@params) || '';104 $widget = $class->new( $dialog, -1, $arg, $title, Wx::wxDefaultPosition, [$width->[$j], -1], @params );105 # it seems we cannot set the default directory and106 # we still have to set this directory in order to get anything back in107 # GetPath108 $widget->SetPath(Cwd::cwd());109 } elsif ($class eq 'Wx::TextCtrl') {110 my $default = shift @params;111 $widget = $class->new( $dialog, -1, $arg, Wx::wxDefaultPosition, [$width->[$j], -1], @params );112 if (defined $default) {113 $widget->SetValue($default);114 }115 } elsif ($class eq 'Wx::CheckBox') {116 my $default = shift @params;117 $widget = $class->new( $dialog, -1, $arg, Wx::wxDefaultPosition, [$width->[$j], -1], @params );118 $widget->SetValue($default);119 } else {120 $widget = $class->new( $dialog, -1, $arg, Wx::wxDefaultPosition, [$width->[$j], -1], @params );121 }122 123 $row->Add($widget);124 125 if ($name) {126 $dialog->{$name} = $widget;127 }128 }129 }130 131 $dialog->SetSizer($box);132 133 return;134 }135 136 84 sub cancel_clicked { 137 85 my ($dialog, $event) = @_; … … 145 93 my ($dialog, $event) = @_; 146 94 147 my $data = get_data_from( $dialog, get_layout() );95 my $data = Padre::Wx::Dialog::get_data_from( $dialog, get_layout() ); 148 96 $dialog->Destroy; 149 97 print Dumper $data; … … 181 129 } 182 130 183 sub get_data_from {184 my ( $dialog, $layout ) = @_;185 186 my %data;187 foreach my $i (0..@$layout-1) {188 foreach my $j (0..@{$layout->[$i]}-1) {189 next if not @{ $layout->[$i][$j] }; # [] means Expand190 my ($class, $name, $arg, @params) = @{ $layout->[$i][$j] };191 if ($name) {192 next if $class eq 'Wx::Button';193 194 if ($class eq 'Wx::DirPickerCtrl') {195 $data{$name} = $dialog->{$name}->GetPath;196 } else {197 $data{$name} = $dialog->{$name}->GetValue;198 }199 }200 }201 }202 203 return \%data;204 }205 206 131 207 132 1;
Note: See TracChangeset
for help on using the changeset viewer.
