diff options
Diffstat (limited to 'examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java')
-rw-r--r-- | examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java | 306 |
1 files changed, 0 insertions, 306 deletions
diff --git a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java b/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java deleted file mode 100644 index 00382ed994..0000000000 --- a/examples/org.eclipse.swt.examples.ole.win32/src/org/eclipse/swt/examples/ole/win32/OLEExample.java +++ /dev/null @@ -1,306 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.ole.win32; - -import java.io.*; - -import org.eclipse.swt.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.ole.win32.*; -import org.eclipse.swt.widgets.*; - -/** - * OLEExample is an example that uses <code>org.eclipse.swt</code> - * libraries to implement a simple SWT window that can host different Active X - * controls. - * - * @since 3.3 - */ -public class OLEExample { - - OleClientSite clientSite; - OleFrame oleFrame; - Button closeButton; - - public static void main(String[] args) { - Display display = new Display(); - OLEExample example = new OLEExample(); - example.open(display); - display.dispose(); - } - - /** - * Create a file Exit menu item - */ - void addFileMenu(OleFrame frame) { - final Shell shell = frame.getShell(); - Menu menuBar = shell.getMenuBar(); - if (menuBar == null) { - menuBar = new Menu(shell, SWT.BAR); - shell.setMenuBar(menuBar); - } - MenuItem fileMenu = new MenuItem(menuBar, SWT.CASCADE); - fileMenu.setText("&File"); - Menu menuFile = new Menu(fileMenu); - fileMenu.setMenu(menuFile); - frame.setFileMenus(new MenuItem[] { fileMenu }); - - MenuItem menuFileExit = new MenuItem(menuFile, SWT.CASCADE); - menuFileExit.setText("Exit"); - menuFileExit.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - shell.dispose(); - } - }); - } - - void disposeClient() { - if (clientSite != null) - clientSite.dispose(); - clientSite = null; - } - - /** - * Prompt the user for a file and try to open it with some known ActiveX controls. - */ - void fileOpen() { - Shell shell = oleFrame.getShell(); - FileDialog dialog = new FileDialog(shell, SWT.OPEN); - String fileName = dialog.open(); - if (fileName == null) return; - - disposeClient(); - - // try opening a .doc file using Word - if (clientSite == null) { - int index = fileName.lastIndexOf('.'); - if (index != -1) { - String fileExtension = fileName.substring(index + 1); - if (fileExtension.equalsIgnoreCase("doc") || - fileExtension.equalsIgnoreCase("rtf") || - fileExtension.equalsIgnoreCase("txt")) { - try { - clientSite = new OleClientSite(oleFrame, SWT.NONE, "Word.Document", new File(fileName)); - } catch (SWTException error2) { - disposeClient(); - } - } - } - } - - // try opening a xls file with Excel - if (clientSite == null) { - int index = fileName.lastIndexOf('.'); - if (index != -1) { - String fileExtension = fileName.substring(index + 1); - if (fileExtension.equalsIgnoreCase("xls")) { - try { - clientSite = new OleClientSite(oleFrame, SWT.NONE, "Excel.Sheet", new File(fileName)); - } catch (SWTException error2) { - disposeClient(); - } - } - } - } - - // try opening a media file with MPlayer - if (clientSite == null) { - int index = fileName.lastIndexOf('.'); - if (index != -1) { - String fileExtension = fileName.substring(index + 1); - if (fileExtension.equalsIgnoreCase("mpa")) { - try { - clientSite = new OleClientSite(oleFrame, SWT.NONE, "MPlayer", new File(fileName)); - } catch (SWTException error2) { - disposeClient(); - } - } - } - } - - // try opening with wmv, mpg, mpeg, avi, asf, wav with WMPlayer - if (clientSite == null) { - int index = fileName.lastIndexOf('.'); - if (index != -1) { - String fileExtension = fileName.substring(index + 1); - if (fileExtension.equalsIgnoreCase("wmv") - || fileExtension.equalsIgnoreCase("mpg") - || fileExtension.equalsIgnoreCase("mpeg") - || fileExtension.equalsIgnoreCase("avi") - || fileExtension.equalsIgnoreCase("asf") - || fileExtension.equalsIgnoreCase("wav")) { - try { - clientSite = new OleClientSite(oleFrame, SWT.NONE, "WMPlayer.OCX"); - OleAutomation player = new OleAutomation(clientSite); - int playURL[] = player.getIDsOfNames(new String[] { "URL" }); - if (playURL != null) { - boolean suceeded = player.setProperty(playURL[0], new Variant(fileName)); - if (!suceeded) - disposeClient(); - } else { - disposeClient(); - } - player.dispose(); - } catch (SWTException error2) { - disposeClient(); - } - } - } - } - - // try opening a PDF file with Acrobat reader - if (clientSite == null) { - int index = fileName.lastIndexOf('.'); - if (index != -1) { - String fileExtension = fileName.substring(index + 1); - if (fileExtension.equalsIgnoreCase("pdf")) { - try { - clientSite = new OleClientSite(oleFrame, SWT.NONE, "PDF.PdfCtrl.5"); - clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE); - OleAutomation pdf = new OleAutomation (clientSite); - int loadFile[] = pdf.getIDsOfNames (new String [] {"LoadFile"}); - if (loadFile != null) { - Variant result = pdf.invoke(loadFile[0], new Variant[] {new Variant(fileName)}); - if (result == null) - disposeClient(); - else - result.dispose(); - } else { - disposeClient(); - } - pdf.dispose(); - } catch (SWTException error2) { - disposeClient(); - } - } - } - } - - // try opening with Explorer - if (clientSite == null) { - try { - clientSite = new OleClientSite(oleFrame, SWT.NONE, "Shell.Explorer"); - OleAutomation explorer = new OleAutomation(clientSite); - int[] navigate = explorer.getIDsOfNames(new String[]{"Navigate"}); - - if (navigate != null) { - Variant result = explorer.invoke(navigate[0], new Variant[] {new Variant(fileName)}); - if (result == null) - disposeClient(); - else - result.dispose(); - } else { - disposeClient(); - } - explorer.dispose(); - } catch (SWTException error2) { - disposeClient(); - } - } - - if (clientSite != null){ - clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE); - } - } - - void newClientSite(String progID) { - disposeClient(); - try { - clientSite = new OleClientSite(oleFrame, SWT.NONE, progID); - } catch (SWTException error) { - - } - if (clientSite != null) - clientSite.doVerb(OLE.OLEIVERB_INPLACEACTIVATE); - } - - public void open(Display display) { - Shell shell = new Shell(display); - shell.setText("OLE Example"); - shell.setLayout(new FillLayout()); - - Composite parent = new Composite(shell, SWT.NONE); - parent.setLayout(new GridLayout(4, true)); - - Composite buttons = new Composite(parent, SWT.NONE); - buttons.setLayout(new GridLayout()); - GridData gridData = new GridData(SWT.BEGINNING, SWT.FILL, false, false); - buttons.setLayoutData(gridData); - - Composite displayArea = new Composite(parent, SWT.BORDER); - displayArea.setLayout(new FillLayout()); - displayArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1)); - - Button excelButton = new Button(buttons, SWT.RADIO); - excelButton.setText("New Excel Sheet"); - excelButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (((Button) e.widget).getSelection()) - newClientSite("Excel.Sheet"); - } - }); - Button mediaPlayerButton = new Button(buttons, SWT.RADIO); - mediaPlayerButton.setText("New MPlayer"); - mediaPlayerButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (((Button) e.widget).getSelection()) - newClientSite("MPlayer"); - } - }); - Button powerPointButton = new Button(buttons, SWT.RADIO); - powerPointButton.setText("New PowerPoint Slide"); - powerPointButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (((Button) e.widget).getSelection()) - newClientSite("PowerPoint.Slide"); - } - }); - Button wordButton = new Button(buttons, SWT.RADIO); - wordButton.setText("New Word Document"); - wordButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (((Button) e.widget).getSelection()) - newClientSite("Word.Document"); - } - }); - new Label(buttons, SWT.NONE); - Button openButton = new Button(buttons, SWT.RADIO); - openButton.setText("Open file..."); - openButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (((Button) e.widget).getSelection()) - fileOpen(); - } - }); - new Label(buttons, SWT.NONE); - closeButton = new Button(buttons, SWT.RADIO); - closeButton.setText("Close file"); - closeButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (((Button) e.widget).getSelection()) - disposeClient(); - } - }); - closeButton.setSelection(true); - - oleFrame = new OleFrame(displayArea, SWT.NONE); - addFileMenu(oleFrame); - - shell.setSize(800, 600); - shell.open(); - - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) - display.sleep(); - } - } -} |