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.32 by elmex, Tue Apr 4 11:29:54 2006 UTC vs.
Revision 1.33 by elmex, Tue Apr 4 13:05:51 2006 UTC

129 129
130sub init { 130sub init {
131 my ($self) = @_; 131 my ($self) = @_;
132 132
133 my $vb = new Gtk2::VBox; 133 my $vb = new Gtk2::VBox;
134 $vb->pack_start ($self->{only_attr} = Gtk2::CheckButton->new ('pick attr'), 0, 1, 0);
135 $self->{widget} = $vb; 134 $self->{widget} = $vb;
136} 135}
137 136
138sub begin { 137sub begin {
139 my ($self, $map, $x, $y) = @_; 138 my ($self, $map, $x, $y) = @_;
140 $self->edit ($map, $x, $y); 139 $self->edit ($map, $x, $y);
141} 140}
142 141
143sub edit { 142sub edit {
144 my ($self, $map, $x, $y) = @_; 143 my ($self, $map, $x, $y) = @_;
145
146 $::MAINWIN->update_stack_view ($map, $x, $y);
147 144
148 my $cstack = $map->get ($x, $y); 145 my $cstack = $map->get ($x, $y);
149 146
150 my $arch = $cstack->[-1]; 147 my $arch = $cstack->[-1];
151 148
155 $x = $arch->{virtual_x}; 152 $x = $arch->{virtual_x};
156 $y = $arch->{virtual_y}; 153 $y = $arch->{virtual_y};
157 $arch = $arch->{_virtual}; 154 $arch = $arch->{_virtual};
158 $cstack = $map->get ($x, $y); 155 $cstack = $map->get ($x, $y);
159 } 156 }
160
161# unless ($self->{only_attr}->get_active) {
162# $::MAINWIN->set_pick ($arch)
163# if @$cstack;
164# }
165 157
166 $::MAINWIN->update_attr_editor ($arch, sub { 158 $::MAINWIN->update_attr_editor ($arch, sub {
167 $map->change_begin (ref $self); 159 $map->change_begin (ref $self);
168 $map->change_stack ($x, $y, $cstack); 160 $map->change_stack ($x, $y, $cstack);
169 # XXX: Put this into a generic function!!! See also EditTools.pm 161 # XXX: Put this into a generic function!!! See also EditTools.pm
172 splice @{ $map->{undo_stack} ||= [] }, 164 splice @{ $map->{undo_stack} ||= [] },
173 $map->{undo_stack_pos}++, 1e6, 165 $map->{undo_stack_pos}++, 1e6,
174 $changeset; 166 $changeset;
175 } 167 }
176 }); 168 });
169
170 $::MAINWIN->update_stack_view ($map, $x, $y);
177} 171}
178 172
179sub end {} 173sub end {}
180 174
181package GCE::EditAction::Perl; 175package GCE::EditAction::Perl;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines