2004-01-11 Sunday 00:25  rich

	- Fixed support for QChildEvent. It now has a type specific conversion
	  function rather than falling back to the generic one. Without this change,
	  it is pretty useless as you can't access anything or even distinguish
	  between insert and remove events.
	
	  The new code splits the childEvent() handler into two methods
	  childInsertEvent() and childRemoveEvent(). The code is disabled for now
	  behind the ENABLE_CHILDEVENTS define because there seem to be some problems
	  with reentrancy. This problem occurs if the callback is invoked because
	  kjsembed created an object.
	
	- Added my coverage checking scripts to the tools directory. These aren't
	  exactly the best, but they give an idea of which classes need adding.
	
	- Removed hard-coded list length from the event type <-> handler name map.
	
	- Commented out some unused args.
	
	- Updated TODO list.
	
2004-01-10 Saturday 19:33  rich

	- Add exception example
	
2004-01-10 Saturday 19:23  rich

	- Throw an exception when we fail to create a plugin too.
	
2004-01-10 Saturday 19:11  geiseri

	change the enums to work as they do, not as we hoped ;)
	
2004-01-10 Saturday 19:09  geiseri

	update the test
	
2004-01-10 Saturday 06:50  geiseri

	buttonmaker cleanup and moved to kjsuic
	
2004-01-10 Saturday 06:45  geiseri

	more changes to handle containers properly
	
2004-01-10 Saturday 05:28  geiseri

	some docs, and a minor cleanup to make it even cooler
	
2004-01-10 Saturday 05:19  geiseri

	This is a really simple class that simplifies dealing with UI files.
	It basicly wraps the loadUI function and autocreates an object for the
	main form, and presents the objects as properties.
	
2004-01-07 Wednesday 16:46  geiseri

	EnvelopeMaker example for KJSEmbed:
	This example will create postscript files for #10 Envelopes from a simple form.
	It will generate compliant postnet barcodes.  Im not sure if this works outside
	of the united states, but it works here.  It also is a nice example of how KJSEmbed
	can be used to build simple one off apps for your company.
	
2004-01-03 Saturday 04:27  geiseri

	more exploration of how this works
	
2004-01-02 Friday 21:34  aseigo

	exec the application so something actually happens
	
2004-01-02 Friday 21:31  geiseri

	added some examples to test bumpmap code.
	
2004-01-02 Friday 21:31  geiseri

	fixed some minor issues with the bump map stuff
	
2004-01-02 Friday 21:30  geiseri

	Added abillity to set image mask correctly now.
	
2004-01-02 Friday 06:41  zrusin

	This is a huge present for geiseri. Fixing the biggest problem he had
	with his buttonmaker demo.
	
2004-01-01 Thursday 07:23  geiseri

	Removed the extra JSProxy argument from the convertToValue() function.
	All types should now be a ValueProxy, or a OpaqueProxy.
	
2003-12-31 Wednesday 16:54  geiseri

	use new QPixmap code
	
2003-12-31 Wednesday 16:12  geiseri

	updated todo list
	
2003-12-31 Wednesday 16:11  geiseri

	missing include
	
2003-12-31 Wednesday 16:10  geiseri

	Moved Pen -> ValueProxy
	Moved Painter -> OpaqueProxy
	Moved Pixmap -> ValueProxy
	
	Fixed Pen and Pixmap handleing in the bindings
	Simplified Pixmap and Pen hadeling more
	
	Updated button maker to use new pillbox code
	
2003-12-30 Tuesday 19:23  geiseri

	move buttonmaker.js to new QPainter stuff
	
2003-12-30 Tuesday 19:17  geiseri

	more for the pillbox test, we can paint directly on widgets now
	
2003-12-30 Tuesday 18:37  geiseri

	desktop file
	
2003-12-30 Tuesday 18:37  geiseri

	
	Added test for pillbox generation
	package script to make ButtonMaker installed as a real app.
	
2003-12-30 Tuesday 18:24  geiseri

	compile the correct file.
	
2003-12-30 Tuesday 16:41  geiseri

	compile the listview bindings...
	
2003-12-30 Tuesday 16:07  rich

	- Oops
	
2003-12-30 Tuesday 15:56  geiseri

	moved arg extraction code to slotutils
	converted QPainter bindings to Opaque Proxy... it has issues still, but pending
	QPixmaps conversion they cannot all be fixed yet.
	added arg extraction methods to simplify the code
	
2003-12-29 Monday 21:08  rich

	- Added a test program for the qlistview.
	
2003-12-29 Monday 21:08  rich

	- Added the binding for QListViewItem and the latest xsl templates.
	
2003-12-29 Monday 02:22  rich

	- Massive improvements to the binding generation tool. It can now create
	  usable code!!! To prove this, I've added a new binding to the builtins
	  directory for QDir. This binding was generated directly from the qdir.h
	  header file using the scripts in the tools directory. There is a simple test
	  program in the test directory.
	
2003-12-28 Sunday 22:56  rich

	- More work on the bindings generator.
	
2003-12-28 Sunday 20:55  rich

	- More work towards automating the bindings process. It's getting there!
	
2003-12-28 Sunday 13:49  larkang

	CVS_SILENT ignore
	
2003-12-28 Sunday 13:43  larkang

	Some srcdir!=builddir fixes
	
	Ok'd by Richard Dale
	
2003-12-22 Monday 15:11  wildfox

	Fix invalid kjscmd sources, use /usr/bin/env kjscmd everywhere and chmod +x the right .js files
	
2003-12-22 Monday 12:57  cartman

	CVS_SILENT Add a GenericName. Use konsole icon as the app already uses it in title.
	
2003-12-22 Monday 00:05  geiseri

	Changes to the plugins to autoregister... more later once i get a real network connection.
	
2003-12-21 Sunday 03:42  zrusin

	Fixing makefiles and a path. The makefile's in kjsembed need cleaning up, Coolo? :)
	
2003-12-21 Sunday 02:40  rich

	- Added a gray button template
	
2003-12-21 Sunday 02:08  rich

	- Added buttonmaker to the index page of the demos.
	
2003-12-21 Sunday 01:48  rich

	- Fix warning caused by attempting to overwrite the x and y properties of the
	  widget.
	
2003-12-21 Sunday 01:43  rich

	- Added support for command line args to the button maker. It will now read
	  the first argument and use that as the text. I also improved the defaults
	  including making it attempt to load the default button image on startup.
	
2003-12-21 Sunday 00:57  rich

	- Added keyboard shortcuts to buttonmaker
	
2003-12-18 Thursday 22:19  geiseri

	start of docs for this class, since an example will be in order.
	
2003-12-18 Thursday 22:15  geiseri

	Added support for adding bindings via KParts Plugins.
	I have tested ValueProxy and OpaqueProxy plugins and those work perfectly.
	QObject based plugins are mostly working, but enums seem broken.
	
	The plugin interface is pretty thin right now, because I dont think we need
	a heck of alot to bootstrap the process of adding a binding.
	
	This is a start, I feel we need to ship 3.2 with this since we need a way to
	add bindings later without rebuilding kjsembed.  This also allows us to get
	arround messy instances where we may or may not want to have custom
	bindings to interfaces that are in KDE but may not make sense to be built
	into KJSEmbed.
	
	This api is subject to change as we kick it arround and clean it up, but so far
	it seems to work for my tests.
	
2003-12-18 Thursday 19:00  geiseri

	more clear idea of what happend when calling this slot.
	
2003-12-18 Thursday 18:58  geiseri

	Brush bindings to make the painter more fun.
	
2003-12-18 Thursday 07:23  geiseri

	maby even save the file too...
	
2003-12-18 Thursday 07:14  geiseri

	used the text box stuff to center the image.
	
2003-12-18 Thursday 07:02  geiseri

	a nice button for testing.
	
2003-12-18 Thursday 06:49  geiseri

	This might not be the right place for it, but we need a good way to get
	the bounding boxes of text drawn on the painter with the current font
	metrics.  Ideally we can move this later when we bind QFontMetrics?
	
2003-12-18 Thursday 04:37  geiseri

	Added a neat demo applet to show off KJSEmbed.  Its only a start, but a
	very good example of how KJSEmbed can do pretty powerful things in less
	than 100 Lines of code.
	
2003-12-17 Wednesday 23:50  geiseri

	painter fixes to change the font.
	
2003-12-17 Wednesday 23:12  geiseri

	group single arg members together
	
2003-12-17 Wednesday 23:10  geiseri

	Added ability to connect Qt signals to KJS Slots that have a single QFont or QColor.
	Not as cool as I would have liked, but I guess its okay.
	
2003-12-16 Tuesday 23:21  geiseri

	cleaned up the Image headers
	
2003-12-16 Tuesday 23:21  geiseri

	Moved DCOPClient code into a OpaqueProxy class.  This put it all
	into one place.  The big issue now is that until Pixmap is moved
	to a ValueProxy it will crash KJSEmbed when you pass pixmaps
	over DCOP.
	
2003-12-16 Tuesday 23:17  geiseri

	fixed test to reflect the real DCOP api
	
2003-12-16 Tuesday 19:11  rich

	- Fix imagegallery script for exceptions.
	
2003-12-16 Tuesday 19:01  rich

	- Fixed for new names of System.
	
2003-12-16 Tuesday 17:51  geiseri

	properties -> methods
	
2003-12-16 Tuesday 17:32  geiseri

	move properties -> methods
	
2003-12-16 Tuesday 17:29  geiseri

	make sure tables can stay in sync
	
2003-12-16 Tuesday 17:23  geiseri

	comment out unused functions for now
	
2003-12-16 Tuesday 17:05  rich

	- Fix image code.
	
2003-12-16 Tuesday 16:42  geiseri

	Start of move from opaque proxy to valueproxy
	Cleanup in Image to make it easier to follow.
	
2003-12-16 Tuesday 00:40  rich

	- Removed moc reference from ImageImp - it's not a QObject anymore.
	
	- Fixed a crash when the factory is asked for an invalid part.
	
