2000-04-03 23:30:26 +00:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
|
|
*
|
2012-05-21 11:12:37 +00:00
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
2001-05-10 02:35:00 +00:00
|
|
|
*
|
2000-04-03 23:30:26 +00:00
|
|
|
* This Original Code has been modified by IBM Corporation.
|
|
|
|
* Modifications made by IBM described herein are
|
|
|
|
* Copyright (c) International Business Machines
|
|
|
|
* Corporation, 2000
|
|
|
|
*
|
|
|
|
* Modifications to Mozilla code or documentation
|
|
|
|
* identified per MPL Section 3.3
|
|
|
|
*
|
2001-03-13 06:49:30 +00:00
|
|
|
* Date Modified by Description of modification
|
|
|
|
* 03/23/2000 IBM Corp. Added support for directory picker dialog.
|
|
|
|
* 03/24/2000 IBM Corp. Updated based on nsWinWidgetFactory.cpp.
|
|
|
|
* 05/31/2000 IBM Corp. Enabled timer stuff
|
2000-07-05 19:53:21 +00:00
|
|
|
* 06/30/2000 sobotka@axess.com Added nsFilePicker
|
2001-03-13 06:49:30 +00:00
|
|
|
* 03/11/2001 achimha@innotek.de converted to XPCOM module
|
2001-03-23 03:19:06 +00:00
|
|
|
* 03/20/2001 achimha@innotek.de Added class for embedded module init
|
2001-12-16 14:03:46 +00:00
|
|
|
* 12/16/2001 pavlov@netscape.com Removed timer stuff
|
2000-04-03 23:30:26 +00:00
|
|
|
*/
|
|
|
|
|
2010-07-18 09:22:01 +00:00
|
|
|
#include "mozilla/ModuleUtils.h"
|
2001-03-13 06:49:30 +00:00
|
|
|
#include "nsIModule.h"
|
|
|
|
#include "nsCOMPtr.h"
|
2000-04-03 23:30:26 +00:00
|
|
|
#include "nsWidgetsCID.h"
|
2001-03-13 06:49:30 +00:00
|
|
|
// class definition headers
|
2012-06-20 10:09:05 +00:00
|
|
|
#include "nsWindow.h"
|
2001-03-13 06:49:30 +00:00
|
|
|
#include "nsAppShell.h"
|
2006-05-15 21:22:18 +00:00
|
|
|
#include "nsAppShellSingleton.h"
|
2001-03-13 06:49:30 +00:00
|
|
|
#include "nsBidiKeyboard.h"
|
|
|
|
#include "nsDragService.h"
|
2012-06-06 02:08:30 +00:00
|
|
|
#include "nsIFile.h"
|
2000-07-05 19:53:21 +00:00
|
|
|
#include "nsFilePicker.h"
|
2000-04-03 23:30:26 +00:00
|
|
|
#include "nsLookAndFeel.h"
|
|
|
|
#include "nsSound.h"
|
|
|
|
|
|
|
|
// Drag & Drop, Clipboard
|
|
|
|
#include "nsClipboard.h"
|
2001-05-10 02:35:00 +00:00
|
|
|
#include "nsClipboardHelper.h"
|
2000-04-03 23:30:26 +00:00
|
|
|
#include "nsTransferable.h"
|
Checking in for bug 50742, this change removes the use of XIF in mozilla and replaces the XIF converter with a HTML (and XML) serializer.
Contextual information added to HTML copy and intelligence added to HTML paste in the editor (fixes bugs 47014, 50568 and 46554, and partly (at least) fixes bug 53188).
Code written by vidur, jfrancis, jst, akkana. Tested by jfrancis, akkana, vidur, jst, kin. Reviwed (and super reviewed) by waterson, vidur, kin, jfrancis, jst
2000-10-07 10:57:30 +00:00
|
|
|
#include "nsHTMLFormatConverter.h"
|
2000-04-03 23:30:26 +00:00
|
|
|
|
2006-01-13 17:56:40 +00:00
|
|
|
#include "nsScreenManagerOS2.h"
|
2008-01-09 22:24:05 +00:00
|
|
|
#include "nsRwsService.h"
|
2006-01-13 17:56:40 +00:00
|
|
|
|
2006-02-13 22:32:23 +00:00
|
|
|
// Printing
|
|
|
|
#include "nsDeviceContextSpecOS2.h"
|
|
|
|
#include "nsPrintOptionsOS2.h"
|
|
|
|
#include "nsPrintSession.h"
|
2008-02-13 21:46:42 +00:00
|
|
|
#include "nsIdleServiceOS2.h"
|
|
|
|
|
2001-03-13 06:49:30 +00:00
|
|
|
// objects that just require generic constructors
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard)
|
2002-06-17 21:06:09 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindow)
|
2001-03-13 06:49:30 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboard)
|
2001-05-10 02:35:00 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardHelper)
|
2001-03-13 06:49:30 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFilePicker)
|
2010-03-06 17:52:10 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsChildWindow)
|
2001-03-13 06:49:30 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSound)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsTransferable)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLFormatConverter)
|
2002-04-15 22:56:31 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDragService)
|
2001-03-13 06:49:30 +00:00
|
|
|
|
2006-02-13 22:32:23 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecOS2)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsOS2, Init)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrinterEnumeratorOS2)
|
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintSession, Init)
|
2006-01-13 17:56:40 +00:00
|
|
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerOS2)
|
2012-06-29 08:32:21 +00:00
|
|
|
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIdleServiceOS2,
|
|
|
|
nsIdleServiceOS2::GetInstance)
|
2006-01-13 17:56:40 +00:00
|
|
|
|
2001-03-13 06:49:30 +00:00
|
|
|
// component definition, will be exported using XPCOM
|
2010-07-18 09:22:01 +00:00
|
|
|
NS_DEFINE_NAMED_CID(NS_APPSHELL_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_BIDIKEYBOARD_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CHILD_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CLIPBOARD_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_CLIPBOARDHELPER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DRAGSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_FILEPICKER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SOUND_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_WINDOW_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_TRANSFERABLE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_HTMLFORMATCONVERTER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_SCREENMANAGER_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_DEVICE_CONTEXT_SPEC_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PRINTSETTINGSSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PRINTSESSION_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_PRINTER_ENUMERATOR_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_RWSSERVICE_CID);
|
|
|
|
NS_DEFINE_NAMED_CID(NS_IDLE_SERVICE_CID);
|
|
|
|
|
|
|
|
|
|
|
|
static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
|
2013-10-08 18:47:49 +00:00
|
|
|
{ &kNS_APPSHELL_CID, false, nullptr, nsAppShellConstructor },
|
|
|
|
{ &kNS_BIDIKEYBOARD_CID, false, nullptr, nsBidiKeyboardConstructor },
|
|
|
|
{ &kNS_CHILD_CID, false, nullptr, nsChildWindowConstructor },
|
|
|
|
{ &kNS_CLIPBOARD_CID, false, nullptr, nsClipboardConstructor },
|
|
|
|
{ &kNS_CLIPBOARDHELPER_CID, false, nullptr, nsClipboardHelperConstructor },
|
|
|
|
{ &kNS_DRAGSERVICE_CID, false, nullptr, nsDragServiceConstructor },
|
|
|
|
{ &kNS_FILEPICKER_CID, false, nullptr, nsFilePickerConstructor },
|
|
|
|
{ &kNS_SOUND_CID, false, nullptr, nsSoundConstructor },
|
|
|
|
{ &kNS_WINDOW_CID, false, nullptr, nsWindowConstructor },
|
|
|
|
{ &kNS_TRANSFERABLE_CID, false, nullptr, nsTransferableConstructor },
|
|
|
|
{ &kNS_HTMLFORMATCONVERTER_CID, false, nullptr, nsHTMLFormatConverterConstructor },
|
|
|
|
{ &kNS_SCREENMANAGER_CID, false, nullptr, nsScreenManagerOS2Constructor },
|
|
|
|
{ &kNS_DEVICE_CONTEXT_SPEC_CID, false, nullptr, nsDeviceContextSpecOS2Constructor },
|
|
|
|
{ &kNS_PRINTSETTINGSSERVICE_CID, false, nullptr, nsPrintOptionsOS2Constructor },
|
|
|
|
{ &kNS_PRINTSESSION_CID, false, nullptr, nsPrintSessionConstructor },
|
|
|
|
{ &kNS_PRINTER_ENUMERATOR_CID, false, nullptr, nsPrinterEnumeratorOS2Constructor },
|
|
|
|
{ &kNS_RWSSERVICE_CID, false, nullptr, nsRwsServiceConstructor },
|
|
|
|
{ &kNS_IDLE_SERVICE_CID, false, nullptr, nsIdleServiceOS2Constructor },
|
|
|
|
{ nullptr }
|
2010-07-18 09:22:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
static const mozilla::Module::ContractIDEntry kWidgetContracts[] = {
|
|
|
|
{ "@mozilla.org/widget/appshell/os2;1", &kNS_APPSHELL_CID },
|
|
|
|
{ "@mozilla.org/widget/bidikeyboard;1", &kNS_BIDIKEYBOARD_CID },
|
|
|
|
{ "@mozilla.org/widget/child_window/os2;1", &kNS_CHILD_CID },
|
|
|
|
{ "@mozilla.org/widget/clipboard;1", &kNS_CLIPBOARD_CID },
|
|
|
|
{ "@mozilla.org/widget/clipboardhelper;1", &kNS_CLIPBOARDHELPER_CID },
|
|
|
|
{ "@mozilla.org/widget/dragservice;1", &kNS_DRAGSERVICE_CID },
|
|
|
|
{ "@mozilla.org/filepicker;1", &kNS_FILEPICKER_CID },
|
|
|
|
{ "@mozilla.org/sound;1", &kNS_SOUND_CID },
|
|
|
|
{ "@mozilla.org/widget/window/os2;1", &kNS_WINDOW_CID },
|
|
|
|
{ "@mozilla.org/widget/transferable;1", &kNS_TRANSFERABLE_CID },
|
|
|
|
{ "@mozilla.org/widget/htmlformatconverter;1", &kNS_HTMLFORMATCONVERTER_CID },
|
|
|
|
{ "@mozilla.org/gfx/screenmanager;1", &kNS_SCREENMANAGER_CID },
|
|
|
|
{ "@mozilla.org/gfx/devicecontextspec;1", &kNS_DEVICE_CONTEXT_SPEC_CID },
|
|
|
|
{ "@mozilla.org/gfx/printsettings-service;1", &kNS_PRINTSETTINGSSERVICE_CID },
|
|
|
|
{ "@mozilla.org/gfx/printsession;1", &kNS_PRINTSESSION_CID },
|
|
|
|
{ "@mozilla.org/gfx/printerenumerator;1", &kNS_PRINTER_ENUMERATOR_CID },
|
|
|
|
{ NS_RWSSERVICE_CONTRACTID, &kNS_RWSSERVICE_CID },
|
|
|
|
{ "@mozilla.org/widget/idleservice;1", &kNS_IDLE_SERVICE_CID },
|
2013-10-08 18:47:49 +00:00
|
|
|
{ nullptr }
|
2001-03-13 06:49:30 +00:00
|
|
|
};
|
|
|
|
|
2008-10-10 15:04:34 +00:00
|
|
|
static void
|
2010-07-18 09:22:01 +00:00
|
|
|
nsWidgetOS2ModuleDtor()
|
2001-03-13 06:49:30 +00:00
|
|
|
{
|
2011-09-09 02:27:11 +00:00
|
|
|
nsLookAndFeel::Shutdown();
|
2003-03-21 14:17:59 +00:00
|
|
|
nsWindow::ReleaseGlobals();
|
2004-01-06 22:00:47 +00:00
|
|
|
nsFilePicker::ReleaseGlobals();
|
2010-07-18 09:22:01 +00:00
|
|
|
nsAppShellShutdown();
|
2001-03-13 06:49:30 +00:00
|
|
|
}
|
2000-04-03 23:30:26 +00:00
|
|
|
|
2010-07-18 09:22:01 +00:00
|
|
|
static const mozilla::Module kWidgetModule = {
|
|
|
|
mozilla::Module::kVersion,
|
|
|
|
kWidgetCIDs,
|
|
|
|
kWidgetContracts,
|
2013-10-08 18:47:49 +00:00
|
|
|
nullptr,
|
|
|
|
nullptr,
|
2010-07-18 09:22:01 +00:00
|
|
|
nsAppShellInit,
|
|
|
|
nsWidgetOS2ModuleDtor
|
|
|
|
};
|
|
|
|
|
|
|
|
NSMODULE_DEFN(nsWidgetOS2Module) = &kWidgetModule;
|