Luxor Network: Luxor - Luxilla - Petra - Installer DeLux - Luxor Contrib - Luxor Forum - The Memphis Sun
The Memphis Sun Logo
The Luxor News Blog
Luxor Mailinglists & Forums . Luxor @ Sourceforge

The Luxor XUL toolkit now sports a new site that lines up all Luxor mailinglists and forums for easy reference.

Find out more @ luxorforum.com

You can now also access the Luxor XUL website using the luxordev.com web address.

Laurence Moroney - a senior architect with the Reuters Innovation Labs and Rapid Development Groups in New York City - has written up an article for the DevX site about Luxor, Mozilla and XUL titled "XUL - The Gatekeeper to Higher-level Web UIs".

Laurence writes:

The application that you will develop as a sample in this article is adapted from the famous Luxor calculator app, but has been extended to make it a Web service consumer. XMethods.Net host a Web service that accepts a ZIP code and returns a temperature. The WSDL for this file is available for inspection at http://www.xmethods.net/sd/2001/TemperatureService.wsdl.

The download included with this article includes all the source code as well as the JDeveloper workspace and project files. You can use these, or if you prefer a different IDE, you will need access to the Luxor jar file, available for download from the Luxor XUL homepage at http://luxor-xul.sourceforge.net.

Laurence concludes:

Don't forget that XUL also gives you a miniature Web server that you can embed in your apps to give peer-to-peer functionality, a scripting interpreter that is Python-based, and portal and template engines. It all adds up to a pretty compelling framework. With a rich and competent offering like Luxor XUL ready to use, it's easy to wonder why anyone would wait for XAML.

I invite you to join us on the 1st Tuesday in May in Vienna, Austria for the world's first Luxor XUL meetup. You can sign up and find out more at the International XUL Meetup Day page.

See you there.

To get started using Groovy I've ported four examples from the Luxor XUL Python example suite to Groovy (that is, action, calc, counter and window.)

You can browse the examples online @ http://cvs.sourceforge.net/viewcvs.py/luxor-xul/groovy/src

Unfortunately, Groovy creates corrupt bytecode for most examples and, thus, only the window example works for now.

I will wait for the next Groovy Beta release to see if it makes any difference before investigating the bugs any further. I will also hold back the first "official" zipped up release until Groovy works as advertised.

If you have any Groovy examples of your own that use the Luxor XUL toolkit please let us know by posting a message to the luxor-xul-user mailinglist.

R. Dale Asberry (of Judy Jini.org project fame) writes in the mail titled "Example of how AOP can help":

While working with Installer DeLux, I ran into some difficulty when I wanted to add a new "feature" to XButton.

Currently, Xul.Attribute.DISABLED is only used for MenuItemDef and ToolBarButtonDef. So that I could disable the "Next" button on the accept license page, I originally subclassed XButton and ButtonDef. However, I was able to determine a simple AOP solution that not only worked for button, but all XUL components. The same technique can be used for setting color, background, border, font, name, and actions. This would eliminate programming errors by eliminating the need to repeat this code.

The pointcut details important OO events (method calls). The around() "advice" tells what should happen when the getJComponent() pointcut is matched. The last two java blocks "introduce" the initialized field and the initialize() method on the luxor.swing.AbstractComponent class.

package luxor.swing;

import javax.swing.JComponent;

import luxor.core.Xul;

public privileged aspect ComponentFunctionalAspect
{
	private pointcut getJComponent(AbstractComponent pComp):
		execution(JComponent AbstractComponent+.getJComponent()) &&
		target(pComp) &&
		!within(ComponentFunctionalAspect)
		;

	JComponent around(AbstractComponent pComp): getJComponent(pComp)
	{
		JComponent lGuiComp = proceed(pComp);
		if(!pComp.initialized)
		{
			pComp.initialize(lGuiComp);
		}
		return lGuiComp;
	}

	private boolean AbstractComponent.initialized = false;

	public void AbstractComponent.initialize(JComponent pGuiComp)
	{
		if("true".equals(_def.getAttribute(Xul.Attribute.DISABLED)))
		{
			pGuiComp.setEnabled(false);
		}
		if("false".equals(_def.getAttribute(Xul.Attribute.VISIBLE)))
		{
			pGuiComp.setVisible(false);
		}
		initialized = true;
	}
}

R. Dale Asberry (of Judy Jini.org project fame) has kicked off the Installer DeLux project chartered to create an installation toolkit that you can easily customize and extend thanks to XUL and Ant.

Dale writes:

The documentation is sparse, I've not created an Ant build script, and it's fairly incomplete... but if you are interested, you can grab the sources off of CVS. The project relies on AspectJ too so if you don't have Eclipse, you may want to wait until I have a proper release built.

Full story @ https://install-delux.dev.java.net

Blogrolling
Chronicle of the Xul Revolution
Daily Web Start News From Around The Globe
Syndicate (XML)
Hosted by SourceForge SourceForge Logo For questions related to the use of Luxor, please consult our web pages. If that fails, the luxor-xul-user mailinglist might help.
Please send comments on our web pages and the development of Luxor to our public luxor-xul-develop mailinglist.
Maintained by Luxor Team
Copyright © 2001, 2002, 2003, 2004, 2005 Luxor Foundation