From ce1c6fcd3408a0b1384e2a25b4e0b2ee1214234d Mon Sep 17 00:00:00 2001 From: "rods%netscape.com" Date: Thu, 18 Feb 1999 21:52:27 +0000 Subject: [PATCH] Completed work on -width and -height for specifying the initial size of the window --- xpfe/appshell/public/nsIAppShellService.h | 6 ++++-- xpfe/appshell/src/nsAppShellService.cpp | 17 +++++++++++------ xpfe/appshell/src/nsWebShellWindow.cpp | 11 +++++++---- xpfe/appshell/src/nsWebShellWindow.h | 6 ++++-- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/xpfe/appshell/public/nsIAppShellService.h b/xpfe/appshell/public/nsIAppShellService.h index 89075b9e9eb1..ce0effbe3a9a 100644 --- a/xpfe/appshell/public/nsIAppShellService.h +++ b/xpfe/appshell/public/nsIAppShellService.h @@ -50,11 +50,13 @@ public: NS_IMETHOD CreateTopLevelWindow(nsIURL* aUrl, nsString& aControllerIID, - nsIWidget*& aResult, nsIStreamObserver* anObserver) = 0; + nsIWidget*& aResult, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight) = 0; NS_IMETHOD CreateDialogWindow(nsIWidget * aParent, nsIURL* aUrl, nsString& aControllerIID, - nsIWidget*& aResult, nsIStreamObserver* anObserver) = 0; + nsIWidget*& aResult, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight) = 0; NS_IMETHOD CloseTopLevelWindow(nsIWidget* aWindow) = 0; NS_IMETHOD RegisterTopLevelWindow(nsIWidget* aWindow) = 0; NS_IMETHOD UnregisterTopLevelWindow(nsIWidget* aWindow) = 0; diff --git a/xpfe/appshell/src/nsAppShellService.cpp b/xpfe/appshell/src/nsAppShellService.cpp index ce27077b1e07..83bc9ea68765 100644 --- a/xpfe/appshell/src/nsAppShellService.cpp +++ b/xpfe/appshell/src/nsAppShellService.cpp @@ -66,11 +66,13 @@ public: NS_IMETHOD DispatchNativeEvent(void * aEvent); NS_IMETHOD Shutdown(void); NS_IMETHOD CreateTopLevelWindow(nsIURL* aUrl, nsString& aControllerIID, - nsIWidget*& aResult, nsIStreamObserver* anObserver); + nsIWidget*& aResult, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight); NS_IMETHOD CreateDialogWindow(nsIWidget * aParent, nsIURL* aUrl, nsString& aControllerIID, - nsIWidget*& aResult, nsIStreamObserver* anObserver); + nsIWidget*& aResult, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight); NS_IMETHOD CloseTopLevelWindow(nsIWidget* aWindow); NS_IMETHOD RegisterTopLevelWindow(nsIWidget* aWindow); NS_IMETHOD UnregisterTopLevelWindow(nsIWidget* aWindow); @@ -202,7 +204,8 @@ nsAppShellService::Shutdown(void) */ NS_IMETHODIMP nsAppShellService::CreateTopLevelWindow(nsIURL* aUrl, nsString& aControllerIID, - nsIWidget*& aResult, nsIStreamObserver* anObserver) + nsIWidget*& aResult, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight) { nsresult rv; nsWebShellWindow* window; @@ -211,7 +214,7 @@ nsAppShellService::CreateTopLevelWindow(nsIURL* aUrl, nsString& aControllerIID, if (nsnull == window) { rv = NS_ERROR_OUT_OF_MEMORY; } else { - rv = window->Initialize(mAppShell, aUrl, aControllerIID, anObserver); + rv = window->Initialize(mAppShell, aUrl, aControllerIID, anObserver, aInitialWidth, aInitialHeight); if (NS_SUCCEEDED(rv)) { aResult = window->GetWidget(); RegisterTopLevelWindow(aResult); @@ -247,7 +250,8 @@ nsAppShellService::CloseTopLevelWindow(nsIWidget* aWindow) NS_IMETHODIMP nsAppShellService::CreateDialogWindow(nsIWidget * aParent, nsIURL* aUrl, nsString& aControllerIID, - nsIWidget*& aResult, nsIStreamObserver* anObserver) + nsIWidget*& aResult, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight) { nsresult rv; nsWebShellWindow* window; @@ -256,7 +260,8 @@ nsAppShellService::CreateDialogWindow(nsIWidget * aParent, if (nsnull == window) { rv = NS_ERROR_OUT_OF_MEMORY; } else { - rv = window->Initialize(nsnull, mAppShell, aUrl, aControllerIID, anObserver); + rv = window->Initialize(nsnull, mAppShell, aUrl, aControllerIID, anObserver, + aInitialWidth, aInitialHeight); if (NS_SUCCEEDED(rv)) { mWindowList->AppendElement((nsIWebShellContainer*)window); aResult = window->GetWidget(); diff --git a/xpfe/appshell/src/nsWebShellWindow.cpp b/xpfe/appshell/src/nsWebShellWindow.cpp index 67bd2b60354c..6cf9b3d05f11 100644 --- a/xpfe/appshell/src/nsWebShellWindow.cpp +++ b/xpfe/appshell/src/nsWebShellWindow.cpp @@ -165,14 +165,17 @@ nsWebShellWindow::QueryInterface(REFNSIID aIID, void** aInstancePtr) nsresult nsWebShellWindow::Initialize(nsIAppShell* aShell, nsIURL* aUrl, - nsString& aControllerIID, nsIStreamObserver* anObserver) + nsString& aControllerIID, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight) { - return Initialize(nsnull, aShell, aUrl, aControllerIID, anObserver); + return Initialize(nsnull, aShell, aUrl, aControllerIID, anObserver, + aInitialWidth, aInitialHeight); } nsresult nsWebShellWindow::Initialize(nsIWidget* aParent, nsIAppShell* aShell, nsIURL* aUrl, - nsString& aControllerIID, nsIStreamObserver* anObserver) + nsString& aControllerIID, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight) { nsresult rv; @@ -183,7 +186,7 @@ nsresult nsWebShellWindow::Initialize(nsIWidget* aParent, // XXX: need to get the default window size from prefs... - nsRect r(0, 0, 650, 618); + nsRect r(0, 0, aInitialWidth, aInitialHeight); nsWidgetInitData initData; diff --git a/xpfe/appshell/src/nsWebShellWindow.h b/xpfe/appshell/src/nsWebShellWindow.h index 0a1d67aa2547..54b677923380 100644 --- a/xpfe/appshell/src/nsWebShellWindow.h +++ b/xpfe/appshell/src/nsWebShellWindow.h @@ -89,8 +89,10 @@ public: NS_IMETHOD GetWidget(nsIWidget *& aWidget); // nsWebShellWindow methods... - nsresult Initialize(nsIAppShell* aShell, nsIURL* aUrl, nsString& aControllerIID, nsIStreamObserver* anObserver); - nsresult Initialize(nsIWidget * aParent, nsIAppShell* aShell, nsIURL* aUrl, nsString& aControllerIID, nsIStreamObserver* anObserver); + nsresult Initialize(nsIAppShell* aShell, nsIURL* aUrl, nsString& aControllerIID, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight); + nsresult Initialize(nsIWidget * aParent, nsIAppShell* aShell, nsIURL* aUrl, nsString& aControllerIID, nsIStreamObserver* anObserver, + PRInt32 aInitialWidth, PRInt32 aInitialHeight); nsIWidget* GetWidget(void) { return mWindow; } // nsIDocumentLoaderObserver