return null;
}
}
protected static Control createControl(Composite parent, Object[] parameters) {
final OleFrame frame = new OleFrame(parent, SWT.NONE);
OleControlSite site;
try {
site = new OleControlSite(frame, SWT.NONE, "Shell.Explorer");
configureOleFrame(site, frame);
// Add a listener
OleAutomation shellExplorer = new OleAutomation(site);
int[] dispIDs = shellExplorer.getIDsOfNames(new String[] {"Application"});
Variant pVarResult = shellExplorer.getProperty(dispIDs[0]);
final OleAutomation application = pVarResult.getAutomation();
frame.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
application.dispose();
}
});
pVarResult.dispose();
shellExplorer.dispose();
OleListener listener = new OleListener() {
public void handleEvent (OleEvent e) {
Variant[] args = e.arguments;
String url = args[1].getString();
// two arguments which must be released
for (int i = 0; i < args.length; i++) {
args[i].dispose();
}
new CMJ_sendDocumentCompleteEvent().asyncExec(frame, url);
}
};
site.addEventListener(application, IID_DWebBrowserEvents2, DocumentComplete, listener);
} catch(SWTException e) {
e.printStackTrace();
frame.dispose();
return null;
}
site.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
return frame;
}