65 lines
1.6 KiB
JavaScript
65 lines
1.6 KiB
JavaScript
![]() |
/*
|
||
|
Copyright (c) 2004-2006, The Dojo Foundation
|
||
|
All Rights Reserved.
|
||
|
|
||
|
Licensed under the Academic Free License version 2.1 or above OR the
|
||
|
modified BSD license. For more information on Dojo licensing, see:
|
||
|
|
||
|
http://dojotoolkit.org/community/licensing.shtml
|
||
|
*/
|
||
|
|
||
|
dojo.provide("dojo.widget.SwtWidget");
|
||
|
|
||
|
dojo.require("dojo.event.*");
|
||
|
dojo.require("dojo.widget.Widget");
|
||
|
dojo.require("dojo.uri.*");
|
||
|
dojo.require("dojo.lang.func");
|
||
|
dojo.require("dojo.lang.extras");
|
||
|
|
||
|
try{
|
||
|
importPackage(Packages.org.eclipse.swt.widgets);
|
||
|
|
||
|
dojo.declare("dojo.widget.SwtWidget", dojo.widget.Widget, {
|
||
|
initializer: function() {
|
||
|
if((arguments.length>0)&&(typeof arguments[0] == "object")){
|
||
|
this.create(arguments[0]);
|
||
|
}
|
||
|
},
|
||
|
|
||
|
display: null,
|
||
|
shell: null,
|
||
|
|
||
|
show: function(){ },
|
||
|
hide: function(){ },
|
||
|
|
||
|
addChild: function(){ },
|
||
|
registerChild: function(){ },
|
||
|
addWidgetAsDirectChild: function(){ },
|
||
|
removeChild: function(){ },
|
||
|
cleanUp: function(){ },
|
||
|
destroyRendering: function(){ },
|
||
|
postInitialize: function(){ },
|
||
|
});
|
||
|
|
||
|
// initialize SWT runtime
|
||
|
|
||
|
dojo.widget.SwtWidget.prototype.display = new Display();
|
||
|
dojo.widget.SwtWidget.prototype.shell = new Shell(dojo.widget.SwtWidget.prototype.display);
|
||
|
|
||
|
dojo.widget.manager.startShell = function(){
|
||
|
var sh = dojo.widget.SwtWidget.prototype.shell;
|
||
|
var d = dojo.widget.SwtWidget.prototype.display;
|
||
|
sh.open();
|
||
|
while(!sh.isDisposed()){
|
||
|
dojo.widget.manager.doNext();
|
||
|
if(!d.readAndDispatch()){
|
||
|
d.sleep();
|
||
|
}
|
||
|
}
|
||
|
d.dispose();
|
||
|
};
|
||
|
}catch(e){
|
||
|
// seems we didn't have the SWT classes in the environment. Log it.
|
||
|
dojo.debug("dojo.widget.SwtWidget not loaded. SWT classes not available");
|
||
|
}
|