2003-12-15 Monday 23:35  rich

	- Improved the code of the image binding:
	
	  - Changed the name from Image to ImageImp as now that it doesn't use
	    QObject, this class only handles the methods.
	
	  - Added support for the enums from KImageEffect. The output of the test
	    program should now be upside down.
	
	  - Added a second parameter to the save() method that specifies the format to
	    save in.
	
	- Made all the constants defined in enums read-only. This means scripts can no
	  longer corrupt the API (at least in this fashion).
	
2003-12-15 Monday 22:06  rich

	- Fixed the new image binding support so it works for the test program I've
	  added. I expect there is more work to be done to make this work nicely with
	  the property support, but you can load, transform and save files again.
	
2003-12-14 Sunday 17:36  geiseri

	Fixed the Image stuff so it will at least load.
	
	Came to the conclusion that there is all wrong, and we should revert
	back to the QObject bindings.  The current implimentation makes
	no sense for how the Image binding is suppose to operate.
	
	Maby we really wanted a JSValueProxy?
	
	Rich please review this and let me know your thoughts.
	
2003-12-14 Sunday 16:02  geiseri

	Attempt at activating the Image bindings.
	
2003-12-14 Sunday 15:45  rich

	- const fix for gcc 3.3.
	
2003-12-14 Sunday 15:39  rich

	- Minor fixups.
	
2003-12-14 Sunday 15:23  rich

	- Add pen bindings
	
2003-12-14 Sunday 15:08  rich

	- Started adding the framework needed to allow custom value types to become
	  first class citizens.
	
	- Replaced the NewQObject method of the factory with NewInstance which
	  supports the creation of instances of any type.
	
	- Added support for event types to the opaque proxy.
	
2003-12-13 Saturday 04:58  geiseri

	removed old kdDebug statements and moved the ones that made
	sense to kdWarning.
	
2003-12-13 Saturday 04:56  geiseri

	half of the move from QObject binding to JSProxyImp
	rich this needs to be enabled, i was unsure of how to activate
	it.
	
	also am i correct in assuming that properties will no longer work for
	Image now that we are using a non QObject binding?
	
2003-12-12 Friday 22:10  rich

	- Moved the registration of the global objects so it is handled inside the
	  JSBuiltins class rather than the part.
	
2003-12-12 Friday 22:03  rich

	- oops 2
	
2003-12-12 Friday 22:02  rich

	- oops
	
2003-12-12 Friday 21:49  geiseri

	example to show failure in enums on slots
	
2003-12-12 Friday 21:48  geiseri

	more fixes for enum values.
	
2003-12-12 Friday 20:18  rich

	- Replaced the QObject wrapper for QTextStream with a native binding
	  class. This reduces the overhead of this binding, and allows more
	  flexibility in the API we present to scripts.  The new binding provides the
	  same API to scripts as the old one, except that the current() and
	  setCurrent() methods have been removed as they are redundant.
	
	  This binding is the first one to be based on the JSOpaqueProxy class, but
	  this will in future be a common approach to wrapping non-QObject classes.
	
	- Made a few methods of the factory that were previously protected have
	  private access. These methods are only useful internally, so there is no
	  reason to make them visible to users.
	
	- Renamed System.in -> System.stdin to avoid nameclash with the in operator
	  and made corresponding changes to the other stdio streams.
	
2003-12-11 Thursday 02:05  rich

	- Major rewrite of the documentation generator script. The new version is a
	  lot cleaner and uses JS exceptions to handle problems rather than having
	  a hard-coded list of trouble-some classes. This change also makes a single
	  function responsible for the page template. The docs have also gained a
	  bunch of new index pages.
	
2003-12-10 Wednesday 01:42  geiseri

	example for message boxes.
	
2003-12-10 Wednesday 01:40  geiseri

	Added support for:
	alert(textMessage);
	confirm(textMessage);
	promp(textMessage, [inputDefault]);
	i18n(text);
	
	Added examples of the message boxes.
	
	i18n sorta works but may get removed if i cannot get it to work reliably.
	
2003-12-08 Monday 23:22  rich

	- Fix for gcc 2.95.
	
2003-12-08 Monday 22:53  rich

	- Don't use -no-undefined as this now requires libkjsembed.
	
2003-12-08 Monday 22:16  rich

	- Fix for --noexec -> --exec change.
	
2003-12-08 Monday 02:00  geiseri

	Added a neat demo to show off event handling, and how generally awesome
	kjsembed is.
	
	Classic Space Invaders:
	Keys:
		<- go left
		-> go right
		<space> fire
	Mouse:
		click mouse to fire.
	
	Have fun.
	
2003-12-08 Monday 01:59  geiseri

	Fixed some small confusion on the event mapper.
	
2003-12-07 Sunday 18:19  geiseri

	We can now grab windows.  Not sure how you get the winID yet though.
	
2003-12-07 Sunday 02:21  geiseri

	Reflect namechange from Dcop -> DCOPClient.
	
2003-12-07 Sunday 01:59  geiseri

	Added ability to connect dcop signals to kjs dcop slots.
	Added example to show this off.
	Removed a few compiler warnings.
	
2003-12-05 Friday 23:13  geiseri

	reflect a name change in the dcop client object.
	
2003-12-05 Friday 23:12  geiseri

	The ability to export a JS Method to a dcop interface now works.
	use DCOPInterface.publish("returnType signaure(ArgType)");
	as the format for publishing an interface.  The rest is transparent
	to the user.
	
2003-12-05 Friday 20:19  rich

	- Add a d pointer.
	
2003-12-05 Friday 01:54  rich

	- Moved call to custombindings to a standalone method that encapsulates the
	  qobject handling.
	
	- Added warnings for unsupported methods that are defined in the
	  custombindings enum.
	
	- Fix warning in resources.cpp.
	
2003-12-04 Thursday 23:35  rich

	- Changed the inline version methods to non-inline. This means that the
	  concept behind these methods might actually work!
	
2003-12-04 Thursday 23:33  rich

	- Update js class reference.
	
2003-12-04 Thursday 01:57  rich

	- Fixed a whole bunch of examples to call application.exec() themselves now
	  that kjscmd no longer does this automatically.
	
	- Moved call that adds custom object bindings into the factory.
	
	- Changed the default context Object for the parts execute methods to be the
	  global object of the interpreter, and changed the default global object to
	  be the one defined in libkjs.
	
	- Added a new optinal argument to the runFile() method of the part (and the
	  load() method it is bound to) that allows you to specify the context object
	  for the executed script.
	
	- Removed the virtual for the overloaded version of the part's execute()
	  method.
	
	- Made the part add its own binding to the interpreter instead of getting
	  kjscmd to do it, this means that the methods will be available when the code
	  is embedded in apps as well as standalone.
	
	- Simplified the API for publishing objects.
	
	  - Changed the publish() method to use the Object prototype.
	  - Simplified the addObject() method by using the factory properly.
	  - Renamed the publish() method to addObject() making the API
	    self-consistent (and made the code match).
	  - Fixed the design.h docs for the above.
	
	- Removed the createProxy() method that takes no context from the factory, and
	  replaced by making the context default to 0 on the overloaded
	  implementation. In many cases we were using because there was no sane
	  context to choose which indicates that the previous API was poor.
	
2003-12-03 Wednesday 22:47  rich

	- Oops. Finish removing self binding class.
	
2003-12-03 Wednesday 22:39  rich

	- Changed the default behaviour of kjscmd to /not/ call the exec() method of
	  the application. This method has available to scripts for some time now, and
	  the old behaviour forced scripts that called exec() themselves to include
	  convoluted work arounds.
	
	- Removed the mainwin option from kjscmd as scripts can now handle this
	  themselves.
	
	- Modified dumpCompletion() to use convertToValue().
	
	- Removed the SelfBinding class as it is now unused.
	
2003-12-01 Monday 04:32  geiseri

	Merged CVS with local changes.
	
2003-12-01 Monday 04:31  geiseri

	Added test that agrivates odd bug where "this" gets trashed.
	
2003-12-01 Monday 04:31  geiseri

	Added QStringList -> KJS Array support.
	Added QPen -> Bindings::Pen support.
	
2003-12-01 Monday 04:30  geiseri

	Added DCOP remoteFunctions, remoteInterfaces,
	remoteObjects, registeredApplication.
	
2003-11-29 Saturday 01:30  rich

	- More work on using XSLT to generate the bindings. The code present at the
	  moment goes some way towards allowing us to move automatically from
	  doxygen's xml output mode to a set of JS bindings.
	
2003-11-28 Friday 09:27  coolo

	kdebindings relying on kdesdk? Next century perhaps
	
2003-11-28 Friday 02:05  rich

	- Added some basic support for QScrollView illustrated by the imagetweak
	  example, which will become more feature-full in future.
	
	- Added the very incomplete beginning of support for generating bindings from
	  doxygen's xml output.
	
2003-11-28 Friday 00:43  rich

	- Moved the TODO list from the top-level directory to the docs directory.
	
2003-11-28 Friday 00:34  rich

	- Moved the methods that wrap events into a standalone class
	  JSEventUtils. This class is not used directly, instead there is now an
	  additional createProxy() method in the JSFactory.
	
	  This change is a step towards adding some custom methods to enable us to
	  provide support for all the methods of the event classes, rather than just
	  the data members.
	
2003-11-23 Sunday 04:20  geiseri

	Moved the dcop call and send into the custom bindings.
	Rich im not sure if this is the correct location for these, but
	they currently work.
	
	Added a demo to show off the new dcop stuff, requires
	KWeatherService from kdetoys to be running, since i dont
	know how to start a service from KJSEmbed yet.
	
2003-11-22 Saturday 06:49  geiseri

	Added variable length args to K/QListView.
	Added ability to handle Strings vs Pixmaps correctly.
	Added native method for grabWidget on QWidget, this
	may get moved to Pixmap when i figure out how to handle
	a widget pointer.
	
2003-11-22 Saturday 05:54  geiseri

	Make the compiler a little quieter by commenting out unused args in functions.
	
2003-11-22 Saturday 01:13  rich

	- Moved the native binding classes in builtins from the KJSEmbed::Bindings
	  namespace to the KJSEmbed::BuiltIns namespaces. Moved JSProxyImp from the
	  KJSEmbed::Bindings namespace to the KJSEmbed namespace.
	
	- Minor cleanups to SAX handling that make the code a bit easier to follow.
	
2003-11-21 Friday 22:22  rich

	- Update the demo to work properly with the changes made to the names of the
	  widgets in the console a few weeks ago.
	
2003-11-21 Friday 01:04  rich

	- Renamed the 'global' object to 'Global' for consistency with web browsers.
	
	- Fixed some minor documentation error in the new builtin objects Ian added
	  (they're not QObject wrappers!).
	
	- Added basic support for loading files via the SAX api, a callback based
	  mechanism for processing XML. The implementation is far from complete, but
	  it is enough to let you load some XML without hastle. You can use the api by
	  calling saxLoadFile( Object, String ) which takes as parameters, the object
	  implementing the callbacks and the name of the file to be loaded.
	
	  The callback methods that are currently working are:
	
	  Boolean startDocument()
	  Boolean endDocument()
	  Boolean startElement( namespaceURI, localName, qName )
	    - note that the attrs argument is missing.
	  Boolean endElement( namespaceURI, localName, qName )
	  Boolean characters( chars )
	
	  For a more detailed look at what's going on with all this, check out the
	  example in docs/examples/sax.
	
2003-11-20 Thursday 21:50  geiseri

	update the Todos so we know where we stand... still have to go back and check what is done.
	
2003-11-20 Thursday 06:13  geiseri

	Fixed the index to show  the actual functions.
	
2003-11-20 Thursday 06:04  geiseri

	update readme
	
2003-11-20 Thursday 06:03  geiseri

	merge with changes from head.
	
2003-11-20 Thursday 06:02  geiseri

	Added a completion object for the KDevelop KJSEmbed support.
	You can expose this via KJSEmbed's console via the raw() function
	that behaves just like dump() only it returns an array instead
	of a string.
	
2003-11-20 Thursday 02:55  geiseri

	Updated docs to reflect the latest API. These where generated with build-docs.js.  Its starting to look like this might not be the best place to keep this stuff since we can now autogenerate it almost completely.  Maby this will be the last update.
	
2003-11-20 Thursday 02:53  geiseri

	updated build-docs.js so that it now generates almost exactly what build-docs.sh does... only about 50x faster
	
2003-11-19 Wednesday 19:47  geiseri

	This is a sucky fix, but it works... this function really needs a clean up
	all these arrays screaming to be put out of their misery...
	
	any takers ;)
	
2003-11-19 Wednesday 05:58  geiseri

	Added support for KIconLoader and KStdDirs so we can find junk in KDE.
	Exposed :
		findResource, addResourceType, kde_default,
	    	addResourceDir, findResourceDir, saveLocation,
		makeDir, exists, realPath
		BarIcon, DesktopIcon, SmallIcon, MainBarIcon, UserIcon
	
2003-11-19 Wednesday 05:53  geiseri

	Updated docs for latest code in cvs.  Has new StdDirs and StdIcons stuff.
	Added SQL docs.
	
2003-11-19 Wednesday 00:02  rich

	- Fixed the image fun example. You can now pass pens around.
	
2003-11-18 Tuesday 23:16  rich

	- Minor change to debug output and an increase in the maximum number of args
	  to slots.
	
2003-11-18 Tuesday 00:20  rich

	- Added a mention of the scribble demo
	
2003-11-16 Sunday 07:23  geiseri

	yay we can now populate a KListView from an SQL query...  maby we need to put in a better demo app ;)
	
2003-11-16 Sunday 07:04  geiseri

	hrmmm it seems that implantQVariant dosent work as i thought it should.  it seems once that is fixed things may
	work a bit better.
	
2003-11-16 Sunday 06:36  geiseri

	Fixed the QPainter crash, it seems i had a booliean mistake
	Added QVariant insertion support for DCOP... this still crashes, but gets further.
	
2003-11-15 Saturday 03:48  rich

	- Fixed a problem in StdDialog where the bindings were returning strings that
	  told you 'this is null' rather than the real null value when the file
	  dialogs were cancelled. This error caused bad behaviour in the xmlgui demo.
	
	- Improved the type handling of the JSFactory class.
	
	  - The mapping between typenames and proxy types now supports all the proxy
	    types. This is essential if we are to support creation of non-QObject
	    proxies properly.
	
	  - Removed the 'special case' code that handled identification of classes
	    supported by QWidgetFactory.
	
	  - You can now remove support for particular classes by calling addType() and
	    specifying the proxy type TypeInvalid. I'm not sure how useful this is,
	    but we may as well allow it since it is trivial to implement.
	
	  - Split the code that adds the types into one method for each type of
	    object.
	
	  - Added some new JS methods to the Factory:
	
	    - isSupported(String)
	      Returns true iff the specified type is supported by the factory.
	    - types()
	      Returns an array naming all the types supported by the factory. This
	      list includes objects which can be wrapped but not created unlike the
	      constructors method.
	
	  - The methods now use QString rather than QCString to avoid needing lots of
	    charset conversions as these are an expensive operation.
	
	  - Added a new method addObjectTypes() that is responsible for telling the
	    factory about all the QObject types it knows about that do not have any
	    sort of custom bindings. The list of currently unsupported types was
	    created by the scripts and data files in docs/examples/coverage/.
	
	- The readFile() method now throws an exception when the file cannot be
	  loaded.
	
2003-11-14 Friday 23:40  rich

	- Fixed the imageviewer example.
	
	  - It now loads the image specified on the command line rather than
	    hard-coding the name.
	
	  - Restructured the code so the water color operation is a function.
	
	  - Changed the code so it no longer uses return outside of a function (this
	    is invalid js and causes a warning from the interpreter). Instead, we use
	    throw which lets us send a message up the call stack to whatever invoked
	    us. This is a nice technique as it means things will work properly both
	    standalone, when we're called from another script and when we're called
	    by something that embeds the kjsembed part.
	
	- Added a new binding to the System class that lets you call exit. This is
	  needed because the kjscmd tool is currently calls exec() automatically. It's
	  a band-aid rather than a real fix, but it will give us time to decide on the
	  best solution to the problem.
	
	  - System.exit()       Exits with the status code 0
	  - System.exit(Number)	     Exits with the status code specified.
	
	- Added support for the QLayout classes QHBoxLayout and QVBoxLayout. In
	  addition to the slots and properties, the following custom bindings are
	  available for box layouts:
	
	  - addWidget
	  - addSpacing
	  - addStretch
	  - addLayout
	
	  The creation code is current ifdef'd out as there are some problems, but the
	  methods are available to layouts created elsewhere.
	
2003-11-14 Friday 11:08  faure

	CVS_SILENT -I.. should be before all_includes
	
2003-11-12 Wednesday 00:27  geiseri

	yay more crashing test cases :)
	
2003-11-11 Tuesday 04:33  geiseri

	nice little test to crash dcop with :)
	
2003-11-11 Tuesday 04:12  geiseri

	fixes for dcop so it actually gets to the point of crashing, added a pen type
	
2003-11-11 Tuesday 04:11  geiseri

	Yay we can now officially do SQL queries... we really need a SQL cursor though to make it
	realy useful.
	
2003-11-11 Tuesday 04:10  geiseri

	Tried to get further, you can now set a pixmap, still cannot change it, no clue why...
	Added a pen type, it wont marshall properly, more type fun rich :)
	
	we crash when you do a drawText() it seems the qstring's dptr goes invalid... yeah thats cool
	
2003-11-11 Tuesday 04:09  geiseri

	Fixed a few things, we can now attach, and call commands, but now im getting the same issue we
	have in painter.  Things crash when reading a QString that has been passed in... not sure why
	rich you have ideas?
	
2003-11-01 Saturday 16:34  rich

	- Attempt to fix problem with geiseri's SQL code.
	
2003-10-31 Friday 01:20  rich

	- Moved the factory method implementations from JSBuiltInImp to
	  JSFactoryImp. The previous location was a mistake and made no sense at all.
	
	- Fixed the handling of KParts - the object was being registered incorrectly
	  which meant things were totally borked.
	
2003-10-31 Friday 01:01  staniek

	retval fixed
	
2003-10-31 Friday 00:29  rich

	- Split the JSValueProxy into two in order to solve the problem that QObject
	  wrapper classes were broken by the increasing type-safety of the code.
	
	  - JSValueProxy now handles variant proxies and nothing else.
	  - JSOpaqueProxy takes over the handling of opaque pointer proxies.
	
	- Fixed the slot return code to fall back to the opaque type if the return
	  type is a pointer, but is not known by the factory as a QObject.
	
	- convertToValue() now returns Undefined() for invalid QVariant values and
	  unsupported types. This prevents scripts incorrectly reporting that the
	  method was successfull.
	
	- NOTE: These changes have fixed the problems that were occuring with QObject
	  wrapper types.
	
2003-10-30 Thursday 22:57  rich

	- Made the remaining methods use the new naming code made possible by the
	  InternalFunctionImp code. This means that all the methods implemented in
	  native code now behave properly. The new code for adding the methods to
	  their parent objects is table driven which should make it easier to
	  maintain (or at least so I hope).
	
	  The methods that are wrappers for slots still need to be changed to use the
	  new code properly.
	
	- Removed the old ChangeLog stub (the real thing is in the docs directory).
	
	- Added d pointers to anything that didn't have one.
	
	- Removed the remaining createImp() methods because since the code was
	  refactored to remove the misuse of the part's imp they're a unnecessary
	  blight on the API.
	
	- Removed some TODO items that have been implemented.
	
2003-10-30 Thursday 00:32  rich

	- Changed the base class of JSProxyImp from ObjectImp to the newly public
	  InternalFunctionImp (the internal here refers to the fact they are native
	  code rather than JS). This change fixes the problem that scripts could not
	  properly inspect the methods (for example instanceof was broken). The
	  InternalFunctionImp constructor requires an ExecState, so a few incidental
	  changes were required to accomodate this.
	
	  NOTE: This change requires the patch to KJS that I just committed.
	
	- Added some missing d pointers.
	
	- Improvements to doc comments.
	
2003-10-25 Saturday 02:30  rich

	- Added a new class JSBuiltInImp that implements the bindings for the methods
	  defined by JSBuiltIn. Moved the code for these bindings out of the part imp
	  into the new class.
	
	- Minor cleanups to the initialisation of the builtins.
	
	- Improved class docs.
	
	- Made a couple more methods return exceptions instead of Null on
	  errors. These error types need to be centralised somewhere, perhaps in the
	  JSBuiltIn class.
	
2003-10-25 Saturday 01:13  rich

	- Added some properties to the KPart that let scripts query the version of
	  KJSEmbed they are running in.
	
	- Improvements to the XMLActionClient class.
	
	  - Removed the XMLActionRunner member from the kpart because the default
	    runner is now an opaque class and you can do what you need via the
	    XMLActionClient.
	
	  - Fixed a potential crash in XMLActionClient (caused by the bad choice of
	    semantics when changing the runner).
	
	  - The actions are now deleted with the action client, this prevents a crash
	    when an action that was left behind is invoked.
	
	  - Added a copy constructor to XMLActionScript to ensure the semantics are
	    sane.
	
2003-10-25 Saturday 00:01  rich

	- Added a new class JSFactoryImp which implements the constructors for
	  JSFactory. This is rather better than stuffing all this stuff into
	  KJSEmbedPartImp as we did before.
	
	- Renamed some of the public classes to add the js name prefix.
	  - factory.h/.cpp -> jsfactory.h/.cpp
	  - securitypolicy.h/.cpp -> jssecuritypolicy.h/.cpp
	
	- Moved JSProxyImp into its own file.
	
	- Moved the handling of JSBuiltIn from the factory to the part. This change
	  makes the logic make more sense, and removes a couple of methods that only
	  existed to work around the previous location in the factory.
	
2003-10-24 Friday 00:26  rich

	- Started moving the builtin objects out of the factory and into a standalone
	  class JSBuiltIn. The part will ultimately be responsible for managing the
	  JSBuiltIn class which should simplify the factory (useful when we have
	  multiple factories).
	
	NOTE: Access to the QObject-based wrapper objects is broken at the
	moment. This is a known issue and is being addressed, but as things are being
	restructured a bit fixing it will have to wait so I don't have to do it twice.
	
2003-10-19 Sunday 00:43  rich

	- Began adding support for non-QObject ptr types.
	
	- The part no longer inherits XMLActionRunner, instead there's an internal
	  class that binds the two together. This makes the class hierarchy a lot
	  cleaner and reduces the linking between the xml action handling and kjsembed
	  which are really fairly distinct. Possibly this separation should go even
	  further and the part should avoid automatically creating an XMLActionClient
	  now that scripts can do this themselves.
	
	- Made some of the methods of the factory object take 'const QString &' rather
	  than 'QString'.
	
	- Reworked the handling of the JSFactory object. The factory is now a propery
	  of the kpart rather than being global. This means that applications can have
	  multiple active parts, each with their own factory. This change has required
	  changes throughout KJSEmbed:
	
	  - Changes to allow the static js objects to know which factory they should
	    be using.
	
	  - Changes to the proxies so they know which part they use rather than just
	    which interpreter. This has required changes all over the place, but
	    better now than later.
	
2003-10-18 Saturday 21:16  geiseri

	imageviewer with nifty watercolor effect now.
	
2003-10-18 Saturday 20:32  geiseri

	More updates to the SQL support.  Changed the name to make it more clear
	that it was SQL.  Still cannot get SqlDatabase.exec() to return a real
	query, even thought the database says its all good.
	
2003-10-18 Saturday 02:52  rich

	- Removed the createSubProxy() method of JSObjectProxy and made the JSFactory
	  take over this operation completely.
	
	- Made a create() method in the factory that returns a pre-wrapped
	  object. This method also throws a JS exception if creation fails instead of
	  needing the client to check the return value.
	
	- Removed support for the create() method that early scripts used to
	  instantiate things, now you must always use new to create objects. This
	  method was only ever introduced because I hadn't figured out how to define
	  proper constructors, so no one should really miss it.
	
2003-10-17 Friday 22:50  rich

	- Moved the kjsconsole plugin into its own directory. This has been requested
	  by people working on a couple of apps that would like to use the code. This
	  is a good idea anyway because it makes the separation between the core of
	  kjsembed and the clients clearer.
	
	- Fixed a few unused parameter warnings.
	
2003-10-17 Friday 22:26  rich

	- Moved builtins to a new directory. This isn't really needed yet, by doing it
	  now we avoid lots of pain later.
	
	- Improved support for QTimer.
	
	  - You now have access to the start(), stop() and isActive() methods.
	  - Added an example that uses the new timer support.
	
2003-10-17 Friday 15:57  rich

	- Removed kpublished as it is unnecessary and seems to be unmaintained.
	
2003-10-12 Sunday 01:05  rich

	- Extended the code for dumping slots so the output includes the return type.
	
	- Added a debug area (80001) to the list in kdecore and changed all the debug
	  messages to use it.
	
	- Added the ability to tell the factory that particular class names are
	  qobjects and made the creation code call it when it creates an object that
	  is an instance of an unsupported class. Note that this code does not
	  understand namespaces, so you need to explicitly qualify everything for it
	  to work properly.
	
	  - Changed the addConstructors method of the factory up so that it uses the
	    fully qualified names for the bindings classes.
	
	  - Changed the jscript() method of the console widget to use the qualified
	    name for the part.
	
2003-10-11 Saturday 21:26  rich

	- Fixed code for implanting Qt types in unsupported signatures. The code was
	  ignoring the index of the parameter.
	
	- Improved slot parameter support.
	
	  - Abort on the first unsuppored type so we don't waste time if we're already
	    stuffed.
	
	  - If the parameter type is a pointer and the passed value is a proxy we now
	    pass the value to the slot. Hopefully this will work for both
	    JSObjectProxy values and for opaque values.
	
	  - If the parameter type is supported by QVariant and the passed value is a
	    proxy we should now support that too.
	
2003-10-11 Saturday 20:32  rich

	- Began to add some flesh to the JSProxy class.
	
	  - Added a bunch of methods to handle the type conversions and tests
	    cleanly. Used these to centralise a whole bunch of down-casts making the
	    rest of the code a lot more readable.
	
	- Added an implant method for proxy classes. This method will make it possible
	  to pass QObjects, opaque values and unsupported variant types as parameters
	  to slots.
	
2003-10-10 Friday 02:14  rich

	- Made the arguments passed around during slot invocation a lot simpler. We
	  now pass around the slotimpl itself rather than all of the members it holds.
	
2003-10-10 Friday 01:41  rich

	- Did some tidying up of the slot handling code.
	
	- Removed unused JSObjectProxyImp constructor.
	
	- Lots of work on handling slots that return pointers. Slots that return types
	  supported by QWidgetFactory now work, adding support for the other QObject
	  types will be pretty simple at this point. The code really needs to be a lot
	  more generic - rather than asking the factory if the object is a QObject, it
	  should be asking the factory if there is a wrapper available for the class.
	
	  - Did most of the grunt work required to handle slot pointer return types
	    properly. At the time we bind a slot we extract the return type from the
	    metaobject, the classname we obtain is stored in the slot binding
	    implementation.
	
	  - Extended the slot invocation stuff to use the addition information about
	    the return type we've now stored.
	
2003-10-09 Thursday 01:37  rich

	- Added some notes to the TODO file that show how we can extract the return
	  type of a slot that returns an object from the metainfo.
	
	- Tidied up and documented the console widget class.
	
	  - Removed the clear button Ian added. I really don't think this fits very
	    well as it removes the correspondence with a normal console. I've added an
	    access to for the hbox that arranges the entry fields to make it possible
	    for client class to do this sort of thing themselves if they feel it is
	    needed. This accessor also lets you use the console widget in a
	    non-interactive fashion as you can hide the entire entry section.
	
	  - Initialised proc to 0 and made the child handling slots back into slots so
	    that the process invocation code will work properly.
	
	  - Changed the names of the child objects to be lower-case for consistency
	    with everything else.
	
	  - Moved the popup title out of the d pointer object since we're not
	    retaining b/c for kjsembed this release.
	
	  - Set both large and small WM icons.
	
	  - Updated result handling code to use the facilities the part provides now.
	
2003-10-02 Thursday 07:11  geiseri

	added the abilty to clear the cmd line with a button... not sure if i like this operation yet.... maby clear
	should clear the log, and when you execute a command the line should get cleared. going to play with this for a
	while
	
2003-10-02 Thursday 07:01  geiseri

	Added support for the javascript mime type.
	Added desktop file so clicking on a js script will execute it... NOTE: im not happy about this but i cannot
	figure out how to get it to open in a text editor when its chmod -x and kjscmd when its +x... ideall this will
	be fixed in the next few days or ill disable the kjscmd desktop file.
	
2003-09-28 Sunday 18:30  geiseri

	start of port ob build-docs.js to kjs
	
2003-09-28 Sunday 01:37  geiseri

	updated the docs to reflect the new members
	
2003-09-20 Saturday 00:58  rich

	- Improved the System class API:
	
	  - Added new method bool writeFile( filename, text ).
	  - Renamed System.stdin etc. to System.in, System.out and System.err.
	  - Fixed examples for the new names.
	
	- Started adding support for classes. The first stage here has been to add
	  (somewhat messy) support for associating enum values with the correct
	  type. This means that rather than having to reference these values via the
	  class instance, you can say things like:
	
	  var f = new QFrame();
	  f.frameShape = QFrame.WinPanel | QFrame.Sunken;
	
	  It is important to note that with the current code, the enum values are not
	  available until after the first instance of the specified type has been
	  created.
	
	- Moved EventType back into the cpp class as it is only used internally.
	
2003-09-19 Friday 00:35  rich

	- Added a new class JSProxy to be a baseclass for JSValueProxy and
	  JSObjectProxy.
	
	- Moved the event handler mapping code into a standalone class JSEventMapper
	  which will be its final location. Added various methods etc. to make this
	  work with everything else.
	
	- Added a new example that creates a complete KDE mainwindow with all the
	  standard menus and toolbar using the KStdAction bindings and XMLGUI. This
	  example also shows how you can wire a KAction to a JS function using the
	  slot support by adding proper support for the file open action.
	
2003-09-18 Thursday 23:36  mueller

	unbreak compilation. I wonder why I waste time on fixing it if the
	fixes get reverted anyway.
	
2003-09-18 Thursday 21:58  rich

	- Fix geiseri's code from last night.
	
	- Fix Makefile.am to work properly.
	
2003-09-18 Thursday 20:48  rich

	- Minor updates
	
2003-09-18 Thursday 03:13  geiseri

	workarround for Qt bug where moc cannot handle ',' any more...
	
2003-09-18 Thursday 02:38  geiseri

	crackrock EVERYWHERE!  im going to bed...
	
2003-09-18 Thursday 02:33  geiseri

	god dammnit, i obviously cannot code anymore this evening...
	
2003-09-18 Thursday 02:09  geiseri

	Added start of bindings for a KConfig object.
	this is mostly untested, but it compiles so we can start to debug it.
	
2003-09-17 Wednesday 06:43  geiseri

	im sure rich really dosent want credit for this sucker ;)
	
2003-09-17 Wednesday 06:41  geiseri

	Added SQL Database and Query bindings.
	Known issue is with Database::exec();  This returns a Qt SQL Query.  I added what I thought was the
	correct constructor to Query() so that we could handle it from JS, but it keeps responding that the query
	is a null type.  Rich what is the correct way to handle these types?  Once this is resolved we can start
	on the more advanced SQL features.
	
2003-09-17 Wednesday 06:37  geiseri

	Added demo of SQL features.  We can now connect to the database, but there are some issues with the
	query.
	
2003-09-16 Tuesday 06:26  geiseri

	Added support for QMovie so we can spice up our boring GUIs...
	
2003-09-16 Tuesday 03:52  geiseri

	fixed Painter::drawText to really draw text
	added:
	    void drawArc( ... );
	    void drawPie( ... );
	    void drawPixmap ( ... );
	    void drawImage ( ... );
	    void drawTiledPixmap ( ... );
	
	    void scale ( ... );
	    void shear ( ... );
	    void rotate ( ... );
	    void translate ( ... );
	to Painter
	
2003-09-16 Tuesday 01:18  geiseri

	changed image viewer to apply some effects.
	
2003-09-16 Tuesday 01:17  geiseri

	Moved image_imp from a QImage * to a QImage value.
	Added image effect members to pixmap_imp
	Added image effect members to image_imp
	
	These need more testing but just a simple test seems to pass and look good.
	
	
2003-09-16 Tuesday 00:07  rich

	- Added 3 new methods to the KPart that provide access to the defined
	  constructors. These replace the dumpConstructors() function in
	  jsbindings.h which has been now been removed.
	
	    QStringList constructorNames() const;
	    KJS::Value constructors() const;
	    KJS::List constructorList() const;
	
	- Moved some methods of the part so they are no longer slots since it
	  seems that returning non-ptr, non-variant types like KJS::Object
	  through a slot isn't going to work due to limitations in moc. The
	  same limitations apply to properties unfortunately.
	
	- Added more debug info.
	
2003-09-15 Monday 22:04  geiseri

	Added support for the following events:
		QKeyEvent, QWheelEvent, QFocusEvent, QPaintEvent, QMoveEvent
		QResizeEvent, QCloseEvent, QShowEvent, QHideEvent, and QIMEvent.
	
	These need to be tested and it should be noted funcitons that return void, are not currently implemented.
	
	
2003-09-14 Sunday 23:18  rich

	- The events are now defined using an array, this makes it much easier
	  to maintain and to add support for new event handlers.
	
	- Added a binding to QApplication::exec(). If this works ok, I think I
	  should probably make no-exec mode the default and leave the decision
	  entirely up to the script. This would mean I'd need to add a -exec
	  option to allow you to use the console widget with non-graphical
	  scripts.
	
	- Various clean ups.
	
	- Added support for the QObject className() method to the object
	  proxy, and an extra method superClassName() that queries the
	  metaobject.
	
	- Note that I'm still working on the 'no default value' problem.
	
2003-09-11 Thursday 23:30  rich

	- Rename the new factory to avoid the reserved word.
	
2003-09-11 Thursday 10:45  rich

	- Doh, forgot the code
	
2003-09-11 Thursday 01:20  rich

	- Added support for some more of the QMouseEvent class.
	   state()
	   stateAfter()
	   globalX()
	   globalY()
	
	- Fixed some of the KMainWindow method bindings which were totally
	  broken. These bugs explain why a number of things I was trying to
	  write never worked.
	
	- Added a binding to KStdAction. This lets you create instances of any
	  of the standard KDE actions from scripts. For example, you can write
	  the following:
	
	  var act = StdAction.quit( recv, slot, parent, name );
	
	  Note that at the moment the receiver and slot cannot be a JS object
	  and method, they must be a slot defined in C++.
	
	- Added an example to docs/examples/actions/
	
	
2003-09-06 Saturday 22:36  rich

	- Added getParentNode() to the DOM api.
	
	- Added implementation of KJS::Identifer::qstring().
	
	- Added the JSObjectEventProxy class. This class forwards Qt events to
	  javascript handler methods. This means you can now write scripts
	  that handle events!
	
	  The basic method it uses is to install an event filter for the
	  target of the JSObjectProxy it is created for and test if any events
	  the target receives should be forwarded using a bit array. If the
	  event needs forwarding it looks up the name of the handler and calls
	  it, if not then processing occurs as normal.
	
	  The creation of the event proxy is handled by the object proxy which
	  overrides the set property handling in ObjectImp to detect when a
	  script assigns to a method that is an eventhandler. The event proxy
	  is created the first time this happens (and is deleted when the last
	  handler is removed).
	
	  In order to implement the scheme described, there needs to be a
	  both a mapping between handler names and QEvent::Type, and a mapping
	  between the type and the handler. The first is used to determine
	  if assigning to a property should cause any event types to be
	  forwarded (and which types they are), the second lets the event
	  filter know which js method it should call.
	
	  In addition to supporting the standard event handlers needed to
	  write Qt/KDE wrappers, this code is intended to support weird
	  compatibility stuff like kaxul. :-) This requirement means we need
	  to allow for the possibility of custom event types, events mapping
	  to custom handler names, and also custom signatures in event
	  handlers. The same difficulties occur when support for custom
	  QEvents is considered. This side of things is very much a work in
	  progress.
	
	  At the moment both mappings are stored in the factory object, but
	  I'm not convinced this should be their real location. If anyone has
	  any thoughts on this, then please let me know. The other big
	  question is the time at which names should be resolved to
	  (hopefully) callable objects.
	
	
2003-09-03 Wednesday 22:02  rich

	- Added bindings to KColorDialog and KPropertiesDialog to StdDialog.
	
	- Moved StdDialog binding code from the factory to the class itself.
	
	- Added support for creating QScrollView and QCanvasView widgets.
	
	- Added support for KMainWindow::createGUI().
	
	
2003-08-27 Wednesday 23:37  rich

	- Fixed tree example (I added a sh-style comment) and added a better
	  demo ui file.
	
2003-08-27 Wednesday 23:24  rich

	- Added binding to isWidgetType().
	
	- Added an example that generates a graphical tree of the QWidget
	  hierarchy.
	
	- Fixed const warning in convertToValue(). Various other irritating
	  const fixes.
	
	- Added support for enums! This means that you can now use enums that
	  have been declared using Q_ENUM in scripts. The enums are published
	  as properties of the object itself for now, rather than the class
	  (this will be fixed). This means that for now you do things like
	  this:
	
	     f = new QFrame();
	     f.frameShape = f.Panel;
	
	- Added a new demo 'frame' that illustrates QFrame and enum support.
	
	
2003-08-27 Wednesday 19:30  geiseri

	made the slot invoke a little smarter.  we now have both the old and new methods to keep everyone happy.
	
2003-08-27 Wednesday 01:10  rich

	- Moved code for adding custom functions to the corresponding imp
	  class.
	
	- Added context information to convertToValue() so that we can ensure
	  the security policy is followed. Without this change, proxies that
	  are created by this method will revert to the default policy. This
	  fixes the security hole I referred to earlier.
	
	- Added a binding to JSValueProxy that returns the name of the
	  contained type.
	
	- Added a new native binding StdDialog that will provide an easy way
	  to access the common KDE dialogs. This class is far from complete at
	  the moment.
	
	  getOpenURL(...)
	  getSaveURL(...)
	  getExistingDirectory(...)
	  getOpenFileName(...)
	  getExistingURL(...)
	  getImageOpenURL(...)
	  getSaveFileName(...)
	
	
2003-08-22 Friday 00:45  rich

	- Added a factory method for proxies that are explicitly published.
	
	- Renamed some ExecState params called 'state' to 'exec' for
	  consistency and reordered some method args for the same reason.
	
	- Moved the JS method load() out of the factory object and into the
	  global namespace.
	
	- Added an example showing how to write scripts that span multiple
	  source files.
	
	
2003-08-21 Thursday 23:36  rich

	- Modified the JSFactory class so that it is no longer used via static
	  method calls. These changes have been made so that host applications
	  can define custom factories. There are more changes to come in this
	  area, so please don't use on it yet.
	
	- Moved creation of sub-proxies to the factory.
	
	- Something seems to have broken the listview example. I'm not sure if
	  it is one of my changes, or if it's the generic slot support geiseri
	  added.
	
	
2003-08-19 Tuesday 04:48  geiseri

	Variable length slots now work for the currently known types.  Things seem
	to pass the old tests, and some new dcop tests now pass.  QVariants still
	need to be handled.  I leave for my flight in 17hours so im not optimistic
	ill get in one more commit.  Rich please dont try to clean this up yet, as
	ill probibly work on it before i get net access on thursday.
	
	
2003-08-19 Tuesday 04:46  geiseri

	Make this work with Qt 3.2... not sure if this has bad side effects yet,
	please test.
	
	
2003-08-18 Monday 20:40  rich

	
	  drawRoundRect().
	
	- Added a new example that illustrates support for KListView.
	
	- JSValueProxy instances that contain a QVariant can now be converted
	  back to QVariant.
	
	- Moved JSValueProxy out of the Bindings namespace.
	
	- Added a new example that tests the support for opaque values.
	
	- Did a bit of work on the Painter binding, still doesn't work
	  though. :-(
	
	- Added support for opening files (ro/rw) a TextStream is returned.
	  (currently commented out as it is flawed).
	
	
2003-08-18 Monday 18:39  geiseri

	it helps rich to debug it if he has the same code.
	
2003-08-17 Sunday 16:46  rich

	- Added a new class JSValueProxy which provides an opaque binding to
	  either a QVariant or a void pointer.
	
	- Extended the property handling code to automatically generate opaque
	  bindings for unknown types.
	
	- Added a new method Factory.widgets() that returns a list of the
	  widgets supported by QWidgetFactory.
	
	- Added support for pointer slot return values.
	
	
2003-08-16 Saturday 23:33  rich

	- Moved the implementations of the custom methods (ie. those that are
	  not slots) to their own class.
	
	- Documentation
	
	- Made the built-in objects use the default Object prototype for their
	  KJS::Object.
	
	
2003-08-16 Saturday 22:16  rich

	- Added some more doc comments.
	
	- Added support for slot signatures needed by NetAccess:
	
	  slot(const KURL&,const QString&)
	  slot(const QString&,const KURL&)
	
	
2003-08-16 Saturday 21:48  rich

	- Minor cleanups of the kpublished code.
	
	- Cleaned up the factory's create methods. There is now one for each
	  type of object created.
	
	- Fixed NetAccess (I was too enthusiastic in converting stuff to
	  KURL).
	
	
2003-08-16 Saturday 20:52  rich

	- Modify KIO::NetAccess binding to use KURLs now we support the 2
	  argument variant.
	
	
2003-08-16 Saturday 20:42  rich

	- Added support for slots that take 2 kurls.
	
	
2003-08-16 Saturday 20:01  jowenn

	A modified dcopidl* toolchain for restricting which slots should be published to kjsembed. It's quite generic from the idea, so it should be usable with any other script language too. It's a first try/begin though, so it doesn't do much yet except for the test also committed  I hope to get signal restrictions to work too and fix some compatibility problems with Qt's moc
	
2003-08-16 Saturday 19:41  rich

	- Added support for a 4 argument for of createROPart() to allow you to
	  specify custom constraints for the KTrader query.
	
	
2003-08-16 Saturday 18:48  zrusin

	Fix implicit casts.
	
2003-08-16 Saturday 00:53  rich

	Update changelog and docs
	
2003-08-16 Saturday 00:46  rich

	- Ensure we add the args array to the application object even when it
	  is empty.
	
	- Improved the readonlypart demo to be proper browser (ie. make links
	  work).
	
	- Improved factory creation code.
	
	
2003-08-15 Friday 23:45  rich

	- Added support for creating read-only KParts.
	
	- Added an example that displays the KDE homepage in a KHTMLPart. This
	  example also shows the use of the main window bindings.
	
	
2003-08-15 Friday 23:08  zrusin

	Use new instead of app.create and a few path fixes.
	
2003-08-15 Friday 22:55  zrusin

	Make the new call work with NetAccess
	
2003-08-15 Friday 22:49  rich

	- Added compatibility with KDE 3.1 so I can actually use this stuff!
	
	- Minor cleanups to the examples.
	
	
2003-08-15 Friday 14:13  zrusin

	Don't crash when creating widgets/dialogs from ui files (and use more
	sensible way of detecting kjscmd)
	
2003-08-15 Friday 09:59  zrusin

	Adding KIO::NetAccess binding. So now from within scripts you can do:
	var net = application.create( 'NetAccess', 'net' );
	net.download( 'http://www.kde.org/media/images/kde_logo.jpg', '~/logo.jpg' );
	To download anything you want. It be cool if one could disable the progress
	dialog for netaccess.
	
2003-08-15 Friday 03:00  rich

	- Added some more slot signatures:
	
	  - slot(const QString &,uint)
	  - slot(const QString &, bool)
	  - slot(int,const QColor &)
	  - slot(int,int,int,int,int)
	  - slot(const QPixmap&)
	  - slot(const QRect&,bool)
	  - slot(const QString&,bool)
	  - slot(const QString&,bool,bool)
	  - slot(const QString&,int,int)
	  - slot(int,const QColor&,bool)
	  - slot(int,const QColor&)
	  - slot(int,int,float,float)
	  - slot(const QString&,bool,bool,bool)
	
	- Added a utility method for getting the QWidget in a proxy.
	
	- Added support for QPixmap properties.
	
	- Added imageviewer example.
	
	
2003-08-15 Friday 00:07  zrusin

	Yeah, real funny
	
2003-08-15 Friday 00:02  zrusin

	Correct makefile for a static lib.
	
2003-08-14 Thursday 23:02  rich

	- It helps if we actually make the QString,QString slots available to
	  the JS interpreter...
	
2003-08-14 Thursday 22:57  rich

	- Added a JS prefix to a couple of classes.
	
	- Added support for slots with 2 string arguments
	
	
2003-08-14 Thursday 19:39  rich

	- Add support for the full loadui command including the connector.
	
2003-08-14 Thursday 19:16  rich

	- Make kawil happy by fixing the parent argument to loadui.
	
2003-08-13 Wednesday 20:58  zrusin

	Adding bindings as a subdir dir. Fixing the non-working implicit cast of
	QString to const char* to make it compile.
	Rich are sure the bindings lib should be installable shared lib, and not
	a static, non-installable one?
	
	
2003-08-12 Tuesday 23:06  rich

	Oops
	
2003-08-12 Tuesday 23:03  rich

	Moved to bindings/
	
2003-08-12 Tuesday 22:57  rich

	- Moved the QObject classes that only exist to provide bindings into a
	  new directory. This will hold all the classes that exist only to
	  provide a binding.
	
2003-08-12 Tuesday 22:02  rich

	Grr, i fucked this up again
	
2003-08-12 Tuesday 21:29  rich

	- Added calculator example
	
2003-08-12 Tuesday 21:24  rich

	- Factory can now create KMainWindow.
	
	- Added binding methods to KMainWindow.
	  - setCentralWidget()
	  - actionCollection()
	
	- SlotUtils is no longer used by inheritence, woo hoo!
	  This means that apps will be able to extend it soon.
	
	
2003-08-08 Friday 06:04  staikos

	This thing really hampers Konqueror startup time, and it provides nothing of
	value to konqueror itself.  Any solution, rich?  Do we really need it?
	
	
2003-07-30 Wednesday 23:52  rich

	
	- Added support for calling slots with signatures uint, long and ulong
	  as methods.
	
	- Added support for connecting signals with unsupported signatures to
	  JS methods. Note that currently *none* of the arguments will be
	  passed to the script in this situation.
	
	- Minor fixes to docs.
	
	- Added an example 'connect' that shows how the most common types of
	  signal can be connected to JS methods.
	
	
2003-07-29 Tuesday 22:34  rich

	Try make things work for jowenn
	
2003-07-28 Monday 13:39  mueller

	unbreak compilation (gcc 3.4+)
	
2003-07-28 Monday 13:38  mueller

	I don't know how this code is ever supposed to compile, but at least it
	will produce the .moc files correctly.
	
2003-07-28 Monday 01:25  rich

	- Added d pointer to SlotUtils. Constructor and destructor no longer
	  inline, this should make compatibility easier.
	
	- More doc improvements.
	
	- Removed the overloaded openURL() method that takes a string as we
	  support KURL parameters now.
	
	- Started implementing support for connecting signals to Javascript
	  functions. The code for this is mostly in the SlotProxy class.
	
	- Modified the docviewer example to make use of the JS slot
	  support. This example now works pretty much the way it is intended
	  too!
	
	
2003-07-27 Sunday 23:00  mueller

	unbreak compilation (gcc 3.4+)
	
2003-07-27 Sunday 23:00  mueller

	libkjs is not in my kdebindings
	
2003-07-27 Sunday 21:19  rich

	- Fixed Makefile.am problem.
	
2003-07-27 Sunday 03:32  rich

	- Removed the default value of 0 for the wparent of one of the
	  KJSEmbedPart constructors. This means that the defaults no longer
	  trigger the crash-on-exit bug.
	
	- Made createInterpreter() protected because calling it twice calls a
	  memory leak and there's no need for apps to use it anyway.
	
	- Added an accessor for the completion object of the last script.
	
	- Renamed executeScript() to runFile(), and loadScript() to loadFile()
	  to make the semantics clearer.
	
	- Replaces some overloaded methods with default arguments.
	
	- Fixed the 3 argument version of connect to match Qt, and tidied up
	  the way connect is processed. Matching changes for disconnect.
	
	- Added support for the slot signatures:
	
	  - int,int,int,int,bool.
	  - QRect, bool
	
	
