From f147d66954e1e8527be3ce7f9d34e6564db5df16 Mon Sep 17 00:00:00 2001 From: freesource Date: Mon, 27 Aug 2001 06:05:19 +0000 Subject: [PATCH] This is experimental stuff with the search. It would be nice to figure out how to have mouse-like selection, but for now color is just inserted. --- BootRoot/YardBox.pm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/BootRoot/YardBox.pm b/BootRoot/YardBox.pm index 56d313d..8ce4b93 100644 --- a/BootRoot/YardBox.pm +++ b/BootRoot/YardBox.pm @@ -45,6 +45,7 @@ my $search_window; my $Shortcuts; my @entry; my $file_dialog; +my $blue; # for search #my $filesystem_type = "ext2"; #my $inode_size = 8192; @@ -961,7 +962,8 @@ sub yard_box { #_______________________________________ # Create the GtkText widget $text = new Gtk::Text( undef, undef ); -##Gtk::Text->signal_connect_after("key-press-event" => \&Gtk::false); + ##Gtk::Text->signal_connect_after("key-press-event" => \&Gtk::false); + $blue = Gtk::Gdk::Color->parse_color("blue"); $text->set_editable($true); $text->signal_connect("activate", sub { my $new_length = $text->get_length(); @@ -1196,15 +1198,41 @@ sub search { if ($search_backwards->active) { } + + # index else { if (!$offset) { $offset = index($changed_text_from_template, $keywords); + if ($offset != -1) { + $text->set_point($offset); + my $length = length($keywords); + $text->forward_delete( $length ); + $text->insert( undef, $blue, undef, $keywords ); + + $length = $length + ($offset - 1); + my $stuff = $text->get_chars($offset, $length); + print "$offset && $length\n"; + #Gtk::Widget::drag_begin(widget, targets, actions, button, event) + + } } else { $offset = $offset + 1; $offset = index($changed_text_from_template, $keywords, $offset); + if ($offset != -1) { + $text->set_point($offset); + my $length = length($keywords); + $text->forward_delete( $length ); + $text->insert( undef, $blue, undef, $keywords ); + + $length = $length + ($offset - 1); + $text->get_chars($offset, $length); + print "$offset && $length\n"; + + } } + print "$offset\n" if $offset; }