Etk-Perl

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

xs/EtkTypes.c
xs/EtkTypes.h
xs/Filechooser.xs
xs/Fixed.xs
xs/Frame.xs
xs/Iconbox.xs
xs/Image.xs
xs/Label.xs
xs/Makefile.PL
xs/Mdi.xs
xs/Menu.xs
xs/MessageDialog.xs
xs/Notebook.xs
xs/Object.xs
xs/Paned.xs
xs/PopupWindow.xs
xs/ProgressBar.xs
xs/Range.xs
xs/Scrollbar.xs
xs/ScrolledView.xs
xs/Selection.xs

MANIFEST  view on Meta::CPAN

t/Etk/Combobox.t
t/Etk/Container.t
t/Etk/Dialog.t
t/Etk/Drag.t
t/Etk/Entry.t
t/Etk/Filechooser.t
t/Etk/Frame.t
t/Etk/Iconbox.t
t/Etk/Image.t
t/Etk/Label.t
t/Etk/Menu.t
t/Etk/MessageDialog.t
t/Etk/Notebook.t
t/Etk/Object.t
t/Etk/Paned.t
t/Etk/ProgressBar.t
t/Etk/RadioButton.t
t/Etk/Range.t
t/Etk/Scrollbar.t
t/Etk/ScrolledView.t
t/Etk/Separator.t

etk_test/etk_test.pl  view on Meta::CPAN

	cb => \&canvas_window_show
    },
    
    tree => {
	label => "Tree",
	frame => "adv", 
	cb => \&tree_window_show
    },
    
    menu => {
	label => "Menu",
	frame => "adv", 
	cb => \&menu_window_show
    },
    
    combobox => {
	label => "Combobox",
	frame => "adv", 
	cb => \&combobox_window_show
    },
    

etk_test/etk_test.pl  view on Meta::CPAN

	my $b = $row2->ModelFieldsGet($mod2);
	return $a cmp $b;
    }, undef);
    
    $win->ShowAll();
}

sub menu_window_show
{
    my $win = Etk::Window->new();
    $win->TitleSet("Etk-Perl Menu Test");
    $win->SizeRequestSet(325, 240);
    my $box = Etk::VBox->new(0, 0);

    my $menubar = Etk::Menu::Bar->new();

    $box->Append($menubar);

    my $toolbar = Etk::Toolbar->new();
    $box->Append($toolbar);

    $toolbar->Append(Etk::Button->new(EditCopy));
    $toolbar->Append(Etk::Button->new(EditCut));
    $toolbar->Append(Etk::Button->new(EditPaste));

etk_test/etk_test.pl  view on Meta::CPAN

    $label->AlignmentSet(0.5, 0.5);
    $label->PassMouseEventsSet(1);

    $box->Append($label, BoxStart, BoxExpandFill);

    my $statusbar = Etk::StatusBar->new();

    $box->Append($statusbar, BoxEnd);

    my $menu_item = _menu_test_item_new("File", $menubar, $statusbar);
    my $menu = Etk::Menu->new();
    $menu_item->SubmenuSet($menu);
    _menu_test_stock_item_new("Open", DocumentOpen, $menu, $statusbar);
    _menu_test_stock_item_new("Save", DocumentSave, $menu, $statusbar);
    
    $menu_item = _menu_test_item_new("Edit", $menubar, $statusbar);
    $menu = Etk::Menu->new();
    $menu_item->SubmenuSet($menu);
    _menu_test_stock_item_new("Cut", EditCut, $menu, $statusbar);
    _menu_test_stock_item_new("Copy", EditCopy, $menu, $statusbar);
    _menu_test_stock_item_new("Paste", EditPaste, $menu, $statusbar);
    
    $menu_item = _menu_test_item_new("Help", $menubar, $statusbar);
    $menu = Etk::Menu->new();
    $menu_item->SubmenuSet($menu);
    _menu_test_item_new("About", $menu, $statusbar);
   
    $menu = Etk::Menu->new();
    $win->SignalConnect("mouse-down", sub { $menu->Popup() });
    
    _menu_test_stock_item_new("Open", DocumentOpen, $menu, $statusbar);
    _menu_test_stock_item_new("Save", DocumentSave, $menu, $statusbar);
    _menu_seperator_new($menu);
    _menu_test_stock_item_new("Cut", EditCut, $menu, $statusbar);
    _menu_test_stock_item_new("Copy", EditCopy, $menu, $statusbar);
    _menu_test_stock_item_new("Paste", EditPaste, $menu, $statusbar);
    _menu_seperator_new($menu);
    $menu_item = _menu_test_item_new("Menu Item Test", $menu, $statusbar);

    # Sub menu 1

    my $submenu1 = Etk::Menu->new();
    $menu_item->SubmenuSet($submenu1);

    _menu_test_stock_item_new("Item with image", DocumentSave, 
	$submenu1, $statusbar);

    $menu_item = _menu_test_stock_item_new("Item with child", 
	DocumentOpen, $submenu1, $statusbar);
    _menu_seperator_new($submenu1);
    _menu_test_check_item_new("Item with check 1", $submenu1, $statusbar);
    _menu_test_check_item_new("Item with check 2", $submenu1, $statusbar);
    _menu_seperator_new($submenu1);
    
    my $radio = _menu_test_radio_item_new("Radio 1", undef, $submenu1, $statusbar);
    _menu_test_radio_item_new("Radio 2", $radio, $submenu1, $statusbar);
    _menu_test_radio_item_new("Radio 3", $radio, $submenu1, $statusbar);

    # Sub menu 2
    my $submenu2 = Etk::Menu->new();
    $menu_item->SubmenuSet($submenu2);
    _menu_test_item_new("Child Menu Test", $submenu2, $statusbar);

    $win->Add($box);
    $win->ShowAll();
}

