… | |
… | |
70 | }); |
70 | }); |
71 | |
71 | |
72 | $hb->pack_start (my $elemhdl = new Gtk2::Button, 0, 0, 0); |
72 | $hb->pack_start (my $elemhdl = new Gtk2::Button, 0, 0, 0); |
73 | $elemhdl->add (my $hb2 = Gtk2::HBox->new); |
73 | $elemhdl->add (my $hb2 = Gtk2::HBox->new); |
74 | $elemhdl->signal_connect (clicked => sub { |
74 | $elemhdl->signal_connect (clicked => sub { |
75 | $::MAINWIN->update_attr_editor ($a, sub { |
75 | my $ar = |
|
|
76 | GCE::ArchRef->new ( |
|
|
77 | arch => $a, |
|
|
78 | cb => sub { |
76 | $mapedit->change_begin (ref $self); |
79 | $mapedit->change_begin (ref $self); |
77 | $mapedit->change_stack ($x, $y, $stack); |
80 | $mapedit->change_stack ($x, $y, $stack); |
78 | # XXX: Put this into a generic function!!! See also EditTools.pm |
81 | # XXX: Put this into a generic function!!! See also EditTools.pm |
79 | # FIXME: Fix the automatic update on undo here! |
82 | # FIXME: Fix the automatic update on undo here! |
80 | if (my $changeset = $mapedit->change_end) { |
83 | if (my $changeset = $mapedit->change_end) { |
81 | splice @{ $mapedit->{undo_stack} ||= [] }, |
84 | splice @{ $mapedit->{undo_stack} ||= [] }, |
82 | $mapedit->{undo_stack_pos}++, 1e6, |
85 | $mapedit->{undo_stack_pos}++, 1e6, |
83 | $changeset; |
86 | $changeset; |
|
|
87 | } |
84 | } |
88 | } |
85 | }); |
89 | ); |
|
|
90 | |
|
|
91 | $::MAINWIN->update_attr_editor ($a) |
86 | }); |
92 | }); |
87 | |
93 | |
88 | $hb2->pack_start (my $img = (new_from_pixbuf Gtk2::Image $pb), 0, 0, 0); |
94 | $hb2->pack_start (my $img = (new_from_pixbuf Gtk2::Image $pb), 0, 0, 0); |
89 | $img->set_alignment (0, 0.5); |
95 | $img->set_alignment (0, 0.5); |
90 | |
96 | |