… | |
… | |
105 | for my $key (qw/lore msg/) { |
105 | for my $key (qw/lore msg/) { |
106 | $self->{ntbook}->append_page (my $v = Gtk2::VBox->new, $key); |
106 | $self->{ntbook}->append_page (my $v = Gtk2::VBox->new, $key); |
107 | $v->pack_start (my $sw = Gtk2::ScrolledWindow->new, 1, 1, 0); |
107 | $v->pack_start (my $sw = Gtk2::ScrolledWindow->new, 1, 1, 0); |
108 | $sw->set_policy ('automatic', 'automatic'); |
108 | $sw->set_policy ('automatic', 'automatic'); |
109 | $sw->add (my $tb = $self->{"${key}_txt"} = Gtk2::TextView->new); |
109 | $sw->add (my $tb = $self->{"${key}_txt"} = Gtk2::TextView->new); |
110 | my $buf = $tb->get_buffer->set_text ($arch->{$key}); |
|
|
111 | |
|
|
112 | $v->pack_start (my $b = Gtk2::Button->new_with_label ("save"), 0, 1, 0); |
|
|
113 | $b->signal_connect (clicked => sub { |
|
|
114 | my $buf = $tb->get_buffer; |
110 | my $buf = $tb->get_buffer; |
|
|
111 | $buf->set_text ($arch->{$key}); |
|
|
112 | $buf->signal_connect (changed => sub { |
|
|
113 | my ($buf) = @_; |
115 | $self->update_arch ($arch, $key, |
114 | $self->update_arch ($arch, $key, |
116 | $buf->get_text ($buf->get_start_iter, $buf->get_end_iter, 0) |
115 | $buf->get_text ($buf->get_start_iter, $buf->get_end_iter, 0) |
|
|
116 | ); |
117 | ); |
117 | }); |
118 | }); |
|
|
119 | } |
118 | } |
120 | |
119 | |
121 | $self->{ntbook}->append_page (my $inv = GCE::InventoryEditor->new, 'inventory'); |
120 | $self->{ntbook}->append_page (my $inv = GCE::InventoryEditor->new, 'inventory'); |
122 | $inv->set_arch ($arch, $change_cb); |
121 | $inv->set_arch ($arch, $change_cb); |
123 | |
122 | |
… | |
… | |
269 | |
268 | |
270 | } elsif ($type eq 'fixed') { |
269 | } elsif ($type eq 'fixed') { |
271 | return Gtk2::Label->new ("$edspec->{name} = $edspec->{value}"); |
270 | return Gtk2::Label->new ("$edspec->{name} = $edspec->{value}"); |
272 | |
271 | |
273 | } elsif ($type eq 'text') { |
272 | } elsif ($type eq 'text') { |
274 | my $b = $arch->{$key}; |
|
|
275 | $b =~ s/\n\r?//gs; |
|
|
276 | if (length $b > 20) { |
|
|
277 | $b = (substr $b, 0, 20) . "..."; |
|
|
278 | } |
|
|
279 | return Gtk2::Label->new ($b); |
273 | return Gtk2::Label->new ("<see $key tab>"); |
280 | |
|
|
281 | |
274 | |
282 | } else { |
275 | } else { |
283 | return Gtk2::Label->new ("$key => $edspec->{name} ($type)"); |
276 | return Gtk2::Label->new ("$key => $edspec->{name} ($type)"); |
284 | |
277 | |
285 | } |
278 | } |