On Thu, Aug 2, 2012 at 8:56 AM, zentara <zzmilosc...@gmail.com> wrote: > Hi, > > I'm trying to convert a few Gtk2 scripts to Gtk3. > > I found a simple theme that works with the default internal > theme engine, it's called Albatross. > > I'm on a non-Gnome desktop. > > Anyways, Gtk2 had a parse_string method which worked, > but on Gtk3 it's hard to find. > > The lack of Perl docs says "No documentation found for "Gtk::CssProvider". > > So would anyone know how to do this? The c docs say to now > use GtkCssProvider instead of parse_string, but I'm clueless > as how to get it to work. > > Thanks, > zentara > > > #!/usr/bin/perl > use warnings; > use strict; > use Glib qw/TRUE FALSE/; > use Gtk3 '-init'; > > #not found > #use Gtk3::CssProvider; > > # this worked for Gtk2 > =head1 > Gtk2::Rc->parse_string(<<__); > > style "my_text" { > font_name ="sans 24" > text[NORMAL] = "#FFAA00" > base[NORMAL] = "#000000" > GtkTextView::cursor-color = "red" > } > > style "my_cursor"{ > fg[NORMAL] = "#FF0000" > } > > widget "*Text*" style "my_text" > __ > =cut > > # what is the right method here? > #gtk_css_provider_load_from_data > Gtk::CssProvider->provider_load_from_data(<<__); > > style "my_text" { > font_name ="sans 24" > text[NORMAL] = "#FFAA00" > base[NORMAL] = "#000000" > GtkTextView::cursor-color = "red" > } > > style "my_cursor"{ > fg[NORMAL] = "#FF0000" > } > > widget "*Text*" style "my_text" > __ > > > my $window = Gtk3::Window->new('toplevel'); > $window->set_title('Z'); > $window ->signal_connect( 'destroy' => \&delete_event ); > $window->set_border_width(10); > $window->set_size_request(400,400); > > my $vbox = Gtk3::VBox->new( FALSE, 6 ); > $window->add($vbox); > $vbox->set_border_width(2); > > my $hbox= Gtk3::HBox->new( FALSE, 6 ); > $vbox->pack_end($hbox,FALSE,FALSE,0); > > my $ebutton = Gtk3::Button->new_from_stock('gtk-quit'); > $hbox->pack_end( $ebutton, FALSE, FALSE, 0 ); > $ebutton->signal_connect( clicked => \&delete_event ); > > # Create a textbuffer to contain that string > my $textbuffer = Gtk3::TextBuffer->new(); > $textbuffer->set_text('yadda yadda yadda', 17); # needs length > > # Create a textview using that textbuffer > my $textview = Gtk3::TextView->new_with_buffer($textbuffer); > > # Add the textview to a scrolledwindow > my $scrolledwindow = Gtk3::ScrolledWindow->new( undef, undef ); > $scrolledwindow->add($textview); > $vbox->pack_start($scrolledwindow, 1, 1, 0 ); > > $window->show_all(); > > > #get all text > #my $iter = $textbuffer->get_iter_at_offset(0); > # my $iter1 = $buffer->get_end_iter; > #my $iter1 = $textbuffer->get_iter_at_offset(20); > > my $num = > $textbuffer->get_text($textbuffer->get_start_iter, $textbuffer->get_end_iter, > 1); > print "$num\n"; > > Gtk3->main; > > ##################################### > sub delete_event { > Gtk3->main_quit; > return FALSE; > } > ####################################### > _______________________________________________ > gtk-perl-list mailing list > gtk-perl-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gtk-perl-list
> # what is the right method here? > #gtk_css_provider_load_from_data > Gtk::CssProvider->provider_load_from_data(<<__); Error message refers to "Gtk::CssProvider" - what happens with Gtk3::CssProvider? Possible typo? Thanks, Dave M _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-perl-list