Re: Using xwt.clone to theme

Charles Goodwin <[email protected]> Tue, 10 Feb 2004 12:24:31 +0000
Newsgroups gmane.comp.java.xwt.widgets
Organization XWT Foundation
Message-ID <[email protected]>
On Tue, 2004-02-10 at 00:34, David Crawshaw wrote:
> Yeah, sorry about that. Took one too many shortcuts.
> 
> var ibex_world = ibex.clone(ibex);
> var ibex_res = ibex.clone(ibex..ibex);
> ibex_res.theme ++= function() { return ibex..org.ibex.theme.win2k; }
> ibex_world..ibex ++= function() { return ibex_res; }
> ibex_world..org.ibex.test.main(ibex.box);
> 
> I've tested this to work here.

This doesn't work:

(bear in mind I'm using Tupshin's JVM build which has the 'executive .t
decision' backed out)

(bear in mind I tried all the different syntax options wrt applying
templates, in script and in xml)

[email protected] ibex_widgets $ ls ibex/theme/
clickable.ixt  focusable.ixt  repeatable.ixt  surface.ixt

[email protected] ibex_widgets $ ls ibex/lib/
clickable.ixt     focusable.ixt     repeatable.ixt  text.ixt
eventmanager.ixt  focusmanager.ixt  surface.ixt

[email protected] ibex_widgets $ cat org/ibex/theme/win2k/clickable.ixt
<!-- Copyleft 2004 - see COPYING for details [LGPL] -->
 
<ibex xmlns:lib="ibex.lib" xmlns:theme="ibex.theme">
    <theme:repeatable />
    <lib:clickable />
    <box enabled="true" repeats="false" />
</ibex>

[email protected] ibex_widgets $ cat org/ibex/theme/win2k/repeatable.ixt
<!-- Copyleft 2004 - see COPYING for details [LGPL] -->
 
<ibex>
    <box interval="100">
        ibex..ibex.lib.repeatable(thisbox);
    </box>
</ibex>


[email protected] ibex_widgets $ cat main.ixt
<!-- Copyleft 2004 - see COPYING for details [LGPL] -->
 
<ibex>
    <box>
        var ibex_world = ibex.clone(ibex);
        var ibex_ghost = ibex.clone(ibex..ibex);
        ibex_ghost.theme ++= function() { return
ibex..org.ibex.theme.win2k; }
        ibex_world..ibex ++= function() { return ibex_ghost; }
        ibex_world..org.ibex.test.clickable(ibex.box);
    </box>
</ibex>

[email protected] ibex_widgets $ java -jar ibex.jar.3 .
org.ibex.test.clickable
Detecting JVM... Linux ==> org.ibex.plat.Java2
===========================================================================
                 Log: Logging enabled at Tue Feb 10 12:03:01 GMT 2004
                      logging messages in color
            Platform: Ibex build: unknown
                      Ibex VM detection:  vendor = Sun Microsystems Inc.
                                         version = 1.4.2-gentoo
                                              os = Linux [version
2.6.2-rc2-love4]
                                        platform = Java 1.2+ JVM
                                           class = org.ibex.plat.Java2
                                     color depth = 16bpp
                Main: argument 0: .
                      argument 1: org.ibex.test.clickable
                      loading xwar
                      java.io.FileNotFoundException: ./repeatable.ixt
(No such file or directory)
                          at java.io.FileInputStream.open(Native Method)
                          at
java.io.FileInputStream.<init>(FileInputStream.java:106)
                          at
java.io.FileInputStream.<init>(FileInputStream.java:66)
                          at
org.ibex.Stream$File.getInputStream(Stream.java:58)                          at org.ibex.Stream.getInputStream(Stream.java:20)
                          at
org.ibex.Ibex$Blessing.getStatic(Ibex.java:339)
                          at org.ibex.Ibex$Blessing.call(Ibex.java:349)
                          at
org.ibex.Template$TemplateHelper.startElement(Template.java:193)
                          at org.ibex.util.XML.readTag(XML.java:351)
                          at org.ibex.util.XML.parse(XML.java:117)
                          at
org.ibex.Template$TemplateHelper.<init>(Template.java:155)
                          at
org.ibex.Template.buildTemplate(Template.java:128)
                          at
org.ibex.Ibex$Blessing.getStatic(Ibex.java:339)
                          at org.ibex.Ibex$Blessing.call(Ibex.java:349)
                          at
org.ibex.js.Interpreter.run(Interpreter.java:356)
                          at
org.ibex.js.Interpreter.resume(Interpreter.java:39)                          at org.ibex.js.JSFunction.call(JSFunction.java:69)
                          at org.ibex.Template.apply(Template.java:95)
                          at org.ibex.Template.apply(Template.java:62)
                          at org.ibex.Ibex$Blessing.call(Ibex.java:352)
                          at
org.ibex.js.Interpreter.run(Interpreter.java:356)
                          at
org.ibex.js.Interpreter.resume(Interpreter.java:39)                          at org.ibex.js.JSFunction.call(JSFunction.java:69)
                          at org.ibex.Template.apply(Template.java:95)
                          at org.ibex.Template.apply(Template.java:91)
                          at org.ibex.Template.apply(Template.java:62)
                          at org.ibex.Ibex$Blessing.call(Ibex.java:352)
                          at org.ibex.Main$1.perform(Main.java:81)
                          at
org.ibex.Scheduler.defaultRun(Scheduler.java:77)
                          at org.ibex.Scheduler.run(Scheduler.java:54)
                          at org.ibex.Scheduler.init(Scheduler.java:17)
                          at org.ibex.Main.main(Main.java:84)
                      JSExn: No such template repeatable
                          at org.ibex.Ibex$Blessing.call(Ibex.java:350)
                          at
org.ibex.Template$TemplateHelper.startElement(Template.java:193)
                          at org.ibex.util.XML.readTag(XML.java:351)
                          at org.ibex.util.XML.parse(XML.java:117)
                          at
org.ibex.Template$TemplateHelper.<init>(Template.java:155)
                          at
org.ibex.Template.buildTemplate(Template.java:128)
                          at
org.ibex.Ibex$Blessing.getStatic(Ibex.java:339)
                          at org.ibex.Ibex$Blessing.call(Ibex.java:349)
                          at
org.ibex.js.Interpreter.run(Interpreter.java:356)
                          at
org.ibex.js.Interpreter.resume(Interpreter.java:39)                          at org.ibex.js.JSFunction.call(JSFunction.java:69)
                          at org.ibex.Template.apply(Template.java:95)
                          at org.ibex.Template.apply(Template.java:62)
                          at org.ibex.Ibex$Blessing.call(Ibex.java:352)
                          at
org.ibex.js.Interpreter.run(Interpreter.java:356)
                          at
org.ibex.js.Interpreter.resume(Interpreter.java:39)                          at org.ibex.js.JSFunction.call(JSFunction.java:69)
                          at org.ibex.Template.apply(Template.java:95)
                          at org.ibex.Template.apply(Template.java:91)
                          at org.ibex.Template.apply(Template.java:62)
                          at org.ibex.Ibex$Blessing.call(Ibex.java:352)
                          at org.ibex.Main$1.perform(Main.java:81)
                          at
org.ibex.Scheduler.defaultRun(Scheduler.java:77)
                          at org.ibex.Scheduler.run(Scheduler.java:54)
                          at org.ibex.Scheduler.init(Scheduler.java:17)
                          at org.ibex.Main.main(Main.java:84)

-- 
- Charlie

The future of the net - www.xwt.org

Charles Goodwin <[email protected]>
  Member of the XWT Foundation