Gnome2-PanelApplet

 view release on metacpan or  search on metacpan

examples/perl-applet  view on Meta::CPAN

                                    \&fill);

sub fill {
  my ($applet, $iid, $data) = @_;

  if ($iid ne 'OAFIID:PerlSampleApplet') {
    return FALSE;
  }

  my $menu_xml = <<EOX;
<popup name="button3">
  <menuitem name="Properties Item"
            verb="Properties"
            _label="Properties ..."
	    pixtype="stock"
	    pixname="gtk-properties"/>
  <menuitem name="Help Item"
	    verb="Help"
	    _label="Help"
	    pixtype="stock"
	    pixname="gtk-help"/>
  <menuitem name="About Item"
	    verb="About"
	    _label="About ..."
	    pixtype="stock"
	    pixname="gnome-stock-about"/>
</popup>
EOX

  my $cb_mapping = {
    Properties => [\&properties_callback, 'default!'],
    Help => \&help_callback,
    About => \&about_callback,
  };

  $applet->setup_menu($menu_xml, $cb_mapping, 'default?');

t/test-applet  view on Meta::CPAN

                                    \&fill);

sub fill {
  my ($applet, $iid, $data) = @_;

  if ($iid ne 'OAFIID:PerlTestApplet') {
    return FALSE;
  }

  my $menu_xml = <<EOX;
<popup name="button3">
  <menuitem name="TestUno Item" verb="TestUno" _label="Test I ..."/>
  <menuitem name="TestDos Item" verb="TestDos" _label="Test II ..."/>
  <menuitem name="TestTres Item" verb="TestTres" _label="Test III ..."/>
  <menuitem name="TestCuatro Item" verb="TestCuatro" _label="Test IV ..."/>
  <menuitem name="TestCinco Item" verb="TestCinco" _label="Test V ..."/>
</popup>
EOX

  my $cb_mapping = {
    TestUno => [\&test_one, 'default!'],
    TestDos => \&test_two,
    TestTres => \&test_three,
    TestCuatro => \&test_four,
    TestCinco => \&test_five,
  };

xs/PanelApplet.xs  view on Meta::CPAN

	real_size_hints = g_new0 (int, n_elements);
	for (i = 0; i < n_elements; i++) {
		SV **svp = av_fetch (av, i, 0);
		if (svp && SvOK (*svp))
			real_size_hints[i] = SvIV (*svp);
	}
	panel_applet_set_size_hints (applet, real_size_hints, n_elements, base_size);

# FIXME: These need bonobo bindings.
# BonoboControl * panel_applet_get_control (PanelApplet *applet);
# BonoboUIComponent * panel_applet_get_popup_component (PanelApplet *applet);

=for apidoc

This method sets up menu entries for your applet and binds them to callbacks.
The XML for C<$xml> needs to have the following format:

  <popup name="button3">
    <menuitem name="Properties Item"
              verb="Properties"
              _label="Properties ..."
              pixtype="stock"
              pixname="gtk-properties"/>
    <menuitem name="Help Item"
              verb="Help"
              _label="Help"
              pixtype="stock"
              pixname="gtk-help"/>
    <menuitem name="About Item"
              verb="About"
              _label="About ..."
              pixtype="stock"
              pixname="gnome-stock-about"/>
  </popup>

The verbs specified in this description can be mapped to callbacks in the
C<$verb_list>:

  $verb_list = {
    Properties => [\&properties_callback, 'data'],
    Help => \&help_callback,
    About => sub { about_callback(@_) },
  };



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