ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/gde/GCE/EditAction.pm
(Generate patch)

Comparing deliantra/gde/GCE/EditAction.pm (file contents):
Revision 1.12 by elmex, Wed Mar 15 23:45:48 2006 UTC vs.
Revision 1.13 by elmex, Thu Mar 16 00:12:06 2006 UTC

164 $changeset; 164 $changeset;
165 } 165 }
166 }); 166 });
167 167
168 $::MAINWIN->update_stack_view ($map, $x, $y); 168 $::MAINWIN->update_stack_view ($map, $x, $y);
169}
170
171package GCE::EditAction::Perl;
172
173use GCE::Util;
174use Gtk2;
175use strict;
176
177our @ISA = qw/GCE::EditAction/;
178
179sub name { 'perl' }
180
181sub init {
182 my ($self) = @_;
183
184 my $vb = new Gtk2::VBox;
185 $vb->pack_start (my $sw = Gtk2::ScrolledWindow->new, 1, 1, 0);
186 $sw->add ($self->{txt} = Gtk2::TextView->new);
187
188 $self->tool_widget ($vb);
189}
190
191sub want_cursor { 0 }
192
193sub begin {
194 my ($self, $map, $x, $y) = @_;
195
196 $self->SUPER::begin ($map, $x, $y);
197 $self->edit ($map, $x, $y);
198}
199
200sub edit {
201 my ($self, $map, $x, $y) = @_;
202
203 my $pick = $::MAINWIN->get_pick;
204 my $as = $map->get ($x, $y);
205
206 $as = $self->eval ($map, $pick, $as, $x, $y);
207 $map->change_stack ($x, $y, $as); # insert_arch_stack_layer ($as, $arch));
208}
209
210sub eval {
211 my ($self, $map, $pick, $stack, $x, $y) = @_;
212 my $buf = $self->{txt}->get_buffer;
213 my $code = $buf->get_text ($buf->get_start_iter, $buf->get_end_iter, 0);
214
215 eval $code;
216 return $stack;
169} 217}
170 218
171package GCE::EditAction::Place; 219package GCE::EditAction::Place;
172 220
173use GCE::Util; 221use GCE::Util;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines