a=edburns
bug=20659

Make BrowserControl vend a Canvas instead of
BrowserControlCanvas vending a BrowserControl.

This change has nothing to do with mozilla.  It's pure java.
This commit is contained in:
edburns%acm.org 1999-12-03 01:55:31 +00:00
Родитель ded572767e
Коммит 375b331d9b
6 изменённых файлов: 84 добавлений и 53 удалений

Просмотреть файл

@ -52,7 +52,7 @@ import java.awt.*;
* See concrete subclasses for scope info.
* @version $Id: BrowserControlCanvas.java,v 1.4 1999-11-06 02:24:16 dmose%mozilla.org Exp $
* @version $Id: BrowserControlCanvas.java,v 1.5 1999-12-03 01:55:26 edburns%acm.org Exp $
* @see org.mozilla.webclient.win32.Win32BrowserControlCanvas
@ -111,13 +111,10 @@ protected BrowserControlCanvas ()
} // BrowserControlCanvas() ctor
protected static void initialize(String verifiedBinDirAbsolutePath)
protected void initialize(BrowserControl controlImpl)
{
try {
BrowserControlMozillaShim.initialize(verifiedBinDirAbsolutePath);
} catch (Exception e) {
System.out.println(e.toString());
}
ParameterCheck.nonNull(controlImpl);
webShell = controlImpl;
}
/**
@ -151,7 +148,8 @@ public void addNotify ()
try {
Rectangle r = new Rectangle(getBoundsRelativeToWindow());
webShell = new BrowserControlImpl(nativeWindow, r);
Assert.assert(null != webShell);
webShell.createWindow(nativeWindow, r);
} catch (Exception e) {
dsi.unlock();
System.out.println(e.toString());

Просмотреть файл

@ -27,12 +27,15 @@ package org.mozilla.webclient;
// BrowserControlCore.java
import java.awt.Canvas;
import java.awt.Rectangle;
/**
*
* <B>BrowserControlCore</B> Defines the core methods for browsing
*
* @version $Id: BrowserControlCore.java,v 1.3 1999-11-06 02:24:17 dmose%mozilla.org Exp $
* @version $Id: BrowserControlCore.java,v 1.4 1999-12-03 01:55:28 edburns%acm.org Exp $
*
* @see org.mozilla.webclient.BrowserControlExtended
@ -60,6 +63,10 @@ public boolean refresh() throws Exception;
public int getNativeWebShell();
public void createWindow(int windowPtr, Rectangle bounds) throws Exception;
public Canvas getCanvas();
} // end of interface BrowserControlCore

Просмотреть файл

@ -25,7 +25,7 @@
package org.mozilla.webclient;
// BrowserControlCanvasFactory.java
// BrowserControlFactory.java
import org.mozilla.util.Assert;
import org.mozilla.util.Log;
@ -36,20 +36,20 @@ import java.io.FileNotFoundException;
/**
*
* <B>BrowserControlCanvasFactory</B> creates concrete instances of BrowserControlCanvas
* <B>BrowserControlFactory</B> creates concrete instances of BrowserControl
* <B>Lifetime And Scope</B> <P>
* This is a static class, it is neven instantiated.
*
* @version $Id: BrowserControlCanvasFactory.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $
* @version $Id: BrowserControlFactory.java,v 1.1 1999-12-03 01:55:28 edburns%acm.org Exp $
*
* @see org.mozilla.webclient.test.EmbeddedMozilla
*/
public class BrowserControlCanvasFactory extends Object
public class BrowserControlFactory extends Object
{
//
// Protected Constants
@ -75,7 +75,7 @@ public class BrowserControlCanvasFactory extends Object
// Constructors and Initializers
//
public BrowserControlCanvasFactory()
public BrowserControlFactory()
{
Assert.assert(false, "This class shouldn't be constructed.");
}
@ -139,21 +139,32 @@ public static void setAppData(String absolutePathToNativeBrowserBinDir) throws F
throw new ClassNotFoundException("Could not determine WebShellCanvas class to load\n");
}
BrowserControlCanvas.initialize(absolutePathToNativeBrowserBinDir);
try {
BrowserControlMozillaShim.initialize(absolutePathToNativeBrowserBinDir);
}
catch (Exception e) {
throw new ClassNotFoundException("Can't initialize native browser: " +
e.getMessage());
}
appDataHasBeenSet = true;
}
}
public static BrowserControlCanvas newBrowserControlCanvas() throws InstantiationException, IllegalAccessException, IllegalStateException
public static BrowserControl newBrowserControl() throws InstantiationException, IllegalAccessException, IllegalStateException
{
if (!appDataHasBeenSet) {
throw new IllegalStateException("Can't create BrowserControlCanvasInstance: setAppData() has not been called.");
}
Assert.assert(null != browserControlCanvasClass);
BrowserControlCanvas result = null;
result = (BrowserControlCanvas) browserControlCanvasClass.newInstance();
BrowserControlCanvas newCanvas = null;
BrowserControl result = null;
newCanvas = (BrowserControlCanvas) browserControlCanvasClass.newInstance();
if (null != newCanvas &&
null != (result = new BrowserControlImpl(newCanvas))) {
newCanvas.initialize(result);
}
return result;
}
@ -171,22 +182,24 @@ public static void main(String [] args)
{
System.out.println("doing asserts");
Assert.setEnabled(true);
Log.setApplicationName("BrowserControlCanvasFactory");
Log.setApplicationName("BrowserControlFactory");
Log.setApplicationVersion("0.0");
Log.setApplicationVersionDate("$Id: BrowserControlCanvasFactory.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $");
Log.setApplicationVersionDate("$Id: BrowserControlFactory.java,v 1.1 1999-12-03 01:55:28 edburns%acm.org Exp $");
BrowserControlCanvas canvas = null;
java.awt.Canvas canvas = null;
BrowserControl control = null;
try {
BrowserControlCanvasFactory.setAppData(args[0]);
canvas = BrowserControlCanvasFactory.newBrowserControlCanvas();
BrowserControlFactory.setAppData(args[0]);
control = BrowserControlFactory.newBrowserControl();
Assert.assert(control != null);
canvas = control.getCanvas();
Assert.assert(canvas != null);
}
catch (Exception e) {
System.out.println(e.getMessage());
}
Assert.assert(null != canvas);
}
// ----UNIT_TEST_END
} // end of class BrowserControl!CanvasFactory
} // end of class BrowserControlFactory

Просмотреть файл

@ -33,6 +33,7 @@ import org.mozilla.util.Log;
import org.mozilla.util.ParameterCheck;
import java.awt.Rectangle;
import java.awt.Canvas;
/**
*
@ -40,7 +41,7 @@ import java.awt.Rectangle;
*
* <B>Lifetime And Scope</B> <P>
*
* @version $Id: BrowserControlImpl.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $
* @version $Id: BrowserControlImpl.java,v 1.6 1999-12-03 01:55:29 edburns%acm.org Exp $
*
* @see org.mozilla.webclient.BrowserControl
*
@ -71,14 +72,16 @@ public class BrowserControlImpl extends Object implements BrowserControl, EventR
*/
private int nativeWebShell;
private Canvas myCanvas;
//
// Constructors and Initializers
//
public BrowserControlImpl(int windowPtr, Rectangle bounds) throws Exception
protected BrowserControlImpl(Canvas yourCanvas)
{
nativeWebShell = BrowserControlMozillaShim.webShellCreate(windowPtr, bounds);
ParameterCheck.nonNull(yourCanvas);
myCanvas = yourCanvas;
}
//
@ -93,6 +96,16 @@ public BrowserControlImpl(int windowPtr, Rectangle bounds) throws Exception
// Methods from BrowserControl
//
public void createWindow(int windowPtr, Rectangle bounds) throws Exception
{
nativeWebShell = BrowserControlMozillaShim.webShellCreate(windowPtr, bounds);
}
public Canvas getCanvas()
{
return myCanvas;
}
public void loadURL(String urlString) throws Exception
{
BrowserControlMozillaShim.webShellLoadURL(nativeWebShell, urlString);
@ -268,7 +281,7 @@ public static void main(String [] args)
// BrowserControlImpl me = new BrowserControlImpl();
Log.setApplicationName("BrowserControlImpl");
Log.setApplicationVersion("0.0");
Log.setApplicationVersionDate("$Id: BrowserControlImpl.java,v 1.5 1999-11-06 02:24:17 dmose%mozilla.org Exp $");
Log.setApplicationVersionDate("$Id: BrowserControlImpl.java,v 1.6 1999-12-03 01:55:29 edburns%acm.org Exp $");
}

