summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/modules/edit/apps
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sca-cpp/trunk/modules/edit/apps/me360/app.composite11
-rw-r--r--sca-cpp/trunk/modules/edit/apps/new/app.composite12
-rw-r--r--sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html6
-rw-r--r--sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite49
-rw-r--r--sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite194
-rw-r--r--sca-cpp/trunk/modules/edit/apps/slice/app.composite336
-rw-r--r--sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html24
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testanimation/app.composite187
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testanimation/app.stats1
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html27
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testhttp/app.composite18
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testsms/app.composite98
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testsms/app.stats1
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html24
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite67
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html11
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite87
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html12
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite206
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats1
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html39
-rw-r--r--sca-cpp/trunk/modules/edit/apps/twsms/app.composite171
-rw-r--r--sca-cpp/trunk/modules/edit/apps/twsms/app.stats1
-rw-r--r--sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html33
24 files changed, 1420 insertions, 196 deletions
diff --git a/sca-cpp/trunk/modules/edit/apps/me360/app.composite b/sca-cpp/trunk/modules/edit/apps/me360/app.composite
index f7991a117d..8fe4825f8a 100644
--- a/sca-cpp/trunk/modules/edit/apps/me360/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/me360/app.composite
@@ -53,12 +53,6 @@
<reference target="bzprofile" name="value"/>
<property>buzzprofile</property>
</component>
- <component name="list" title="list" color="yellow1">
- <implementation.python script="nuvem/list_.py"/>
- <service name="list"/>
- <reference target="text5" name="item" clonable="true"/>
- <reference name="item" clonable="true"/>
- </component>
<component name="list2" title="list" color="yellow1">
<implementation.python script="nuvem/list_.py"/>
<service name="list"/>
@@ -84,11 +78,6 @@
<service name="text"/>
<property>jsdelfino</property>
</component>
- <component name="text3" title=" '{propval}'" color="orange1">
- <implementation.python script="nuvem/text.py"/>
- <service name="text"/>
- <property>https://www.googleapis.com/buzz/v1/people/{0}/@self?alt=json</property>
- </component>
<component name="text4" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
<service name="text"/>
diff --git a/sca-cpp/trunk/modules/edit/apps/new/app.composite b/sca-cpp/trunk/modules/edit/apps/new/app.composite
index 253168ff21..7cfa7629ac 100644
--- a/sca-cpp/trunk/modules/edit/apps/new/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/new/app.composite
@@ -31,24 +31,12 @@
<reference target="user1" name="value"/>
<property>me</property>
</component>
- <component name="item2" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="now1" name="value"/>
- <property>time</property>
- </component>
<component name="list2" title="list" color="yellow1">
<implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="item1" name="item" clonable="true"/>
- <reference target="item2" name="item" clonable="true"/>
<reference name="item" clonable="true"/>
</component>
- <component name="now1" title="now" color="orange1">
- <implementation.python script="nuvem/now.py"/>
- <service name="now"/>
- <reference name="format"/>
- </component>
<component x="10" y="40" name="start1" title="start" color="green1">
<implementation.python script="nuvem/start.py"/>
<service name="start" visible="false">
diff --git a/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html
index de39e20956..eeb7becae5 100644
--- a/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html
+++ b/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html
@@ -24,10 +24,4 @@
<SPAN id="me" class="h1" style="position: absolute; top: 0px; left: 56px; ">
<H1>=me</H1>
</SPAN>
- <SPAN id="page:text" class="text" style="position: absolute; top: 36px; left: 2px; ">
- <SPAN>The time is:</SPAN>
- </SPAN>
- <SPAN id="time" class="text" style="position: absolute; top: 36px; left: 74px; ">
- <SPAN>=time</SPAN>
- </SPAN>
</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite b/sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite
index 13ed9a2248..e0c5e5ceca 100644
--- a/sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite
@@ -37,19 +37,42 @@
<implementation.python script="nuvem/map_.py"/>
<service name="foreach"/>
<reference target="name5" name="item"/>
- <reference target="format" name="transform"/>
+ <reference target="htimg1" name="transform"/>
<reference target="shuffle" name="list"/>
</component>
- <component name="format" title="format" color="magenta1">
- <implementation.python script="nuvem/format_.py"/>
- <service name="format"/>
- <reference target="text2" name="pattern"/>
- <reference target="list" name="values"/>
+ <component x="180" y="50" name="htimg1" title="html img" color="magenta1">
+ <implementation.python script="nuvem/htimg.py"/>
+ <service name="htimg"/>
+ <reference target="list" name="value"/>
+ </component>
+ <component x="280" y="80" name="htstyle1" title="html style" color="magenta1">
+ <implementation.python script="nuvem/htstyle.py"/>
+ <service name="htstyle"/>
+ <reference target="list1" name="value"/>
+ </component>
+ <component name="item" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="foreach2" name="value"/>
+ <property>images</property>
+ </component>
+ <component x="390" y="80" name="item1" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text1" name="value"/>
+ <property>width</property>
</component>
<component name="list" title="list" color="yellow1">
<implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="valueof2" name="item" clonable="true"/>
+ <reference target="htstyle1" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list1" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item1" name="item" clonable="true"/>
<reference name="item" clonable="true"/>
</component>
<component name="name3" title="" color="orange1">
@@ -75,12 +98,6 @@
<binding.http uri="https://picasaweb.google.com/data/feed/api/user"/>
</reference>
</component>
- <component name="item" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="foreach2" name="value"/>
- <property>images</property>
- </component>
<component name="select" title="select" color="yellow1">
<implementation.python script="nuvem/select.py"/>
<service name="select"/>
@@ -93,22 +110,22 @@
<reference target="name4" name="path"/>
<reference target="flkalbum" name="list"/>
</component>
- <component name="shuffle" title="shuffle" color="yellow1">
+ <component x="180" y="180" name="shuffle" title="shuffle" color="yellow1">
<implementation.python script="nuvem/shuffle_.py"/>
<service name="shuffle"/>
<reference target="append" name="list"/>
</component>
- <component x="14" y="19" name="start" title="start" color="green1">
+ <component x="20" y="10" name="start" title="start" color="green1">
<implementation.python script="nuvem/start.py"/>
<service name="start" visible="false">
<binding.http uri="start"/>
</service>
<reference target="item" name="content"/>
</component>
- <component name="text2" title=" '{propval}'" color="orange1">
+ <component x="440" y="80" name="text1" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
<service name="text"/>
- <property>&lt;img src=&quot;{0}&quot; width=&quot;320&quot;/&gt;</property>
+ <property>320px</property>
</component>
<component name="text5" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
diff --git a/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite b/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite
index 565bffa371..0d626d09a6 100644
--- a/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite
@@ -28,17 +28,17 @@
<service name="order" promote="order"/>
<service name="start" promote="start"/>
<service name="total" promote="total"/>
- <component x="342" y="359" name="Add to cart" title="{compname}" color="green1">
+ <component x="330" y="410" name="Add to cart" title="{compname}" color="green1">
<implementation.python script="nuvem/service.py"/>
<service name="service" visible="false"/>
<reference target="list6" name="content"/>
</component>
- <component name="Check out" x="12" y="758" title="{compname}" color="green1">
+ <component x="10" y="850" name="Check out" title="{compname}" color="green1">
<implementation.python script="nuvem/service.py"/>
<service name="service" visible="false"/>
<reference target="list3" name="content"/>
</component>
- <component name="Empty" x="10" y="560" title="{compname}" color="green1">
+ <component x="10" y="640" name="Empty" title="{compname}" color="green1">
<implementation.python script="nuvem/service.py"/>
<service name="service" visible="false"/>
<reference target="list5" name="content"/>
@@ -145,13 +145,13 @@
<reference target="name11" name="name"/>
<reference name="proxy" wiredByImpl="true" visible="false"/>
</component>
- <component name="call9" title="call" color="green1">
+ <component x="210" y="280" name="call9" title="call" color="green1">
<implementation.python script="nuvem/call.py"/>
<service name="call"/>
<reference target="name2" name="name"/>
<reference name="proxy" wiredByImpl="true" visible="false"/>
</component>
- <component x="12" y="388" name="carthtml" title="{compname}" color="green1">
+ <component x="10" y="460" name="carthtml" title="{compname}" color="green1">
<implementation.python script="nuvem/service.py"/>
<service name="service" visible="false"/>
<reference target="item6" name="content"/>
@@ -161,7 +161,7 @@
<service name="service" visible="false"/>
<reference target="list" name="content"/>
</component>
- <component x="12" y="221" name="cataloghtml" title="{compname}" color="green1">
+ <component x="10" y="220" name="cataloghtml" title="{compname}" color="green1">
<implementation.python script="nuvem/service.py"/>
<service name="service" visible="false"/>
<reference target="item" name="content"/>
@@ -200,7 +200,7 @@
<implementation.python script="nuvem/map_.py"/>
<service name="foreach"/>
<reference target="name" name="item"/>
- <reference target="format2" name="transform"/>
+ <reference target="htcheck1" name="transform"/>
<reference target="call9" name="list"/>
</component>
<component name="foreach2" title="foreach" color="yellow1">
@@ -216,7 +216,7 @@
<reference target="text4" name="pattern"/>
<reference target="call8" name="values"/>
</component>
- <component name="format2" title="format" color="magenta1">
+ <component x="350" y="270" name="format1" title="format" color="magenta1">
<implementation.python script="nuvem/format_.py"/>
<service name="format"/>
<reference target="text5" name="pattern"/>
@@ -239,6 +239,11 @@
<service name="service" visible="false"/>
<reference target="get" name="content"/>
</component>
+ <component x="210" y="240" name="htcheck1" title="html checkbox" color="magenta1">
+ <implementation.python script="nuvem/htcheck.py"/>
+ <service name="htcheck"/>
+ <reference target="pair1" name="value"/>
+ </component>
<component name="if" title="if" color="magenta1">
<implementation.python script="nuvem/if_.py"/>
<service name="if"/>
@@ -246,6 +251,72 @@
<reference target="number5" name="then"/>
<reference target="round" name="else"/>
</component>
+ <component name="item" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="foreach" name="value"/>
+ <property>catalog</property>
+ </component>
+ <component name="item10" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="number4" name="value"/>
+ <property>Kiwi</property>
+ </component>
+ <component name="item11" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="delete2" name="value"/>
+ <property>delresult</property>
+ </component>
+ <component name="item12" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="sendgtalk" name="value"/>
+ <property>sendresult</property>
+ </component>
+ <component name="item2" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="if" name="value"/>
+ <property>total</property>
+ </component>
+ <component name="item4" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="call11" name="value"/>
+ <property>message</property>
+ </component>
+ <component name="item5" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text2" name="value"/>
+ <property>message</property>
+ </component>
+ <component name="item6" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="foreach2" name="value"/>
+ <property>cart</property>
+ </component>
+ <component name="item7" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="put" name="value"/>
+ <property>putresult</property>
+ </component>
+ <component name="item8" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="number" name="value"/>
+ <property>Mango</property>
+ </component>
+ <component name="item9" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="number2" name="value"/>
+ <property>Passion</property>
+ </component>
<component name="list" title="list" color="yellow1">
<implementation.python script="nuvem/list_.py"/>
<service name="list"/>
@@ -290,7 +361,7 @@
<component name="lookup" title="lookup" color="yellow1">
<implementation.python script="nuvem/lookup.py"/>
<service name="lookup"/>
- <reference target="param" name="name"/>
+ <reference target="second1" name="name"/>
<reference target="call15" name="list"/>
</component>
<component name="name" title="" color="orange1">
@@ -417,83 +488,23 @@
<service name="number"/>
<property>0</property>
</component>
- <component x="425" y="832" name="order" title="{compname}" color="green1">
+ <component x="430" y="760" name="order" title="{compname}" color="green1">
<implementation.python script="nuvem/service.py"/>
<service name="service" visible="false"/>
<reference target="format" name="content"/>
</component>
- <component name="param" title="?param" color="green1">
+ <component x="310" y="250" name="pair1" title="pair" color="yellow1">
+ <implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="text8" name="name"/>
+ <reference target="format1" name="value"/>
+ </component>
+ <component x="840" y="100" name="param" title="?param" color="green1">
<implementation.python script="nuvem/param.py"/>
<service name="param"/>
<property>fruit</property>
<property name="query" visible="false"/>
</component>
- <component name="item" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="foreach" name="value"/>
- <property>catalog</property>
- </component>
- <component name="item10" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="number4" name="value"/>
- <property>Kiwi</property>
- </component>
- <component name="item11" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="delete2" name="value"/>
- <property>delresult</property>
- </component>
- <component name="item12" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="sendgtalk" name="value"/>
- <property>sendresult</property>
- </component>
- <component name="item2" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="if" name="value"/>
- <property>total</property>
- </component>
- <component name="item4" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="call11" name="value"/>
- <property>message</property>
- </component>
- <component name="item5" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="text2" name="value"/>
- <property>message</property>
- </component>
- <component name="item6" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="foreach2" name="value"/>
- <property>cart</property>
- </component>
- <component name="item7" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="put" name="value"/>
- <property>putresult</property>
- </component>
- <component name="item8" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="number" name="value"/>
- <property>Mango</property>
- </component>
- <component name="item9" title="{propval} :" color="orange1">
- <implementation.python script="nuvem/item.py"/>
- <service name="item"/>
- <reference target="number2" name="value"/>
- <property>Passion</property>
- </component>
<component name="put" title="put" color="red1">
<implementation.python script="nuvem/put.py"/>
<service name="put"/>
@@ -507,6 +518,11 @@
<reference target="number3" name="n"/>
<reference target="sum" name="x"/>
</component>
+ <component x="650" y="450" name="second1" title="second" color="yellow1">
+ <implementation.python script="nuvem/second.py"/>
+ <service name="second"/>
+ <reference target="split1" name="list"/>
+ </component>
<component name="sendgtalk" title="gtalk" color="blue1">
<implementation.cpp path="lib/chat" library="libchat-sender2"/>
<service name="sendgtalk"/>
@@ -515,6 +531,12 @@
<reference target="text3" name="to"/>
<reference target="call12" name="msg"/>
</component>
+ <component x="720" y="70" name="split1" title="split" color="magenta1">
+ <implementation.python script="nuvem/split.py"/>
+ <service name="split"/>
+ <reference target="text1" name="separator"/>
+ <reference target="param" name="string"/>
+ </component>
<component x="13" y="15" name="start" title="start" color="green1">
<implementation.python script="nuvem/start.py"/>
<service name="start" visible="false">
@@ -532,6 +554,11 @@
<service name="text"/>
<property>xmppsca.1@gmail.com</property>
</component>
+ <component x="790" y="70" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property> - </property>
+ </component>
<component name="text2" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
<service name="text"/>
@@ -547,10 +574,10 @@
<service name="text"/>
<property>Your order has been processed. Your total: ${1}</property>
</component>
- <component name="text5" title=" '{propval}'" color="orange1">
+ <component x="1220" y="310" name="text5" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
<service name="text"/>
- <property>&lt;span id=&quot;fruit&quot; class=&quot;checkbox&quot;&gt;&lt;input type=&quot;checkbox&quot; value=&quot;{0}&quot;/&gt;${1} - {0}&lt;/span&gt;</property>
+ <property>${1} - {0}</property>
</component>
<component name="text6" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
@@ -562,7 +589,12 @@
<service name="text"/>
<property>xmpp4sca</property>
</component>
- <component x="760" y="300" name="total" title="{compname}" color="green1">
+ <component x="350" y="250" name="text8" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>fruit</property>
+ </component>
+ <component x="660" y="160" name="total" title="{compname}" color="green1">
<implementation.python script="nuvem/service.py"/>
<service name="service" visible="false"/>
<reference target="item2" name="content"/>
@@ -582,7 +614,7 @@
<service name="user"/>
<property name="user" visible="false"/>
</component>
- <component name="valueof" title="valueof" color="orange1">
+ <component x="1220" y="340" name="valueof" title="valueof" color="orange1">
<implementation.python script="nuvem/valueof.py"/>
<service name="valueof"/>
<property>fruit</property>
diff --git a/sca-cpp/trunk/modules/edit/apps/slice/app.composite b/sca-cpp/trunk/modules/edit/apps/slice/app.composite
index 847d9c4892..af61c11d26 100644
--- a/sca-cpp/trunk/modules/edit/apps/slice/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/slice/app.composite
@@ -18,23 +18,345 @@
* under the License.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
+ <service name="angle" promote="angle"/>
+ <service name="animation1" promote="animation1"/>
<service name="start" promote="start"/>
- <component name="number" title="#" color="orange1">
- <implementation.python script="nuvem/number.py"/>
- <service name="number"/>
- <property>0</property>
+ <service name="xpos" promote="xpos"/>
+ <service name="ypos" promote="ypos"/>
+ <component x="670" y="370" name="angle" title="{compname}" color="green1">
+ <implementation.python script="nuvem/service.py"/>
+ <service name="service" visible="false"/>
+ <reference target="format1" name="content"/>
+ </component>
+ <component x="10" y="140" name="animation1" title="animation" color="green1">
+ <implementation.python script="nuvem/animation.py"/>
+ <service name="animation" visible="false">
+ <binding.http uri="animation"/>
+ </service>
+ <reference target="number6" name="n"/>
+ <reference target="true1" name="loop"/>
+ <reference target="foreach1" name="content"/>
+ </component>
+ <component x="450" y="160" name="call1" title="call" color="green1">
+ <implementation.python script="nuvem/call.py"/>
+ <service name="call"/>
+ <reference target="name2" name="name"/>
+ <reference name="proxy" wiredByImpl="true" visible="false"/>
+ </component>
+ <component x="440" y="200" name="call2" title="call" color="green1">
+ <implementation.python script="nuvem/call.py"/>
+ <service name="call"/>
+ <reference target="name3" name="name"/>
+ <reference name="proxy" wiredByImpl="true" visible="false"/>
+ </component>
+ <component x="520" y="250" name="call3" title="call" color="green1">
+ <implementation.python script="nuvem/call.py"/>
+ <service name="call"/>
+ <reference target="name4" name="name"/>
+ <reference name="proxy" wiredByImpl="true" visible="false"/>
+ </component>
+ <component x="660" y="170" name="divide1" title="/" color="magenta1">
+ <implementation.python script="nuvem/divide.py"/>
+ <service name="divide">
+ <documentation>/</documentation>
+ </service>
+ <reference target="valueof3" name="value1"/>
+ <reference target="number3" name="value2"/>
+ </component>
+ <component x="80" y="130" name="foreach1" title="foreach" color="yellow1">
+ <implementation.python script="nuvem/map_.py"/>
+ <service name="foreach"/>
+ <reference target="name1" name="item"/>
+ <reference target="list1" name="transform"/>
+ <reference target="range1" name="list"/>
+ </component>
+ <component x="780" y="380" name="format1" title="format" color="magenta1">
+ <implementation.python script="nuvem/format_.py"/>
+ <service name="format"/>
+ <reference target="text1" name="pattern"/>
+ <reference target="list3" name="values"/>
+ </component>
+ <component x="390" y="90" name="htattrs1" title="html attrs:" color="magenta1">
+ <implementation.python script="nuvem/htattrs.py"/>
+ <service name="htattrs"/>
+ <reference target="htstyle1" name="value"/>
+ </component>
+ <component x="110" y="0" name="htattrs2" title="html attrs:" color="magenta1">
+ <implementation.python script="nuvem/htattrs.py"/>
+ <service name="htattrs"/>
+ <reference target="list5" name="value"/>
+ </component>
+ <component x="300" y="150" name="htstyle1" title="html style" color="magenta1">
+ <implementation.python script="nuvem/htstyle.py"/>
+ <service name="htstyle"/>
+ <reference target="list2" name="value"/>
</component>
<component name="item" title="{propval} :" color="orange1">
<implementation.python script="nuvem/item.py"/>
<service name="item"/>
- <reference target="number" name="value"/>
- <property>slice</property>
+ <reference target="htattrs2" name="value"/>
+ <property>sprite</property>
+ </component>
+ <component x="400" y="160" name="item1" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="call1" name="value"/>
+ <property>left</property>
+ </component>
+ <component x="400" y="190" name="item2" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="call2" name="value"/>
+ <property>top</property>
+ </component>
+ <component x="220" y="0" name="item3" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text3" name="value"/>
+ <property>src</property>
+ </component>
+ <component x="180" y="160" name="item4" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htattrs1" name="value"/>
+ <property>sprite</property>
+ </component>
+ <component x="410" y="490" name="item5" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text4" name="value"/>
+ <property>position</property>
+ </component>
+ <component x="400" y="250" name="item6" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="call3" name="value"/>
+ <property>-webkit-transform</property>
+ </component>
+ <component x="220" y="40" name="item7" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text2" name="value"/>
+ <property>onclick</property>
+ </component>
+ <component name="list1" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item4" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list2" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item5" name="item" clonable="true"/>
+ <reference target="item1" name="item" clonable="true"/>
+ <reference target="item2" name="item" clonable="true"/>
+ <reference target="item6" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list3" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="multiply4" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list5" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item3" name="item" clonable="true"/>
+ <reference target="item7" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component x="540" y="140" name="multiply1" title="*" color="magenta1">
+ <implementation.python script="nuvem/multiply.py"/>
+ <service name="multiply">
+ <documentation>*</documentation>
+ </service>
+ <reference target="number4" name="value1"/>
+ <reference target="sin1" name="value2"/>
+ </component>
+ <component x="550" y="150" name="multiply2" title="*" color="magenta1">
+ <implementation.python script="nuvem/multiply.py"/>
+ <service name="multiply">
+ <documentation>*</documentation>
+ </service>
+ <reference target="pi1" name="value1"/>
+ <reference target="divide1" name="value2"/>
+ </component>
+ <component x="500" y="130" name="multiply3" title="*" color="magenta1">
+ <implementation.python script="nuvem/multiply.py"/>
+ <service name="multiply">
+ <documentation>*</documentation>
+ </service>
+ <reference target="number8" name="value1"/>
+ <reference target="valueof2" name="value2"/>
+ </component>
+ <component x="870" y="410" name="multiply4" title="*" color="magenta1">
+ <implementation.python script="nuvem/multiply.py"/>
+ <service name="multiply">
+ <documentation>*</documentation>
+ </service>
+ <reference target="number9" name="value1"/>
+ <reference target="valueof1" name="value2"/>
+ </component>
+ <component x="270" y="120" name="name1" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>t</property>
+ </component>
+ <component x="480" y="160" name="name2" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>xpos</property>
</component>
- <component x="17" y="9" name="start" title="start" color="green1">
+ <component x="490" y="200" name="name3" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>ypos</property>
+ </component>
+ <component x="560" y="250" name="name4" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>angle</property>
+ </component>
+ <component x="210" y="110" name="number1" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>0</property>
+ </component>
+ <component x="200" y="140" name="number2" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>101</property>
+ </component>
+ <component x="730" y="200" name="number3" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>25</property>
+ </component>
+ <component x="510" y="140" name="number4" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>200</property>
+ </component>
+ <component x="530" y="120" name="number5" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>0</property>
+ </component>
+ <component x="80" y="70" name="number6" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>30</property>
+ </component>
+ <component x="760" y="230" name="number7" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>200</property>
+ </component>
+ <component x="730" y="130" name="number8" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>4</property>
+ </component>
+ <component x="890" y="410" name="number9" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>20</property>
+ </component>
+ <component x="580" y="150" name="pi1" title="pi" color="magenta1">
+ <implementation.python script="nuvem/pi_.py"/>
+ <service name="pi"/>
+ </component>
+ <component x="640" y="40" name="pixels1" title="pixels" color="magenta1">
+ <implementation.python script="nuvem/pixels.py"/>
+ <service name="pixels"/>
+ <reference target="multiply3" name="value"/>
+ </component>
+ <component x="650" y="110" name="pixels2" title="pixels" color="magenta1">
+ <implementation.python script="nuvem/pixels.py"/>
+ <service name="pixels"/>
+ <reference target="subtract1" name="value"/>
+ </component>
+ <component x="270" y="160" name="range1" title="range" color="yellow1">
+ <implementation.python script="nuvem/range_.py"/>
+ <service name="range"/>
+ <reference target="number1" name="first"/>
+ <reference target="number2" name="last"/>
+ </component>
+ <component x="760" y="260" name="round1" title="round" color="magenta1">
+ <implementation.python script="nuvem/round_.py"/>
+ <service name="round"/>
+ <reference target="number5" name="n"/>
+ <reference target="multiply1" name="x"/>
+ </component>
+ <component x="630" y="190" name="sin1" title="sin" color="magenta1">
+ <implementation.python script="nuvem/sin_.py"/>
+ <service name="sin"/>
+ <reference target="multiply2" name="x"/>
+ </component>
+ <component x="10" y="0" name="start" title="start" color="green1">
<implementation.python script="nuvem/start.py"/>
<service name="start" visible="false">
<binding.http uri="start"/>
</service>
<reference target="item" name="content"/>
</component>
+ <component x="510" y="210" name="subtract1" title="-" color="magenta1">
+ <implementation.python script="nuvem/subtract.py"/>
+ <service name="subtract">
+ <documentation>-</documentation>
+ </service>
+ <reference target="number7" name="value1"/>
+ <reference target="round1" name="value2"/>
+ </component>
+ <component x="830" y="380" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>rotate({0:g}deg)</property>
+ </component>
+ <component x="410" y="330" name="text2" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>alert('Got it!')</property>
+ </component>
+ <component x="260" y="0" name="text3" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>http://www.apache.org/images/feather-small.gif</property>
+ </component>
+ <component x="480" y="490" name="text4" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>absolute</property>
+ </component>
+ <component x="80" y="100" name="true1" title="true" color="orange1">
+ <implementation.python script="nuvem/true_.py"/>
+ <service name="true"/>
+ </component>
+ <component x="900" y="440" name="valueof1" title="valueof" color="orange1">
+ <implementation.python script="nuvem/valueof.py"/>
+ <service name="valueof"/>
+ <property>t</property>
+ </component>
+ <component x="730" y="150" name="valueof2" title="valueof" color="orange1">
+ <implementation.python script="nuvem/valueof.py"/>
+ <service name="valueof"/>
+ <property>t</property>
+ </component>
+ <component x="730" y="170" name="valueof3" title="valueof" color="orange1">
+ <implementation.python script="nuvem/valueof.py"/>
+ <service name="valueof"/>
+ <property>t</property>
+ </component>
+ <component x="670" y="20" name="xpos" title="{compname}" color="green1">
+ <implementation.python script="nuvem/service.py"/>
+ <service name="service" visible="false"/>
+ <reference target="pixels1" name="content"/>
+ </component>
+ <component x="670" y="120" name="ypos" title="{compname}" color="green1">
+ <implementation.python script="nuvem/service.py"/>
+ <service name="service" visible="false"/>
+ <reference target="pixels2" name="content"/>
+ </component>
</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html
new file mode 100644
index 0000000000..5bd091cd20
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<DIV id="page">
+ <SPAN id="sprite" class="img" style="position: absolute; top: 0px; left: 2px; ">
+ <IMG src="/public/img.png"/>
+ </SPAN>
+</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/testanimation/app.composite b/sca-cpp/trunk/modules/edit/apps/testanimation/app.composite
new file mode 100644
index 0000000000..37ff200ff3
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testanimation/app.composite
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
+ <service name="animation1" promote="animation1"/>
+ <service name="start1" promote="start1"/>
+ <component x="30" y="90" name="animation1" title="animation" color="green1">
+ <implementation.python script="nuvem/animation.py"/>
+ <service name="animation" visible="false">
+ <binding.http uri="animation"/>
+ </service>
+ <reference target="number4" name="n"/>
+ <reference target="number6" name="loop"/>
+ <reference target="foreach1" name="content"/>
+ </component>
+ <component x="100" y="150" name="foreach1" title="foreach" color="yellow1">
+ <implementation.python script="nuvem/map_.py"/>
+ <service name="foreach"/>
+ <reference target="name1" name="item"/>
+ <reference target="list3" name="transform"/>
+ <reference target="range1" name="list"/>
+ </component>
+ <component name="format2" x="560" y="290" title="format" color="magenta1">
+ <implementation.python script="nuvem/format_.py"/>
+ <service name="format"/>
+ <reference target="text3" name="pattern"/>
+ <reference target="list1" name="values"/>
+ </component>
+ <component x="400" y="190" name="htattrs1" title="html attrs:" color="magenta1">
+ <implementation.python script="nuvem/htattrs.py"/>
+ <service name="htattrs"/>
+ <reference target="htstyle1" name="value"/>
+ </component>
+ <component x="340" y="150" name="htstyle1" title="html style" color="magenta1">
+ <implementation.python script="nuvem/htstyle.py"/>
+ <service name="htstyle"/>
+ <reference target="list2" name="value"/>
+ </component>
+ <component x="240" y="280" name="item1" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htattrs1" name="value"/>
+ <property>testdynimg</property>
+ </component>
+ <component x="80" y="10" name="item2" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text1" name="value"/>
+ <property>testdynimg</property>
+ </component>
+ <component x="450" y="290" name="item3" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference name="value" target="format2"/>
+ <property>-webkit-transform</property>
+ </component>
+ <component x="510" y="290" name="item4" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="pixels1" name="value"/>
+ <property>width</property>
+ </component>
+ <component name="list1" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="multiply2" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list2" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item4" name="item" clonable="true"/>
+ <reference target="item3" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list3" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item1" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component x="560" y="150" name="multiply1" title="*" color="magenta1">
+ <implementation.python script="nuvem/multiply.py"/>
+ <service name="multiply">
+ <documentation>*</documentation>
+ </service>
+ <reference target="valueof1" name="value1"/>
+ <reference target="number3" name="value2"/>
+ </component>
+ <component x="660" y="320" name="multiply2" title="*" color="magenta1">
+ <implementation.python script="nuvem/multiply.py"/>
+ <service name="multiply">
+ <documentation>*</documentation>
+ </service>
+ <reference target="valueof2" name="value1"/>
+ <reference target="number5" name="value2"/>
+ </component>
+ <component x="150" y="110" name="name1" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>t</property>
+ </component>
+ <component x="140" y="110" name="number1" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>0</property>
+ </component>
+ <component x="150" y="140" name="number2" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>121</property>
+ </component>
+ <component x="690" y="290" name="number3" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>3</property>
+ </component>
+ <component x="100" y="90" name="number4" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>20</property>
+ </component>
+ <component x="680" y="340" name="number5" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>6</property>
+ </component>
+ <component x="110" y="120" name="number6" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>5</property>
+ </component>
+ <component x="510" y="160" name="pixels1" title="pixels" color="magenta1">
+ <implementation.python script="nuvem/pixels.py"/>
+ <service name="pixels"/>
+ <reference target="multiply1" name="value"/>
+ </component>
+ <component x="150" y="400" name="range1" title="range" color="yellow1">
+ <implementation.python script="nuvem/range_.py"/>
+ <service name="range"/>
+ <reference target="number1" name="first"/>
+ <reference target="number2" name="last"/>
+ </component>
+ <component x="30" y="20" name="start1" title="start" color="green1">
+ <implementation.python script="nuvem/start.py"/>
+ <service name="start" visible="false">
+ <binding.http uri="start"/>
+ </service>
+ <reference target="item2" name="content"/>
+ </component>
+ <component x="150" y="10" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>http://tuscany.apache.org/images/TuscanyLogo.jpg</property>
+ </component>
+ <component x="620" y="290" name="text3" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>rotate({0:g}deg)</property>
+ </component>
+ <component x="680" y="260" name="valueof1" title="valueof" color="orange1">
+ <implementation.python script="nuvem/valueof.py"/>
+ <service name="valueof"/>
+ <property>t</property>
+ </component>
+ <component x="680" y="310" name="valueof2" title="valueof" color="orange1">
+ <implementation.python script="nuvem/valueof.py"/>
+ <service name="valueof"/>
+ <property>t</property>
+ </component>
+</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testanimation/app.stats b/sca-cpp/trunk/modules/edit/apps/testanimation/app.stats
new file mode 100644
index 0000000000..493ef39d1a
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testanimation/app.stats
@@ -0,0 +1 @@
+((entry (title "Test animation components") (id "testanimation"))) \ No newline at end of file
diff --git a/sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html
new file mode 100644
index 0000000000..c9f9420eb0
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<DIV id="page">
+ <SPAN id="page:h2" class="h2" style="position: absolute; top: 0px; left: 2px; ">
+ <H2>Test animation component</H2>
+ </SPAN>
+ <SPAN id="testdynimg" class="img" style="position: absolute; top: 36px; left: 11px; ">
+ <IMG src="/public/img.png"/>
+ </SPAN>
+</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/testhttp/app.composite b/sca-cpp/trunk/modules/edit/apps/testhttp/app.composite
index 93016ae915..0e4a96466b 100644
--- a/sca-cpp/trunk/modules/edit/apps/testhttp/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testhttp/app.composite
@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
<service name="call" promote="call"/>
<service name="get" promote="get"/>
diff --git a/sca-cpp/trunk/modules/edit/apps/testsms/app.composite b/sca-cpp/trunk/modules/edit/apps/testsms/app.composite
new file mode 100644
index 0000000000..a5d82a2891
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testsms/app.composite
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
+ <service name="item" promote="property"/>
+ <service name="twsms1" promote="twsms1"/>
+ <component x="180" y="30" name="keychain1" title="keychain" color="green1">
+ <implementation.python script="nuvem/keychain.py"/>
+ <service name="keychain"/>
+ <reference target="name1" name="name"/>
+ <reference name="account" target="Accounts" visible="false"/>
+ </component>
+ <component x="190" y="70" name="keychain3" title="keychain" color="green1">
+ <implementation.python script="nuvem/keychain.py"/>
+ <service name="keychain"/>
+ <reference target="name3" name="name"/>
+ <reference name="account" target="Accounts" visible="false"/>
+ </component>
+ <component x="190" y="100" name="keychain4" title="keychain" color="green1">
+ <implementation.python script="nuvem/keychain.py"/>
+ <service name="keychain"/>
+ <reference target="name5" name="name"/>
+ <reference name="account" target="Accounts" visible="false"/>
+ </component>
+ <component x="180" y="140" name="keychain5" title="keychain" color="green1">
+ <implementation.python script="nuvem/keychain.py"/>
+ <service name="keychain"/>
+ <reference target="name4" name="name"/>
+ <reference name="account" target="Accounts" visible="false"/>
+ </component>
+ <component name="list2" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text14" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component x="630" y="350" name="name1" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>twiliosid</property>
+ </component>
+ <component x="780" y="320" name="name3" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>twiliotoken</property>
+ </component>
+ <component x="250" y="140" name="name4" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>tophone</property>
+ </component>
+ <component x="520" y="270" name="name5" title="" color="orange1">
+ <implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>fromphone</property>
+ </component>
+ <component x="180" y="170" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>Hello Again!</property>
+ </component>
+ <component x="550" y="450" name="text12" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>From={0}&amp;To={1}&amp;Body={2}</property>
+ </component>
+ <component x="250" y="340" name="text14" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>Hello there</property>
+ </component>
+ <component x="140" y="30" name="twsms1" title="sms" color="blue1">
+ <implementation.python script="nuvem/twsms.py"/>
+ <service name="twsms"/>
+ <reference target="keychain1" name="sid"/>
+ <reference target="keychain3" name="token"/>
+ <reference target="keychain4" name="from"/>
+ <reference target="keychain5" name="to"/>
+ <reference target="text1" name="msg"/>
+ <reference name="s" wiredByImpl="true" visible="false"/>
+ </component>
+</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testsms/app.stats b/sca-cpp/trunk/modules/edit/apps/testsms/app.stats
new file mode 100644
index 0000000000..be1fc6d254
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testsms/app.stats
@@ -0,0 +1 @@
+((entry (title "Test HTTP components") (id "testhttp"))) \ No newline at end of file
diff --git a/sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html
new file mode 100644
index 0000000000..dd8f5f9f26
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<DIV id="page">
+ <SPAN id="page:h1" class="h1" style="position: absolute; top: 0px; left: 2px; ">
+ <H1>Test SMS API</H1>
+ </SPAN>
+</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite
index 690f1761e3..32db9dd428 100644
--- a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite
@@ -19,19 +19,10 @@
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
<service name="start" promote="start"/>
- <component name="list" title="list" color="yellow1">
- <implementation.python script="nuvem/list_.py"/>
- <service name="list"/>
- <reference target="item10" name="item" clonable="true"/>
- <reference target="item9" name="item" clonable="true"/>
- <reference target="item8" name="item" clonable="true"/>
- <reference target="item7" name="item" clonable="true"/>
- <reference target="item6" name="item" clonable="true"/>
- <reference target="item5" name="item" clonable="true"/>
- <reference target="item4" name="item" clonable="true"/>
- <reference target="item3" name="item" clonable="true"/>
- <reference target="item2" name="item" clonable="true"/>
- <reference name="item" clonable="true"/>
+ <component x="170" y="330" name="htattrs1" title="html attrs:" color="magenta1">
+ <implementation.python script="nuvem/htattrs.py"/>
+ <service name="htattrs"/>
+ <reference target="list2" name="value"/>
</component>
<component name="item" title="{propval} :" color="orange1">
<implementation.python script="nuvem/item.py"/>
@@ -39,12 +30,30 @@
<reference target="text9" name="value"/>
<property>testpath2</property>
</component>
+ <component x="100" y="340" name="item1" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htattrs1" name="value"/>
+ <property>testattrs</property>
+ </component>
<component name="item10" title="{propval} :" color="orange1">
<implementation.python script="nuvem/item.py"/>
<service name="item"/>
<reference target="text" name="value"/>
<property>testh1</property>
</component>
+ <component x="270" y="370" name="item11" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text10" name="value"/>
+ <property>onclick</property>
+ </component>
+ <component x="280" y="330" name="item12" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text1" name="value"/>
+ <property>value</property>
+ </component>
<component name="item2" title="{propval} :" color="orange1">
<implementation.python script="nuvem/item.py"/>
<service name="item"/>
@@ -93,6 +102,28 @@
<reference target="text7" name="value"/>
<property>testsection</property>
</component>
+ <component name="list" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item10" name="item" clonable="true"/>
+ <reference target="item9" name="item" clonable="true"/>
+ <reference target="item8" name="item" clonable="true"/>
+ <reference target="item7" name="item" clonable="true"/>
+ <reference target="item6" name="item" clonable="true"/>
+ <reference target="item5" name="item" clonable="true"/>
+ <reference target="item4" name="item" clonable="true"/>
+ <reference target="item3" name="item" clonable="true"/>
+ <reference target="item2" name="item" clonable="true"/>
+ <reference target="item1" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list2" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item12" name="item" clonable="true"/>
+ <reference target="item11" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
<component x="17" y="3" name="start" title="start" color="green1">
<implementation.python script="nuvem/start.py"/>
<service name="start" visible="false">
@@ -105,6 +136,16 @@
<service name="text"/>
<property>test header 1</property>
</component>
+ <component x="320" y="340" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>test html attrs</property>
+ </component>
+ <component x="370" y="370" name="text10" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>alert('hey')</property>
+ </component>
<component name="text2" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
<service name="text"/>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html
index 0b5022513d..d1422c10ac 100644
--- a/sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html
@@ -37,20 +37,13 @@
<INPUT type="checkbox" value="=testcheckbox"/>
<SPAN>=testcheckbox</SPAN>
</SPAN>
- <SPAN id="testlink2" class="link" style="position: absolute; top: 189px; left: 263px; ">
- <A href="=testlink2">
- <SPAN>=testlink2</SPAN>
- </A>
- </SPAN>
<SPAN id="testlink" class="link" style="position: absolute; top: 216px; left: 11px; ">
<A href="=testlink">
<SPAN>=testlink</SPAN>
</A>
</SPAN>
- <SPAN id="testlink3" class="link" style="position: absolute; top: 225px; left: 263px; ">
- <A href="=testlink3">
- <SPAN>=testlink3</SPAN>
- </A>
+ <SPAN id="testattrs" class="text" style="position: absolute; top: 216px; left: 272px; ">
+ <SPAN>=testattrs</SPAN>
</SPAN>
<SPAN id="testtext" class="text" style="position: absolute; top: 243px; left: 11px; ">
<SPAN>=testtext</SPAN>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite
index 84d87bf184..45a4bdb153 100644
--- a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite
@@ -19,46 +19,18 @@
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
<service name="start" promote="start"/>
- <component name="list" title="list" color="yellow1">
- <implementation.python script="nuvem/list_.py"/>
- <service name="list"/>
- <reference target="item4" name="item" clonable="true"/>
- <reference target="item5" name="item" clonable="true"/>
- <reference target="item3" name="item" clonable="true"/>
- <reference target="item2" name="item" clonable="true"/>
- <reference target="item" name="item" clonable="true"/>
- <reference name="item" clonable="true"/>
- </component>
- <component name="list3" title="list" color="yellow1">
- <implementation.python script="nuvem/list_.py"/>
- <service name="list"/>
- <reference target="text3" name="item" clonable="true"/>
- <reference target="text4" name="item" clonable="true"/>
- <reference name="item" clonable="true"/>
- </component>
- <component name="list4" title="list" color="yellow1">
- <implementation.python script="nuvem/list_.py"/>
- <service name="list"/>
- <reference target="item6" name="item" clonable="true"/>
- <reference target="item7" name="item" clonable="true"/>
- <reference name="item" clonable="true"/>
- </component>
- <component name="number3" title="#" color="orange1">
- <implementation.python script="nuvem/number.py"/>
- <service name="number"/>
- <property>1</property>
- </component>
- <component name="number4" title="#" color="orange1">
- <implementation.python script="nuvem/number.py"/>
- <service name="number"/>
- <property>2</property>
- </component>
- <component name="item" title="{propval} :" color="orange1">
+ <component x="100" y="310" name="item" title="{propval} :" color="orange1">
<implementation.python script="nuvem/item.py"/>
<service name="item"/>
<reference target="text5" name="value"/>
<property>testframe</property>
</component>
+ <component x="100" y="290" name="item1" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text1" name="value"/>
+ <property>testselect</property>
+ </component>
<component name="item2" title="{propval} :" color="orange1">
<implementation.python script="nuvem/item.py"/>
<service name="item"/>
@@ -95,6 +67,41 @@
<reference target="number4" name="value"/>
<property>b</property>
</component>
+ <component name="list" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item4" name="item" clonable="true"/>
+ <reference target="item5" name="item" clonable="true"/>
+ <reference target="item3" name="item" clonable="true"/>
+ <reference target="item2" name="item" clonable="true"/>
+ <reference target="item1" name="item" clonable="true"/>
+ <reference target="item" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list3" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text3" name="item" clonable="true"/>
+ <reference target="text4" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list4" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item6" name="item" clonable="true"/>
+ <reference target="item7" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="number3" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>1</property>
+ </component>
+ <component name="number4" title="#" color="orange1">
+ <implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>2</property>
+ </component>
<component x="13" y="8" name="start" title="start" color="green1">
<implementation.python script="nuvem/start.py"/>
<service name="start" visible="false">
@@ -107,6 +114,11 @@
<service name="text"/>
<property>test value</property>
</component>
+ <component x="170" y="280" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>test select</property>
+ </component>
<component name="text2" title=" '{propval}'" color="orange1">
<implementation.python script="nuvem/text.py"/>
<service name="text"/>
@@ -127,4 +139,9 @@
<service name="text"/>
<property>http://www.cnn.com</property>
</component>
+ <component x="760" y="170" name="text9" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>dynamic checkbox</property>
+ </component>
</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html
index a42c96bdff..7efb62d247 100644
--- a/sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html
@@ -21,8 +21,8 @@
<SPAN id="page:h2" class="h2" style="position: absolute; top: 0px; left: 2px; ">
<H2>Test widget components</H2>
</SPAN>
- <SPAN id="testlist1" class="table" style="position: absolute; top: 63px; width: 100%; left: 20px; ">
- <TABLE class="datatable" style="width: 100%;">
+ <SPAN id="testlist1" class="table" style="position: absolute; top: 36px; width: 100%; left: 20px; ">
+ <TABLE class="datatable" style="width: 100%; ">
<TBODY>
<TR>
<TD>=testlist1</TD>
@@ -35,8 +35,8 @@
</TBODY>
</TABLE>
</SPAN>
- <SPAN id="testlist2" class="table" style="position: absolute; top: 117px; width: 100%; left: 20px; ">
- <TABLE class="datatable" style="width: 100%;">
+ <SPAN id="testlist2" class="table" style="position: absolute; top: 90px; width: 100%; left: 20px; ">
+ <TABLE class="datatable" style="width: 100%; ">
<TBODY>
<TR>
<TD>=testlist2</TD>
@@ -49,8 +49,8 @@
</TBODY>
</TABLE>
</SPAN>
- <SPAN id="b" class="table" style="position: absolute; top: 180px; width: 100%; left: 20px; ">
- <TABLE class="datatable" style="width: 100%;">
+ <SPAN id="b" class="table" style="position: absolute; top: 171px; width: 100%; left: 20px; ">
+ <TABLE class="datatable" style="width: 100%; ">
<TBODY>
<TR>
<TD>=b</TD>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite
new file mode 100644
index 0000000000..eb5bbc2439
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
+ <service name="start" promote="start"/>
+ <component x="260" y="220" name="htattrs1" title="html attrs:" color="magenta1">
+ <implementation.python script="nuvem/htattrs.py"/>
+ <service name="htattrs"/>
+ <reference target="list1" name="value"/>
+ </component>
+ <component x="190" y="80" name="htbutton1" title="html button" color="magenta1">
+ <implementation.python script="nuvem/htbutton.py"/>
+ <service name="htbutton"/>
+ <reference target="text8" name="value"/>
+ </component>
+ <component x="210" y="180" name="htcheck1" title="html checkbox" color="magenta1">
+ <implementation.python script="nuvem/htcheck.py"/>
+ <service name="htcheck"/>
+ <reference target="text9" name="value"/>
+ </component>
+ <component x="180" y="10" name="htimg1" title="html img" color="magenta1">
+ <implementation.python script="nuvem/htimg.py"/>
+ <service name="htimg"/>
+ <reference target="text1" name="value"/>
+ </component>
+ <component x="190" y="230" name="htimg2" title="html img" color="magenta1">
+ <implementation.python script="nuvem/htimg.py"/>
+ <service name="htimg"/>
+ <reference target="htattrs1" name="value"/>
+ </component>
+ <component x="180" y="50" name="htlink1" title="html link" color="magenta1">
+ <implementation.python script="nuvem/htlink.py"/>
+ <service name="htlink"/>
+ <reference target="pair1" name="value"/>
+ </component>
+ <component x="400" y="330" name="htstyle1" title="html style" color="magenta1">
+ <implementation.python script="nuvem/htstyle.py"/>
+ <service name="htstyle"/>
+ <reference target="list2" name="value"/>
+ </component>
+ <component x="100" y="10" name="item1" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htimg1" name="value"/>
+ <property>testdynimg</property>
+ </component>
+ <component x="100" y="170" name="item10" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htcheck1" name="value"/>
+ <property>testdyncheckbox</property>
+ </component>
+ <component x="110" y="230" name="item2" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htimg2" name="value"/>
+ <property>teststyledimg</property>
+ </component>
+ <component x="400" y="300" name="item3" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text3" name="value"/>
+ <property>onclick</property>
+ </component>
+ <component x="510" y="290" name="item4" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text4" name="value"/>
+ <property>width</property>
+ </component>
+ <component x="510" y="320" name="item5" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text5" name="value"/>
+ <property>height</property>
+ </component>
+ <component x="400" y="220" name="item6" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text10" name="value"/>
+ <property>id</property>
+ </component>
+ <component x="400" y="260" name="item7" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text2" name="value"/>
+ <property>src</property>
+ </component>
+ <component x="90" y="50" name="item8" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htlink1" name="value"/>
+ <property>testdynlink</property>
+ </component>
+ <component x="90" y="120" name="item9" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="htbutton1" name="value"/>
+ <property>testdynbutton</property>
+ </component>
+ <component name="list" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item1" name="item" clonable="true"/>
+ <reference target="item8" name="item" clonable="true"/>
+ <reference target="item9" name="item" clonable="true"/>
+ <reference target="item10" name="item" clonable="true"/>
+ <reference target="item2" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list1" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item6" name="item" clonable="true"/>
+ <reference target="item7" name="item" clonable="true"/>
+ <reference target="item3" name="item" clonable="true"/>
+ <reference target="htstyle1" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list2" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="item4" name="item" clonable="true"/>
+ <reference target="item5" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component x="240" y="50" name="pair1" title="pair" color="yellow1">
+ <implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="text6" name="name"/>
+ <reference target="text7" name="value"/>
+ </component>
+ <component x="20" y="10" name="start" title="start" color="green1">
+ <implementation.python script="nuvem/start.py"/>
+ <service name="start" visible="false">
+ <binding.http uri="start"/>
+ </service>
+ <reference target="list" name="content"/>
+ </component>
+ <component x="240" y="10" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>http://tuscany.apache.org/images/TuscanyLogo.jpg</property>
+ </component>
+ <component x="430" y="220" name="text10" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>testimg</property>
+ </component>
+ <component x="440" y="260" name="text2" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>http://tuscany.apache.org/images/TuscanyLogo.jpg</property>
+ </component>
+ <component x="430" y="250" name="text3" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>alert('hey')</property>
+ </component>
+ <component x="560" y="280" name="text4" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>320px</property>
+ </component>
+ <component x="560" y="320" name="text5" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>60px</property>
+ </component>
+ <component x="280" y="50" name="text6" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>http://www.apache.org/</property>
+ </component>
+ <component x="280" y="80" name="text7" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>Apache</property>
+ </component>
+ <component x="270" y="80" name="text8" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>dynamic button</property>
+ </component>
+ <component x="300" y="180" name="text9" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>dynamic checkbox</property>
+ </component>
+</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats b/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats
new file mode 100644
index 0000000000..2e772401c9
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats
@@ -0,0 +1 @@
+((entry (title "Test HTML generator components") (id "testwidgets3"))) \ No newline at end of file
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html
new file mode 100644
index 0000000000..393d63c2d1
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<DIV id="page">
+ <SPAN id="page:h2" class="h2" style="position: absolute; top: 0px; left: 2px; ">
+ <H2>Test widget components</H2>
+ </SPAN>
+ <SPAN id="testdynimg" class="text" style="position: absolute; top: 36px; left: 2px; ">
+ <SPAN>=testdynimg</SPAN>
+ </SPAN>
+ <SPAN id="testdynlink" class="text" style="position: absolute; top: 135px; left: 2px; ">
+ <SPAN>=testdynlink</SPAN>
+ </SPAN>
+ <SPAN id="testdynbutton" class="text" style="position: absolute; top: 171px; left: 2px; ">
+ <SPAN>=testdynbutton</SPAN>
+ </SPAN>
+ <SPAN id="testdyncheckbox" class="text" style="position: absolute; top: 207px; left: 2px; ">
+ <SPAN>=testdyncheckbox</SPAN>
+ </SPAN>
+ <SPAN id="teststyledimg" class="text" style="position: absolute; top: 243px; left: 2px; ">
+ <SPAN>=teststyledimg</SPAN>
+ </SPAN>
+</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/twsms/app.composite b/sca-cpp/trunk/modules/edit/apps/twsms/app.composite
new file mode 100644
index 0000000000..45914449e7
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/twsms/app.composite
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="app" targetNamespace="http://app">
+ <service name="item" promote="property"/>
+ <service name="send" promote="send"/>
+ <component x="750" y="320" name="format1" title="format" color="magenta1">
+ <implementation.python script="nuvem/format_.py"/>
+ <service name="format"/>
+ <reference target="text12" name="pattern"/>
+ <reference target="list2" name="values"/>
+ </component>
+ <component x="120" y="10" name="format2" title="format" color="magenta1">
+ <implementation.python script="nuvem/format_.py"/>
+ <service name="format"/>
+ <reference target="text1" name="pattern"/>
+ <reference target="list1" name="values"/>
+ </component>
+ <component x="530" y="90" name="format3" title="format" color="magenta1">
+ <implementation.python script="nuvem/format_.py"/>
+ <service name="format"/>
+ <reference target="text2" name="pattern"/>
+ <reference target="list5" name="values"/>
+ </component>
+ <component x="630" y="190" name="host1" title="host" color="green1">
+ <implementation.python script="nuvem/host.py"/>
+ <service name="host"/>
+ <property name="host" visible="false"/>
+ </component>
+ <component x="520" y="80" name="item1" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="format3" name="value"/>
+ <property>sampleurl1</property>
+ </component>
+ <component x="520" y="180" name="item2" title="{propval} :" color="orange1">
+ <implementation.python script="nuvem/item.py"/>
+ <service name="item"/>
+ <reference target="text3" name="value"/>
+ <property>sampleurl2</property>
+ </component>
+ <component name="list1" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="param1" name="item" clonable="true"/>
+ <reference target="param3" name="item" clonable="true"/>
+ <reference target="param2" name="item" clonable="true"/>
+ <reference target="text10" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list2" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="param4" name="item" clonable="true"/>
+ <reference target="param5" name="item" clonable="true"/>
+ <reference target="param6" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list3" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text15" name="item" clonable="true"/>
+ <reference target="list4" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list4" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="format1" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component name="list5" title="list" color="yellow1">
+ <implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="host1" name="item" clonable="true"/>
+ <reference name="item" clonable="true"/>
+ </component>
+ <component x="160" y="60" name="param1" title="?param" color="green1">
+ <implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <property>sid</property>
+ <property name="query" visible="false"/>
+ </component>
+ <component x="530" y="100" name="param2" title="?param" color="green1">
+ <implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <property>sid</property>
+ <property name="query" visible="false"/>
+ </component>
+ <component x="530" y="70" name="param3" title="?param" color="green1">
+ <implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <property>token</property>
+ <property name="query" visible="false"/>
+ </component>
+ <component x="250" y="240" name="param4" title="?param" color="green1">
+ <implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <property>from</property>
+ <property name="query" visible="false"/>
+ </component>
+ <component x="260" y="270" name="param5" title="?param" color="green1">
+ <implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <property>to</property>
+ <property name="query" visible="false"/>
+ </component>
+ <component x="260" y="300" name="param6" title="?param" color="green1">
+ <implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <property>msg</property>
+ <property name="query" visible="false"/>
+ </component>
+ <component x="80" y="10" name="post1" title="post" color="green1">
+ <implementation.cpp path="lib/http" library="libhttppost"/>
+ <service name="post"/>
+ <reference target="format2" name="url"/>
+ <reference target="list3" name="content"/>
+ </component>
+ <component x="30" y="10" name="send" title="{compname}" color="green1">
+ <implementation.python script="nuvem/service.py"/>
+ <service name="service" visible="false"/>
+ <reference target="post1" name="content"/>
+ </component>
+ <component x="450" y="300" name="text1" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>https://{0}:{1}@api.twilio.com/2010-04-01/Accounts/{2}/SMS/Messages</property>
+ </component>
+ <component x="540" y="130" name="text10" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>SMS/Messages</property>
+ </component>
+ <component x="550" y="450" name="text12" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>From={0}&amp;To={1}&amp;Body={2}</property>
+ </component>
+ <component x="710" y="290" name="text15" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>application/x-www-form-urlencoded</property>
+ </component>
+ <component x="590" y="100" name="text2" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>http://{0}/c/send?sid=...&amp;</property>
+ </component>
+ <component x="600" y="180" name="text3" title=" '{propval}'" color="orange1">
+ <implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>token=...&amp;from=...&amp;to=...&amp;msg=...</property>
+ </component>
+</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/twsms/app.stats b/sca-cpp/trunk/modules/edit/apps/twsms/app.stats
new file mode 100644
index 0000000000..85c97c2457
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/twsms/app.stats
@@ -0,0 +1 @@
+((entry (title "SMS send service") (id "twsms"))) \ No newline at end of file
diff --git a/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html
new file mode 100644
index 0000000000..d2eaebcdd0
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<DIV id="page">
+ <SPAN id="page:h1" class="h1" style="position: absolute; top: 0px; left: 2px; ">
+ <H1>SMS Send Service</H1>
+ </SPAN>
+ <SPAN id="page:text" class="text" style="position: absolute; top: 36px; left: 2px; ">
+ <SPAN>To send an SMS use a URL like this:</SPAN>
+ </SPAN>
+ <SPAN id="page:text" class="text" style="position: absolute; top: 63px; left: 2px; ">
+ <SPAN>http://twsms..../?sid=...&amp;token=...&amp;from=...</SPAN>
+ </SPAN>
+ <SPAN id="page:text" class="text" style="position: absolute; top: 81px; left: 2px; ">
+ <SPAN>&amp;to=...&amp;msg=...</SPAN>
+ </SPAN>
+</DIV>