1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#!/usr/bin/env entity
<object>
<object name="test" default-lang="perl" __perl-namespace="ETest">
<renderer name="entity-namespace-test"
tag="test"
lang="perl"
onrender="test_render"
ondestroy="test_destroy"
onparent="test_parent">
<attrib name="something"
description="The location of something."
value_desc="string"
values="*"
onset="test_attr_set" />
<perl name="test_attr_set"><![CDATA[
sub print_namespace
{
my ($node) = @_;
my $obj = $node->parent ("object");
my $namespace = $obj->attrib ("__perl-namespace");
print ("namespace is $namespace\n");
}
sub test_attr_set
{
my ($test_node, $attr, $value) = @_;
print ("In test node, test node is $test_node, $attr => $value\n");
print_namespace ($test_node);
}
]]></perl>
<perl name="test_render"><![CDATA[
sub test_render
{
my $node = shift;
print "!!!in test_render!!!\n";
print_namespace ($node);
}
]]></perl>
<perl name="test_parent"><![CDATA[
sub test_parent
{
print "in test_parent\n";
}
]]></perl>
</renderer>
</object>
<object name="test" ondelete="entity:exit">
<test name="foo">
<perl><![CDATA[
sub testme
{
my $test = enode ("test.foo");
some_func ();
$test->attrib ("something" => "nothing");
some_func ();
}
sub some_func
{
print ("in some_func\n");
}
]]></perl>
</test>
<window ondelete="entity:exit" title="Namespace Test">
<button label="test" onclick="testme"/>
<button label="exit" onclick="entity:exit"/>
</window>
</object>
</object>
|