sub _menu_test_item_new
{
    my ($label, $menubar, $statusbar) = @_;
    my $menu_item = Etk::Menu::Item->new($label);
    $menubar->Append($menu_item);
    $menu_item->SignalConnect("selected", 
    	sub { $statusbar->MessagePush($menu_item->LabelGet(), 0) });
    $menu_item->SignalConnect("unselected", 
    	sub { $statusbar->MessagePop(0) });
    
    return $menu_item;
}

sub _menu_test_stock_item_new
{
    my ($label, $stockid, $menubar, $statusbar) = @_;

    my $menu_item = Etk::Menu::Item::Image->new($label);
    my $image = Etk::Image->new($stockid, SizeSmall);
    $menu_item->Set($image);
    $menubar->Append($menu_item);
    $menu_item->SignalConnect("selected", 
    	sub { $statusbar->MessagePush($menu_item->LabelGet(), 0) });
    $menu_item->SignalConnect("unselected", 
    	sub { $statusbar->MessagePop(0) });

    return $menu_item;

}

sub _menu_test_check_item_new
{
    my ($label, $menubar, $statusbar) = @_;

    my $menu_item = Etk::Menu::Item::Check->new($label);
    $menubar->Append($menu_item);
    $menu_item->SignalConnect("selected", 
    	sub { $statusbar->MessagePush($menu_item->LabelGet(), 0) });
    $menu_item->SignalConnect("unselected", 
    	sub { $statusbar->MessagePop(0) });

    return $menu_item;
}

sub _menu_test_radio_item_new
{
    my ($label, $radio, $menubar, $statusbar) = @_;

    my $menu_item;
    if ($radio) 
    {
        $menu_item = Etk::Menu::Item::Radio->new($label, $radio);
    }
    else
    {
        $menu_item = Etk::Menu::Item::Radio->new($label);
    }
    $menubar->Append($menu_item);
    $menu_item->SignalConnect("selected", 
    	sub { $statusbar->MessagePush($menu_item->LabelGet(), 0) });
    $menu_item->SignalConnect("unselected", 
    	sub { $statusbar->MessagePop(0) });

    return $menu_item;
}

sub _menu_seperator_new
{
    my ($menubar) = @_;
    my $menu_item = Etk::Menu::Item::Separator->new();
    $menubar->Append($menu_item);
    return $menu_item;
}

