[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mozilla-qt
Subject:    Checked in Qt widget code + toolkit service changes...
From:       Shawn Packwood <shawnp () earthling ! net>
Date:       1999-10-05 1:50:40
[Download RAW message or body]

Hi folks,

I just checked in code to get the Qt widget toolkit port working with
the Xlib gfx toolkit. To get this working properly, I had to make
changes to the nsIUnixToolkitService interface. I tested these changes
out using both the Xlib and gtk toolkits, and didn't run into any
problems. If you have any problems, don't hesitate to let me know.

These changes took a _long_ time to get checked in, but my day job has
been keeping me busy these past couple of weeks. Now I won't need to
bother keeping the gfx toolkit up-to-date - I can safely piggyback off
the Xlib implementation :)

For anyone that's interested, here's a brief overview of the changes
I've made:

-mozilla/webshell/tests/viewer/unix/qt/nsQtMenu.cpp:
Added missing entries to the menus. Added key accessors for menu items
that were missing them.

-mozilla/widget/src/qt/Makefile.in
Now link in libxlibrgb.so when building libwidgetqt.so so that I can
work with the Xlib gfx toolkit.

-mozilla/widget/src/qt/nsAppShell.cpp
-mozilla/widget/src/qt/nsAppShell.h
Added a static function to determine what gfx toolkit is being used.

-mozilla/widget/src/qt/nsLookAndFeel.cpp
Updated to better match values used by the Gtk widget toolkit (assuming
those values are the correct ones).

-mozilla/widget/src/qt/nsMenu.cpp
-mozilla/widget/src/qt/nsMenu.h
Implemented stub GetEnabled() and IsHelpMenu() functions.

-mozilla/widget/src/qt/nsMenuItem.cpp
-mozilla/widget/src/qt/nsMenuItem.h
Implemented stub SetCheckboxType(), GetCheckBoxType() functions.

-mozilla/widget/src/qt/nsQApplication.cpp
-mozilla/widget/src/qt/nsQApplication.h
Added constructor needed for integration with Xlib gfx toolkit.

-mozilla/widget/src/qt/nsQEventHandler.cpp
-mozilla/widget/src/qt/nsQEventHandler.h
Added mouse enter/exit event. Added focus in/out event. Now use seperate
PR_LOG modules for events. Combined MousePressedEvent() and
MouseReleasedEvent() into MouseButtonEvent().

-mozilla/widget/src/qt/nsScrollbar.cpp
Now use separate PR_LOG module for scrolling. Stopped generation of
double scroll events.

-mozilla/widget/src/qt/nsWidget.cpp
-mozilla/widget/src/qt/nsWidget.h
Implemented stub CaptureRollupEvents() and SetTitle() functions. Now
handle both Qt and Xlib gfx toolkits at runtime. Fixed a bug in
SetCursor(). Can now track cursor movement when no mouse button is
pressed. Got rid of flickering when repainting web pages.

-mozilla/widget/src/qt/nsWindow.cpp
Improved info that is logged. Only bother to do something in OnPaint()
if there is a pixmap to copy from.

-mozilla/widget/src/unix_services/toolkit_service/nsIUnixToolkitService.h
-mozilla/widget/src/unix_services/toolkit_service/nsUnixToolkitService.cpp
-mozilla/widget/src/unix_services/toolkit_service/nsUnixToolkitService.h
For me to determine what gfx toolkit I'm using at runtime, I needed to
make some changes to the nsIUnixToolkitService interface. I added the
following functions to the interface: SetWidgetToolkitName(),
SetGfxToolkitName(), IsValidWidgetToolkit(), IsValidGfxToolkit(),
GetWidgetToolkitName(), GetGfxToolkitName(). 

Shawn

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic