
Classes to be bound or created in JS:

Kst		General Kst object (static global) - effectively "document"
Debug		DONE (.log property unfinished)
Vector		DONE
DataVector	DONE
Scalar		DONE
String		DONE
DataSource	DONE
Point		DONE (simply x,y)
Document	DONE	
Matrix

Equation	DONE
PowerSpectrum	DONE
Fit
Filter
Plugin		DONE (needs work)
Histogram	DONE (issue with the type of histogram remains)
Curve		DONE (maybe still do some minX etc stuff)
Image		Name?
Plot		DONE (needs many more functions/properties)
Window		DONE (needs more functions/properties)


Label		     (not implemented in Kst yet)
PlotLabel	DONE
PlotLegend	DONE (needs more functions/properties)

KstUIMerge
	- Global object used to load XMLUI files for merging.
	KstJSUIBuilder loadGUI(string filename);
		Load an XMLUI file for merging with Kst's GUI.
		@param filename The filename of the .rc file to load
		@returns KstJSUIBuilder with the XMLUI loaded and ready to
			merge.
KstJSUIBuilder
	- Object containing an action collection and XMLUI ready for merging.
	KActionCollection actionCollection();
		Obtain a reference to the action collection for creating new
		actions.
		@returns KActionCollection for storing newly created actions to
			be merged with Kst's GUI.
	void merge();
		Merge the action collection with Kst's GUI according to the
		rules of the loaded XMLUI file.  Must be called after all
		actions are created as a part of the actionCollection().
KActionCollection
	- See C++ documentation for KActionCollection.  Simply a list of
	actions.


_______________________________________________________________________________

Working With The UI
-------------------

User interfaces can be created with JavaScript, both manually via QWidget
bindings, and with Qt Designer.  Using Qt Designer is the preferred method and
can be accomplished as follows.

	var dialog = Factory.loadui("myuserinterface.ui");
	var button = dialog.getElementById('ok');
	button.connect(button, 'clicked()', someobject, 'okClicked_void');

All widgets need to be named appropriately as they are clearly referenced from
the XML designer file via DOM methods by their widget name.

It is almost always the case that code that uses widgets or dialogs will want
to create a class to organize the data and UI and create slots for the signals
generated by the UI elements.


Menu entries can be merged into the Kst menus by creating KActions and loading
an appropriate XMLUI rc file:

	var gui = KstUIMerge.loadGUI("myuserinterface.rc");
	var action = new KAction(gui.actionCollection(), "my_action_name");
	action.text = "&Name Of My Action";
	action.connect(action, 'activated()', someobject, 'show');
	gui.merge();
_______________________________________________________________________________

Consistency
-----------

In all cases it is a priority to implement bindings so that they are consistent
across all objects.  For instance, if one class uses .xVector, another class
should not use .xV or .XVector or .vectors.x
_______________________________________________________________________________



