mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
5000953110
--HG-- rename : widget/public/LookAndFeel.h => widget/LookAndFeel.h rename : widget/public/WidgetTraceEvent.h => widget/WidgetTraceEvent.h rename : widget/src/android/AndroidBridge.cpp => widget/android/AndroidBridge.cpp rename : widget/src/android/AndroidBridge.h => widget/android/AndroidBridge.h rename : widget/src/android/AndroidDirectTexture.cpp => widget/android/AndroidDirectTexture.cpp rename : widget/src/android/AndroidDirectTexture.h => widget/android/AndroidDirectTexture.h rename : widget/src/android/AndroidGraphicBuffer.cpp => widget/android/AndroidGraphicBuffer.cpp rename : widget/src/android/AndroidGraphicBuffer.h => widget/android/AndroidGraphicBuffer.h rename : widget/src/android/AndroidJNI.cpp => widget/android/AndroidJNI.cpp rename : widget/src/android/AndroidJavaWrappers.cpp => widget/android/AndroidJavaWrappers.cpp rename : widget/src/android/AndroidJavaWrappers.h => widget/android/AndroidJavaWrappers.h rename : widget/src/android/GfxInfo.cpp => widget/android/GfxInfo.cpp rename : widget/src/android/GfxInfo.h => widget/android/GfxInfo.h rename : widget/src/android/Makefile.in => widget/android/Makefile.in rename : widget/src/android/nsAppShell.cpp => widget/android/nsAppShell.cpp rename : widget/src/android/nsAppShell.h => widget/android/nsAppShell.h rename : widget/src/android/nsClipboard.cpp => widget/android/nsClipboard.cpp rename : widget/src/android/nsClipboard.h => widget/android/nsClipboard.h rename : widget/src/android/nsDeviceContextAndroid.cpp => widget/android/nsDeviceContextAndroid.cpp rename : widget/src/android/nsDeviceContextAndroid.h => widget/android/nsDeviceContextAndroid.h rename : widget/src/android/nsFilePicker.cpp => widget/android/nsFilePicker.cpp rename : widget/src/android/nsFilePicker.h => widget/android/nsFilePicker.h rename : widget/src/android/nsIAndroidBridge.idl => widget/android/nsIAndroidBridge.idl rename : widget/src/android/nsIMEPicker.cpp => widget/android/nsIMEPicker.cpp rename : widget/src/android/nsIMEPicker.h => widget/android/nsIMEPicker.h rename : widget/src/android/nsIdleServiceAndroid.cpp => widget/android/nsIdleServiceAndroid.cpp rename : widget/src/android/nsIdleServiceAndroid.h => widget/android/nsIdleServiceAndroid.h rename : widget/src/android/nsLookAndFeel.cpp => widget/android/nsLookAndFeel.cpp rename : widget/src/android/nsLookAndFeel.h => widget/android/nsLookAndFeel.h rename : widget/src/android/nsPrintOptionsAndroid.cpp => widget/android/nsPrintOptionsAndroid.cpp rename : widget/src/android/nsPrintOptionsAndroid.h => widget/android/nsPrintOptionsAndroid.h rename : widget/src/android/nsScreenManagerAndroid.cpp => widget/android/nsScreenManagerAndroid.cpp rename : widget/src/android/nsScreenManagerAndroid.h => widget/android/nsScreenManagerAndroid.h rename : widget/src/android/nsWidgetFactory.cpp => widget/android/nsWidgetFactory.cpp rename : widget/src/android/nsWindow.cpp => widget/android/nsWindow.cpp rename : widget/src/android/nsWindow.h => widget/android/nsWindow.h rename : widget/src/build/Makefile.in => widget/build/Makefile.in rename : widget/src/build/nsWinWidgetFactory.cpp => widget/build/nsWinWidgetFactory.cpp rename : widget/src/build/res/aliasb.cur => widget/build/res/aliasb.cur rename : widget/src/build/res/cell.cur => widget/build/res/cell.cur rename : widget/src/build/res/col_resize.cur => widget/build/res/col_resize.cur rename : widget/src/build/res/copy.cur => widget/build/res/copy.cur rename : widget/src/build/res/grab.cur => widget/build/res/grab.cur rename : widget/src/build/res/grabbing.cur => widget/build/res/grabbing.cur rename : widget/src/build/res/none.cur => widget/build/res/none.cur rename : widget/src/build/res/row_resize.cur => widget/build/res/row_resize.cur rename : widget/src/build/res/select.cur => widget/build/res/select.cur rename : widget/src/build/res/vertical_text.cur => widget/build/res/vertical_text.cur rename : widget/src/build/res/zoom_in.cur => widget/build/res/zoom_in.cur rename : widget/src/build/res/zoom_out.cur => widget/build/res/zoom_out.cur rename : widget/src/build/widget.rc => widget/build/widget.rc rename : widget/src/cocoa/ComplexTextInputPanel.h => widget/cocoa/ComplexTextInputPanel.h rename : widget/src/cocoa/ComplexTextInputPanel.mm => widget/cocoa/ComplexTextInputPanel.mm rename : widget/src/cocoa/CustomCocoaEvents.h => widget/cocoa/CustomCocoaEvents.h rename : widget/src/cocoa/GfxInfo.h => widget/cocoa/GfxInfo.h rename : widget/src/cocoa/GfxInfo.mm => widget/cocoa/GfxInfo.mm rename : widget/src/cocoa/Makefile.in => widget/cocoa/Makefile.in rename : widget/src/cocoa/TextInputHandler.h => widget/cocoa/TextInputHandler.h rename : widget/src/cocoa/TextInputHandler.mm => widget/cocoa/TextInputHandler.mm rename : widget/src/cocoa/WidgetTraceEvent.mm => widget/cocoa/WidgetTraceEvent.mm rename : widget/src/cocoa/crashtests/373122-1-inner.html => widget/cocoa/crashtests/373122-1-inner.html rename : widget/src/cocoa/crashtests/373122-1.html => widget/cocoa/crashtests/373122-1.html rename : widget/src/cocoa/crashtests/397209-1.html => widget/cocoa/crashtests/397209-1.html rename : widget/src/cocoa/crashtests/403296-1.xhtml => widget/cocoa/crashtests/403296-1.xhtml rename : widget/src/cocoa/crashtests/419737-1.html => widget/cocoa/crashtests/419737-1.html rename : widget/src/cocoa/crashtests/435223-1.html => widget/cocoa/crashtests/435223-1.html rename : widget/src/cocoa/crashtests/444260-1.xul => widget/cocoa/crashtests/444260-1.xul rename : widget/src/cocoa/crashtests/444864-1.html => widget/cocoa/crashtests/444864-1.html rename : widget/src/cocoa/crashtests/449111-1.html => widget/cocoa/crashtests/449111-1.html rename : widget/src/cocoa/crashtests/460349-1.xhtml => widget/cocoa/crashtests/460349-1.xhtml rename : widget/src/cocoa/crashtests/460387-1.html => widget/cocoa/crashtests/460387-1.html rename : widget/src/cocoa/crashtests/464589-1.html => widget/cocoa/crashtests/464589-1.html rename : widget/src/cocoa/crashtests/crashtests.list => widget/cocoa/crashtests/crashtests.list rename : widget/src/cocoa/cursors/arrowN.tiff => widget/cocoa/cursors/arrowN.tiff rename : widget/src/cocoa/cursors/arrowS.tiff => widget/cocoa/cursors/arrowS.tiff rename : widget/src/cocoa/cursors/colResize.tiff => widget/cocoa/cursors/colResize.tiff rename : widget/src/cocoa/cursors/help.tiff => widget/cocoa/cursors/help.tiff rename : widget/src/cocoa/cursors/rowResize.tiff => widget/cocoa/cursors/rowResize.tiff rename : widget/src/cocoa/cursors/sizeNE.tiff => widget/cocoa/cursors/sizeNE.tiff rename : widget/src/cocoa/cursors/sizeNESW.tiff => widget/cocoa/cursors/sizeNESW.tiff rename : widget/src/cocoa/cursors/sizeNS.tiff => widget/cocoa/cursors/sizeNS.tiff rename : widget/src/cocoa/cursors/sizeNW.tiff => widget/cocoa/cursors/sizeNW.tiff rename : widget/src/cocoa/cursors/sizeNWSE.tiff => widget/cocoa/cursors/sizeNWSE.tiff rename : widget/src/cocoa/cursors/sizeSE.tiff => widget/cocoa/cursors/sizeSE.tiff rename : widget/src/cocoa/cursors/sizeSW.tiff => widget/cocoa/cursors/sizeSW.tiff rename : widget/src/cocoa/cursors/spin1.tiff => widget/cocoa/cursors/spin1.tiff rename : widget/src/cocoa/cursors/spin2.tiff => widget/cocoa/cursors/spin2.tiff rename : widget/src/cocoa/cursors/spin3.tiff => widget/cocoa/cursors/spin3.tiff rename : widget/src/cocoa/cursors/spin4.tiff => widget/cocoa/cursors/spin4.tiff rename : widget/src/cocoa/cursors/vtIBeam.tiff => widget/cocoa/cursors/vtIBeam.tiff rename : widget/src/cocoa/cursors/zoomIn.tiff => widget/cocoa/cursors/zoomIn.tiff rename : widget/src/cocoa/cursors/zoomOut.tiff => widget/cocoa/cursors/zoomOut.tiff rename : widget/src/cocoa/mozView.h => widget/cocoa/mozView.h rename : widget/src/cocoa/nsAppShell.h => widget/cocoa/nsAppShell.h rename : widget/src/cocoa/nsAppShell.mm => widget/cocoa/nsAppShell.mm rename : widget/src/cocoa/nsBidiKeyboard.h => widget/cocoa/nsBidiKeyboard.h rename : widget/src/cocoa/nsBidiKeyboard.mm => widget/cocoa/nsBidiKeyboard.mm rename : widget/src/cocoa/nsChangeObserver.h => widget/cocoa/nsChangeObserver.h rename : widget/src/cocoa/nsChildView.h => widget/cocoa/nsChildView.h rename : widget/src/cocoa/nsChildView.mm => widget/cocoa/nsChildView.mm rename : widget/src/cocoa/nsClipboard.h => widget/cocoa/nsClipboard.h rename : widget/src/cocoa/nsClipboard.mm => widget/cocoa/nsClipboard.mm rename : widget/src/cocoa/nsCocoaFeatures.h => widget/cocoa/nsCocoaFeatures.h rename : widget/src/cocoa/nsCocoaFeatures.mm => widget/cocoa/nsCocoaFeatures.mm rename : widget/src/cocoa/nsCocoaUtils.h => widget/cocoa/nsCocoaUtils.h rename : widget/src/cocoa/nsCocoaUtils.mm => widget/cocoa/nsCocoaUtils.mm rename : widget/src/cocoa/nsCocoaWindow.h => widget/cocoa/nsCocoaWindow.h rename : widget/src/cocoa/nsCocoaWindow.mm => widget/cocoa/nsCocoaWindow.mm rename : widget/src/cocoa/nsCursorManager.h => widget/cocoa/nsCursorManager.h rename : widget/src/cocoa/nsCursorManager.mm => widget/cocoa/nsCursorManager.mm rename : widget/src/cocoa/nsDeviceContextSpecX.h => widget/cocoa/nsDeviceContextSpecX.h rename : widget/src/cocoa/nsDeviceContextSpecX.mm => widget/cocoa/nsDeviceContextSpecX.mm rename : widget/src/cocoa/nsDragService.h => widget/cocoa/nsDragService.h rename : widget/src/cocoa/nsDragService.mm => widget/cocoa/nsDragService.mm rename : widget/src/cocoa/nsFilePicker.h => widget/cocoa/nsFilePicker.h rename : widget/src/cocoa/nsFilePicker.mm => widget/cocoa/nsFilePicker.mm rename : widget/src/cocoa/nsIdleServiceX.h => widget/cocoa/nsIdleServiceX.h rename : widget/src/cocoa/nsIdleServiceX.mm => widget/cocoa/nsIdleServiceX.mm rename : widget/src/cocoa/nsLookAndFeel.h => widget/cocoa/nsLookAndFeel.h rename : widget/src/cocoa/nsLookAndFeel.mm => widget/cocoa/nsLookAndFeel.mm rename : widget/src/cocoa/nsMacCursor.h => widget/cocoa/nsMacCursor.h rename : widget/src/cocoa/nsMacCursor.mm => widget/cocoa/nsMacCursor.mm rename : widget/src/cocoa/nsMacDockSupport.h => widget/cocoa/nsMacDockSupport.h rename : widget/src/cocoa/nsMacDockSupport.mm => widget/cocoa/nsMacDockSupport.mm rename : widget/src/cocoa/nsMenuBarX.h => widget/cocoa/nsMenuBarX.h rename : widget/src/cocoa/nsMenuBarX.mm => widget/cocoa/nsMenuBarX.mm rename : widget/src/cocoa/nsMenuBaseX.h => widget/cocoa/nsMenuBaseX.h rename : widget/src/cocoa/nsMenuGroupOwnerX.h => widget/cocoa/nsMenuGroupOwnerX.h rename : widget/src/cocoa/nsMenuGroupOwnerX.mm => widget/cocoa/nsMenuGroupOwnerX.mm rename : widget/src/cocoa/nsMenuItemIconX.h => widget/cocoa/nsMenuItemIconX.h rename : widget/src/cocoa/nsMenuItemIconX.mm => widget/cocoa/nsMenuItemIconX.mm rename : widget/src/cocoa/nsMenuItemX.h => widget/cocoa/nsMenuItemX.h rename : widget/src/cocoa/nsMenuItemX.mm => widget/cocoa/nsMenuItemX.mm rename : widget/src/cocoa/nsMenuUtilsX.h => widget/cocoa/nsMenuUtilsX.h rename : widget/src/cocoa/nsMenuUtilsX.mm => widget/cocoa/nsMenuUtilsX.mm rename : widget/src/cocoa/nsMenuX.h => widget/cocoa/nsMenuX.h rename : widget/src/cocoa/nsMenuX.mm => widget/cocoa/nsMenuX.mm rename : widget/src/cocoa/nsNativeThemeCocoa.h => widget/cocoa/nsNativeThemeCocoa.h rename : widget/src/cocoa/nsNativeThemeCocoa.mm => widget/cocoa/nsNativeThemeCocoa.mm rename : widget/src/cocoa/nsNativeThemeColors.h => widget/cocoa/nsNativeThemeColors.h rename : widget/src/cocoa/nsPIWidgetCocoa.idl => widget/cocoa/nsPIWidgetCocoa.idl rename : widget/src/cocoa/nsPrintDialogX.h => widget/cocoa/nsPrintDialogX.h rename : widget/src/cocoa/nsPrintDialogX.mm => widget/cocoa/nsPrintDialogX.mm rename : widget/src/cocoa/nsPrintOptionsX.h => widget/cocoa/nsPrintOptionsX.h rename : widget/src/cocoa/nsPrintOptionsX.mm => widget/cocoa/nsPrintOptionsX.mm rename : widget/src/cocoa/nsPrintSettingsX.h => widget/cocoa/nsPrintSettingsX.h rename : widget/src/cocoa/nsPrintSettingsX.mm => widget/cocoa/nsPrintSettingsX.mm rename : widget/src/cocoa/nsScreenCocoa.h => widget/cocoa/nsScreenCocoa.h rename : widget/src/cocoa/nsScreenCocoa.mm => widget/cocoa/nsScreenCocoa.mm rename : widget/src/cocoa/nsScreenManagerCocoa.h => widget/cocoa/nsScreenManagerCocoa.h rename : widget/src/cocoa/nsScreenManagerCocoa.mm => widget/cocoa/nsScreenManagerCocoa.mm rename : widget/src/cocoa/nsSound.h => widget/cocoa/nsSound.h rename : widget/src/cocoa/nsSound.mm => widget/cocoa/nsSound.mm rename : widget/src/cocoa/nsStandaloneNativeMenu.h => widget/cocoa/nsStandaloneNativeMenu.h rename : widget/src/cocoa/nsStandaloneNativeMenu.mm => widget/cocoa/nsStandaloneNativeMenu.mm rename : widget/src/cocoa/nsToolkit.h => widget/cocoa/nsToolkit.h rename : widget/src/cocoa/nsToolkit.mm => widget/cocoa/nsToolkit.mm rename : widget/src/cocoa/nsWidgetFactory.mm => widget/cocoa/nsWidgetFactory.mm rename : widget/src/cocoa/nsWindowMap.h => widget/cocoa/nsWindowMap.h rename : widget/src/cocoa/nsWindowMap.mm => widget/cocoa/nsWindowMap.mm rename : widget/src/cocoa/resources/MainMenu.nib/classes.nib => widget/cocoa/resources/MainMenu.nib/classes.nib rename : widget/src/cocoa/resources/MainMenu.nib/info.nib => widget/cocoa/resources/MainMenu.nib/info.nib rename : widget/src/cocoa/resources/MainMenu.nib/keyedobjects.nib => widget/cocoa/resources/MainMenu.nib/keyedobjects.nib rename : widget/src/crashtests/303901-1.html => widget/crashtests/303901-1.html rename : widget/src/crashtests/303901-2.html => widget/crashtests/303901-2.html rename : widget/src/crashtests/380359-1.xhtml => widget/crashtests/380359-1.xhtml rename : widget/src/crashtests/crashtests.list => widget/crashtests/crashtests.list rename : widget/src/gonk/Framebuffer.cpp => widget/gonk/Framebuffer.cpp rename : widget/src/gonk/Framebuffer.h => widget/gonk/Framebuffer.h rename : widget/src/gonk/Makefile.in => widget/gonk/Makefile.in rename : widget/src/gonk/nsAppShell.cpp => widget/gonk/nsAppShell.cpp rename : widget/src/gonk/nsAppShell.h => widget/gonk/nsAppShell.h rename : widget/src/gonk/nsLookAndFeel.cpp => widget/gonk/nsLookAndFeel.cpp rename : widget/src/gonk/nsLookAndFeel.h => widget/gonk/nsLookAndFeel.h rename : widget/src/gonk/nsScreenManagerGonk.cpp => widget/gonk/nsScreenManagerGonk.cpp rename : widget/src/gonk/nsScreenManagerGonk.h => widget/gonk/nsScreenManagerGonk.h rename : widget/src/gonk/nsWidgetFactory.cpp => widget/gonk/nsWidgetFactory.cpp rename : widget/src/gonk/nsWindow.cpp => widget/gonk/nsWindow.cpp rename : widget/src/gonk/nsWindow.h => widget/gonk/nsWindow.h rename : widget/src/gtk2/Makefile.in => widget/gtk2/Makefile.in rename : widget/src/gtk2/WidgetTraceEvent.cpp => widget/gtk2/WidgetTraceEvent.cpp rename : widget/src/gtk2/crashtests/673390-1.html => widget/gtk2/crashtests/673390-1.html rename : widget/src/gtk2/crashtests/crashtests.list => widget/gtk2/crashtests/crashtests.list rename : widget/src/gtk2/gtk2compat.h => widget/gtk2/gtk2compat.h rename : widget/src/gtk2/gtk2drawing.c => widget/gtk2/gtk2drawing.c rename : widget/src/gtk2/gtkdrawing.h => widget/gtk2/gtkdrawing.h rename : widget/src/gtk2/maiRedundantObjectFactory.c => widget/gtk2/maiRedundantObjectFactory.c rename : widget/src/gtk2/maiRedundantObjectFactory.h => widget/gtk2/maiRedundantObjectFactory.h rename : widget/src/gtk2/mozcontainer.c => widget/gtk2/mozcontainer.c rename : widget/src/gtk2/mozcontainer.h => widget/gtk2/mozcontainer.h rename : widget/src/gtk2/nsAppShell.cpp => widget/gtk2/nsAppShell.cpp rename : widget/src/gtk2/nsAppShell.h => widget/gtk2/nsAppShell.h rename : widget/src/gtk2/nsBidiKeyboard.cpp => widget/gtk2/nsBidiKeyboard.cpp rename : widget/src/gtk2/nsBidiKeyboard.h => widget/gtk2/nsBidiKeyboard.h rename : widget/src/gtk2/nsCUPSShim.cpp => widget/gtk2/nsCUPSShim.cpp rename : widget/src/gtk2/nsCUPSShim.h => widget/gtk2/nsCUPSShim.h rename : widget/src/gtk2/nsClipboard.cpp => widget/gtk2/nsClipboard.cpp rename : widget/src/gtk2/nsClipboard.h => widget/gtk2/nsClipboard.h rename : widget/src/gtk2/nsDeviceContextSpecG.cpp => widget/gtk2/nsDeviceContextSpecG.cpp rename : widget/src/gtk2/nsDeviceContextSpecG.h => widget/gtk2/nsDeviceContextSpecG.h rename : widget/src/gtk2/nsDragService.cpp => widget/gtk2/nsDragService.cpp rename : widget/src/gtk2/nsDragService.h => widget/gtk2/nsDragService.h rename : widget/src/gtk2/nsFilePicker.cpp => widget/gtk2/nsFilePicker.cpp rename : widget/src/gtk2/nsFilePicker.h => widget/gtk2/nsFilePicker.h rename : widget/src/gtk2/nsGTKToolkit.h => widget/gtk2/nsGTKToolkit.h rename : widget/src/gtk2/nsGtkCursors.h => widget/gtk2/nsGtkCursors.h rename : widget/src/gtk2/nsGtkIMModule.cpp => widget/gtk2/nsGtkIMModule.cpp rename : widget/src/gtk2/nsGtkIMModule.h => widget/gtk2/nsGtkIMModule.h rename : widget/src/gtk2/nsGtkKeyUtils.cpp => widget/gtk2/nsGtkKeyUtils.cpp rename : widget/src/gtk2/nsGtkKeyUtils.h => widget/gtk2/nsGtkKeyUtils.h rename : widget/src/gtk2/nsIImageToPixbuf.h => widget/gtk2/nsIImageToPixbuf.h rename : widget/src/gtk2/nsIdleServiceGTK.cpp => widget/gtk2/nsIdleServiceGTK.cpp rename : widget/src/gtk2/nsIdleServiceGTK.h => widget/gtk2/nsIdleServiceGTK.h rename : widget/src/gtk2/nsImageToPixbuf.cpp => widget/gtk2/nsImageToPixbuf.cpp rename : widget/src/gtk2/nsImageToPixbuf.h => widget/gtk2/nsImageToPixbuf.h rename : widget/src/gtk2/nsLookAndFeel.cpp => widget/gtk2/nsLookAndFeel.cpp rename : widget/src/gtk2/nsLookAndFeel.h => widget/gtk2/nsLookAndFeel.h rename : widget/src/gtk2/nsNativeKeyBindings.cpp => widget/gtk2/nsNativeKeyBindings.cpp rename : widget/src/gtk2/nsNativeKeyBindings.h => widget/gtk2/nsNativeKeyBindings.h rename : widget/src/gtk2/nsNativeThemeGTK.cpp => widget/gtk2/nsNativeThemeGTK.cpp rename : widget/src/gtk2/nsNativeThemeGTK.h => widget/gtk2/nsNativeThemeGTK.h rename : widget/src/gtk2/nsPSPrinters.cpp => widget/gtk2/nsPSPrinters.cpp rename : widget/src/gtk2/nsPSPrinters.h => widget/gtk2/nsPSPrinters.h rename : widget/src/gtk2/nsPaperPS.cpp => widget/gtk2/nsPaperPS.cpp rename : widget/src/gtk2/nsPaperPS.h => widget/gtk2/nsPaperPS.h rename : widget/src/gtk2/nsPrintDialogGTK.cpp => widget/gtk2/nsPrintDialogGTK.cpp rename : widget/src/gtk2/nsPrintDialogGTK.h => widget/gtk2/nsPrintDialogGTK.h rename : widget/src/gtk2/nsPrintOptionsGTK.cpp => widget/gtk2/nsPrintOptionsGTK.cpp rename : widget/src/gtk2/nsPrintOptionsGTK.h => widget/gtk2/nsPrintOptionsGTK.h rename : widget/src/gtk2/nsPrintSettingsGTK.cpp => widget/gtk2/nsPrintSettingsGTK.cpp rename : widget/src/gtk2/nsPrintSettingsGTK.h => widget/gtk2/nsPrintSettingsGTK.h rename : widget/src/gtk2/nsScreenGtk.cpp => widget/gtk2/nsScreenGtk.cpp rename : widget/src/gtk2/nsScreenGtk.h => widget/gtk2/nsScreenGtk.h rename : widget/src/gtk2/nsScreenManagerGtk.cpp => widget/gtk2/nsScreenManagerGtk.cpp rename : widget/src/gtk2/nsScreenManagerGtk.h => widget/gtk2/nsScreenManagerGtk.h rename : widget/src/gtk2/nsSound.cpp => widget/gtk2/nsSound.cpp rename : widget/src/gtk2/nsSound.h => widget/gtk2/nsSound.h rename : widget/src/gtk2/nsToolkit.cpp => widget/gtk2/nsToolkit.cpp rename : widget/src/gtk2/nsWidgetFactory.cpp => widget/gtk2/nsWidgetFactory.cpp rename : widget/src/gtk2/nsWindow.cpp => widget/gtk2/nsWindow.cpp rename : widget/src/gtk2/nsWindow.h => widget/gtk2/nsWindow.h rename : widget/src/gtkxtbin/Makefile.in => widget/gtkxtbin/Makefile.in rename : widget/src/gtkxtbin/gtk2xtbin.c => widget/gtkxtbin/gtk2xtbin.c rename : widget/src/gtkxtbin/gtk2xtbin.h => widget/gtkxtbin/gtk2xtbin.h rename : widget/src/gtkxtbin/xembed.h => widget/gtkxtbin/xembed.h rename : widget/public/nsEvent.h => widget/nsEvent.h rename : widget/public/nsGUIEvent.h => widget/nsGUIEvent.h rename : widget/public/nsGUIEventIPC.h => widget/nsGUIEventIPC.h rename : widget/public/nsIAppShell.idl => widget/nsIAppShell.idl rename : widget/public/nsIBaseWindow.idl => widget/nsIBaseWindow.idl rename : widget/public/nsIBidiKeyboard.idl => widget/nsIBidiKeyboard.idl rename : widget/public/nsIClipboard.idl => widget/nsIClipboard.idl rename : widget/public/nsIClipboardDragDropHookList.idl => widget/nsIClipboardDragDropHookList.idl rename : widget/public/nsIClipboardDragDropHooks.idl => widget/nsIClipboardDragDropHooks.idl rename : widget/public/nsIClipboardHelper.idl => widget/nsIClipboardHelper.idl rename : widget/public/nsIClipboardOwner.idl => widget/nsIClipboardOwner.idl rename : widget/public/nsIDeviceContextSpec.h => widget/nsIDeviceContextSpec.h rename : widget/public/nsIDragService.idl => widget/nsIDragService.idl rename : widget/public/nsIDragSession.idl => widget/nsIDragSession.idl rename : widget/public/nsIDragSessionGTK.h => widget/nsIDragSessionGTK.h rename : widget/public/nsIDragSessionOS2.h => widget/nsIDragSessionOS2.h rename : widget/public/nsIFilePicker.idl => widget/nsIFilePicker.idl rename : widget/public/nsIFormatConverter.idl => widget/nsIFormatConverter.idl rename : widget/public/nsIGfxInfo.idl => widget/nsIGfxInfo.idl rename : widget/public/nsIGfxInfoDebug.idl => widget/nsIGfxInfoDebug.idl rename : widget/public/nsIIMEPicker.idl => widget/nsIIMEPicker.idl rename : widget/public/nsIIdleService.idl => widget/nsIIdleService.idl rename : widget/public/nsIJumpListBuilder.idl => widget/nsIJumpListBuilder.idl rename : widget/public/nsIJumpListItem.idl => widget/nsIJumpListItem.idl rename : widget/public/nsIMacDockSupport.idl => widget/nsIMacDockSupport.idl rename : widget/public/nsINativeKeyBindings.h => widget/nsINativeKeyBindings.h rename : widget/public/nsINativeMenuService.h => widget/nsINativeMenuService.h rename : widget/public/nsIPluginWidget.h => widget/nsIPluginWidget.h rename : widget/public/nsIPrintDialogService.h => widget/nsIPrintDialogService.h rename : widget/public/nsIPrintOptions.idl => widget/nsIPrintOptions.idl rename : widget/public/nsIPrintSession.idl => widget/nsIPrintSession.idl rename : widget/public/nsIPrintSettings.idl => widget/nsIPrintSettings.idl rename : widget/public/nsIPrintSettingsService.idl => widget/nsIPrintSettingsService.idl rename : widget/public/nsIPrintSettingsWin.idl => widget/nsIPrintSettingsWin.idl rename : widget/public/nsIRollupListener.h => widget/nsIRollupListener.h rename : widget/public/nsIRwsService.idl => widget/nsIRwsService.idl rename : widget/public/nsIScreen.idl => widget/nsIScreen.idl rename : widget/public/nsIScreenManager.idl => widget/nsIScreenManager.idl rename : widget/public/nsISound.idl => widget/nsISound.idl rename : widget/public/nsIStandaloneNativeMenu.idl => widget/nsIStandaloneNativeMenu.idl rename : widget/public/nsITaskbarOverlayIconController.idl => widget/nsITaskbarOverlayIconController.idl rename : widget/public/nsITaskbarPreview.idl => widget/nsITaskbarPreview.idl rename : widget/public/nsITaskbarPreviewButton.idl => widget/nsITaskbarPreviewButton.idl rename : widget/public/nsITaskbarPreviewController.idl => widget/nsITaskbarPreviewController.idl rename : widget/public/nsITaskbarProgress.idl => widget/nsITaskbarProgress.idl rename : widget/public/nsITaskbarTabPreview.idl => widget/nsITaskbarTabPreview.idl rename : widget/public/nsITaskbarWindowPreview.idl => widget/nsITaskbarWindowPreview.idl rename : widget/public/nsITransferable.idl => widget/nsITransferable.idl rename : widget/public/nsIWidget.h => widget/nsIWidget.h rename : widget/public/nsIWinTaskbar.idl => widget/nsIWinTaskbar.idl rename : widget/public/nsNativeWidget.h => widget/nsNativeWidget.h rename : widget/public/nsWidgetInitData.h => widget/nsWidgetInitData.h rename : widget/public/nsWidgetsCID.h => widget/nsWidgetsCID.h rename : widget/src/os2/Makefile.in => widget/os2/Makefile.in rename : widget/src/os2/MozSounds.cmd => widget/os2/MozSounds.cmd rename : widget/src/os2/README.firefox => widget/os2/README.firefox rename : widget/src/os2/README.seamonkey => widget/os2/README.seamonkey rename : widget/src/os2/README.thunderbird => widget/os2/README.thunderbird rename : widget/src/os2/nsAppShell.cpp => widget/os2/nsAppShell.cpp rename : widget/src/os2/nsAppShell.h => widget/os2/nsAppShell.h rename : widget/src/os2/nsBidiKeyboard.cpp => widget/os2/nsBidiKeyboard.cpp rename : widget/src/os2/nsBidiKeyboard.h => widget/os2/nsBidiKeyboard.h rename : widget/src/os2/nsClipboard.cpp => widget/os2/nsClipboard.cpp rename : widget/src/os2/nsClipboard.h => widget/os2/nsClipboard.h rename : widget/src/os2/nsDeviceContextSpecOS2.cpp => widget/os2/nsDeviceContextSpecOS2.cpp rename : widget/src/os2/nsDeviceContextSpecOS2.h => widget/os2/nsDeviceContextSpecOS2.h rename : widget/src/os2/nsDragService.cpp => widget/os2/nsDragService.cpp rename : widget/src/os2/nsDragService.h => widget/os2/nsDragService.h rename : widget/src/os2/nsFilePicker.cpp => widget/os2/nsFilePicker.cpp rename : widget/src/os2/nsFilePicker.h => widget/os2/nsFilePicker.h rename : widget/src/os2/nsGfxDefs.h => widget/os2/nsGfxDefs.h rename : widget/src/os2/nsIdleServiceOS2.cpp => widget/os2/nsIdleServiceOS2.cpp rename : widget/src/os2/nsIdleServiceOS2.h => widget/os2/nsIdleServiceOS2.h rename : widget/src/os2/nsLookAndFeel.cpp => widget/os2/nsLookAndFeel.cpp rename : widget/src/os2/nsLookAndFeel.h => widget/os2/nsLookAndFeel.h rename : widget/src/os2/nsOS2Uni.cpp => widget/os2/nsOS2Uni.cpp rename : widget/src/os2/nsOS2Uni.h => widget/os2/nsOS2Uni.h rename : widget/src/os2/nsPrintOS2.cpp => widget/os2/nsPrintOS2.cpp rename : widget/src/os2/nsPrintOS2.h => widget/os2/nsPrintOS2.h rename : widget/src/os2/nsPrintOptionsOS2.cpp => widget/os2/nsPrintOptionsOS2.cpp rename : widget/src/os2/nsPrintOptionsOS2.h => widget/os2/nsPrintOptionsOS2.h rename : widget/src/os2/nsPrintdOS2.h => widget/os2/nsPrintdOS2.h rename : widget/src/os2/nsRwsService.cpp => widget/os2/nsRwsService.cpp rename : widget/src/os2/nsRwsService.h => widget/os2/nsRwsService.h rename : widget/src/os2/nsScreenManagerOS2.cpp => widget/os2/nsScreenManagerOS2.cpp rename : widget/src/os2/nsScreenManagerOS2.h => widget/os2/nsScreenManagerOS2.h rename : widget/src/os2/nsScreenOS2.cpp => widget/os2/nsScreenOS2.cpp rename : widget/src/os2/nsScreenOS2.h => widget/os2/nsScreenOS2.h rename : widget/src/os2/nsSound.cpp => widget/os2/nsSound.cpp rename : widget/src/os2/nsSound.h => widget/os2/nsSound.h rename : widget/src/os2/nsWidgetFactory.cpp => widget/os2/nsWidgetFactory.cpp rename : widget/src/os2/nsWindow.cpp => widget/os2/nsWindow.cpp rename : widget/src/os2/nsWindow.h => widget/os2/nsWindow.h rename : widget/src/os2/os2FrameWindow.cpp => widget/os2/os2FrameWindow.cpp rename : widget/src/os2/os2FrameWindow.h => widget/os2/os2FrameWindow.h rename : widget/src/os2/res/aliasb.ptr => widget/os2/res/aliasb.ptr rename : widget/src/os2/res/arrow_wait.ptr => widget/os2/res/arrow_wait.ptr rename : widget/src/os2/res/cell.ptr => widget/os2/res/cell.ptr rename : widget/src/os2/res/col_resize.ptr => widget/os2/res/col_resize.ptr rename : widget/src/os2/res/copy.ptr => widget/os2/res/copy.ptr rename : widget/src/os2/res/crosshair.ptr => widget/os2/res/crosshair.ptr rename : widget/src/os2/res/dndtext.ico => widget/os2/res/dndtext.ico rename : widget/src/os2/res/dndurl.ico => widget/os2/res/dndurl.ico rename : widget/src/os2/res/grab.ptr => widget/os2/res/grab.ptr rename : widget/src/os2/res/grabbing.ptr => widget/os2/res/grabbing.ptr rename : widget/src/os2/res/help.ptr => widget/os2/res/help.ptr rename : widget/src/os2/res/none.ptr => widget/os2/res/none.ptr rename : widget/src/os2/res/row_resize.ptr => widget/os2/res/row_resize.ptr rename : widget/src/os2/res/select.ptr => widget/os2/res/select.ptr rename : widget/src/os2/res/vertical_text.ptr => widget/os2/res/vertical_text.ptr rename : widget/src/os2/res/zoom_in.ptr => widget/os2/res/zoom_in.ptr rename : widget/src/os2/res/zoom_out.ptr => widget/os2/res/zoom_out.ptr rename : widget/src/os2/rws.h => widget/os2/rws.h rename : widget/src/os2/rwserr.h => widget/os2/rwserr.h rename : widget/src/os2/wdgtos2rc.h => widget/os2/wdgtos2rc.h rename : widget/src/os2/widget.rc => widget/os2/widget.rc rename : widget/src/qt/Makefile.in => widget/qt/Makefile.in rename : widget/src/qt/faststartupqt/Makefile.in => widget/qt/faststartupqt/Makefile.in rename : widget/src/qt/faststartupqt/mozqwidgetfast.cpp => widget/qt/faststartupqt/mozqwidgetfast.cpp rename : widget/src/qt/faststartupqt/mozqwidgetfast.h => widget/qt/faststartupqt/mozqwidgetfast.h rename : widget/src/qt/faststartupqt/nsFastStartupQt.cpp => widget/qt/faststartupqt/nsFastStartupQt.cpp rename : widget/src/qt/faststartupqt/nsFastStartupQt.h => widget/qt/faststartupqt/nsFastStartupQt.h rename : widget/src/qt/mozSwipeGesture.cpp => widget/qt/mozSwipeGesture.cpp rename : widget/src/qt/mozSwipeGesture.h => widget/qt/mozSwipeGesture.h rename : widget/src/qt/moziqwidget.h => widget/qt/moziqwidget.h rename : widget/src/qt/mozqorientationsensorfilter.cpp => widget/qt/mozqorientationsensorfilter.cpp rename : widget/src/qt/mozqorientationsensorfilter.h => widget/qt/mozqorientationsensorfilter.h rename : widget/src/qt/mozqwidget.cpp => widget/qt/mozqwidget.cpp rename : widget/src/qt/mozqwidget.h => widget/qt/mozqwidget.h rename : widget/src/qt/nsAppShell.cpp => widget/qt/nsAppShell.cpp rename : widget/src/qt/nsAppShell.h => widget/qt/nsAppShell.h rename : widget/src/qt/nsBidiKeyboard.cpp => widget/qt/nsBidiKeyboard.cpp rename : widget/src/qt/nsBidiKeyboard.h => widget/qt/nsBidiKeyboard.h rename : widget/src/qt/nsClipboard.cpp => widget/qt/nsClipboard.cpp rename : widget/src/qt/nsClipboard.h => widget/qt/nsClipboard.h rename : widget/src/qt/nsCommonWidget.cpp => widget/qt/nsCommonWidget.cpp rename : widget/src/qt/nsCommonWidget.h => widget/qt/nsCommonWidget.h rename : widget/src/qt/nsDeviceContextSpecQt.cpp => widget/qt/nsDeviceContextSpecQt.cpp rename : widget/src/qt/nsDeviceContextSpecQt.h => widget/qt/nsDeviceContextSpecQt.h rename : widget/src/qt/nsDragService.cpp => widget/qt/nsDragService.cpp rename : widget/src/qt/nsDragService.h => widget/qt/nsDragService.h rename : widget/src/qt/nsFilePicker.cpp => widget/qt/nsFilePicker.cpp rename : widget/src/qt/nsFilePicker.h => widget/qt/nsFilePicker.h rename : widget/src/qt/nsIdleServiceQt.cpp => widget/qt/nsIdleServiceQt.cpp rename : widget/src/qt/nsIdleServiceQt.h => widget/qt/nsIdleServiceQt.h rename : widget/src/qt/nsLookAndFeel.cpp => widget/qt/nsLookAndFeel.cpp rename : widget/src/qt/nsLookAndFeel.h => widget/qt/nsLookAndFeel.h rename : widget/src/qt/nsMFilePicker.cpp => widget/qt/nsMFilePicker.cpp rename : widget/src/qt/nsMFilePicker.h => widget/qt/nsMFilePicker.h rename : widget/src/qt/nsNativeThemeQt.cpp => widget/qt/nsNativeThemeQt.cpp rename : widget/src/qt/nsNativeThemeQt.h => widget/qt/nsNativeThemeQt.h rename : widget/src/qt/nsPrintDialogQt.cpp => widget/qt/nsPrintDialogQt.cpp rename : widget/src/qt/nsPrintDialogQt.h => widget/qt/nsPrintDialogQt.h rename : widget/src/qt/nsPrintOptionsQt.cpp => widget/qt/nsPrintOptionsQt.cpp rename : widget/src/qt/nsPrintOptionsQt.h => widget/qt/nsPrintOptionsQt.h rename : widget/src/qt/nsPrintSettingsQt.cpp => widget/qt/nsPrintSettingsQt.cpp rename : widget/src/qt/nsPrintSettingsQt.h => widget/qt/nsPrintSettingsQt.h rename : widget/src/qt/nsQtKeyUtils.cpp => widget/qt/nsQtKeyUtils.cpp rename : widget/src/qt/nsQtKeyUtils.h => widget/qt/nsQtKeyUtils.h rename : widget/src/qt/nsScreenManagerQt.cpp => widget/qt/nsScreenManagerQt.cpp rename : widget/src/qt/nsScreenManagerQt.h => widget/qt/nsScreenManagerQt.h rename : widget/src/qt/nsScreenQt.cpp => widget/qt/nsScreenQt.cpp rename : widget/src/qt/nsScreenQt.h => widget/qt/nsScreenQt.h rename : widget/src/qt/nsSound.cpp => widget/qt/nsSound.cpp rename : widget/src/qt/nsSound.h => widget/qt/nsSound.h rename : widget/src/qt/nsWidgetFactory.cpp => widget/qt/nsWidgetFactory.cpp rename : widget/src/qt/nsWindow.cpp => widget/qt/nsWindow.cpp rename : widget/src/qt/nsWindow.h => widget/qt/nsWindow.h rename : widget/src/shared/Makefile.in => widget/shared/Makefile.in rename : widget/src/shared/WidgetUtils.cpp => widget/shared/WidgetUtils.cpp rename : widget/src/shared/WidgetUtils.h => widget/shared/WidgetUtils.h rename : widget/src/shared/nsShmImage.cpp => widget/shared/nsShmImage.cpp rename : widget/src/shared/nsShmImage.h => widget/shared/nsShmImage.h rename : widget/src/shared/x11/Makefile.in => widget/shared/x11/Makefile.in rename : widget/src/shared/x11/keysym2ucs.c => widget/shared/x11/keysym2ucs.c rename : widget/src/shared/x11/keysym2ucs.h => widget/shared/x11/keysym2ucs.h rename : widget/src/windows/AudioSession.cpp => widget/windows/AudioSession.cpp rename : widget/src/windows/AudioSession.h => widget/windows/AudioSession.h rename : widget/src/windows/GfxInfo.cpp => widget/windows/GfxInfo.cpp rename : widget/src/windows/GfxInfo.h => widget/windows/GfxInfo.h rename : widget/src/windows/IEnumFE.cpp => widget/windows/IEnumFE.cpp rename : widget/src/windows/IEnumFE.h => widget/windows/IEnumFE.h rename : widget/src/windows/JumpListBuilder.cpp => widget/windows/JumpListBuilder.cpp rename : widget/src/windows/JumpListBuilder.h => widget/windows/JumpListBuilder.h rename : widget/src/windows/JumpListItem.cpp => widget/windows/JumpListItem.cpp rename : widget/src/windows/JumpListItem.h => widget/windows/JumpListItem.h rename : widget/src/windows/KeyboardLayout.cpp => widget/windows/KeyboardLayout.cpp rename : widget/src/windows/KeyboardLayout.h => widget/windows/KeyboardLayout.h rename : widget/src/windows/LSPAnnotator.cpp => widget/windows/LSPAnnotator.cpp rename : widget/src/windows/Makefile.in => widget/windows/Makefile.in rename : widget/src/windows/TaskbarPreview.cpp => widget/windows/TaskbarPreview.cpp rename : widget/src/windows/TaskbarPreview.h => widget/windows/TaskbarPreview.h rename : widget/src/windows/TaskbarPreviewButton.cpp => widget/windows/TaskbarPreviewButton.cpp rename : widget/src/windows/TaskbarPreviewButton.h => widget/windows/TaskbarPreviewButton.h rename : widget/src/windows/TaskbarTabPreview.cpp => widget/windows/TaskbarTabPreview.cpp rename : widget/src/windows/TaskbarTabPreview.h => widget/windows/TaskbarTabPreview.h rename : widget/src/windows/TaskbarWindowPreview.cpp => widget/windows/TaskbarWindowPreview.cpp rename : widget/src/windows/TaskbarWindowPreview.h => widget/windows/TaskbarWindowPreview.h rename : widget/src/windows/WidgetTraceEvent.cpp => widget/windows/WidgetTraceEvent.cpp rename : widget/src/windows/WinTaskbar.cpp => widget/windows/WinTaskbar.cpp rename : widget/src/windows/WinTaskbar.h => widget/windows/WinTaskbar.h rename : widget/src/windows/WindowHook.cpp => widget/windows/WindowHook.cpp rename : widget/src/windows/WindowHook.h => widget/windows/WindowHook.h rename : widget/src/windows/nsAppShell.cpp => widget/windows/nsAppShell.cpp rename : widget/src/windows/nsAppShell.h => widget/windows/nsAppShell.h rename : widget/src/windows/nsBidiKeyboard.cpp => widget/windows/nsBidiKeyboard.cpp rename : widget/src/windows/nsBidiKeyboard.h => widget/windows/nsBidiKeyboard.h rename : widget/src/windows/nsClipboard.cpp => widget/windows/nsClipboard.cpp rename : widget/src/windows/nsClipboard.h => widget/windows/nsClipboard.h rename : widget/src/windows/nsDataObj.cpp => widget/windows/nsDataObj.cpp rename : widget/src/windows/nsDataObj.h => widget/windows/nsDataObj.h rename : widget/src/windows/nsDataObjCollection.cpp => widget/windows/nsDataObjCollection.cpp rename : widget/src/windows/nsDataObjCollection.h => widget/windows/nsDataObjCollection.h rename : widget/src/windows/nsDeviceContextSpecWin.cpp => widget/windows/nsDeviceContextSpecWin.cpp rename : widget/src/windows/nsDeviceContextSpecWin.h => widget/windows/nsDeviceContextSpecWin.h rename : widget/src/windows/nsDragService.cpp => widget/windows/nsDragService.cpp rename : widget/src/windows/nsDragService.h => widget/windows/nsDragService.h rename : widget/src/windows/nsFilePicker.cpp => widget/windows/nsFilePicker.cpp rename : widget/src/windows/nsFilePicker.h => widget/windows/nsFilePicker.h rename : widget/src/windows/nsIMM32Handler.cpp => widget/windows/nsIMM32Handler.cpp rename : widget/src/windows/nsIMM32Handler.h => widget/windows/nsIMM32Handler.h rename : widget/src/windows/nsIdleServiceWin.cpp => widget/windows/nsIdleServiceWin.cpp rename : widget/src/windows/nsIdleServiceWin.h => widget/windows/nsIdleServiceWin.h rename : widget/src/windows/nsImageClipboard.cpp => widget/windows/nsImageClipboard.cpp rename : widget/src/windows/nsImageClipboard.h => widget/windows/nsImageClipboard.h rename : widget/src/windows/nsLookAndFeel.cpp => widget/windows/nsLookAndFeel.cpp rename : widget/src/windows/nsLookAndFeel.h => widget/windows/nsLookAndFeel.h rename : widget/src/windows/nsNativeDragSource.cpp => widget/windows/nsNativeDragSource.cpp rename : widget/src/windows/nsNativeDragSource.h => widget/windows/nsNativeDragSource.h rename : widget/src/windows/nsNativeDragTarget.cpp => widget/windows/nsNativeDragTarget.cpp rename : widget/src/windows/nsNativeDragTarget.h => widget/windows/nsNativeDragTarget.h rename : widget/src/windows/nsNativeThemeWin.cpp => widget/windows/nsNativeThemeWin.cpp rename : widget/src/windows/nsNativeThemeWin.h => widget/windows/nsNativeThemeWin.h rename : widget/src/windows/nsPrintOptionsWin.cpp => widget/windows/nsPrintOptionsWin.cpp rename : widget/src/windows/nsPrintOptionsWin.h => widget/windows/nsPrintOptionsWin.h rename : widget/src/windows/nsPrintSettingsWin.cpp => widget/windows/nsPrintSettingsWin.cpp rename : widget/src/windows/nsPrintSettingsWin.h => widget/windows/nsPrintSettingsWin.h rename : widget/src/windows/nsScreenManagerWin.cpp => widget/windows/nsScreenManagerWin.cpp rename : widget/src/windows/nsScreenManagerWin.h => widget/windows/nsScreenManagerWin.h rename : widget/src/windows/nsScreenWin.cpp => widget/windows/nsScreenWin.cpp rename : widget/src/windows/nsScreenWin.h => widget/windows/nsScreenWin.h rename : widget/src/windows/nsSound.cpp => widget/windows/nsSound.cpp rename : widget/src/windows/nsSound.h => widget/windows/nsSound.h rename : widget/src/windows/nsTextStore.cpp => widget/windows/nsTextStore.cpp rename : widget/src/windows/nsTextStore.h => widget/windows/nsTextStore.h rename : widget/src/windows/nsToolkit.cpp => widget/windows/nsToolkit.cpp rename : widget/src/windows/nsToolkit.h => widget/windows/nsToolkit.h rename : widget/src/windows/nsUXThemeConstants.h => widget/windows/nsUXThemeConstants.h rename : widget/src/windows/nsUXThemeData.cpp => widget/windows/nsUXThemeData.cpp rename : widget/src/windows/nsUXThemeData.h => widget/windows/nsUXThemeData.h rename : widget/src/windows/nsWinGesture.cpp => widget/windows/nsWinGesture.cpp rename : widget/src/windows/nsWinGesture.h => widget/windows/nsWinGesture.h rename : widget/src/windows/nsWindow.cpp => widget/windows/nsWindow.cpp rename : widget/src/windows/nsWindow.h => widget/windows/nsWindow.h rename : widget/src/windows/nsWindowDbg.cpp => widget/windows/nsWindowDbg.cpp rename : widget/src/windows/nsWindowDbg.h => widget/windows/nsWindowDbg.h rename : widget/src/windows/nsWindowDefs.h => widget/windows/nsWindowDefs.h rename : widget/src/windows/nsWindowGfx.cpp => widget/windows/nsWindowGfx.cpp rename : widget/src/windows/nsWindowGfx.h => widget/windows/nsWindowGfx.h rename : widget/src/windows/nsdefs.h => widget/windows/nsdefs.h rename : widget/src/windows/resource.h => widget/windows/resource.h rename : widget/src/windows/tests/Makefile.in => widget/windows/tests/Makefile.in rename : widget/src/windows/tests/TestWinDND.cpp => widget/windows/tests/TestWinDND.cpp rename : widget/src/xpwidgets/GfxDriverInfo.cpp => widget/xpwidgets/GfxDriverInfo.cpp rename : widget/src/xpwidgets/GfxDriverInfo.h => widget/xpwidgets/GfxDriverInfo.h rename : widget/src/xpwidgets/GfxInfoBase.cpp => widget/xpwidgets/GfxInfoBase.cpp rename : widget/src/xpwidgets/GfxInfoBase.h => widget/xpwidgets/GfxInfoBase.h rename : widget/src/xpwidgets/GfxInfoCollector.h => widget/xpwidgets/GfxInfoCollector.h rename : widget/src/xpwidgets/GfxInfoWebGL.cpp => widget/xpwidgets/GfxInfoWebGL.cpp rename : widget/src/xpwidgets/GfxInfoWebGL.h => widget/xpwidgets/GfxInfoWebGL.h rename : widget/src/xpwidgets/GfxInfoX11.cpp => widget/xpwidgets/GfxInfoX11.cpp rename : widget/src/xpwidgets/GfxInfoX11.h => widget/xpwidgets/GfxInfoX11.h rename : widget/src/xpwidgets/Makefile.in => widget/xpwidgets/Makefile.in rename : widget/src/xpwidgets/PuppetWidget.cpp => widget/xpwidgets/PuppetWidget.cpp rename : widget/src/xpwidgets/PuppetWidget.h => widget/xpwidgets/PuppetWidget.h rename : widget/src/xpwidgets/nsAppShellSingleton.h => widget/xpwidgets/nsAppShellSingleton.h rename : widget/src/xpwidgets/nsBaseAppShell.cpp => widget/xpwidgets/nsBaseAppShell.cpp rename : widget/src/xpwidgets/nsBaseAppShell.h => widget/xpwidgets/nsBaseAppShell.h rename : widget/src/xpwidgets/nsBaseClipboard.cpp => widget/xpwidgets/nsBaseClipboard.cpp rename : widget/src/xpwidgets/nsBaseClipboard.h => widget/xpwidgets/nsBaseClipboard.h rename : widget/src/xpwidgets/nsBaseDragService.cpp => widget/xpwidgets/nsBaseDragService.cpp rename : widget/src/xpwidgets/nsBaseDragService.h => widget/xpwidgets/nsBaseDragService.h rename : widget/src/xpwidgets/nsBaseFilePicker.cpp => widget/xpwidgets/nsBaseFilePicker.cpp rename : widget/src/xpwidgets/nsBaseFilePicker.h => widget/xpwidgets/nsBaseFilePicker.h rename : widget/src/xpwidgets/nsBaseWidget.cpp => widget/xpwidgets/nsBaseWidget.cpp rename : widget/src/xpwidgets/nsBaseWidget.h => widget/xpwidgets/nsBaseWidget.h rename : widget/src/xpwidgets/nsClipboardHelper.cpp => widget/xpwidgets/nsClipboardHelper.cpp rename : widget/src/xpwidgets/nsClipboardHelper.h => widget/xpwidgets/nsClipboardHelper.h rename : widget/src/xpwidgets/nsClipboardPrivacyHandler.cpp => widget/xpwidgets/nsClipboardPrivacyHandler.cpp rename : widget/src/xpwidgets/nsClipboardPrivacyHandler.h => widget/xpwidgets/nsClipboardPrivacyHandler.h rename : widget/src/xpwidgets/nsFilePickerProxy.cpp => widget/xpwidgets/nsFilePickerProxy.cpp rename : widget/src/xpwidgets/nsFilePickerProxy.h => widget/xpwidgets/nsFilePickerProxy.h rename : widget/src/xpwidgets/nsHTMLFormatConverter.cpp => widget/xpwidgets/nsHTMLFormatConverter.cpp rename : widget/src/xpwidgets/nsHTMLFormatConverter.h => widget/xpwidgets/nsHTMLFormatConverter.h rename : widget/src/xpwidgets/nsIdleService.cpp => widget/xpwidgets/nsIdleService.cpp rename : widget/src/xpwidgets/nsIdleService.h => widget/xpwidgets/nsIdleService.h rename : widget/src/xpwidgets/nsNativeTheme.cpp => widget/xpwidgets/nsNativeTheme.cpp rename : widget/src/xpwidgets/nsNativeTheme.h => widget/xpwidgets/nsNativeTheme.h rename : widget/src/xpwidgets/nsPrimitiveHelpers.cpp => widget/xpwidgets/nsPrimitiveHelpers.cpp rename : widget/src/xpwidgets/nsPrimitiveHelpers.h => widget/xpwidgets/nsPrimitiveHelpers.h rename : widget/src/xpwidgets/nsPrintOptionsImpl.cpp => widget/xpwidgets/nsPrintOptionsImpl.cpp rename : widget/src/xpwidgets/nsPrintOptionsImpl.h => widget/xpwidgets/nsPrintOptionsImpl.h rename : widget/src/xpwidgets/nsPrintSession.cpp => widget/xpwidgets/nsPrintSession.cpp rename : widget/src/xpwidgets/nsPrintSession.h => widget/xpwidgets/nsPrintSession.h rename : widget/src/xpwidgets/nsPrintSettingsImpl.cpp => widget/xpwidgets/nsPrintSettingsImpl.cpp rename : widget/src/xpwidgets/nsPrintSettingsImpl.h => widget/xpwidgets/nsPrintSettingsImpl.h rename : widget/src/xpwidgets/nsTransferable.cpp => widget/xpwidgets/nsTransferable.cpp rename : widget/src/xpwidgets/nsTransferable.h => widget/xpwidgets/nsTransferable.h rename : widget/src/xpwidgets/nsXPLookAndFeel.cpp => widget/xpwidgets/nsXPLookAndFeel.cpp rename : widget/src/xpwidgets/nsXPLookAndFeel.h => widget/xpwidgets/nsXPLookAndFeel.h rename : widget/src/xremoteclient/Makefile.in => widget/xremoteclient/Makefile.in rename : widget/src/xremoteclient/XRemoteClient.cpp => widget/xremoteclient/XRemoteClient.cpp rename : widget/src/xremoteclient/XRemoteClient.h => widget/xremoteclient/XRemoteClient.h rename : widget/src/xremoteclient/XRemoteClientFactory.cpp => widget/xremoteclient/XRemoteClientFactory.cpp rename : widget/src/xremoteclient/mozilla-xremote-client.cpp => widget/xremoteclient/mozilla-xremote-client.cpp rename : widget/src/xremoteclient/nsRemoteClient.h => widget/xremoteclient/nsRemoteClient.h
952 lines
26 KiB
C
952 lines
26 KiB
C
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
* vim:expandtab:shiftwidth=2:tabstop=2: */
|
|
|
|
/* ***** BEGIN LICENSE BLOCK *****
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
*
|
|
* The contents of this file are subject to the Mozilla 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/MPL/
|
|
*
|
|
* 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 the Gtk2XtBin Widget Implementation.
|
|
*
|
|
* The Initial Developer of the Original Code is
|
|
* Sun Microsystems, Inc.
|
|
* Portions created by the Initial Developer are Copyright (C) 2002
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* Alternatively, the contents of this file may be used under the terms of
|
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
* of those above. If you wish to allow use of your version of this file only
|
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
* use your version of this file under the terms of the MPL, indicate your
|
|
* decision by deleting the provisions above and replace them with the notice
|
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
* the provisions above, a recipient may use your version of this file under
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
*
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
/*
|
|
* The GtkXtBin widget allows for Xt toolkit code to be used
|
|
* inside a GTK application.
|
|
*/
|
|
|
|
#include "xembed.h"
|
|
#include "gtk2xtbin.h"
|
|
#include <gtk/gtk.h>
|
|
#include <gdk/gdkx.h>
|
|
#include <glib.h>
|
|
#include <assert.h>
|
|
#include <sys/time.h>
|
|
#include <sys/types.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
|
|
/* Xlib/Xt stuff */
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
#include <X11/Shell.h>
|
|
#include <X11/Intrinsic.h>
|
|
#include <X11/StringDefs.h>
|
|
|
|
/* uncomment this if you want debugging information about widget
|
|
creation and destruction */
|
|
#undef DEBUG_XTBIN
|
|
|
|
#define XTBIN_MAX_EVENTS 30
|
|
|
|
static void gtk_xtbin_class_init (GtkXtBinClass *klass);
|
|
static void gtk_xtbin_init (GtkXtBin *xtbin);
|
|
static void gtk_xtbin_realize (GtkWidget *widget);
|
|
static void gtk_xtbin_unrealize (GtkWidget *widget);
|
|
static void gtk_xtbin_destroy (GtkObject *object);
|
|
static void gtk_xtbin_shutdown (GtkObject *object);
|
|
|
|
/* Xt aware XEmbed */
|
|
static void xt_client_init (XtClient * xtclient,
|
|
Visual *xtvisual,
|
|
Colormap xtcolormap,
|
|
int xtdepth);
|
|
static void xt_client_create (XtClient * xtclient,
|
|
Window embeder,
|
|
int height,
|
|
int width );
|
|
static void xt_client_unrealize (XtClient* xtclient);
|
|
static void xt_client_destroy (XtClient* xtclient);
|
|
static void xt_client_set_info (Widget xtplug,
|
|
unsigned long flags);
|
|
static void xt_client_event_handler (Widget w,
|
|
XtPointer client_data,
|
|
XEvent *event);
|
|
static void xt_client_handle_xembed_message (Widget w,
|
|
XtPointer client_data,
|
|
XEvent *event);
|
|
static void xt_client_focus_listener (Widget w,
|
|
XtPointer user_data,
|
|
XEvent *event);
|
|
static void xt_add_focus_listener( Widget w, XtPointer user_data );
|
|
static void xt_add_focus_listener_tree ( Widget treeroot, XtPointer user_data);
|
|
static void xt_remove_focus_listener(Widget w, XtPointer user_data);
|
|
static void send_xembed_message (XtClient *xtclient,
|
|
long message,
|
|
long detail,
|
|
long data1,
|
|
long data2,
|
|
long time);
|
|
static int error_handler (Display *display,
|
|
XErrorEvent *error);
|
|
/* For error trap of XEmbed */
|
|
static void trap_errors(void);
|
|
static int untrap_error(void);
|
|
static int (*old_error_handler) (Display *, XErrorEvent *);
|
|
static int trapped_error_code = 0;
|
|
|
|
static GtkWidgetClass *parent_class = NULL;
|
|
|
|
static Display *xtdisplay = NULL;
|
|
static String *fallback = NULL;
|
|
static gboolean xt_is_initialized = FALSE;
|
|
static gint num_widgets = 0;
|
|
|
|
static GPollFD xt_event_poll_fd;
|
|
static gint xt_polling_timer_id = 0;
|
|
static guint tag = 0;
|
|
|
|
static gboolean
|
|
xt_event_prepare (GSource* source_data,
|
|
gint *timeout)
|
|
{
|
|
int mask;
|
|
|
|
GDK_THREADS_ENTER();
|
|
mask = XPending(xtdisplay);
|
|
GDK_THREADS_LEAVE();
|
|
|
|
return (gboolean)mask;
|
|
}
|
|
|
|
static gboolean
|
|
xt_event_check (GSource* source_data)
|
|
{
|
|
GDK_THREADS_ENTER ();
|
|
|
|
if (xt_event_poll_fd.revents & G_IO_IN) {
|
|
int mask;
|
|
mask = XPending(xtdisplay);
|
|
GDK_THREADS_LEAVE ();
|
|
return (gboolean)mask;
|
|
}
|
|
|
|
GDK_THREADS_LEAVE ();
|
|
return FALSE;
|
|
}
|
|
|
|
static gboolean
|
|
xt_event_dispatch (GSource* source_data,
|
|
GSourceFunc call_back,
|
|
gpointer user_data)
|
|
{
|
|
XEvent event;
|
|
XtAppContext ac;
|
|
int i = 0;
|
|
|
|
ac = XtDisplayToApplicationContext(xtdisplay);
|
|
|
|
GDK_THREADS_ENTER ();
|
|
|
|
/* Process only real X traffic here. We only look for data on the
|
|
* pipe, limit it to XTBIN_MAX_EVENTS and only call
|
|
* XtAppProcessEvent so that it will look for X events. There's no
|
|
* timer processing here since we already have a timer callback that
|
|
* does it. */
|
|
for (i=0; i < XTBIN_MAX_EVENTS && XPending(xtdisplay); i++) {
|
|
XtAppProcessEvent(ac, XtIMXEvent);
|
|
}
|
|
|
|
GDK_THREADS_LEAVE ();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
static GSourceFuncs xt_event_funcs = {
|
|
xt_event_prepare,
|
|
xt_event_check,
|
|
xt_event_dispatch,
|
|
g_free,
|
|
(GSourceFunc)NULL,
|
|
(GSourceDummyMarshal)NULL
|
|
};
|
|
|
|
static gboolean
|
|
xt_event_polling_timer_callback(gpointer user_data)
|
|
{
|
|
Display * display;
|
|
XtAppContext ac;
|
|
int eventsToProcess = 20;
|
|
|
|
display = (Display *)user_data;
|
|
ac = XtDisplayToApplicationContext(display);
|
|
|
|
/* We need to process many Xt events here. If we just process
|
|
one event we might starve one or more Xt consumers. On the other hand
|
|
this could hang the whole app if Xt events come pouring in. So process
|
|
up to 20 Xt events right now and save the rest for later. This is a hack,
|
|
but it oughta work. We *really* should have out of process plugins.
|
|
*/
|
|
while (eventsToProcess-- && XtAppPending(ac))
|
|
XtAppProcessEvent(ac, XtIMAll);
|
|
return TRUE;
|
|
}
|
|
|
|
GType
|
|
gtk_xtbin_get_type (void)
|
|
{
|
|
static GType xtbin_type = 0;
|
|
|
|
if (!xtbin_type) {
|
|
static const GTypeInfo xtbin_info =
|
|
{
|
|
sizeof (GtkXtBinClass), /* class_size */
|
|
NULL, /* base_init */
|
|
NULL, /* base_finalize */
|
|
(GClassInitFunc) gtk_xtbin_class_init, /* class_init */
|
|
NULL, /* class_finalize */
|
|
NULL, /* class_data */
|
|
sizeof (GtkXtBin), /* instance_size */
|
|
0, /* n_preallocs */
|
|
(GInstanceInitFunc) gtk_xtbin_init, /* instance_init */
|
|
NULL /* value_table */
|
|
};
|
|
xtbin_type = g_type_register_static(GTK_TYPE_SOCKET, "GtkXtBin",
|
|
&xtbin_info, 0);
|
|
}
|
|
return xtbin_type;
|
|
}
|
|
|
|
static void
|
|
gtk_xtbin_class_init (GtkXtBinClass *klass)
|
|
{
|
|
GtkWidgetClass *widget_class;
|
|
GtkObjectClass *object_class;
|
|
|
|
parent_class = g_type_class_peek_parent(klass);
|
|
|
|
widget_class = GTK_WIDGET_CLASS (klass);
|
|
widget_class->realize = gtk_xtbin_realize;
|
|
widget_class->unrealize = gtk_xtbin_unrealize;
|
|
|
|
object_class = GTK_OBJECT_CLASS (klass);
|
|
object_class->destroy = gtk_xtbin_destroy;
|
|
}
|
|
|
|
static void
|
|
gtk_xtbin_init (GtkXtBin *xtbin)
|
|
{
|
|
xtbin->xtdisplay = NULL;
|
|
xtbin->parent_window = NULL;
|
|
xtbin->xtwindow = 0;
|
|
xtbin->x = 0;
|
|
xtbin->y = 0;
|
|
}
|
|
|
|
static void
|
|
gtk_xtbin_realize (GtkWidget *widget)
|
|
{
|
|
GtkXtBin *xtbin;
|
|
GtkAllocation allocation = { 0, 0, 200, 200 };
|
|
gint x, y, w, h, d; /* geometry of window */
|
|
|
|
#ifdef DEBUG_XTBIN
|
|
printf("gtk_xtbin_realize()\n");
|
|
#endif
|
|
|
|
g_return_if_fail (GTK_IS_XTBIN (widget));
|
|
|
|
xtbin = GTK_XTBIN (widget);
|
|
|
|
/* caculate the allocation before realize */
|
|
gdk_window_get_geometry(xtbin->parent_window, &x, &y, &w, &h, &d);
|
|
allocation.width = w;
|
|
allocation.height = h;
|
|
gtk_widget_size_allocate (widget, &allocation);
|
|
|
|
#ifdef DEBUG_XTBIN
|
|
printf("initial allocation %d %d %d %d\n", x, y, w, h);
|
|
#endif
|
|
|
|
xtbin->width = widget->allocation.width;
|
|
xtbin->height = widget->allocation.height;
|
|
|
|
/* use GtkSocket's realize */
|
|
(*GTK_WIDGET_CLASS(parent_class)->realize)(widget);
|
|
|
|
/* create the Xt client widget */
|
|
xt_client_create(&(xtbin->xtclient),
|
|
gtk_socket_get_id(GTK_SOCKET(xtbin)),
|
|
xtbin->height,
|
|
xtbin->width);
|
|
xtbin->xtwindow = XtWindow(xtbin->xtclient.child_widget);
|
|
|
|
gdk_flush();
|
|
|
|
/* now that we have created the xt client, add it to the socket. */
|
|
gtk_socket_add_id(GTK_SOCKET(widget), xtbin->xtwindow);
|
|
}
|
|
|
|
|
|
|
|
GtkWidget*
|
|
gtk_xtbin_new (GdkWindow *parent_window, String * f)
|
|
{
|
|
GtkXtBin *xtbin;
|
|
gpointer user_data;
|
|
|
|
assert(parent_window != NULL);
|
|
xtbin = g_object_new (GTK_TYPE_XTBIN, NULL);
|
|
|
|
if (!xtbin)
|
|
return (GtkWidget*)NULL;
|
|
|
|
if (f)
|
|
fallback = f;
|
|
|
|
/* Initialize the Xt toolkit */
|
|
xtbin->parent_window = parent_window;
|
|
|
|
xt_client_init(&(xtbin->xtclient),
|
|
GDK_VISUAL_XVISUAL(gdk_rgb_get_visual()),
|
|
GDK_COLORMAP_XCOLORMAP(gdk_rgb_get_colormap()),
|
|
gdk_rgb_get_visual()->depth);
|
|
|
|
if (!xtbin->xtclient.xtdisplay) {
|
|
/* If XtOpenDisplay failed, we can't go any further.
|
|
* Bail out.
|
|
*/
|
|
#ifdef DEBUG_XTBIN
|
|
printf("gtk_xtbin_init: XtOpenDisplay() returned NULL.\n");
|
|
#endif
|
|
g_free (xtbin);
|
|
return (GtkWidget *)NULL;
|
|
}
|
|
|
|
/* If this is the first running widget, hook this display into the
|
|
mainloop */
|
|
if (0 == num_widgets) {
|
|
int cnumber;
|
|
/*
|
|
* hook Xt event loop into the glib event loop.
|
|
*/
|
|
|
|
/* the assumption is that gtk_init has already been called */
|
|
GSource* gs = g_source_new(&xt_event_funcs, sizeof(GSource));
|
|
if (!gs) {
|
|
return NULL;
|
|
}
|
|
|
|
g_source_set_priority(gs, GDK_PRIORITY_EVENTS);
|
|
g_source_set_can_recurse(gs, TRUE);
|
|
tag = g_source_attach(gs, (GMainContext*)NULL);
|
|
#ifdef VMS
|
|
cnumber = XConnectionNumber(xtdisplay);
|
|
#else
|
|
cnumber = ConnectionNumber(xtdisplay);
|
|
#endif
|
|
xt_event_poll_fd.fd = cnumber;
|
|
xt_event_poll_fd.events = G_IO_IN;
|
|
xt_event_poll_fd.revents = 0; /* hmm... is this correct? */
|
|
|
|
g_main_context_add_poll ((GMainContext*)NULL,
|
|
&xt_event_poll_fd,
|
|
G_PRIORITY_LOW);
|
|
/* add a timer so that we can poll and process Xt timers */
|
|
xt_polling_timer_id =
|
|
g_timeout_add(25,
|
|
(GtkFunction)xt_event_polling_timer_callback,
|
|
xtdisplay);
|
|
}
|
|
|
|
/* Bump up our usage count */
|
|
num_widgets++;
|
|
|
|
/* Build the hierachy */
|
|
xtbin->xtdisplay = xtbin->xtclient.xtdisplay;
|
|
gtk_widget_set_parent_window(GTK_WIDGET(xtbin), parent_window);
|
|
gdk_window_get_user_data(xtbin->parent_window, &user_data);
|
|
if (user_data)
|
|
gtk_container_add(GTK_CONTAINER(user_data), GTK_WIDGET(xtbin));
|
|
|
|
/* This GtkSocket has a visible window, but the Xt plug will cover this
|
|
* window. Normally GtkSockets let the X server paint their background and
|
|
* this would happen immediately (before the plug is mapped). Setting the
|
|
* background to None prevents the server from painting this window,
|
|
* avoiding flicker.
|
|
*/
|
|
gtk_widget_realize(GTK_WIDGET(xtbin));
|
|
gdk_window_set_back_pixmap(GTK_WIDGET(xtbin)->window, NULL, FALSE);
|
|
|
|
return GTK_WIDGET (xtbin);
|
|
}
|
|
|
|
void
|
|
gtk_xtbin_set_position (GtkXtBin *xtbin,
|
|
gint x,
|
|
gint y)
|
|
{
|
|
xtbin->x = x;
|
|
xtbin->y = y;
|
|
|
|
if (GTK_WIDGET_REALIZED (xtbin))
|
|
gdk_window_move (GTK_WIDGET (xtbin)->window, x, y);
|
|
}
|
|
|
|
void
|
|
gtk_xtbin_resize (GtkWidget *widget,
|
|
gint width,
|
|
gint height)
|
|
{
|
|
Arg args[2];
|
|
GtkXtBin *xtbin = GTK_XTBIN (widget);
|
|
GtkAllocation allocation;
|
|
|
|
#ifdef DEBUG_XTBIN
|
|
printf("gtk_xtbin_resize %p %d %d\n", (void *)widget, width, height);
|
|
#endif
|
|
|
|
xtbin->height = height;
|
|
xtbin->width = width;
|
|
|
|
/* Avoid BadValue errors in XtSetValues */
|
|
if (height <= 0 || width <=0) {
|
|
height = 1;
|
|
width = 1;
|
|
}
|
|
XtSetArg(args[0], XtNheight, height);
|
|
XtSetArg(args[1], XtNwidth, width);
|
|
if (xtbin->xtclient.top_widget)
|
|
XtSetValues(xtbin->xtclient.top_widget, args, 2);
|
|
|
|
/* we need to send a size allocate so the socket knows about the
|
|
size changes */
|
|
allocation.x = xtbin->x;
|
|
allocation.y = xtbin->y;
|
|
allocation.width = xtbin->width;
|
|
allocation.height = xtbin->height;
|
|
|
|
gtk_widget_size_allocate(widget, &allocation);
|
|
}
|
|
|
|
static void
|
|
gtk_xtbin_unrealize (GtkWidget *object)
|
|
{
|
|
GtkXtBin *xtbin;
|
|
GtkWidget *widget;
|
|
|
|
#ifdef DEBUG_XTBIN
|
|
printf("gtk_xtbin_unrealize()\n");
|
|
#endif
|
|
|
|
/* gtk_object_destroy() will already hold a refcount on object
|
|
*/
|
|
xtbin = GTK_XTBIN(object);
|
|
widget = GTK_WIDGET(object);
|
|
|
|
GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE);
|
|
if (GTK_WIDGET_REALIZED (widget)) {
|
|
xt_client_unrealize(&(xtbin->xtclient));
|
|
}
|
|
|
|
(*GTK_WIDGET_CLASS (parent_class)->unrealize)(widget);
|
|
}
|
|
|
|
static void
|
|
gtk_xtbin_destroy (GtkObject *object)
|
|
{
|
|
GtkXtBin *xtbin;
|
|
|
|
#ifdef DEBUG_XTBIN
|
|
printf("gtk_xtbin_destroy()\n");
|
|
#endif
|
|
|
|
g_return_if_fail (object != NULL);
|
|
g_return_if_fail (GTK_IS_XTBIN (object));
|
|
|
|
xtbin = GTK_XTBIN (object);
|
|
|
|
if(xtbin->xtwindow) {
|
|
/* remove the event handler */
|
|
xt_client_destroy(&(xtbin->xtclient));
|
|
xtbin->xtwindow = 0;
|
|
|
|
num_widgets--; /* reduce our usage count */
|
|
|
|
/* If this is the last running widget, remove the Xt display
|
|
connection from the mainloop */
|
|
if (0 == num_widgets) {
|
|
#ifdef DEBUG_XTBIN
|
|
printf("removing the Xt connection from the main loop\n");
|
|
#endif
|
|
g_main_context_remove_poll((GMainContext*)NULL, &xt_event_poll_fd);
|
|
g_source_remove(tag);
|
|
|
|
g_source_remove(xt_polling_timer_id);
|
|
xt_polling_timer_id = 0;
|
|
}
|
|
}
|
|
|
|
GTK_OBJECT_CLASS(parent_class)->destroy(object);
|
|
}
|
|
|
|
/*
|
|
* Following is the implementation of Xt XEmbedded for client side
|
|
*/
|
|
|
|
/* Initial Xt plugin */
|
|
static void
|
|
xt_client_init( XtClient * xtclient,
|
|
Visual *xtvisual,
|
|
Colormap xtcolormap,
|
|
int xtdepth)
|
|
{
|
|
XtAppContext app_context;
|
|
char *mArgv[1];
|
|
int mArgc = 0;
|
|
|
|
/*
|
|
* Initialize Xt stuff
|
|
*/
|
|
xtclient->top_widget = NULL;
|
|
xtclient->child_widget = NULL;
|
|
xtclient->xtdisplay = NULL;
|
|
xtclient->xtvisual = NULL;
|
|
xtclient->xtcolormap = 0;
|
|
xtclient->xtdepth = 0;
|
|
|
|
if (!xt_is_initialized) {
|
|
#ifdef DEBUG_XTBIN
|
|
printf("starting up Xt stuff\n");
|
|
#endif
|
|
XtToolkitInitialize();
|
|
app_context = XtCreateApplicationContext();
|
|
if (fallback)
|
|
XtAppSetFallbackResources(app_context, fallback);
|
|
|
|
xtdisplay = XtOpenDisplay(app_context, gdk_get_display(), NULL,
|
|
"Wrapper", NULL, 0, &mArgc, mArgv);
|
|
if (xtdisplay)
|
|
xt_is_initialized = TRUE;
|
|
}
|
|
xtclient->xtdisplay = xtdisplay;
|
|
xtclient->xtvisual = xtvisual;
|
|
xtclient->xtcolormap = xtcolormap;
|
|
xtclient->xtdepth = xtdepth;
|
|
}
|
|
|
|
/* Create the Xt client widgets
|
|
* */
|
|
static void
|
|
xt_client_create ( XtClient* xtclient ,
|
|
Window embedderid,
|
|
int height,
|
|
int width )
|
|
{
|
|
int n;
|
|
Arg args[6];
|
|
Widget child_widget;
|
|
Widget top_widget;
|
|
|
|
#ifdef DEBUG_XTBIN
|
|
printf("xt_client_create() \n");
|
|
#endif
|
|
top_widget = XtAppCreateShell("drawingArea", "Wrapper",
|
|
applicationShellWidgetClass,
|
|
xtclient->xtdisplay,
|
|
NULL, 0);
|
|
xtclient->top_widget = top_widget;
|
|
|
|
/* set size of Xt window */
|
|
n = 0;
|
|
XtSetArg(args[n], XtNheight, height);n++;
|
|
XtSetArg(args[n], XtNwidth, width);n++;
|
|
XtSetValues(top_widget, args, n);
|
|
|
|
child_widget = XtVaCreateWidget("form",
|
|
compositeWidgetClass,
|
|
top_widget, NULL);
|
|
|
|
n = 0;
|
|
XtSetArg(args[n], XtNheight, height);n++;
|
|
XtSetArg(args[n], XtNwidth, width);n++;
|
|
XtSetArg(args[n], XtNvisual, xtclient->xtvisual ); n++;
|
|
XtSetArg(args[n], XtNdepth, xtclient->xtdepth ); n++;
|
|
XtSetArg(args[n], XtNcolormap, xtclient->xtcolormap ); n++;
|
|
XtSetArg(args[n], XtNborderWidth, 0); n++;
|
|
XtSetValues(child_widget, args, n);
|
|
|
|
XSync(xtclient->xtdisplay, FALSE);
|
|
xtclient->oldwindow = top_widget->core.window;
|
|
top_widget->core.window = embedderid;
|
|
|
|
/* this little trick seems to finish initializing the widget */
|
|
#if XlibSpecificationRelease >= 6
|
|
XtRegisterDrawable(xtclient->xtdisplay,
|
|
embedderid,
|
|
top_widget);
|
|
#else
|
|
_XtRegisterWindow( embedderid,
|
|
top_widget);
|
|
#endif
|
|
XtRealizeWidget(child_widget);
|
|
|
|
/* listen to all Xt events */
|
|
XSelectInput(xtclient->xtdisplay,
|
|
XtWindow(top_widget),
|
|
0x0FFFFF);
|
|
xt_client_set_info (child_widget, 0);
|
|
|
|
XtManageChild(child_widget);
|
|
xtclient->child_widget = child_widget;
|
|
|
|
/* set the event handler */
|
|
XtAddEventHandler(child_widget,
|
|
0x0FFFFF & ~ResizeRedirectMask,
|
|
TRUE,
|
|
(XtEventHandler)xt_client_event_handler, xtclient);
|
|
XtAddEventHandler(child_widget,
|
|
SubstructureNotifyMask | ButtonReleaseMask,
|
|
TRUE,
|
|
(XtEventHandler)xt_client_focus_listener,
|
|
xtclient);
|
|
XSync(xtclient->xtdisplay, FALSE);
|
|
}
|
|
|
|
static void
|
|
xt_client_unrealize ( XtClient* xtclient )
|
|
{
|
|
#if XlibSpecificationRelease >= 6
|
|
XtUnregisterDrawable(xtclient->xtdisplay,
|
|
xtclient->top_widget->core.window);
|
|
#else
|
|
_XtUnregisterWindow(xtclient->top_widget->core.window,
|
|
xtclient->top_widget);
|
|
#endif
|
|
|
|
/* flush the queue before we returning origin top_widget->core.window
|
|
or we can get X error since the window is gone */
|
|
XSync(xtclient->xtdisplay, False);
|
|
|
|
xtclient->top_widget->core.window = xtclient->oldwindow;
|
|
XtUnrealizeWidget(xtclient->top_widget);
|
|
}
|
|
|
|
static void
|
|
xt_client_destroy (XtClient* xtclient)
|
|
{
|
|
if(xtclient->top_widget) {
|
|
XtRemoveEventHandler(xtclient->child_widget, 0x0FFFFF, TRUE,
|
|
(XtEventHandler)xt_client_event_handler, xtclient);
|
|
XtDestroyWidget(xtclient->top_widget);
|
|
xtclient->top_widget = NULL;
|
|
}
|
|
}
|
|
|
|
static void
|
|
xt_client_set_info (Widget xtplug, unsigned long flags)
|
|
{
|
|
unsigned long buffer[2];
|
|
|
|
Atom infoAtom = XInternAtom(XtDisplay(xtplug), "_XEMBED_INFO", False);
|
|
|
|
buffer[1] = 0; /* Protocol version */
|
|
buffer[1] = flags;
|
|
|
|
XChangeProperty (XtDisplay(xtplug), XtWindow(xtplug),
|
|
infoAtom, infoAtom, 32,
|
|
PropModeReplace,
|
|
(unsigned char *)buffer, 2);
|
|
}
|
|
|
|
static void
|
|
xt_client_handle_xembed_message(Widget w, XtPointer client_data, XEvent *event)
|
|
{
|
|
XtClient *xtplug = (XtClient*)client_data;
|
|
switch (event->xclient.data.l[1])
|
|
{
|
|
case XEMBED_EMBEDDED_NOTIFY:
|
|
break;
|
|
case XEMBED_WINDOW_ACTIVATE:
|
|
#ifdef DEBUG_XTBIN
|
|
printf("Xt client get XEMBED_WINDOW_ACTIVATE\n");
|
|
#endif
|
|
break;
|
|
case XEMBED_WINDOW_DEACTIVATE:
|
|
#ifdef DEBUG_XTBIN
|
|
printf("Xt client get XEMBED_WINDOW_DEACTIVATE\n");
|
|
#endif
|
|
break;
|
|
case XEMBED_MODALITY_ON:
|
|
#ifdef DEBUG_XTBIN
|
|
printf("Xt client get XEMBED_MODALITY_ON\n");
|
|
#endif
|
|
break;
|
|
case XEMBED_MODALITY_OFF:
|
|
#ifdef DEBUG_XTBIN
|
|
printf("Xt client get XEMBED_MODALITY_OFF\n");
|
|
#endif
|
|
break;
|
|
case XEMBED_FOCUS_IN:
|
|
case XEMBED_FOCUS_OUT:
|
|
{
|
|
XEvent xevent;
|
|
memset(&xevent, 0, sizeof(xevent));
|
|
|
|
if(event->xclient.data.l[1] == XEMBED_FOCUS_IN) {
|
|
#ifdef DEBUG_XTBIN
|
|
printf("XTEMBED got focus in\n");
|
|
#endif
|
|
xevent.xfocus.type = FocusIn;
|
|
}
|
|
else {
|
|
#ifdef DEBUG_XTBIN
|
|
printf("XTEMBED got focus out\n");
|
|
#endif
|
|
xevent.xfocus.type = FocusOut;
|
|
}
|
|
|
|
xevent.xfocus.window = XtWindow(xtplug->child_widget);
|
|
xevent.xfocus.display = XtDisplay(xtplug->child_widget);
|
|
XSendEvent(XtDisplay(xtplug->child_widget),
|
|
xevent.xfocus.window,
|
|
False, NoEventMask,
|
|
&xevent );
|
|
XSync( XtDisplay(xtplug->child_widget), False);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
} /* End of XEmbed Message */
|
|
}
|
|
|
|
static void
|
|
xt_client_event_handler( Widget w, XtPointer client_data, XEvent *event)
|
|
{
|
|
XtClient *xtplug = (XtClient*)client_data;
|
|
|
|
switch(event->type)
|
|
{
|
|
case ClientMessage:
|
|
/* Handle xembed message */
|
|
if (event->xclient.message_type==
|
|
XInternAtom (XtDisplay(xtplug->child_widget),
|
|
"_XEMBED", False)) {
|
|
xt_client_handle_xembed_message(w, client_data, event);
|
|
}
|
|
break;
|
|
case ReparentNotify:
|
|
break;
|
|
case MappingNotify:
|
|
xt_client_set_info (w, XEMBED_MAPPED);
|
|
break;
|
|
case UnmapNotify:
|
|
xt_client_set_info (w, 0);
|
|
break;
|
|
case FocusIn:
|
|
send_xembed_message ( xtplug,
|
|
XEMBED_REQUEST_FOCUS, 0, 0, 0, 0);
|
|
break;
|
|
case FocusOut:
|
|
break;
|
|
case KeyPress:
|
|
#ifdef DEBUG_XTBIN
|
|
printf("Key Press Got!\n");
|
|
#endif
|
|
break;
|
|
default:
|
|
break;
|
|
} /* End of switch(event->type) */
|
|
}
|
|
|
|
static void
|
|
send_xembed_message (XtClient *xtclient,
|
|
long message,
|
|
long detail,
|
|
long data1,
|
|
long data2,
|
|
long time)
|
|
{
|
|
XEvent xevent;
|
|
Window w=XtWindow(xtclient->top_widget);
|
|
Display* dpy=xtclient->xtdisplay;
|
|
int errorcode;
|
|
|
|
memset(&xevent,0,sizeof(xevent));
|
|
xevent.xclient.window = w;
|
|
xevent.xclient.type = ClientMessage;
|
|
xevent.xclient.message_type = XInternAtom(dpy,"_XEMBED",False);
|
|
xevent.xclient.format = 32;
|
|
xevent.xclient.data.l[0] = time;
|
|
xevent.xclient.data.l[1] = message;
|
|
xevent.xclient.data.l[2] = detail;
|
|
xevent.xclient.data.l[3] = data1;
|
|
xevent.xclient.data.l[4] = data2;
|
|
|
|
trap_errors ();
|
|
XSendEvent (dpy, w, False, NoEventMask, &xevent);
|
|
XSync (dpy,False);
|
|
|
|
if((errorcode = untrap_error())) {
|
|
#ifdef DEBUG_XTBIN
|
|
printf("send_xembed_message error(%d)!!!\n",errorcode);
|
|
#endif
|
|
}
|
|
}
|
|
|
|
static int
|
|
error_handler(Display *display, XErrorEvent *error)
|
|
{
|
|
trapped_error_code = error->error_code;
|
|
return 0;
|
|
}
|
|
|
|
static void
|
|
trap_errors(void)
|
|
{
|
|
trapped_error_code =0;
|
|
old_error_handler = XSetErrorHandler(error_handler);
|
|
}
|
|
|
|
static int
|
|
untrap_error(void)
|
|
{
|
|
XSetErrorHandler(old_error_handler);
|
|
if(trapped_error_code) {
|
|
#ifdef DEBUG_XTBIN
|
|
printf("Get X Window Error = %d\n", trapped_error_code);
|
|
#endif
|
|
}
|
|
return trapped_error_code;
|
|
}
|
|
|
|
static void
|
|
xt_client_focus_listener( Widget w, XtPointer user_data, XEvent *event)
|
|
{
|
|
Display *dpy = XtDisplay(w);
|
|
XtClient *xtclient = user_data;
|
|
Window win = XtWindow(w);
|
|
|
|
switch(event->type)
|
|
{
|
|
case CreateNotify:
|
|
if(event->xcreatewindow.parent == win) {
|
|
Widget child=XtWindowToWidget( dpy, event->xcreatewindow.window);
|
|
if (child)
|
|
xt_add_focus_listener_tree(child, user_data);
|
|
}
|
|
break;
|
|
case DestroyNotify:
|
|
xt_remove_focus_listener( w, user_data);
|
|
break;
|
|
case ReparentNotify:
|
|
if(event->xreparent.parent == win) {
|
|
/* I am the new parent */
|
|
Widget child=XtWindowToWidget(dpy, event->xreparent.window);
|
|
if (child)
|
|
xt_add_focus_listener_tree( child, user_data);
|
|
}
|
|
else if(event->xreparent.window == win) {
|
|
/* I am the new child */
|
|
}
|
|
else {
|
|
/* I am the old parent */
|
|
}
|
|
break;
|
|
case ButtonRelease:
|
|
#if 0
|
|
XSetInputFocus(dpy, XtWindow(xtclient->child_widget), RevertToParent, event->xbutton.time);
|
|
#endif
|
|
send_xembed_message ( xtclient,
|
|
XEMBED_REQUEST_FOCUS, 0, 0, 0, 0);
|
|
break;
|
|
default:
|
|
break;
|
|
} /* End of switch(event->type) */
|
|
}
|
|
|
|
static void
|
|
xt_add_focus_listener( Widget w, XtPointer user_data)
|
|
{
|
|
XWindowAttributes attr;
|
|
long eventmask;
|
|
XtClient *xtclient = user_data;
|
|
int errorcode;
|
|
|
|
trap_errors ();
|
|
XGetWindowAttributes(XtDisplay(w), XtWindow(w), &attr);
|
|
eventmask = attr.your_event_mask | SubstructureNotifyMask | ButtonReleaseMask;
|
|
XSelectInput(XtDisplay(w),
|
|
XtWindow(w),
|
|
eventmask);
|
|
|
|
XtAddEventHandler(w,
|
|
SubstructureNotifyMask | ButtonReleaseMask,
|
|
TRUE,
|
|
(XtEventHandler)xt_client_focus_listener,
|
|
xtclient);
|
|
untrap_error();
|
|
}
|
|
|
|
static void
|
|
xt_remove_focus_listener(Widget w, XtPointer user_data)
|
|
{
|
|
int errorcode;
|
|
|
|
trap_errors ();
|
|
XtRemoveEventHandler(w, SubstructureNotifyMask | ButtonReleaseMask, TRUE,
|
|
(XtEventHandler)xt_client_focus_listener, user_data);
|
|
|
|
untrap_error();
|
|
}
|
|
|
|
static void
|
|
xt_add_focus_listener_tree ( Widget treeroot, XtPointer user_data)
|
|
{
|
|
Window win = XtWindow(treeroot);
|
|
Window *children;
|
|
Window root, parent;
|
|
Display *dpy = XtDisplay(treeroot);
|
|
unsigned int i, nchildren;
|
|
|
|
/* ensure we don't add more than once */
|
|
xt_remove_focus_listener( treeroot, user_data);
|
|
xt_add_focus_listener( treeroot, user_data);
|
|
trap_errors();
|
|
if(!XQueryTree(dpy, win, &root, &parent, &children, &nchildren)) {
|
|
untrap_error();
|
|
return;
|
|
}
|
|
|
|
if(untrap_error())
|
|
return;
|
|
|
|
for(i=0; i<nchildren; ++i) {
|
|
Widget child = XtWindowToWidget(dpy, children[i]);
|
|
if (child)
|
|
xt_add_focus_listener_tree( child, user_data);
|
|
}
|
|
XFree((void*)children);
|
|
|
|
return;
|
|
}
|
|
|