This commit is contained in:
kipp%netscape.com 1998-07-18 21:48:26 +00:00
Родитель 39f5530391
Коммит bb5455a632
2 изменённых файлов: 0 добавлений и 218 удалений

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

@ -1,94 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIDocumentWidget_h___
#define nsIDocumentWidget_h___
#include "nsweb.h"
#include "nsRect.h"
#include "nsIWidget.h"
#include "nsIScrollableView.h"
// Forward declarations...
class nsIDeviceContext;
class nsString;
class nsIDocument;
class nsIPresContext;
class nsIStyleSheet;
class nsIViewerContainer;
// IID for the nsIDocumentWidget interface
// a7d1b8b0-0b1c-11d2-beba-00805f8a66dc
#define NS_IDOCUMENTWIDGET_IID \
{ 0xa7d1b8b0, 0x0b1c, 0x11d2, \
{0xbe, 0xba, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0xdc} }
// Interface to the web widget. The web widget is a container for web
// content.
class nsIContentViewer : public nsISupports {
public:
// Create a native window for this web widget; may be called once
NS_IMETHOD Init(nsNativeWidget aNativeParent,
nsIDeviceContext* aDeviceContext,
const nsRect& aBounds,
nsScrollPreference aScrolling = nsScrollPreference_kAuto) = 0;
NS_IMETHOD BindToDocument(nsISupports* aDoc, const char* aCommand) = 0;
NS_IMETHOD SetContainer(nsIViewerContainer* aContainer) = 0;
virtual nsRect GetBounds() = 0;
virtual void SetBounds(const nsRect& aBounds) = 0;
virtual void Move(PRInt32 aX, PRInt32 aY) = 0;
virtual void Show() = 0;
virtual void Hide() = 0;
};
/* 30d26b00-176d-11d2-bec0-00805f8a66dc */
#define NS_IWEBWIDGETVIEWER_IID \
{ 0x30d26b00, 0x176d, 0x11d2, \
{0xbe, 0xc0, 0x00, 0x80, 0x5f, 0x8a, 0x66, 0xdc} }
class nsIWebWidgetViewer : public nsIContentViewer {
public:
NS_IMETHOD Init(nsNativeWidget aNativeParent,
nsIDeviceContext* aDeviceContext,
const nsRect& aBounds,
nsScrollPreference aScrolling = nsScrollPreference_kAuto) = 0;
NS_IMETHOD Init(nsNativeWidget aParent,
const nsRect& aBounds,
nsIDocument* aDocument,
nsIPresContext* aPresContext,
nsScrollPreference aScrolling = nsScrollPreference_kAuto) = 0;
NS_IMETHOD SetUAStyleSheet(nsIStyleSheet* aUAStyleSheet) = 0;
virtual nsIPresContext* GetPresContext() = 0;
};
extern "C" NS_WEB nsresult NS_NewContentViewer(nsIWebWidgetViewer** aViewer);
#endif /* nsIDocumentWidget_h___ */

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

@ -1,124 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsIWebWidget_h___
#define nsIWebWidget_h___
#include "nsweb.h"
#include "nsIScrollableView.h"
// Forward declarations...
class nsIDocument;
class nsIDOMDocument;
class nsILinkHandler;
class nsIPresContext;
class nsIStyleSet;
class nsIStyleSheet;
class nsIStreamObserver;
class nsIPostData;
class nsIContentViewer;
class nsIDeviceContext;
// IID for the nsWebWidget interface
#define NS_IWEBWIDGET_IID \
{ 0x02606880, 0x94e1, 0x11d1, \
{0x89, 0x5c, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
// XXX this doesn't belong here, but to put it elsewhere requires a new header
// CID for the web widget
#define NS_WEBWIDGET_CID \
{ 0xc552f181, 0x8d, 0x11d2, \
{ 0x80, 0x32, 0x0, 0x60, 0x8, 0x15, 0xa7, 0x91 } }
// Interface to the web widget. The web widget is a container for web
// content.
class nsIWebWidget : public nsISupports {
public:
NS_IMETHOD LoadURL(const nsString& aURLSpec,
nsIStreamObserver* aObserver,
nsIPostData* aPostData=nsnull) = 0;
NS_IMETHOD GetContentViewer(nsIContentViewer*& aResult) = 0;
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// XXX from here on down is a mess
// Create a native window for this web widget; may be called once
NS_IMETHOD Init(nsNativeWidget aNativeParent,
const nsRect& aBounds,
nsScrollPreference aScrolling = nsScrollPreference_kAuto) = 0;
// Create a native window for this web widget; may be called once.
// Use the given presentation context and document for the widget
// (this widget becomes a second view on the document using the
// context for presentation).
NS_IMETHOD Init(nsNativeWidget aNativeParent,
const nsRect& aBounds,
nsIDocument* aDocument,
nsIPresContext* aPresContext,
nsScrollPreference aScrolling = nsScrollPreference_kAuto) = 0;
// XXX instead of nsISupports for aContainer, something like nsIContainer would be better
NS_IMETHOD SetContainer(nsISupports* aContainer, PRBool aRelationship = PR_TRUE) = 0;
NS_IMETHOD GetContainer(nsISupports** aResult) = 0;
virtual PRInt32 GetNumChildren() = 0;
NS_IMETHOD AddChild(nsIWebWidget* aChild, PRBool aRelationship = PR_TRUE) = 0;
NS_IMETHOD GetChildAt(PRInt32 aIndex, nsIWebWidget** aChild) = 0;
virtual PRBool GetName(nsString& aName) = 0;
virtual void SetName(const nsString& aName) = 0;
virtual nsIWebWidget* GetWebWidgetWithName(const nsString& aName) = 0;
virtual nsIWebWidget* GetTarget(const nsString& aName) = 0;
virtual nsIWebWidget* GetRootWebWidget() = 0;
NS_IMETHOD SetLinkHandler(nsILinkHandler* aHandler) = 0;
NS_IMETHOD GetLinkHandler(nsILinkHandler** aResult) = 0;
virtual nsRect GetBounds() = 0;
virtual void SetBounds(const nsRect& aBounds) = 0;
virtual void Move(PRInt32 aX, PRInt32 aY) = 0;
virtual void Show() = 0;
virtual void Hide() = 0;
virtual nsIDocument* GetDocument() = 0;
NS_IMETHOD GetDOMDocument(nsIDOMDocument** aDocument) = 0;
virtual nsIPresContext* GetPresContext() = 0;
// Temporary until the parser is re-enterant...
virtual nsIStyleSheet* GetUAStyleSheet() = 0;
NS_IMETHOD SetUAStyleSheet(nsIStyleSheet* aUAStyleSheet) = 0;
};
// Create a new web widget that uses the default (galley) presentation
// context.
extern NS_WEB nsresult NS_NewWebWidget(nsIWebWidget** aInstancePtrResult);
#endif /* nsWebWidget_h___ */