diff --git a/widget/src/build/nsGTKWidgetFactory.cpp b/widget/src/build/nsGTKWidgetFactory.cpp index 4b3c2a2c0285..74dccec63182 100644 --- a/widget/src/build/nsGTKWidgetFactory.cpp +++ b/widget/src/build/nsGTKWidgetFactory.cpp @@ -46,6 +46,15 @@ #include "nsImageButton.h" #include "nsMenuButton.h" +// Drag & Drop, Clipboard +#include "nsClipboard.h" +#include "nsTransferable.h" +#include "nsDataFlavor.h" +// #include "nsDragService.h" +// #include "nsDragSource.h" +// #include "nsDragTarget.h" +// #include "nsDraggedObject.h" + static NS_DEFINE_IID(kCWindow, NS_WINDOW_CID); static NS_DEFINE_IID(kCChild, NS_CHILD_CID); static NS_DEFINE_IID(kCButton, NS_BUTTON_CID); @@ -72,6 +81,16 @@ static NS_DEFINE_IID(kCImageButton, NS_IMAGEBUTTON_CID); static NS_DEFINE_IID(kCPopUpMenu, NS_POPUPMENU_CID); static NS_DEFINE_IID(kCMenuButton, NS_MENUBUTTON_CID); +// Drag & Drop, Clipboard +static NS_DEFINE_IID(kCDataObj, NS_DATAOBJ_CID); +static NS_DEFINE_IID(kCClipboard, NS_CLIPBOARD_CID); +static NS_DEFINE_IID(kCTransferable, NS_TRANSFERABLE_CID); +static NS_DEFINE_IID(kCDataFlavor, NS_DATAFLAVOR_CID); +static NS_DEFINE_IID(kCDragService, NS_DRAGSERVICE_CID); +static NS_DEFINE_IID(kCDragSource, NS_DRAGSOURCE_CID); +static NS_DEFINE_IID(kCDragTarget, NS_DRAGTARGET_CID); +static NS_DEFINE_IID(kCDraggedObject, NS_DRAGGEDOBJECT_CID); + static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID); @@ -225,6 +244,33 @@ nsresult nsWidgetFactory::CreateInstance(nsISupports *aOuter, else if (mClassID.Equals(kCPopUpMenu)) { inst = (nsISupports*)new nsPopUpMenu(); } + else if (mClassID.Equals(kCDataFlavor)) { + inst = (nsISupports*)new nsDataFlavor(); + } + else if (mClassID.Equals(kCTransferable)) { + inst = (nsISupports*)new nsTransferable(); + } + else if (mClassID.Equals(kCClipboard)) { + printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ CLIPBOARD!\n"); + inst = (nsISupports*)new nsClipboard(); + } else { + printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Class not found.\n"); + } + +#if 0 + else if (mClassID.Equals(kCDragService)) { + inst = (nsISupports*)new nsDragService(); + } + else if (mClassID.Equals(kCDragSource)) { + inst = (nsISupports*)new nsDragSource(); + } + else if (mClassID.Equals(kCDragTarget)) { + inst = (nsISupports*)new nsDragTarget(); + } + else if (mClassID.Equals(kCDraggedObject)) { + inst = (nsISupports*)new nsDraggedObject(); + } +#endif if (inst == NULL) { return NS_ERROR_OUT_OF_MEMORY; diff --git a/widget/src/gtk/Makefile.in b/widget/src/gtk/Makefile.in index c309dac04fef..99ac3402223b 100644 --- a/widget/src/gtk/Makefile.in +++ b/widget/src/gtk/Makefile.in @@ -61,7 +61,9 @@ CPPSRCS= \ nsSelectionMgr.cpp \ nsPopUpMenu.cpp \ nsWidget.cpp \ - nsWindow.cpp + nsWindow.cpp \ + nsClipboard.cpp \ + $(NULL) TARGETS = $(LIBRARY) diff --git a/widget/src/xpwidgets/Makefile.in b/widget/src/xpwidgets/Makefile.in index 874ffce0c314..a93a6b7f8545 100644 --- a/widget/src/xpwidgets/Makefile.in +++ b/widget/src/xpwidgets/Makefile.in @@ -28,12 +28,13 @@ LIBRARY_NAME = raptorbasewidget_s #MODULES=widget #LCFLAGS=-D_IMPL_NS_WIDGET -CPPSRCS= \ - nsBaseWidget.cpp \ - nsMenuButton.cpp \ - nsImageButton.cpp \ - nsDataFlavor.cpp \ - nsTransferable.cpp \ +CPPSRCS= \ + nsBaseWidget.cpp \ + nsMenuButton.cpp \ + nsImageButton.cpp \ + nsDataFlavor.cpp \ + nsTransferable.cpp \ + nsBaseClipboard.cpp \ $(NULL) LOCAL_INCLUDES := \