Etk-Perl
view release on metacpan or search on metacpan
etk_test/etk_test.pl view on Meta::CPAN
frame => "adv",
cb => \&tree_window_show
},
menu => {
label => "Menu",
frame => "adv",
cb => \&menu_window_show
},
combobox => {
label => "Combobox",
frame => "adv",
cb => \&combobox_window_show
},
iconbox => {
label => "Iconbox",
frame => "adv",
cb => \&iconbox_window_show
},
textview => {
label => "Text View",
etk_test/etk_test.pl view on Meta::CPAN
}
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();
$combo->ItemPrepend(
Etk::Image::new_from_stock(PlacesFolder, SizeSmall),
"..");
while (<$dir/*>) {
etk_test/etk_test.pl view on Meta::CPAN
} else {
$combo->ItemPrepend(
Etk::Image::new_from_stock(TextXGeneric, SizeSmall),
$_);
}
}
}
sub combobox_window_show
{
my $win = Etk::Window->new();
$win->TitleSet("Etk-Perl Combo Test");
my $vbox = Etk::VBox->new(0, 3);
my $frame = Etk::Frame->new("Simple combobox");
$vbox->Append($frame);
my $combobox = Etk::Combobox::new_default();
$frame->Add($combobox);
$combobox->ItemAppend("Test 1");
$combobox->ItemAppend("Test 2");
$combobox->ItemAppend("Test 3");
$frame = Etk::Frame->new("Entry combobox");
$vbox->Append($frame);
$combobox = Etk::Combobox::Entry->new();
$combobox->SignalConnect("active-item-changed", sub {
print "TODO\n";
});
$combobox->ColumnAdd(EntryImage, 24, EntryNone, 0.0);
$combobox->ColumnAdd(EntryLabel, 75, EntryExpand, 0.0);
$combobox->Build();
$frame->Add($combobox);
__combobox_entry_populate($combobox, ".");
$frame = Etk::Frame->new("Some stock icons");
$vbox->Append($frame);
my $vbox2 = Etk::VBox->new(0, 3);
$frame->Add($vbox2);
my $image = Etk::Image->new(DocumentNew, SizeBig);
$vbox2->Append($image);
$combobox = Etk::Combobox->new();
$combobox->ColumnAdd(ColumnTypeImage, 24, 0, 0.0);
$combobox->ColumnAdd(ColumnTypeLabel, 75, 1, 0.0);
$combobox->Build();
$vbox2->Append($combobox);
for( my $i = DocumentNew;
$i <= FormatTextUnderline; $i++)
{
my $image2 = Etk::Image->new($i, SizeSmall);
my $item = $combobox->ItemAppend($image2, Etk::Stock::label_get($i));
# $item->ColSet(1, Etk::Stock::label_get($i));
$item->DataSet($i);
}
$combobox->ActiveItemSet($combobox->ActiveItemGet());
$combobox->SignalConnect("active-item-changed",
sub {
my $item = $combobox->ActiveItemGet();
my $stock_id = $item->DataGet();
$image->SetFromStock($stock_id, SizeBig);
}
);
$win->Add($vbox);
$win->ShowAll();
}
sub iconbox_window_show
lib/Etk/Constants.pm view on Meta::CPAN
This module contains constants to use while building Etk apps.
The constants have numerical values which can be used instead.
=head1 EXPORT
None by default.
=head1 EXPORTABLE
box combobox fillpolicy messagedialog progressbar scrolledview
toplevelwidget tree textblock table colorpicker mouse toolbar
button shadow image entry popupwindow window swallow slider all
=cut
require Exporter;
our @ISA = qw/Exporter/;
our %EXPORT_TAGS = (
box => [qw/BoxStart BoxEnd BoxNone BoxExpand BoxFill BoxExpandFill/],
combobox => [qw/ColumnTypeLabel ColumnTypeImage ColumnTypeOther EntryImage EntryLabel EntryOther
EntryNone EntryExpand EntryFill EntryExpandFill/],
fillpolicy => [qw/FillNone HFill VFill HExpand VExpand/],
messagedialog=> [qw/None Warning Question Error
ButtonsNone ButtonsOk ButtonsClose ButtonsCancel ButtonsYesNo ButtonsOkCancel/],
progressbar => [qw/LeftToRight RightToLeft/],
scrolledview => [qw/PolicyShow PolicyHide PolicyAuto/],
toplevelwidget=>[qw/PointerDefault PointerMove PointerHDoubleArrow
PointerVDoubleArrow PointerResize PointerResizeTL PointerResizeT
PointerResizeTR PointerResizeR PointerResizeBR PointerResizeB
PointerResizeBL PointerResizeL PointerTextEdit PointerDndDrop/],
xs/Combobox.xs view on Meta::CPAN
#undef _
#endif
#include <Etk.h>
#include <Ecore.h>
#include <Ecore_Data.h>
#include "EtkTypes.h"
#include "EtkSignals.h"
MODULE = Etk::Combobox::Entry PACKAGE = Etk::Combobox::Entry PREFIX = etk_combobox_entry_
Etk_Combobox_Entry *
new(class)
SV *class
CODE:
RETVAL = ETK_COMBOBOX_ENTRY(etk_combobox_entry_new());
OUTPUT:
RETVAL
Etk_Combobox_Entry *
new_default(class)
SV *class
ALIAS:
NewDefault=1
CODE:
RETVAL = ETK_COMBOBOX_ENTRY(etk_combobox_entry_new_default());
OUTPUT:
RETVAL
# Convert to entry
Etk_Widget *
etk_combobox_entry_entry_get(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
EntryGet=1
void
etk_combobox_entry_items_height_set(combobox_entry, items_height)
Etk_Combobox_Entry *combobox_entry
int items_height
ALIAS:
ItemsHeightSet=1
int
etk_combobox_entry_items_height_get(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
ItemsHeightGet=1
void
etk_combobox_entry_column_add(combobox_entry, col_type, width, fill_policy, align)
Etk_Combobox_Entry *combobox_entry
Etk_Combobox_Entry_Column_Type col_type
int width
Etk_Combobox_Entry_Fill_Policy fill_policy
float align
ALIAS:
ColumnAdd=1
void
etk_combobox_entry_build(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
Build=1
void
etk_combobox_entry_clear(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
Clear=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_item_append_empty(combobox)
Etk_Combobox_Entry * combobox
ALIAS:
ItemAppendEmpty=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_item_prepend_empty(combobox)
Etk_Combobox_Entry * combobox
ALIAS:
ItemPrependEmpty=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_item_insert_empty(combobox, after)
Etk_Combobox_Entry * combobox
Etk_Combobox_Entry_Item * after
ALIAS:
ItemInsertEmpty=1
void
etk_combobox_entry_active_item_set(combobox_entry, item)
Etk_Combobox_Entry *combobox_entry
Etk_Combobox_Entry_Item *item
ALIAS:
ActiveItemSet=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_active_item_get(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
ActiveItemGet=1
int
etk_combobox_entry_active_item_num_get(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
ActiveItemNumGet=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_first_item_get(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
FirstItemGet=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_last_item_get(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
LastItemGet=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_nth_item_get(combobox_entry, index)
Etk_Combobox_Entry *combobox_entry
int index
ALIAS:
NthItemGet=1
Etk_Bool
etk_combobox_entry_is_popped_up(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
IsPoppedUp=1
void
etk_combobox_entry_pop_up(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
PopUp=1
void
etk_combobox_entry_pop_down(combobox_entry)
Etk_Combobox_Entry *combobox_entry
ALIAS:
PopDown=1
void
etk_combobox_entry_popup_feed(combobox_entry, window)
Etk_Combobox_Entry *combobox_entry
Etk_Window *window
ALIAS:
PopupFeed=1
MODULE = Etk::Combobox::Entry::Item PACKAGE = Etk::Combobox::Entry::Item PREFIX = etk_combobox_entry_item_
void
etk_combobox_entry_item_fields_set(item, ...)
Etk_Combobox_Entry_Item * item
ALIAS:
FieldsSet=1
CODE:
int i;
void **ptr = NULL;
ptr = calloc(items, sizeof(void *));
memset(ptr, 0, items * sizeof(void *));
for(i = 0; i < items - 1; i++)
{
if(SvPOK(ST(i + 1)))
ptr[i] = SvPV_nolen(ST(i + 1));
else
ptr[i] = SvObj(ST(i + 1), getClass("Etk_Widget"));
}
switch(items)
{
case 2:
etk_combobox_entry_item_fields_set(item, ptr[0]);
break;
case 3:
etk_combobox_entry_item_fields_set(item, ptr[0], ptr[1]);
break;
case 4:
etk_combobox_entry_item_fields_set(item, ptr[0], ptr[1], ptr[2]);
break;
case 5:
etk_combobox_entry_item_fields_set(item, ptr[0], ptr[1], ptr[2], ptr[3]);
break;
case 6:
etk_combobox_entry_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4]);
break;
case 7:
etk_combobox_entry_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5]);
break;
case 8:
etk_combobox_entry_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6]);
break;
case 9:
etk_combobox_entry_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6], ptr[7]);
break;
case 10:
etk_combobox_entry_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6], ptr[7], ptr[8]);
break;
case 11:
etk_combobox_entry_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6], ptr[7], ptr[8],
ptr[9]);
break;
}
if(ptr)
free(ptr);
void
etk_combobox_entry_item_remove(item)
Etk_Combobox_Entry_Item *item
ALIAS:
Remove=1
void
etk_combobox_entry_item_field_set(item, col, data)
Etk_Combobox_Entry_Item * item
int col
SV * data
ALIAS:
FieldSet=1
CODE:
if (SvPOK(data))
etk_combobox_entry_item_field_set(item, col, (void *)SvPV_nolen(data));
else
etk_combobox_entry_item_field_set(item, col, (void *)SvObj(data, "Etk::Widget"));
SV *
etk_combobox_entry_item_field_get(item, col, type=0)
Etk_Combobox_Entry_Item * item
int col
int type
ALIAS:
FieldGet=1
CODE:
void * data;
data = etk_combobox_entry_item_field_get(item, col);
if (type == 0)
RETVAL = sv_2mortal(newSVpv((char *)data, 0));
else
RETVAL = sv_2mortal(newSVObject((Etk_Widget *)data));
OUTPUT:
RETVAL
void
etk_combobox_entry_item_data_set(item, data)
Etk_Combobox_Entry_Item *item
SV * data
ALIAS:
DataSet=1
CODE:
etk_combobox_entry_item_data_set(item, newSVsv(data));
SV *
etk_combobox_entry_item_data_get(item)
Etk_Combobox_Entry_Item *item
ALIAS:
DataGet=1
CODE:
RETVAL = newSVsv((SV*)etk_combobox_entry_item_data_get(item));
OUTPUT:
RETVAL
Etk_Combobox_Entry_Item *
etk_combobox_entry_item_prev_get(item)
Etk_Combobox_Entry_Item *item
ALIAS:
PrevGet=1
Etk_Combobox_Entry_Item *
etk_combobox_entry_item_next_get(item)
Etk_Combobox_Entry_Item *item
ALIAS:
NextGet=1
Etk_Combobox_Entry *
etk_combobox_entry_item_combobox_entry_get(item)
Etk_Combobox_Entry_Item *item
ALIAS:
ComboboxEntryGet=1
MODULE = Etk::Combobox::Item PACKAGE = Etk::Combobox::Item PREFIX = etk_combobox_item_
void
etk_combobox_item_fields_set(item, ...)
Etk_Combobox_Item * item
ALIAS:
FieldsSet=1
CODE:
int i;
void **ptr = NULL;
ptr = calloc(items, sizeof(void *));
memset(ptr, 0, items * sizeof(void *));
for(i = 0; i < items - 1; i++)
{
if(SvPOK(ST(i + 1)))
ptr[i] = SvPV_nolen(ST(i + 1));
else
ptr[i] = SvObj(ST(i + 1), getClass("Etk_Widget"));
}
switch(items)
{
case 2:
etk_combobox_item_fields_set(item, ptr[0]);
break;
case 3:
etk_combobox_item_fields_set(item, ptr[0], ptr[1]);
break;
case 4:
etk_combobox_item_fields_set(item, ptr[0], ptr[1], ptr[2]);
break;
case 5:
etk_combobox_item_fields_set(item, ptr[0], ptr[1], ptr[2], ptr[3]);
break;
case 6:
etk_combobox_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4]);
break;
case 7:
etk_combobox_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5]);
break;
case 8:
etk_combobox_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6]);
break;
case 9:
etk_combobox_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6], ptr[7]);
break;
case 10:
etk_combobox_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6], ptr[7], ptr[8]);
break;
case 11:
etk_combobox_item_fields_set(item, ptr[0],
ptr[1], ptr[2], ptr[3], ptr[4],
ptr[5], ptr[6], ptr[7], ptr[8],
ptr[9]);
break;
}
if(ptr)
free(ptr);
SV *
etk_combobox_item_data_get(item)
Etk_Combobox_Item * item
ALIAS:
DataGet=1
CODE:
RETVAL = newSVsv((SV*)etk_combobox_item_data_get(item));
OUTPUT:
RETVAL
Etk_Combobox *
etk_combobox_item_combobox_get(item)
Etk_Combobox_Item * item
ALIAS:
ComboboxGet=1
void
etk_combobox_item_data_set(item, data)
Etk_Combobox_Item * item
SV * data
ALIAS:
DataSet=1
CODE:
etk_combobox_item_data_set(ETK_COMBOBOX_ITEM(item), newSVsv(data));
void
etk_combobox_item_remove(item)
Etk_Combobox_Item * item
ALIAS:
Remove=1
void
etk_combobox_item_field_set(item, col, data)
Etk_Combobox_Item * item
int col
SV * data
ALIAS:
FieldSet=1
CODE:
if (SvPOK(data))
etk_combobox_item_field_set(item, col, (void *)SvPV_nolen(data));
else
etk_combobox_item_field_set(item, col, (void *)SvObj(data, "Etk::Widget"));
SV *
etk_combobox_item_field_get(item, col, type=0)
Etk_Combobox_Item * item
int col
int type
ALIAS:
FieldGet=1
CODE:
void * data;
data = etk_combobox_item_field_get(item, col);
if (type == 0)
RETVAL = sv_2mortal(newSVpv((char *)data, 0));
else
RETVAL = sv_2mortal(newSVObject((Etk_Widget *)data));
OUTPUT:
RETVAL
MODULE = Etk::Combobox PACKAGE = Etk::Combobox PREFIX = etk_combobox_
Etk_Combobox *
new(class)
SV *class
CODE:
RETVAL = ETK_COMBOBOX(etk_combobox_new());
OUTPUT:
RETVAL
Etk_Combobox *
new_default()
ALIAS:
NewDefault=1
CODE:
RETVAL = ETK_COMBOBOX(etk_combobox_new_default());
OUTPUT:
RETVAL
void
etk_combobox_build(combobox)
Etk_Combobox * combobox
ALIAS:
Build=1
void
etk_combobox_clear(combobox)
Etk_Combobox * combobox
ALIAS:
Clear=1
void
etk_combobox_column_add(combobox, col_type, width, fill_policy, align)
Etk_Combobox * combobox
Etk_Combobox_Column_Type col_type
int width
Etk_Combobox_Fill_Policy fill_policy
float align
ALIAS:
ColumnAdd=1
void
etk_combobox_items_height_set(combobox, items_height)
Etk_Combobox * combobox
int items_height
ALIAS:
ItemsHeightSet=1
int
etk_combobox_items_height_get(combobox)
Etk_Combobox * combobox
ALIAS:
ItemsHeightGet=1
Etk_Combobox_Item *
etk_combobox_item_append_empty(combobox)
Etk_Combobox * combobox
ALIAS:
ItemAppendEmpty=1
Etk_Combobox_Item *
etk_combobox_item_prepend_empty(combobox)
Etk_Combobox * combobox
ALIAS:
ItemPrependEmpty=1
Etk_Combobox_Item *
etk_combobox_item_insert_empty(combobox, after)
Etk_Combobox * combobox
Etk_Combobox_Item * after
ALIAS:
ItemInsertEmpty=1
void
etk_combobox_active_item_set(combobox, item)
Etk_Combobox * combobox
Etk_Combobox_Item * item
ALIAS:
ActiveItemSet=1
Etk_Combobox_Item *
etk_combobox_active_item_get(combobox)
Etk_Combobox * combobox
ALIAS:
ActiveItemGet=1
void
etk_combobox_active_item_num_get(combobox)
Etk_Combobox * combobox
ALIAS:
ActiveItemNumGet=1
Etk_Combobox_Item *
etk_combobox_first_item_get(combobox)
Etk_Combobox * combobox
ALIAS:
FirstItemGet=1
Etk_Combobox_Item *
etk_combobox_last_item_get(combobox)
Etk_Combobox * combobox
ALIAS:
LastItemGet=1
Etk_Combobox_Item *
etk_combobox_item_prev_get(item)
Etk_Combobox_Item * item
ALIAS:
ItemPrevGet=1
Etk_Combobox_Item *
etk_combobox_item_next_get(item)
Etk_Combobox_Item * item
ALIAS:
ItemNextGet=1
Etk_Combobox_Item *
etk_combobox_nth_item_get(combobox, index)
Etk_Combobox * combobox
int index
ALIAS:
NthItemGet=1
( run in 0.454 second using v1.01-cache-2.11-cpan-39bf76dae61 )