зеркало из https://github.com/mozilla/pjs.git
Adding CalendarModel framework to core
This commit is contained in:
Родитель
f0619b2c17
Коммит
97039a42ac
|
@ -25,6 +25,7 @@ PRIVATE_EXPORTS = \
|
|||
nsCalUser.h \
|
||||
nsCalUserList.h \
|
||||
nsCalendarUser.h \
|
||||
nsCalendarModel.h \
|
||||
$(NULL)
|
||||
|
||||
MODULE = trex
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
/* -*- 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 nsCalendarModel_h___
|
||||
#define nsCalendarModel_h___
|
||||
|
||||
#include "nscalexport.h"
|
||||
#include "nsIModel.h"
|
||||
#include "nsICalendarModel.h"
|
||||
#include "nsICalendarUser.h"
|
||||
|
||||
class nsCalendarModel : public nsICalendarModel
|
||||
{
|
||||
|
||||
public:
|
||||
nsCalendarModel(nsISupports* outer);
|
||||
~nsCalendarModel();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
NS_IMETHOD Init();
|
||||
|
||||
NS_IMETHOD GetCalendarUser(nsICalendarUser *& aCalendarUser);
|
||||
NS_IMETHOD SetCalendarUser(nsICalendarUser* aCalendarUser);
|
||||
|
||||
protected:
|
||||
nsICalendarUser * mCalendarUser;
|
||||
|
||||
};
|
||||
|
||||
#endif //nsCalendarModel_h___
|
|
@ -39,4 +39,9 @@
|
|||
{ 0x6858eab0, 0x4cd8, 0x11d2, \
|
||||
{0x92, 0x4a, 0x00, 0x80, 0x5f, 0x8a, 0x7a, 0xb6} }
|
||||
|
||||
// fd439e90-4e67-11d2-924a-00805f8a7ab6
|
||||
#define NS_CALENDAR_MODEL_CID \
|
||||
{ 0xfd439e90, 0x4e67, 0x11d2, \
|
||||
{0x92, 0x4a, 0x00, 0x80, 0x5f, 0x8a, 0x7a, 0xb6} }
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
#
|
||||
# CONFIDENTIAL AND PROPRIETARY SOURCE CODE OF
|
||||
# NETSCAPE COMMUNICATIONS CORPORATION
|
||||
# Copyright (C) 1996 Netscape Communications Corporation. All Rights
|
||||
# Reserved. Use of this Source Code is subject to the terms of the
|
||||
# applicable license agreement from Netscape Communications Corporation.
|
||||
# The copyright notice(s) in this Source Code does not indicate actual or
|
||||
# intended publication of this Source Code.
|
||||
#
|
||||
GDEPTH = ../../../..
|
||||
DEPTH = ../../../..
|
||||
|
||||
EXPORTS = \
|
||||
nsILayer.h \
|
||||
nsILayerCollection.h \
|
||||
nsICalendarUser.h \
|
||||
$(NULL)
|
||||
|
||||
PRIVATE_EXPORTS = \
|
||||
$(NULL)
|
||||
|
||||
MODULE = trex
|
||||
|
||||
REQUIRES = raptor shell
|
|
@ -0,0 +1,43 @@
|
|||
/* -*- 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 nsICalendarModel_h___
|
||||
#define nsICalendarModel_h___
|
||||
|
||||
#include "nsISupports.h"
|
||||
#include "nsILayer.h"
|
||||
|
||||
//317353e0-4e66-11d2-924a-00805f8a7ab6
|
||||
#define NS_ICALENDAR_MODEL_IID \
|
||||
{ 0x317353e0, 0x4e66, 0x11d2, \
|
||||
{ 0x92, 0x4a, 0x00, 0x80, 0x5f, 0x8a, 0x7a, 0xb6 } }
|
||||
|
||||
class nsICalendarUser ;
|
||||
|
||||
class nsICalendarModel : public nsISupports
|
||||
{
|
||||
|
||||
public:
|
||||
NS_IMETHOD Init() = 0;
|
||||
|
||||
NS_IMETHOD GetCalendarUser(nsICalendarUser *& aCalendarUser) = 0;
|
||||
NS_IMETHOD SetCalendarUser(nsICalendarUser* aCalendarUser) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif /* nsICalendarModel */
|
|
@ -29,6 +29,7 @@ CPPSRCS = \
|
|||
nsLayerCollection.cpp \
|
||||
nsCoreFactory.cpp \
|
||||
nsCalendarUser.cpp \
|
||||
nsCalendarModel.cpp \
|
||||
$(NULL)
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
/* -*- 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.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "nscore.h"
|
||||
#include "nsCalendarModel.h"
|
||||
#include "nsCoreCIID.h"
|
||||
#include "nsxpfcCIID.h"
|
||||
#include "nsICalendarUser.h"
|
||||
|
||||
static NS_DEFINE_IID(kICalendarModelIID, NS_ICALENDAR_MODEL_IID);
|
||||
static NS_DEFINE_IID(kIModelIID, NS_IMODEL_IID);
|
||||
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
|
||||
nsCalendarModel::nsCalendarModel(nsISupports* outer)
|
||||
{
|
||||
NS_INIT_REFCNT();
|
||||
mCalendarUser = nsnull;
|
||||
}
|
||||
|
||||
nsresult nsCalendarModel::QueryInterface(REFNSIID aIID, void** aInstancePtr)
|
||||
{
|
||||
|
||||
if (NULL == aInstancePtr) {
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
}
|
||||
static NS_DEFINE_IID(kClassIID, kICalendarModelIID);
|
||||
|
||||
if (aIID.Equals(kClassIID)) {
|
||||
*aInstancePtr = (void*) this;
|
||||
AddRef();
|
||||
return NS_OK;
|
||||
}
|
||||
if (aIID.Equals(kISupportsIID)) {
|
||||
*aInstancePtr = (void*) (this);
|
||||
AddRef();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
return (NS_NOINTERFACE);
|
||||
|
||||
}
|
||||
|
||||
|
||||
NS_IMPL_ADDREF(nsCalendarModel)
|
||||
NS_IMPL_RELEASE(nsCalendarModel)
|
||||
|
||||
nsCalendarModel::~nsCalendarModel()
|
||||
{
|
||||
mCalendarUser = nsnull; // Do Not Release
|
||||
}
|
||||
|
||||
nsresult nsCalendarModel::Init()
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsCalendarModel :: GetCalendarUser(nsICalendarUser *& aCalendarUser)
|
||||
{
|
||||
aCalendarUser = mCalendarUser;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsCalendarModel :: SetCalendarUser(nsICalendarUser* aCalendarUser)
|
||||
{
|
||||
mCalendarUser = aCalendarUser;
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
@ -23,14 +23,15 @@
|
|||
|
||||
#include "nsLayer.h"
|
||||
#include "nsCalendarUser.h"
|
||||
#include "nsCalendarModel.h"
|
||||
|
||||
static NS_DEFINE_IID(kILayerIID, NS_ILAYER_IID);
|
||||
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
|
||||
static NS_DEFINE_IID(kICalUSerIID, NS_ICALENDAR_USER_IID);
|
||||
|
||||
static NS_DEFINE_IID(kCLayerCID, NS_LAYER_CID);
|
||||
static NS_DEFINE_IID(kCCalendarUserCID, NS_CALENDAR_USER_CID);
|
||||
static NS_DEFINE_IID(kILayerIID, NS_ILAYER_IID);
|
||||
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
||||
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
|
||||
static NS_DEFINE_IID(kICalUSerIID, NS_ICALENDAR_USER_IID);
|
||||
static NS_DEFINE_IID(kCLayerCID, NS_LAYER_CID);
|
||||
static NS_DEFINE_IID(kCCalendarUserCID, NS_CALENDAR_USER_CID);
|
||||
static NS_DEFINE_IID(kCCalendarModelCID, NS_CALENDAR_MODEL_CID);
|
||||
|
||||
class nsCoreFactory : public nsIFactory
|
||||
{
|
||||
|
@ -121,6 +122,8 @@ nsresult nsCoreFactory::CreateInstance(nsISupports *aOuter,
|
|||
inst = (nsISupports *)new nsLayer(aOuter);
|
||||
} else if (mClassID.Equals(kCCalendarUserCID)) {
|
||||
inst = (nsISupports *)new nsCalendarUser(aOuter);
|
||||
} else if (mClassID.Equals(kCCalendarModelCID)) {
|
||||
inst = (nsISupports *)new nsCalendarModel(aOuter);
|
||||
}
|
||||
|
||||
if (inst == NULL) {
|
||||
|
|
|
@ -32,7 +32,6 @@ LD_LIBS += \
|
|||
jpeg$(MOZ_BITS)$(VERSION_NUMBER) \
|
||||
js$(MOZ_BITS)$(VERSION_NUMBER) \
|
||||
jsdom \
|
||||
jsj$(MOZ_BITS)$(VERSION_NUMBER) \
|
||||
mimetype \
|
||||
netlib \
|
||||
remoturl \
|
||||
|
|
|
@ -51,6 +51,8 @@
|
|||
#include "nsCoreCIID.h"
|
||||
#include "nsLayer.h"
|
||||
#include "nsCalUser.h"
|
||||
#include "nsCalendarUser.h"
|
||||
#include "nsCalendarModel.h"
|
||||
|
||||
/* for CAPI to work in general form */
|
||||
#include "nsCapiCallbackReader.h"
|
||||
|
@ -92,6 +94,8 @@ static NS_DEFINE_IID(kCCapiLocalCID, NS_CAPI_LOCAL_CID);
|
|||
static NS_DEFINE_IID(kCCapiCSTCID, NS_CAPI_CST_CID);
|
||||
static NS_DEFINE_IID(kCLayerCID, NS_LAYER_CID);
|
||||
static NS_DEFINE_IID(kCLayerCollectionCID, NS_LAYER_COLLECTION_CID);
|
||||
static NS_DEFINE_IID(kCCalendarUserCID, NS_CALENDAR_USER_CID);
|
||||
static NS_DEFINE_IID(kCCalendarModelCID, NS_CALENDAR_MODEL_CID);
|
||||
|
||||
// All Application Must implement this function
|
||||
nsresult NS_RegisterApplicationShellFactory()
|
||||
|
@ -695,6 +699,8 @@ nsresult nsCalendarShell::RegisterFactories()
|
|||
nsRepository::RegisterFactory(kCCapiCSTCID, CAPI_DLL, PR_FALSE, PR_FALSE);
|
||||
|
||||
// Register the Core Implementations
|
||||
nsRepository::RegisterFactory(kCCalendarUserCID, CORE_DLL, PR_FALSE, PR_FALSE);
|
||||
nsRepository::RegisterFactory(kCCalendarModelCID, CORE_DLL, PR_FALSE, PR_FALSE);
|
||||
nsRepository::RegisterFactory(kCLayerCID, CORE_DLL, PR_FALSE, PR_FALSE);
|
||||
nsRepository::RegisterFactory(kCLayerCollectionCID, CORE_DLL, PR_FALSE, PR_FALSE);
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ LD_LIBS += \
|
|||
jpeg$(MOZ_BITS)$(VERSION_NUMBER) \
|
||||
js$(MOZ_BITS)$(VERSION_NUMBER) \
|
||||
jsdom \
|
||||
jsj$(MOZ_BITS)$(VERSION_NUMBER) \
|
||||
mimetype \
|
||||
netlib \
|
||||
remoturl \
|
||||
|
|
|
@ -28,6 +28,7 @@ LD_LIBS += \
|
|||
nscnv$(MOZ_BITS)30 \
|
||||
nssb$(MOZ_BITS)30 \
|
||||
xpfc10 \
|
||||
calcore10 \
|
||||
$(XP_REG_LIB)
|
||||
|
||||
AR_LIBS += \
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include "nsIImageObserver.h"
|
||||
#include "nsIImageRequest.h"
|
||||
#include "nsIView.h"
|
||||
#include "nsIModel.h"
|
||||
|
||||
CLASS_EXPORT_XPFC nsXPFCCanvas : public nsIXPFCCanvas,
|
||||
public nsIXPFCObserver,
|
||||
|
@ -70,6 +71,9 @@ public:
|
|||
NS_IMETHOD_(nsString&) GetLabel();
|
||||
NS_IMETHOD SetLabel(nsString& aString);
|
||||
|
||||
NS_IMETHOD_(nsIModel *) GetModel();
|
||||
NS_IMETHOD SetModel(nsIModel * aModel);
|
||||
|
||||
NS_IMETHOD SetBounds(const nsRect& aBounds);
|
||||
NS_IMETHOD_(void) GetBounds(nsRect& aRect);
|
||||
|
||||
|
@ -274,6 +278,7 @@ private:
|
|||
nsFont mFont;
|
||||
PRUint32 mTabID;
|
||||
PRUint32 mTabGroup;
|
||||
nsIModel * mModel;
|
||||
|
||||
protected:
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@
|
|||
#include "nsIFontMetrics.h"
|
||||
#include "nsIRenderingContext.h"
|
||||
|
||||
class nsIModel;
|
||||
|
||||
// IID for the nsIXPFCCanvas interface
|
||||
#define NS_IXPFC_CANVAS_IID \
|
||||
{ 0x6bc9da40, 0xe9e7, 0x11d1, \
|
||||
|
@ -93,6 +95,13 @@ public:
|
|||
NS_IMETHOD_(nsILayout *) GetLayout() = 0;
|
||||
NS_IMETHOD SetLayout(nsILayout * aLayout) = 0;
|
||||
|
||||
/**
|
||||
* Get a pointer to the object implementing the nsIModel interface for this canvas
|
||||
* @result nsIModel pointer, nsnull if no model object assigned, else a pointer to the model object
|
||||
*/
|
||||
NS_IMETHOD_(nsIModel *) GetModel() = 0;
|
||||
NS_IMETHOD SetModel(nsIModel * aModel) = 0;
|
||||
|
||||
/**
|
||||
* Get the Name of this canvas, relative to itself
|
||||
* @result nsString reference, the name of the canvas
|
||||
|
|
|
@ -110,6 +110,7 @@ nsXPFCCanvas :: nsXPFCCanvas(nsISupports* outer) :
|
|||
mImageRequest = nsnull;
|
||||
|
||||
mView = nsnull;
|
||||
mModel = nsnull;
|
||||
|
||||
}
|
||||
|
||||
|
@ -664,6 +665,17 @@ nsresult nsXPFCCanvas :: SetLayout(nsILayout * aLayout)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsIModel * nsXPFCCanvas :: GetModel()
|
||||
{
|
||||
return mModel;
|
||||
}
|
||||
|
||||
nsresult nsXPFCCanvas :: SetModel(nsIModel * aModel)
|
||||
{
|
||||
mModel = aModel;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsXPFCCanvas :: Init()
|
||||
{
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
GDEPTH = ..
|
||||
DEPTH = ..
|
||||
|
||||
DIRS = core canvas command dialog layout network observer util parser chrome shell toolkit widget user
|
||||
DIRS = core canvas command dialog layout network observer util parser chrome shell toolkit widget user model
|
||||
|
||||
LIBRARY_NAME = xpfc
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "nsViewsCID.h"
|
||||
#include "nsPluginsCID.h"
|
||||
#include "nsIDeviceContext.h"
|
||||
#include "nsINetService.h"
|
||||
|
||||
#ifdef NS_WIN32
|
||||
#include "direct.h"
|
||||
|
@ -234,6 +235,7 @@ nsresult nsShellInstance::RegisterFactories()
|
|||
#define PREF_DLL "xppref32.dll"
|
||||
#define WEB_DLL "raptorweb.dll"
|
||||
#define PLUGIN_DLL "raptorplugin.dll"
|
||||
#define NETLIB_DLL "netlib.dll"
|
||||
#else
|
||||
#define GFXWIN_DLL "libgfxunix.so"
|
||||
#define WIDGET_DLL "libwidgetunix.so"
|
||||
|
@ -242,6 +244,7 @@ nsresult nsShellInstance::RegisterFactories()
|
|||
#define PREF_DLL "libpref.so"
|
||||
#define WEB_DLL "libraptorweb.so"
|
||||
#define PLUGIN_DLL "raptorplugin.so"
|
||||
#define NETLIB_DLL "netlib.so"
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -254,6 +257,7 @@ nsresult nsShellInstance::RegisterFactories()
|
|||
static NS_DEFINE_IID(kCFontMetricsIID, NS_FONT_METRICS_CID);
|
||||
static NS_DEFINE_IID(kCImageIID, NS_IMAGE_CID);
|
||||
static NS_DEFINE_IID(kCRegionIID, NS_REGION_CID);
|
||||
static NS_DEFINE_IID(kNetServiceCID, NS_NETSERVICE_CID);
|
||||
|
||||
nsRepository::RegisterFactory(kCRenderingContextIID, GFXWIN_DLL, PR_FALSE, PR_FALSE);
|
||||
nsRepository::RegisterFactory(kCDeviceContextIID, GFXWIN_DLL, PR_FALSE, PR_FALSE);
|
||||
|
@ -315,6 +319,8 @@ nsresult nsShellInstance::RegisterFactories()
|
|||
nsRepository::RegisterFactory(kCViewCID, VIEW_DLL, PR_FALSE, PR_FALSE);
|
||||
nsRepository::RegisterFactory(kCScrollingViewCID, VIEW_DLL, PR_FALSE, PR_FALSE);
|
||||
|
||||
nsRepository::RegisterFactory(kNetServiceCID, NETLIB_DLL, PR_FALSE, PR_FALSE);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче