зеркало из https://github.com/mozilla/pjs.git
more prompt stuff moved to embedding components. bug 72112 continues
This commit is contained in:
Родитель
f51a753bf8
Коммит
8ea932684d
|
@ -21,16 +21,19 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "nsIGenericFactory.h"
|
#include "nsIGenericFactory.h"
|
||||||
|
#include "nsDialogParamBlock.h"
|
||||||
#include "nsPromptService.h"
|
#include "nsPromptService.h"
|
||||||
#include "nsWindowWatcher.h"
|
#include "nsWindowWatcher.h"
|
||||||
#include "nsAppStartupNotifier.h"
|
#include "nsAppStartupNotifier.h"
|
||||||
|
|
||||||
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDialogParamBlock)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPromptService, Init)
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPromptService, Init)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsWindowWatcher, Init)
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsWindowWatcher, Init)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppStartupNotifier)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppStartupNotifier)
|
||||||
|
|
||||||
static nsModuleComponentInfo components[] = {
|
static nsModuleComponentInfo components[] = {
|
||||||
|
|
||||||
|
{ "Dialog ParamBlock", NS_DIALOGPARAMBLOCK_CID, NS_DIALOGPARAMBLOCK_CONTRACTID, nsDialogParamBlockConstructor },
|
||||||
{ "Prompt Service", NS_PROMPTSERVICE_CID, NS_PROMPTSERVICE_CONTRACTID, nsPromptServiceConstructor },
|
{ "Prompt Service", NS_PROMPTSERVICE_CID, NS_PROMPTSERVICE_CONTRACTID, nsPromptServiceConstructor },
|
||||||
{ "Window Watcher", NS_WINDOWWATCHER_CID, NS_WINDOWWATCHER_CONTRACTID, nsWindowWatcherConstructor },
|
{ "Window Watcher", NS_WINDOWWATCHER_CID, NS_WINDOWWATCHER_CONTRACTID, nsWindowWatcherConstructor },
|
||||||
{ NS_APPSTARTUPNOTIFIER_CLASSNAME, NS_APPSTARTUPNOTIFIER_CID, NS_APPSTARTUPNOTIFIER_CONTRACTID, nsAppStartupNotifierConstructor }
|
{ NS_APPSTARTUPNOTIFIER_CLASSNAME, NS_APPSTARTUPNOTIFIER_CID, NS_APPSTARTUPNOTIFIER_CONTRACTID, nsAppStartupNotifierConstructor }
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
nsIPromptService.idl
|
|
||||||
nsIWindowWatcher.idl
|
|
||||||
nsPIWindowWatcher.idl
|
|
|
@ -29,7 +29,9 @@ include $(DEPTH)/config/autoconf.mk
|
||||||
MODULE = windowwatcher
|
MODULE = windowwatcher
|
||||||
XPIDL_MODULE = windowwatcher
|
XPIDL_MODULE = windowwatcher
|
||||||
|
|
||||||
XPIDLSRCS = nsIPromptService.idl \
|
XPIDLSRCS = nsIDialogParamBlock.idl \
|
||||||
|
nsIPromptService.idl \
|
||||||
|
nsPIPromptService.idl \
|
||||||
nsIWindowWatcher.idl \
|
nsIWindowWatcher.idl \
|
||||||
nsPIWindowWatcher.idl \
|
nsPIWindowWatcher.idl \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
|
@ -23,7 +23,9 @@ DEPTH=..\..\..\..
|
||||||
MODULE=windowwatcher
|
MODULE=windowwatcher
|
||||||
|
|
||||||
XPIDLSRCS = \
|
XPIDLSRCS = \
|
||||||
|
.\nsIDialogParamBlock.idl \
|
||||||
.\nsIPromptService.idl \
|
.\nsIPromptService.idl \
|
||||||
|
.\nsPIPromptService.idl \
|
||||||
.\nsIWindowWatcher.idl \
|
.\nsIWindowWatcher.idl \
|
||||||
.\nsPIWindowWatcher.idl \
|
.\nsPIWindowWatcher.idl \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public
|
||||||
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is Netscape
|
||||||
|
* Communications Corporation. Portions created by Netscape are
|
||||||
|
* Copyright (C) 2001 Netscape Communications Corporation. All
|
||||||
|
* Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "nsISupports.idl"
|
||||||
|
|
||||||
|
[scriptable, uuid(f76c0901-437a-11d3-b7a0-e35db351b4bc)]
|
||||||
|
interface nsIDialogParamBlock: nsISupports {
|
||||||
|
|
||||||
|
void SetNumberStrings( in PRInt32 inNumStrings );
|
||||||
|
PRInt32 GetInt( in PRInt32 inIndex );
|
||||||
|
void SetInt( in PRInt32 inIndex, in PRInt32 inInt );
|
||||||
|
|
||||||
|
wstring GetString( in PRInt32 inIndex );
|
||||||
|
void SetString( in PRInt32 inIndex, in wstring inString);
|
||||||
|
};
|
||||||
|
|
||||||
|
%{C++
|
||||||
|
// {f76c0901-437a-11d3-b7a0-e35db351b4bc}
|
||||||
|
#define NS_DIALOGPARAMBLOCK_IID \
|
||||||
|
{0xf76c0901, 0x437a, 0x11d3, {0xb7, 0xa0, 0xe3, 0x5d, 0xb3, 0x51, 0xb4, 0xbc}}
|
||||||
|
%}
|
||||||
|
|
|
@ -28,7 +28,8 @@ MODULE = embedcomponents
|
||||||
LIBRARY_NAME = windowwatcher_s
|
LIBRARY_NAME = windowwatcher_s
|
||||||
REQUIRES = xpcom string dom windowwatcher widget js xpconnect caps layout uriloader necko docshell locale webbrwsr embed_base gfx2 wallet intl appshell
|
REQUIRES = xpcom string dom windowwatcher widget js xpconnect caps layout uriloader necko docshell locale webbrwsr embed_base gfx2 wallet intl appshell
|
||||||
|
|
||||||
CPPSRCS = nsPrompt.cpp \
|
CPPSRCS = nsDialogParamBlock.cpp \
|
||||||
|
nsPrompt.cpp \
|
||||||
nsPromptService.cpp \
|
nsPromptService.cpp \
|
||||||
nsWWJSUtils.cpp \
|
nsWWJSUtils.cpp \
|
||||||
nsWindowWatcher.cpp \
|
nsWindowWatcher.cpp \
|
||||||
|
|
|
@ -24,6 +24,7 @@ MODULE=embedcomponents
|
||||||
LIBRARY_NAME=windowwatcher_s
|
LIBRARY_NAME=windowwatcher_s
|
||||||
|
|
||||||
CPP_OBJS= \
|
CPP_OBJS= \
|
||||||
|
.\$(OBJDIR)\nsDialogParamBlock.obj \
|
||||||
.\$(OBJDIR)\nsPrompt.obj \
|
.\$(OBJDIR)\nsPrompt.obj \
|
||||||
.\$(OBJDIR)\nsPromptService.obj \
|
.\$(OBJDIR)\nsPromptService.obj \
|
||||||
.\$(OBJDIR)\nsWWJSUtils.obj \
|
.\$(OBJDIR)\nsWWJSUtils.obj \
|
||||||
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public
|
||||||
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is Netscape
|
||||||
|
* Communications Corporation. Portions created by Netscape are
|
||||||
|
* Copyright (C) 2001 Netscape Communications Corporation. All
|
||||||
|
* Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "nsDialogParamBlock.h"
|
||||||
|
#include "nsString.h"
|
||||||
|
|
||||||
|
NS_IMPL_ISUPPORTS1(nsDialogParamBlock, nsIDialogParamBlock)
|
||||||
|
|
||||||
|
nsDialogParamBlock::nsDialogParamBlock() : mNumStrings(0), mString(NULL)
|
||||||
|
{
|
||||||
|
NS_INIT_REFCNT();
|
||||||
|
|
||||||
|
for(PRInt32 i = 0; i < kNumInts; i++)
|
||||||
|
mInt[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
nsDialogParamBlock::~nsDialogParamBlock()
|
||||||
|
{
|
||||||
|
delete [] mString;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP nsDialogParamBlock::SetNumberStrings(PRInt32 inNumStrings)
|
||||||
|
{
|
||||||
|
if (mString != NULL)
|
||||||
|
return NS_ERROR_ALREADY_INITIALIZED;
|
||||||
|
|
||||||
|
mString = new nsString[inNumStrings];
|
||||||
|
if (!mString)
|
||||||
|
return NS_ERROR_OUT_OF_MEMORY;
|
||||||
|
mNumStrings = inNumStrings;
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NS_IMETHODIMP nsDialogParamBlock::GetInt(PRInt32 inIndex, PRInt32 *_retval)
|
||||||
|
{
|
||||||
|
nsresult rv = InBounds(inIndex, kNumInts);
|
||||||
|
if (rv == NS_OK)
|
||||||
|
*_retval = mInt[inIndex];
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP nsDialogParamBlock::SetInt(PRInt32 inIndex, PRInt32 inInt)
|
||||||
|
{
|
||||||
|
nsresult rv = InBounds(inIndex, kNumInts);
|
||||||
|
if (rv == NS_OK)
|
||||||
|
mInt[inIndex]= inInt;
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NS_IMETHODIMP nsDialogParamBlock::GetString(PRInt32 inIndex, PRUnichar **_retval)
|
||||||
|
{
|
||||||
|
if (mNumStrings == 0)
|
||||||
|
SetNumberStrings(kNumStrings);
|
||||||
|
nsresult rv = InBounds(inIndex, mNumStrings);
|
||||||
|
if (rv == NS_OK)
|
||||||
|
*_retval = mString[inIndex].ToNewUnicode();
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP nsDialogParamBlock::SetString(PRInt32 inIndex, const PRUnichar *inString)
|
||||||
|
{
|
||||||
|
if (mNumStrings == 0)
|
||||||
|
SetNumberStrings(kNumStrings);
|
||||||
|
nsresult rv = InBounds(inIndex, mNumStrings);
|
||||||
|
if (rv == NS_OK)
|
||||||
|
mString[inIndex]= inString;
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public
|
||||||
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is Netscape
|
||||||
|
* Communications Corporation. Portions created by Netscape are
|
||||||
|
* Copyright (C) 2001 Netscape Communications Corporation. All
|
||||||
|
* Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __nsDialogParamBlock_h
|
||||||
|
#define __nsDialogParamBlock_h
|
||||||
|
|
||||||
|
#include "nsIDialogParamBlock.h"
|
||||||
|
|
||||||
|
// {c01ad085-4915-11d3-b7a0-85cf55c3523c}
|
||||||
|
#define NS_DIALOGPARAMBLOCK_CID \
|
||||||
|
{0xa2112d6a, 0x0e28, 0x421f, {0xb4, 0x6a, 0x25, 0xc0, 0xb3, 0x8, 0xcb, 0xd0}}
|
||||||
|
#define NS_DIALOGPARAMBLOCK_CONTRACTID \
|
||||||
|
"@mozilla.org/embedcomp/dialogparam;1"
|
||||||
|
|
||||||
|
class nsString;
|
||||||
|
|
||||||
|
class nsDialogParamBlock: public nsIDialogParamBlock
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
nsDialogParamBlock();
|
||||||
|
virtual ~nsDialogParamBlock();
|
||||||
|
|
||||||
|
NS_DECL_NSIDIALOGPARAMBLOCK
|
||||||
|
NS_DECL_ISUPPORTS
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
enum {kNumInts = 8, kNumStrings = 16};
|
||||||
|
|
||||||
|
nsresult InBounds(PRInt32 inIndex, PRInt32 inMax) {
|
||||||
|
return inIndex >= 0 && inIndex < inMax ? NS_OK : NS_ERROR_ILLEGAL_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
PRInt32 mInt[kNumInts];
|
||||||
|
PRInt32 mNumStrings;
|
||||||
|
nsString* mString;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
Загрузка…
Ссылка в новой задаче