Просмотреть файл

@ -33,6 +33,7 @@ import java.awt.*;
import java.awt.event.*;
import org.mozilla.webclient.*;
import org.mozilla.util.Assert;
/**
*
@ -40,9 +41,9 @@ import org.mozilla.webclient.*;
* This is a test application for using the BrowserControl.
*
* @version $Id: EmbeddedMozilla.java,v 1.4 1999-11-06 02:24:19 dmose%mozilla.org Exp $
* @version $Id: EmbeddedMozilla.java,v 1.5 1999-12-03 01:55:30 edburns%acm.org Exp $
*
* @see org.mozilla.webclient.BrowserControlCanvasFactory
* @see org.mozilla.webclient.BrowserControlFactory
*/
@ -114,29 +115,28 @@ public static void printUsage()
controlPanel.add(buttonsPanel, BorderLayout.WEST);
// Create the browser
BrowserControlCanvas browser = null;
Canvas browserCanvas = null;
try {
BrowserControlCanvasFactory.setAppData(binDir);
browser = BrowserControlCanvasFactory.newBrowserControlCanvas();
BrowserControlFactory.setAppData(binDir);
browserControl = BrowserControlFactory.newBrowserControl();
}
catch(Exception e) {
System.out.println("Can't create BrowserControlCanvas: " +
System.out.println("Can't create BrowserControl: " +
e.getMessage());
}
browser.setSize(defaultWidth, defaultHeight);
browserCanvas = browserControl.getCanvas();
Assert.assert(null != browserCanvas);
browserCanvas.setSize(defaultWidth, defaultHeight);
// Add the control panel and the browser
// Add the control panel and the browserCanvas
add(controlPanel, BorderLayout.NORTH);
add(browser, BorderLayout.CENTER);
add(browserCanvas, BorderLayout.CENTER);
pack();
show();
toFront();
browserControl = browser.getWebShell();
try {
browserControl.loadURL(url);
urlField.setText(url);

Просмотреть файл

@ -33,6 +33,7 @@ import java.awt.event.*;
import javax.swing.*;
import org.mozilla.webclient.*;
import org.mozilla.util.Assert;
/**
*
@ -40,9 +41,9 @@ import org.mozilla.webclient.*;
* This is a test application for using the BrowserControl.
*
* @version $Id: SwingEmbeddedMozilla.java,v 1.2 1999-11-06 02:24:19 dmose%mozilla.org Exp $
* @version $Id: SwingEmbeddedMozilla.java,v 1.3 1999-12-03 01:55:31 edburns%acm.org Exp $
*
* @see org.mozilla.webclient.BrowserControlCanvasFactory
* @see org.mozilla.webclient.BrowserControlFactory
*/
@ -100,21 +101,22 @@ public SwingEmbeddedMozilla (String title, String binDir, String url)
setSize(defaultWidth, defaultHeight);
// Create the browser
BrowserControlCanvas browser = null;
Canvas browserCanvas = null;
try {
BrowserControlCanvasFactory.setAppData(binDir);
browser = BrowserControlCanvasFactory.newBrowserControlCanvas();
BrowserControlFactory.setAppData(binDir);
browserControl = BrowserControlFactory.newBrowserControl();
}
catch(Exception e) {
System.out.println("Can't create BrowserControlCanvas: " +
e.getMessage());
}
browser.setSize(defaultWidth, defaultHeight);
browserCanvas = browserControl.getCanvas();
Assert.assert(null != browserCanvas);
browserCanvas.setSize(defaultWidth, defaultHeight);
// Add the control panel and the browser
contentPane.add(browser, BorderLayout.CENTER);
contentPane.add(browserCanvas, BorderLayout.CENTER);
controlPanel = new CommandPanel(this);
@ -127,8 +129,6 @@ public SwingEmbeddedMozilla (String title, String binDir, String url)
show();
toFront();
browserControl = browser.getWebShell();
// DocumentLoadListener dll;
try {
// dll = new DocumentLoadListener();