Glade-Perl-Two

 view release on metacpan or  search on metacpan

Glade/Two/Gtk.pm  view on Meta::CPAN

    $class->use_set_property($name, $proto, 'always_show_toggle', $BOOL, $depth, 'set_show_toggle');

    $class->set_label_properties($parent, $name, $proto, $depth);
    $class->pack_widget($parent, $name, $proto, $depth);

    return $widgets->{$name};
}


sub new_GtkRadioMenuItem {
    my ($class, $parent, $proto, $depth) = @_;
    my $me = "$class->new_GtkRadioMenuItem";
    my $name = $proto->{'widget'}{'name'};
    my $label  = $class->use_par($proto, 'label', $DEFAULT, '');
    my $use_underline = $class->use_par($proto, 'use_underline',  $MAYBE);
    $class->load_class("Gtk2::AccelLabel");
    my $method;
    if ($use_underline) {
        $method = "new_with_mnemonic";
    } else {
        $method = "new_with_label";
    }
    my $group  = $class->use_par($proto, 'group',  $DEFAULT, $name);
    my $group_widget = "$current_form\{'rb_group'}{'$group'}";
    if (eval "defined $group_widget") {
        $class->add_to_UI($depth,  "\$widgets->{'$name'} = ".
            "$method Gtk2::RadioMenuItem($group_widget->get_group(), _('$label'));");
    } else {
        $class->add_to_UI($depth,  "\$widgets->{'$name'} = ".
            "$method Gtk2::RadioMenuItem(undef, _('$label'));");

        $class->add_to_UI($depth, "$group_widget = \$widgets->{'$name'};");
    }

    $class->use_set_property($name, $proto, 'active', $BOOL, $depth);
    $class->use_set_property($name, $proto, 'always_show_toggle', $BOOL, $depth, 'set_show_toggle');

#    $class->set_label_properties($parent, $name, $proto, $depth);
    $class->pack_widget($parent, $name, $proto, $depth);
    return $widgets->{$name};
}

sub new_GtkNotebook {
    my ($class, $parent, $proto, $depth) = @_;
    my $me = "$class->new_GtkNotebook";
    my $name = $proto->{'widget'}{'name'};

    my $ignore      = $class->use_par($proto, 'num_pages',   $DEFAULT, 0);
    
    unless ($class->get_internal_child($parent, $name, $proto, $depth)) {
        $class->add_to_UI($depth, "\$widgets->{'$name'} = new Gtk2::Notebook;");
    }

    $class->use_set_property($name, $proto, 'tab_pos', $LOOKUP, $depth);
    $class->use_set_property($name, $proto, 'show_tabs', $BOOL, $depth);
    $class->use_set_property($name, $proto, 'show_border', $BOOL, $depth);
    $class->use_set_property($name, $proto, 'scrollable', $BOOL, $depth);
    $class->use_set_property($name, $proto, 'tab_hborder', $INT, $depth);
    $class->use_set_property($name, $proto, 'tab_vborder', $INT, $depth);

    if ($class->use_par($proto, 'enable_popup', $BOOL|$MAYBE)) { 
        $class->add_to_UI($depth,  "\$widgets->{'$name'}->popup_enable();");
    } else {
        $class->add_to_UI($depth,  "\$widgets->{'$name'}->popup_disable();");
    }
    # 'num_pages'
    $nb->{$name} = {'panes' => [], 'pane' => 0, 'tab' => 0};

    $class->pack_widget($parent, $name, $proto, $depth);
    return $widgets->{$name};
}

sub new_GtkObject {
    my ($class, $parent, $proto, $depth) = @_;
    my $me = "$class->new_GtkObject";
    my $name = $proto->{'widget'}{'name'};

    $class->add_to_UI($depth, "\$widgets->{'$name'} = new Gtk2::Object;");

    $class->pack_widget($parent, $name, $proto, $depth);
    return $widgets->{$name};
}

sub new_GtkOptionMenu {
    my ($class, $parent, $proto, $depth) = @_;
    my $me = "$class->new_GtkOptionMenu";
    my $name = $proto->{'widget'}{'name'};
    my $item;
    my @items;
    my $count = 0;
    my $items          = $class->use_par($proto, 'items');
    my $history = $class->use_par($proto, 'history', $DEFAULT, 0);

    $class->add_to_UI($depth,  "\$widgets->{'$name'} = new Gtk2::OptionMenu;");
    $class->pack_widget($parent, $name, $proto, $depth);

    $class->add_to_UI($depth,  "\$widgets->{'${name}_menu'} = new Gtk2::Menu;");
    $class->pack_widget("$name", "${name}_menu", $proto, $depth);
    if (defined $items) {
        @items = split(/\n/, $items);
        foreach $item (@items) {
            if ($item) {
                $class->add_to_UI($depth,  "\$widgets->{'${name}_item$count'} = ".
                    "new Gtk2::MenuItem('$item');");
                $class->pack_widget("${name}_menu", "${name}_item$count", $proto, $depth+1);
                if ($count == $history) {
                    $class->add_to_UI($depth, 
                        "${current_form}\{'${name}_item$count'}\->activate;");
                }
                $count++;
            }
        }
        $class->add_to_UI($depth, 
            "${current_form}\{'$name'}->set_history( $history);");
    }
    return $widgets->{$name};
}

#sub new_image {&new_GtkImage(@_);}
sub new_GtkImage {
    my ($class, $parent, $proto, $depth) = @_;
    my $me = "$class->new_GtkImage";
    my $name = $proto->{'widget'}{'name'};
    my $stock  = $class->use_par($proto, 'stock',  $MAYBE);



( run in 2.141 seconds using v1.01-cache-2.11-cpan-364913b4093 )