2003-07-26 Saturday 22:51  rich

	- Made the makefile put the changelog in the docs dir
	
2003-07-26 Saturday 22:44  rich

	- Moved low-level slot handling into a standalone class SlotUtils that
	  JSObjectProxyImp inherits. This makes the code a lot easier to work
	  on as the JS glue and the Qt glue are no longer stuck together.
	
	
2003-07-26 Saturday 22:09  rich

	- Documentation updates
	
2003-07-26 Saturday 21:49  rich

	- Added links to QSA and a tutorial on inheritence in JS.
	
2003-07-26 Saturday 21:35  rich

	- Added some information about planned changes.
	
2003-07-19 Saturday 21:47  rich

	- Removed kspy dependency
	
2003-07-19 Saturday 01:39  rich

	- Added constructors for the Painter object.
	
	- Added a new binding Pixmap that provides an interface to QPixmap.
	
	- Removed duplication of the BindingObject construction code. The
	  custom binding objects now use the same code as the classes defined
	  by QWidgetFactory.
	
	- Removed test signals and slots from the kpart.
	
	- Added support for widget classes to the script that generates the JS
	  API reference. This means the reference manual now includes every Qt
	  and KDE object available!
	
	- Started writing a JS documentation viewer.
	
	- Started adding support for custom methods:
	
	  - jsobjectproxy.cpp	     Added insertItem method for QListBox
	  - jsobjectproxy_imp.cpp
	  - jsobjectproxy_imp.h
	
	- Cleanups
	
	  - kjsembedpart.h		Tidy the code up and document
	  - kjsembedpart_imp.cpp	Added a new method constructors that
	  - returns an
			array of constructors.
	  - kjsembedpart_imp.h
	  - pixmap_imp.cpp		Added pixmap property
	  - pixmap_imp.h
	
	- Improved docs
	
	  - docs/index.html		Added link to mozilla js language page
	
	- Improved access to bindings
	
	  - factory.cpp		Added constructors()
	  - jsobjectproxy.h	      Added addBindingCustom()
	
	- Converted state -> exec for some more functions.
	
	- Added some custom bindings for useful widgets. This code needs
	  cleaning up more before it is ready for prime time. The methods
	  added are:
	
	  QListBox::addItem()
	  KListView::addColumn()
	  QListView::addColumn()
	  KListView::insertItem()
	  QListView::insertItem()
	
	- Started writing a new example that provides a documentation browser
	  for KJSEmbed.
	
	
2003-07-12 Saturday 02:43  rich

	- Added constructors for the Painter object.
	
	- Added a new binding Pixmap that provides an interface to QPixmap.
	
	- Removed duplication of the BindingObject construction code. The
	  custom binding objects now use the same code as the classes defined
	  by QWidgetFactory.
	
	- Removed test signals and slots from the kpart.
	
	- Added support for widget classes to the script that generates the JS
	  API reference. This means the reference manual now includes every Qt
	  and KDE object available!
	
	
2003-07-11 Friday 01:35  rich

	- Added a document that describes the types used to pass data between
	  Qt and scripts.
	
	- Improved the documentation front page and stylesheet.
	
	
2003-07-10 Thursday 22:56  rich

	- Fixed links to examples.
	
	
	- Minor doc changes.
	
	
2003-07-06 Sunday 01:43  rich

	- Added support for getting the values of rect, size and point
	  properties. The values are returned as arrays, the types are as
	  follows: QRect -> [x,y,w,h], QSize -> [w,h], QPoint -> [x,y]
	
	- Changed the prototypes of a couple of methods that extract values so
	  they take a KJS::ExecState parameter. This is required for us to
	  create arrays etc. in order to return complex values.
	
	- Began renaming the KJS::ExecState variables to 'exec' rather than
	  'state' for consistency with KJS.
	
	- Split the dumpObject() method into two, one that dumps the JS
	  properties, and one for the Qt properties.
	
	
2003-07-05 Saturday 02:34  rich

	- Added support for passing sizes to slots. A size is represented
	  either as an array with two elements [width,height], or as an object
	  with the properties 'width' and 'height'.
	
	- Improved slot publishing code so that overloaded slots are
	  supported. The first slot is published as before, subsequent slots
	  with the same name get the number of arguments they require
	  appended.
	
	- Removed the childAt() and findChild() methods from the JSObjectProxy
	  object. The child() method provides the same facilities via a
	  unified interface.
	
	- Added some type information to the dump output.
	
	
2003-07-04 Friday 21:33  rich

	- Renamed the ConstructXXX constants to NewXXX.
	
	- Added support for reading Color, Font and KeySequence types.
	
	
2003-07-03 Thursday 01:13  rich

	- Made slots() list slots with all signatures not just those we can
	  use as methods because we can connect to a slot even if the
	  signature is not supported.
	
	- Added signals() to list the signals emitted by an object.
	
	- Added signals and slots sections to the dump() output and
	  regenerated the JS API documentation.
	
	
2003-07-03 Thursday 00:19  rich

	- Fixed problem with XMLActionClient caused by one of the previous
	  renaming exercises.
	
	- Added the ability to connect signals to signals. This is handled
	  transparently to the script, so you can simply treat the signal you
	  want to emit indirectly like the slots we already
	  support. Internally, the code will try for a slot first then try for
	  signal if that fails. This is ok because you can't have a signal and
	  a slot with the same name and signature.
	
	- Added a test program for the above, test_connectsignal.js.
	
	- Minor fixes to the tutorial.
	
	
2003-06-29 Sunday 02:09  rich

	- Added support both 3 and 4 argument forms of connect and disconnect.
	
	- Added a couple more examples.
	
	- Added support for creating QObject and QTimer.
	
	- Added some scripts to the docs directory that build a reference
	  manual for the JS API. Added the results too.
	
	
2003-06-28 Saturday 20:13  rich

	- Added support for disconnect
	
2003-06-28 Saturday 19:03  rich

	Added test script for connect
	
2003-06-28 Saturday 18:58  rich

	- Support for connect
	
	  - You can now connect a signal defined by one QObject, to a slot
	    defined in another.
	
	- Improved the dump function:
	
	  - Now lists qt properties in their own section.
	
	
2003-06-28 Saturday 15:51  rich

	- Remove accidental change to Makefile.am
	
2003-06-28 Saturday 15:47  rich

	- Simplified the slot handling by moving the slot signature into a
	  separate variable.
	
	- Fixed a bug in the handling of child lookup by name (we always got
	  the first child irrespective of the name).
	
	- Simplified the various child lookup functions to be handled in one
	  place.
	
	- More simplifications of the process of implanting parameter values.
	
	- Protected slot invocation against being called with the wrong number
	  of arguments.
	
	- Update copyright dates.
	
	- More work on DOM support:
	  - Boolean hasAttribute( name )
	  - Value getAttribute( name )
	  - Boolean setAttribute( name, value )
	
	
2003-06-27 Friday 01:09  rich

	- Make DOM the primary implementation
	
2003-06-27 Friday 00:56  rich

	- Actually adding the bindings is likely to improve the user
	  experience. :-)
	
	
2003-06-27 Friday 00:22  rich

	- Started adding a DOM API to the object tree. For now we'll start
	  with getElementById() to keep pmax happy. :-)
	
	
2003-06-25 Wednesday 23:17  rich

	- Fixed a bug left over from the regexp code.
	
2003-06-17 Tuesday 02:02  rich

	Oops
	
2003-06-17 Tuesday 02:02  rich

	- Added utility methods for marshalling common types and used them to
	  simplify the slot invocation code.
	
	- Removed a bunch of extraneous QRegExps.
	
2003-06-17 Tuesday 01:10  rich

	- Split the addition of bindings for object proxy.
	
	- Added a stub class for QObject binding classes (the stub for native
	  bindings will arrive soon).
	
	- Added support for QVariant return values.
	
	
2003-06-16 Monday 16:36  staikos

	handle QString returns properly
	also be more debuggable
	
2003-06-16 Monday 03:14  rich

	- Split up the slot invocation code to make it easy to work on.
	
	- Added support for slot return values. The following types are
	  currently supported:
	
	  - bool
	  - int
	  - QString
	  - const char *
	
	- Improved the self-documentation facilities.
	
	  - Improved the output of the dump() method.
	  - Added a classes() method that lists the available classes.
	
	
2003-06-15 Sunday 22:45  rich

	- Fixed the additional slot invocation stuff.
	
	- Updated changelog.
	
2003-06-15 Sunday 04:10  rich

	- Publish the JSEmbedPart as the global property 'part'.
	
	- Added the ability to run code with a specified 'this' object.
	  The default is now to run things with a null this.
	
	- Added an accessor for the XMLActionClient.
	
	- Added support for more slot signatures:
	
	  - mySlot(const KURL &)
	  - mySlot(int,int,int,int)
	
	- Improved console widget
	
	  - Use KLineEdit and a KCompletion rather than a combo.
	  - Added a prompt label with a keyboard accelerator.
	  - QTextEdit -> KTextEdit.
	  - Pass the console widget the part rather than the interpreter.
	
	- Provide access to the default execution context, and the ability to
	  change it.
	
2003-06-09 Monday 08:51  staikos

	Add support for QObjects that can self-bind JS methods.
	Rich: this is more or less just a demo.  It's not the ideal way for this to work
	but I have not been able to find an alternative approach in JS or in C++.  We
	might be stuck with it.  Please review.  We can back it out later if a better
	solution is available.  Meanwhile, it solves my problem with StringBundle.
	
	
2003-06-08 Sunday 03:53  rich

	Added an example that displays a graphical tree
	
2003-06-06 Friday 18:21  staikos

	argh was not supposed to revert the last change
	
2003-06-06 Friday 18:19  staikos

	revert the asserts .. if people want to do this, let it crash
	
2003-06-06 Friday 18:09  staikos

	delete the part on exit
	
