PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Perl] problem mit Gtk2::TextBuffer



Chakotay
02-11-2006, 13:48
hi
hab mal wieder ein "unlösbares" problem :)
naja
zumindest hab ich nicht nen blassen dunst wie ich das zum funktionieren bringe^^

hab in einem gtk2/perl script nen TextView in dem der text eines TextBuffer's angezeigt wird
der text der angezeigt wird ist in einer variabele die zuvor aus einer textdatei ausgelesen wurde

nu möchte ich gerne das wenn in diesem TextView der text geändert wird
mein script auf die änderung reagiert und den neuen text in die variabele schreibt
mein bisheriger versuch will aber irgendwie nicht klappen
kann mir hier jemand helfen

my $text = "defauld text";

my $buffer = Gtk2::TextBuffer->new;
$buffer->set_text($text);
$buffer->signal_connect(changed=>\&notiz_block);


sub notiz_block
{
my($buffer) = @_;
my $temp = $buffer->get_buffer;
$text = $temp;
return;
}

Chakotay
03-11-2006, 10:27
bin momentan soweit das ich glaube da muss get_insert rein


sub notiz_block
{
my($buffer) = @_;
my $text = $buffer->get_insert;
print("$text\n");
return;
}

bekomme da aber nur

Gtk2::TextMark=HASH(0x825b1c4)

was irgendwie auch nicht richtig scheint :confused:

bin für jede hilfe dankbar

jeebee
04-11-2006, 12:12
wie wärs mit
my $text = $buffer->get_text($buffer->get_start_iter, $buffer->get_end_iter, true);
// um "hidden-chars" in den string zu übernehmen bzw.
my $text = $buffer->get_text($buffer->get_start_iter, $buffer->get_end_iter, false);
// "hidden chars" nicht übernehmen

(Quelle: http://gtk2-perl.sourceforge.net/doc/pod/Gtk2/TextBuffer.html)

/edit: ungetestet...

Chakotay
04-11-2006, 12:59
jo das ist des rätzels lösung :-)
danke