sub __combobox_entry_populate 
{
    my $combo = shift;
    my $dir = shift;

    $combo->Clear();

lib/Etk/Simple.pm  view on Meta::CPAN

my $iset = \&SetFromFile;
*SetFromFile = sub {
	my $class = shift;
	my $arg1 = shift;
	my $arg2 = shift || "";
	
	return $iset->($class, $arg1, $arg2);
};


package Etk::Menu::Item;

my $minew = \&new;
*new = sub {
	my $class = shift;
	my $arg = shift;

	if (defined $arg) {
		if ($arg =~ /^\d+$/) {
			return NewFromStock($arg);
		} else {
			return NewWithLabel($arg);
		}
	}
	return $minew->(__PACKAGE__);
};

package Etk::Menu::Item::Check;

my $micnew = \&new;
*new = sub {
	my $class = shift;
	my $arg = shift;

	if (defined $arg) {
		return NewWithLabel($arg);
	}
	return $micnew->(__PACKAGE__);
};

package Etk::Menu::Item::Image;

my $miinew = \&new;
*new = sub {
	my $class = shift;
	my $arg = shift;

	if (defined $arg) {
		if ($arg =~ /^\d+$/) {
			return NewFromStock($arg);
		} else {
			return NewWithLabel($arg);
		}
	}
	return $miinew->(__PACKAGE__);
};

package Etk::Menu::Item::Radio;

my $mirnew = \&new;
*new = sub {
	my $class = shift;
	my $arg1 = shift;
	my $arg2 = shift;

	if (defined $arg1) {
		if (ref $arg1 && $arg1->isa("Etk::Widget")) {
			return NewFromWidget($arg1);

lib/Etk/Simple.pm  view on Meta::CPAN

	undef - creates an empty checkbutton
	string - creates a checkbutton with a label

=head2 Etk::Image
	
	undef - creates an empty image
	number,number - creates an image from stock with a stock size
	string,string - creates an image from edje with key
	string - creates an image from file

=head2 Etk::Menu::Item

	undef - creates empty menu item
	number - creates menu item from stock
	string - creates menu item with label

=head2 Etk::Menu::Item::Check

	undef - creates empty menu item
	string - creates menu item with label

=head2 Etk::Menu::Item::Image

	undef - creates empty menu item
	number - creates menu item from stock
	string - creates menu item with label

=head2 Etk::Menu::Item::Radio

	undef - creates empty menu item
	object - creates menu item from the specified object
	string - creates menu item with label
	string,object - creates menu item with label from the specified object

=head2 Etk::ProgressBar

	undef - creates empty progressbar
	string - creates a progressbar with text

t/Etk/Menu.t  view on Meta::CPAN

use Test::More  tests => 9;
use Etk;

my $hb = Etk::Menu->new();
ok( defined $hb, 	"Menu new()");
ok( $hb->isa("Etk::Menu"),	"Class Check");

my $b = Etk::Menu::Bar->new();
ok( defined $b, 	"Menu::Bar new()");
ok( $b->isa("Etk::Menu::Bar"),	"Class Check");

print "==== Menu::Item ====\n";

my $it = Etk::Menu::Item->new();
ok( defined $it, 	"Menu::Item new()");
ok( $it->isa("Etk::Menu::Item"),	"Class Check");

$it->LabelSet("test");
is($it->LabelGet(), "test",	"Label set/get");

my $it2 = Etk::Menu::Item->new();
$b->Append($it);
$b->Append($it2);

my @items = @{$b->ItemsGet()};

is(@items, 2, "Items Get");

is($items[1]->{ETK}, $it2->{ETK}, "Items ok");


typemap  view on Meta::CPAN

Etk_Geometry *					T_GEOMETRY_PTR
Etk_Iconbox *					T_PTROBJ_ETK
Etk_Iconbox_Icon *				T_PTROBJ_ETK
Etk_Iconbox_Model *				T_PTROBJ_ETK
Etk_Image *					T_PTROBJ_ETK
Etk_Image_Source				T_IV
Etk_Label *					T_PTROBJ_ETK
Etk_Marshaller					T_PTROBJ
Etk_Mdi_Window *				T_PTROBJ_ETK
Etk_Mdi_Area *				T_PTROBJ_ETK
Etk_Menu *					T_PTROBJ_ETK
Etk_Menu_Bar *					T_PTROBJ_ETK
Etk_Menu_Item *					T_PTROBJ_ETK
Etk_Menu_Item_Check *				T_PTROBJ_ETK
Etk_Menu_Item_Image *				T_PTROBJ_ETK
Etk_Menu_Item_Radio *				T_PTROBJ_ETK
Etk_Menu_Item_Separator *				T_PTROBJ_ETK
Etk_Menu_Shell *				T_PTROBJ_ETK
Etk_Message_Dialog *				T_PTROBJ_ETK
Etk_Message_Dialog_Buttons			T_IV
Etk_Message_Dialog_Type				T_IV
Etk_Notebook *					T_PTROBJ_ETK
Etk_Object *					T_PTROBJ_ETK
Etk_Paned *					T_PTROBJ_ETK
Etk_HPaned *					T_PTROBJ_ETK
Etk_VPaned *					T_PTROBJ_ETK
Etk_Pointer_Type				T_OPAQUE_STRUCT
Etk_Popup_Window *				T_PTROBJ_ETK

xs/EtkTypes.c  view on Meta::CPAN

	__("Etk_Frame",		"Etk::Frame");
	__("Etk_Fixed",		"Etk::Fixed");
	__("Etk_Iconbox",		"Etk::Iconbox");
	__("Etk_Iconbox_Model",		"Etk::Iconbox::Model");
	__("Etk_Iconbox_Icon",		"Etk::Iconbox::Icon");
	__("Etk_Iconbox_Grid",		"Etk::Iconbox::Grid");
	__("Etk_Image",		"Etk::Image");
	__("Etk_Label",		"Etk::Label");
	__("Etk_Mdi_Window",		"Etk::Mdi::Window");
	__("Etk_Mdi_Area",		"Etk::Mdi::Area");
	__("Etk_Menu",		"Etk::Menu");
	__("Etk_Menu_Bar",		"Etk::Menu::Bar");
	__("Etk_Menu_Item",		"Etk::Menu::Item");
	__("Etk_Menu_Item_Separator",		"Etk::Menu::Item::Separator");
	__("Etk_Menu_Item_Image",		"Etk::Menu::Item::Image");
	__("Etk_Menu_Item_Check",		"Etk::Menu::Item::Check");
	__("Etk_Menu_Item_Radio",		"Etk::Menu::Item::Radio");
	__("Etk_Menu_Shell",		"Etk::Menu::Shell");
	__("Etk_Message_Dialog",		"Etk::MessageDialog");
	__("Etk_Notebook",		"Etk::Notebook");
	__("Etk_Object",		"Etk::Object");
	__("Etk_Paned",		"Etk::Paned");
	__("Etk_HPaned",		"Etk::HPaned");
	__("Etk_VPaned",		"Etk::VPaned");
	__("Etk_Popup_Window",		"Etk::PopupWindow");
	__("Etk_Progress_Bar",		"Etk::ProgressBar");
	__("Etk_Radio_Button",		"Etk::RadioButton");
	__("Etk_Range",		"Etk::Range");

xs/EtkTypes.c  view on Meta::CPAN

				__("VPaned", "Paned");
			__("Table", "Container");
			__("Fixed", "Container");
		__("Entry", "Widget");
		__("Filechooser", "Widget");
		__("Iconbox", "Widget");
			__("Iconbox::Model", "Iconbox");
			__("Iconbox::Icon", "Iconbox");
		__("Image", "Widget");
		__("Label", "Widget");
		__("Menu::Shell", "Widget");
			__("Menu", "Menu::Shell");
			__("Menu::Bar", "Menu::Shell");
		__("Menu::Item", "Widget");
			__("Menu::Item::Image", "Menu::Item");
			__("Menu::Item::Check", "Menu::Item");
			__("Menu::Item::Radio", "Menu::Item");
			__("Menu::Item::Separator", "Menu::Item");
		__("ProgressBar", "Widget");
		__("Range", "Widget");
			__("Slider", "Range");
				__("HSlider", "Slider");
				__("VSlider", "Slider");
			__("Scrollbar", "Range");
				__("HScrollbar", "Scrollbar");
				__("VScrollbar", "Scrollbar");
			__("Spinner", "Range");
		__("Spearator", "Widget");

xs/Menu.xs  view on Meta::CPAN

#endif

#include <Etk.h>
#include <Ecore.h>
#include <Ecore_Data.h>

#include "EtkTypes.h"
#include "EtkSignals.h"


MODULE = Etk::Menu::Bar	PACKAGE = Etk::Menu::Bar	PREFIX = etk_menu_bar_
	
Etk_Menu_Bar *
new(class)
	SV * class
	CODE:
	RETVAL = ETK_MENU_BAR(etk_menu_bar_new());
	OUTPUT:
	RETVAL

MODULE = Etk::Menu::Item	PACKAGE = Etk::Menu::Item	PREFIX = etk_menu_item_

void
etk_menu_item_activate(menu_item)
	Etk_Menu_Item *	menu_item
      ALIAS:
	Activate=1

void
etk_menu_item_deselect(menu_item)
	Etk_Menu_Item *	menu_item
      ALIAS:
	Deselect=1

const char *
etk_menu_item_label_get(menu_item)
	Etk_Menu_Item *	menu_item
      ALIAS:
	LabelGet=1

void
etk_menu_item_label_set(menu_item, label)
	Etk_Menu_Item *	menu_item
	char *	label
      ALIAS:
	LabelSet=1

Etk_Menu_Item *
new(class)
	SV * class
	CODE:
	RETVAL = ETK_MENU_ITEM(etk_menu_item_new());
	OUTPUT:
	RETVAL

Etk_Menu_Item *
etk_menu_item_new_from_stock(stock_id)
	Etk_Stock_Id	stock_id
      ALIAS:
	NewFromStock=1
	CODE:
	RETVAL = ETK_MENU_ITEM(etk_menu_item_new_from_stock(stock_id));
	OUTPUT:
	RETVAL

Etk_Menu_Item *
etk_menu_item_new_with_label(label)
	char *	label
      ALIAS:
	NewWithLabel=1
	CODE:
	RETVAL = ETK_MENU_ITEM(etk_menu_item_new_with_label(label));
	OUTPUT:
	RETVAL

void
etk_menu_item_select(menu_item)
	Etk_Menu_Item *	menu_item
      ALIAS:
	Select=1

void
etk_menu_item_set_from_stock(menu_item, stock_id)
	Etk_Menu_Item *	menu_item
	Etk_Stock_Id	stock_id
      ALIAS:
	SetFromStock=1

void
etk_menu_item_submenu_set(menu_item, submenu)
	Etk_Menu_Item *	menu_item
	Etk_Menu *	submenu
      ALIAS:
	SubmenuSet=1

Etk_Menu *
etk_menu_item_submenu_get(menu_item)
	Etk_Menu_Item * menu_item
	ALIAS:
	SubmenuGet=1


MODULE = Etk::Menu::Item::Check	PACKAGE = Etk::Menu::Item::Check	PREFIX = etk_menu_item_check_
	
Etk_Menu_Item_Check *
new(class)
	SV * class
	CODE:
	RETVAL = ETK_MENU_ITEM_CHECK(etk_menu_item_check_new());
	OUTPUT:
	RETVAL

Etk_Menu_Item_Check *
etk_menu_item_check_new_with_label(label)
	char *	label
      ALIAS:
	NewWithLabel=1
	CODE:
	RETVAL = ETK_MENU_ITEM_CHECK(etk_menu_item_check_new_with_label(label));
	OUTPUT:
	RETVAL

Etk_Bool
etk_menu_item_check_active_get(check_item)
	Etk_Menu_Item_Check *	check_item
      ALIAS:
	ActiveGet=1

void
etk_menu_item_check_active_set(check_item, active)
	Etk_Menu_Item_Check *	check_item
	Etk_Bool	active
      ALIAS:
	ActiveSet=1


MODULE = Etk::Menu::Item::Image	PACKAGE = Etk::Menu::Item::Image	PREFIX = etk_menu_item_image_

Etk_Menu_Item_Image *
new(class)
	SV * class
	CODE:
	RETVAL = ETK_MENU_ITEM_IMAGE(etk_menu_item_image_new());
	OUTPUT:
	RETVAL

Etk_Menu_Item_Image *
etk_menu_item_image_new_from_stock(stock_id)
	Etk_Stock_Id	stock_id
      ALIAS:
	NewFromStock=1
	CODE:
	RETVAL = ETK_MENU_ITEM_IMAGE(etk_menu_item_image_new_from_stock(stock_id));
	OUTPUT:
	RETVAL

Etk_Menu_Item_Image *
etk_menu_item_image_new_with_label(label)
	char *	label
      ALIAS:
	NewWithLabel=1
	CODE:
	RETVAL = ETK_MENU_ITEM_IMAGE(etk_menu_item_image_new_with_label(label));
	OUTPUT:
	RETVAL

void
etk_menu_item_image_set(image_item, image)
	Etk_Menu_Item_Image *	image_item
	Etk_Image *	image
      ALIAS:
	Set=1


MODULE = Etk::Menu::Item::Radio	PACKAGE = Etk::Menu::Item::Radio	PREFIX = etk_menu_item_radio_
	
Etk_Menu_Item_Radio *
new(class)
	SV * class
	CODE:
	RETVAL = ETK_MENU_ITEM_RADIO(etk_menu_item_radio_new(NULL));
	OUTPUT:
	RETVAL
	
Etk_Menu_Item_Radio *
etk_menu_item_radio_new_from_widget(radio_item)
	Etk_Menu_Item_Radio *	radio_item
      ALIAS:
	NewFromWidget=1
	CODE:
	RETVAL = ETK_MENU_ITEM_RADIO(etk_menu_item_radio_new_from_widget(radio_item));
	OUTPUT:
	RETVAL

Etk_Menu_Item_Radio *
etk_menu_item_radio_new_with_label(label)
	char *	label
      ALIAS:
	NewWithLabel=1
	CODE:
	RETVAL = ETK_MENU_ITEM_RADIO(etk_menu_item_radio_new_with_label(label, NULL));
	OUTPUT:
	RETVAL	

Etk_Menu_Item_Radio *
etk_menu_item_radio_new_with_label_from_widget(label, radio_item)
	char *	label
	Etk_Menu_Item_Radio *	radio_item
      ALIAS:
	NewWithLabelFromWidget=1
	CODE:
	RETVAL = ETK_MENU_ITEM_RADIO(etk_menu_item_radio_new_with_label_from_widget(label, 
				radio_item));
	OUTPUT:
	RETVAL

MODULE = Etk::Menu::Item::Separator	PACKAGE = Etk::Menu::Item::Separator	PREFIX = etk_menu_item_separator_

Etk_Menu_Item_Separator *
new(class)
	SV * class
	CODE:
	RETVAL = ETK_MENU_ITEM_SEPARATOR(etk_menu_item_separator_new());
	OUTPUT:
	RETVAL


MODULE = Etk::Menu::Shell	PACKAGE = Etk::Menu::Shell	PREFIX = etk_menu_shell_

void
etk_menu_shell_append(menu_shell, item)
	Etk_Menu_Shell *	menu_shell
	Etk_Menu_Item *	item
      ALIAS:
	Append=1

void
etk_menu_shell_append_relative(menu_shell, item, relative)
	Etk_Menu_Shell *	menu_shell
	Etk_Menu_Item *	item
	Etk_Menu_Item *	relative
      ALIAS:
	AppendRelative=1

void
etk_menu_shell_insert(menu_shell, item, position)
	Etk_Menu_Shell *	menu_shell
	Etk_Menu_Item *	item
	int	position
      ALIAS:
	Insert=1

Evas_List *
etk_menu_shell_items_get(menu_shell)
	Etk_Menu_Shell *	menu_shell
      ALIAS:
	ItemsGet=1

void
etk_menu_shell_prepend(menu_shell, item)
	Etk_Menu_Shell *	menu_shell
	Etk_Menu_Item *	item
      ALIAS:
	Prepend=1

void
etk_menu_shell_prepend_relative(menu_shell, item, relative)
	Etk_Menu_Shell *	menu_shell
	Etk_Menu_Item *	item
	Etk_Menu_Item *	relative
      ALIAS:
	PrependRelative=1

void
etk_menu_shell_remove(menu_shell, item)
	Etk_Menu_Shell *	menu_shell
	Etk_Menu_Item *	item
      ALIAS:
	Remove=1

MODULE = Etk::Menu	PACKAGE = Etk::Menu	PREFIX = etk_menu_

Etk_Menu *
new(class)
	SV * class
	CODE:
	RETVAL = ETK_MENU(etk_menu_new());
	OUTPUT:
	RETVAL

void
etk_menu_popdown(menu)
	Etk_Menu *	menu
      ALIAS:
	Popdown=1

void
etk_menu_popup(menu)
	Etk_Menu *	menu
      ALIAS:
	Popup=1

void
etk_menu_popup_at_xy(menu, x, y)
	Etk_Menu *	menu
	int	x
	int	y
      ALIAS:
	PopupAtXy=1

void
etk_menu_popup_in_direction(menu, direction)
	Etk_Menu *menu
	Etk_Popup_Direction direction
	ALIAS:
	PopupInDirection=1
	
void
etk_menu_popup_at_xy_in_direction(menu, x, y, direction)
	Etk_Menu *menu
	int	x
	int	y
	Etk_Popup_Direction direction
	ALIAS:
	PopupAtXYInDirection=1

Etk_Menu_Item *
etk_menu_parent_item_get(menu)
	Etk_Menu *menu
	ALIAS:
	ParentItemGet=1




( run in 0.584 second using v1.01-cache-2.11-cpan-49f99fa48dc )