2003-06-06 Friday 17:33  staikos

	deparentification
	
	(don't crash)
	
2003-06-06 Friday 05:44  staikos

	assert() the crash case in here so that a developer knows it will happen before
	he gets very far
	
2003-06-06 Friday 05:30  staikos

	directions on how to keep it from crashing if you don't realise what it does
	with double parent objects in the constructor
	
	
2003-05-22 Thursday 22:34  geiseri

	Some fixes for makefile.am
	
2003-05-22 Thursday 21:56  rich

	
	- Fixed some problems with KJS::Identifier support.
	
	- Added a very basic QPainter binding for drawing on QPixmaps. The following
	  drawing operations are supported:
	
	  - void moveTo( int x, int y );
	  - void lineTo( int x, int y );
	  - void drawPoint( int x, int y );
	  - void drawLine( int x1, int y1, int x2, int y2 );
	  - void drawRect( int x, int y, int w, int h );
	  - void drawRoundRect( int x, int y, int w, int h, int = 25, int = 25 );
	  - void drawEllipse( int x, int y, int w, int h );
	  - void drawText( int x, int y, const QString &txt );
	
	- Fixed a problem with the --mainwin option.
	
	- Added another example script.
	
2003-05-19 Monday 15:59  mueller

	CVS_SILENT compiler warnings
	
2003-04-23 Wednesday 06:21  geiseri

	Added a close button so that it could close without hitting the kill
	button.
	
2003-04-03 Thursday 20:55  geiseri

	KJS is mostly ported to the new api.
	
2003-04-03 Thursday 20:55  geiseri

	Start of DCOP support for new KJSEmbed.
	
2003-02-21 Friday 15:36  pmk

	Updated for changes to KJS API - use Identifier instead of UString
	
2003-02-04 Tuesday 22:50  rich

	- Added support for more QWidgets:
	
	  QSplitter, QMainWindow, QProgressDialog.
	
	- Improved dump() function, now spits out a nice HTML table of the
	  properties etc.
	
	- Renamed JSObjectProxy::jscript() to interpreter() (for consistency).
	
	- KJSCmd can now create a KMainWindow (dunno how useful this is
	  without the other additions I'm planning though).
	
2003-02-01 Saturday 03:19  rich

	- Switched order of args to convertToVariant() to match everything
	  else.
	
	- Added a new global method 'dump(Object)' that returns information
	  about the specified object. The information returned depends on the
	  type of the object.
	
2003-02-01 Saturday 00:16  rich

	
	- Renamed KJSEmbedPart::jscript() to KJSEmbedPart::interpreter() for
	  consistency.
	
	- Renamed publish() to addObject(), and publishStdBindings() to
	  addStdBindings(). This is more consistent with QSA, and makes the
	  API more familiar to developers familiar with the rest of KDE/Qt.
	
2003-01-31 Friday 23:52  rich

	
	- Moved loadScript(filename) from main.cpp into the KPart, and renamed
	  the existing loadXX() to executeXX() which is better anyway.
	
	- Added -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST to the build flags.
	
	- Added a standalone factory class. This class is responsible for
	  creating the various objects, and for creating bindings.
	
	- Split the code that creates the standard bindings into individual
	  methods.
	
	- Moved bindings classes into their own namespace KJSEmbed::Bindings,
	  this has affected the Bind_Image, Bind_TextStream, and the XXImp
	  classes.
	
	- Renamed SecurityPolicy to JSSecurityPolicy, and ActionData to
	  XMLActionData.
	
2003-01-15 Wednesday 03:35  rich

	- Remove messagelog
	
2003-01-15 Wednesday 03:34  rich

	
	- Created a KJSEmbedPartImp class which replaces the internal
	  MethodImp and ConstructorImp classes used before. This makes the
	  public header files a lot cleaner, and makes the code easier to
	  follow.
	
	- Created a JSObjectProxyImp class which does the same for
	  JSObjectProxy.
	
	- Removed the legacy isAllowed(...) methods from JSObjectProxy, use
	  the SecurityPolicy class instead.
	
	- Merged the reduntant class MessageLogWidget into JSConsoleWidget.
	
	- Moved Bind_Image and Bind_TextStream to their own files.
	
	- Moved the KJS::Value <-> QVariant functions to jsbinding.
	
	- Improved the JSObjectProxy
	
	  - Tidied up the code for registering and calling slots.
	
	  - The slots(), properties() and children() methods now return
	    Arrays.
	
2003-01-14 Tuesday 20:56  rich

	- Made QVariant <-> KJS::Value conversions standalone methods.
	
	- Made the argument ordering of the create() methods consistant
	  throughout.
	
	- Added accessor to allow you to get the QObject a proxy is bound to.
	
	- Now defines constructors for all the widgets supported by the
	  QWidgetFactory. This change is very important as it eliminates what
	  was the single most noticable difference between the C++ and
	  Javascript objects. Using constructors properly has the added bonus
	  that the Javascript interpreter can now correctly determine the
	  class of the objects.
	
	  - Supported Qt Widgets:
	
	  QPushButton, QToolButton, QCheckBox, QRadioButton,
	  QGroupBox, QButtonGroup, QIconView, QTable,
	  QListBox, QListView, QLineEdit, QSpinBox,
	  QMultiLineEdit, QLabel, TextLabel, PixmapLabel,
	  QLayoutWidget, QTabWidget, QComboBox,
	  QWidget, QDialog, QWizard, QLCDNumber,
	  QProgressBar, QTextView, QTextBrowser,
	  QDial, QSlider, QFrame, Line, QTextEdit,
	  QDateEdit, QTimeEdit, QDateTimeEdit, QScrollBar,
	  QPopupMenu, QWidgetStack, QMainWindow,
	  QDataTable, QDataBrowser, QDataView,
	  QVBox, QHBox, QGrid
	
	  - Supported KDE Widgets:
	
	  KActiveLabel, KCharSelect, KColorButton, KColorCombo,
	  KComboBox, KCModule, KDateWidget, KDatePicker, KDialog,
	  KDualColorButton, KEditListBox, KFontCombo, KGradientSelector,
	  KHistoryCombo, KHSSelector, KLed, KListBox, KListView,
	  KLineEdit, KPasswordEdit, KProgress, KPushButton,
	  KRestrictedLine, KIconButton, KIntSpinBox, KRuler,
	  KSqueezedTextLabel, KTextBrowser, KTextEdit,
	  KURLLabel, KURLRequester,
	  KIntNumInput, KDoubleNumInput, KDoubleSpinBox
	
	- Added constructors for the custom builtin objects Image and
	  TextStream.
	
2003-01-12 Sunday 02:50  rich

	- Added a binding to QImage::smoothScale(w,h,ScaleMin). This should
	  really be handled by the enum property support, but as that doesn't
	  exist yet we'll do it the hard way.
	
	- Added a readFile(name) method to the global JS object. It returns
	  the file contents as a string, or null if the file could not be
	  read.
	
	- Added README files to some of the examples.
	
	- Added a println() method to the global object. The old print()
	  method has been changed so it no longer appends a newline.
	
	- Added an example that generates an image gallery.
	
	  - Thumbnails of the images are created automatically.
	
	  - Descriptions of the images are inserted in the generated page if
	    there is a file called <imgname>.htm.
	
	  - Automatically skips its own thumbnails.
	
	  - Files that aren't understood are ignored so you can just pass '*'
	    when you call it from the command line.
	
	  - Includes an example shellscript that ensures the images are sorted
	    by their modification time.
	
	- Updated copyright info.
	
2003-01-11 Saturday 04:54  rich

	- Added Image binding.
	
	  - Provides a binding to some basic QImage and QImageIO operations.
	  - Added example that prints info about an image.
	  - Added an example that scales an image and writes it in a specified
	  - format.
	
	- Added support for (int, int) slots. I really need to make this code
	  handle the args generically.
	
	- kjscmd now makes args following the script name available to JS as
	  application.args[].
	
	- Strip #! line that contains kjscmd from the script so the scripts
	  can be run just by making them executable.
	
2003-01-06 Monday 23:23  rich

	- Added the tutorial i am working on so people can see how to use this stuff
	
2003-01-06 Monday 22:38  rich

	- Add link to tutorial devel site
	
2003-01-06 Monday 22:09  rich

	KJSEmbed 0.2
	============
	
	Massively updated and improved version of KJSEmbed. Still a few things
	to go though, including the tutorial.
	
	- Fixed i18n of js console widget
	
	- Fixed text spacing in console widget
	
	- Fixed design flaw in security model
	
	  The old model was flawed because sub-proxies would always revert
	  to the default policy rather than using the custom policy defined
	  by a subclass. The policy is now a standalone object, so the problem
	  is fixed.
	
	- Added lots of documentation and a Doxygen config file.
	
	- Extended factory class to create the following types:
	
	  - Any QWidget sub-class
	  - KAction
	  - KToggleAction
	
	- Added a command line tool for invoking js scripts
	
	- Improved JSObjectProxy Massively
	
	  - Create child widgets from a script
	  - Create KActions and KToggleActions from a script
	  - Call slots from scripts
	
	- Added support for additional property types
	
2002-11-29 Friday 17:28  mueller

	backport install dir fix
	
2002-11-29 Friday 17:28  mueller

	install in the right path
	
2002-11-07 Thursday 20:30  coolo

	little cleanup
	
2002-03-08 Friday 18:53  rich

	kdoc fixes
	
2002-03-08 Friday 17:43  rich

	Updates for kjs changes in HEAD
	
2001-11-16 Friday 09:59  faure

	Let $(all_includes) be last otherwise my script gets unhappy ;)
	
2001-11-15 Thursday 19:19  mueller

	ignore
	
2001-11-13 Tuesday 23:38  rich

	Added an example of how to use the example. :-)
	
2001-11-13 Tuesday 22:12  wgreven

	Fix compililation for builddir != srcdir.
	
2001-11-13 Tuesday 20:56  rich

	A library for embedding kjs with transparent bindings to QObjects and
	their properties, a dialog loader and a hook loader for client apps.
	
