зеркало из https://github.com/mozilla/gecko-dev.git
Start on infastructure for Focus events and Keypress events. This is not part of the build.
This commit is contained in:
Родитель
5064350158
Коммит
c99eee033f
|
@ -321,7 +321,18 @@ nsAppShell::DispatchEvent(XEvent *event)
|
||||||
case MotionNotify:
|
case MotionNotify:
|
||||||
HandleMotionNotifyEvent(event, widget);
|
HandleMotionNotifyEvent(event, widget);
|
||||||
break;
|
break;
|
||||||
|
case KeyPress:
|
||||||
|
HandleKeyPressEvent(event, widget);
|
||||||
|
break;
|
||||||
|
case KeyRelease:
|
||||||
|
HandleKeyReleaseEvent(event, widget);
|
||||||
|
break;
|
||||||
|
case FocusIn:
|
||||||
|
HandleFocusInEvent(event, widget);
|
||||||
|
break;
|
||||||
|
case FocusOut:
|
||||||
|
HandleFocusOutEvent(event, widget);
|
||||||
|
break;
|
||||||
case NoExpose:
|
case NoExpose:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -441,3 +452,31 @@ nsAppShell::HandleConfigureNotifyEvent(XEvent *event, nsWidget *aWidget)
|
||||||
NS_RELEASE(aWidget);
|
NS_RELEASE(aWidget);
|
||||||
delete sevent.windowSize;
|
delete sevent.windowSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nsAppShell::HandleKeyPressEvent(XEvent *event, nsWidget *aWidget)
|
||||||
|
{
|
||||||
|
PR_LOG(XlibWidgetsLM, PR_LOG_DEBUG, ("KeyPress event for window 0x%lx\n",
|
||||||
|
event->xkey.window));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nsAppShell::HandleKeyReleaseEvent(XEvent *event, nsWidget *aWidget)
|
||||||
|
{
|
||||||
|
PR_LOG(XlibWidgetsLM, PR_LOG_DEBUG, ("KeyRelease event for window 0x%lx\n",
|
||||||
|
event->xkey.window));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nsAppShell::HandleFocusInEvent(XEvent *event, nsWidget *aWidget)
|
||||||
|
{
|
||||||
|
PR_LOG(XlibWidgetsLM, PR_LOG_DEBUG, ("FocusIn event for window 0x%lx\n",
|
||||||
|
event->xfocus.window));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nsAppShell::HandleFocusOutEvent(XEvent *event, nsWidget *aWidget)
|
||||||
|
{
|
||||||
|
PR_LOG(XlibWidgetsLM, PR_LOG_DEBUG, ("FocusOut event for window 0x%lx\n",
|
||||||
|
event->xfocus.window));
|
||||||
|
}
|
||||||
|
|
|
@ -52,6 +52,10 @@ class nsAppShell : public nsIAppShell
|
||||||
static void HandleMotionNotifyEvent(XEvent *event, nsWidget *aWidget);
|
static void HandleMotionNotifyEvent(XEvent *event, nsWidget *aWidget);
|
||||||
static void HandleExposeEvent(XEvent *event, nsWidget *aWidget);
|
static void HandleExposeEvent(XEvent *event, nsWidget *aWidget);
|
||||||
static void HandleConfigureNotifyEvent(XEvent *event, nsWidget *aWidget);
|
static void HandleConfigureNotifyEvent(XEvent *event, nsWidget *aWidget);
|
||||||
|
static void HandleKeyPressEvent(XEvent *event, nsWidget *aWidget);
|
||||||
|
static void HandleKeyReleaseEvent(XEvent *event, nsWidget *aWidget);
|
||||||
|
static void HandleFocusInEvent(XEvent *event, nsWidget *aWidget);
|
||||||
|
static void HandleFocusOutEvent(XEvent *event, nsWidget *aWidget);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
nsIEventQueueService * mEventQueueService;
|
nsIEventQueueService * mEventQueueService;
|
||||||
|
|
|
@ -225,7 +225,7 @@ void nsScrollbar::CreateNative(Window aParent, nsRect aRect)
|
||||||
// be discarded...
|
// be discarded...
|
||||||
attr.bit_gravity = SouthEastGravity;
|
attr.bit_gravity = SouthEastGravity;
|
||||||
// make sure that we listen for events
|
// make sure that we listen for events
|
||||||
attr.event_mask = StructureNotifyMask | ButtonPressMask | ButtonReleaseMask;
|
attr.event_mask = StructureNotifyMask | ButtonPressMask | ButtonReleaseMask | KeyPressMask | KeyReleaseMask | FocusChangeMask;
|
||||||
// set the default background color and border to that awful gray
|
// set the default background color and border to that awful gray
|
||||||
attr.background_pixel = mBackgroundPixel;
|
attr.background_pixel = mBackgroundPixel;
|
||||||
attr.border_pixel = mBorderPixel;
|
attr.border_pixel = mBorderPixel;
|
||||||
|
@ -240,7 +240,7 @@ void nsScrollbar::CreateNative(Window aParent, nsRect aRect)
|
||||||
CreateNativeWindow(aParent, mBounds, attr, attr_mask);
|
CreateNativeWindow(aParent, mBounds, attr, attr_mask);
|
||||||
CreateGC();
|
CreateGC();
|
||||||
// set up the scrolling bar.
|
// set up the scrolling bar.
|
||||||
attr.event_mask = Button1MotionMask | ButtonPressMask | ButtonReleaseMask;
|
attr.event_mask = Button1MotionMask | ButtonPressMask | ButtonReleaseMask | KeyPressMask | KeyReleaseMask | FocusChangeMask;
|
||||||
attr.background_pixel = xlib_rgb_xpixel_from_rgb(NS_RGB(192,192,192));
|
attr.background_pixel = xlib_rgb_xpixel_from_rgb(NS_RGB(192,192,192));
|
||||||
attr.border_pixel = xlib_rgb_xpixel_from_rgb(NS_RGB(100,100,100));
|
attr.border_pixel = xlib_rgb_xpixel_from_rgb(NS_RGB(100,100,100));
|
||||||
// set up the size
|
// set up the size
|
||||||
|
|
|
@ -453,7 +453,7 @@ void nsWidget::CreateNative(Window aParent, nsRect aRect)
|
||||||
// be discarded...
|
// be discarded...
|
||||||
attr.bit_gravity = NorthWestGravity;
|
attr.bit_gravity = NorthWestGravity;
|
||||||
// make sure that we listen for events
|
// make sure that we listen for events
|
||||||
attr.event_mask = ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask;
|
attr.event_mask = ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | KeyPressMask | KeyReleaseMask | FocusChangeMask;
|
||||||
// set the default background color and border to that awful gray
|
// set the default background color and border to that awful gray
|
||||||
attr.background_pixel = mBackgroundPixel;
|
attr.background_pixel = mBackgroundPixel;
|
||||||
attr.border_pixel = mBorderPixel;
|
attr.border_pixel = mBorderPixel;
|
||||||
|
|
|
@ -54,7 +54,7 @@ void nsWindow::CreateNative(Window aParent, nsRect aRect)
|
||||||
// be discarded...
|
// be discarded...
|
||||||
attr.bit_gravity = NorthWestGravity;
|
attr.bit_gravity = NorthWestGravity;
|
||||||
// make sure that we listen for events
|
// make sure that we listen for events
|
||||||
attr.event_mask = StructureNotifyMask | ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask;
|
attr.event_mask = StructureNotifyMask | ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | KeyPressMask | KeyReleaseMask | FocusChangeMask;
|
||||||
// set the default background color and border to that awful gray
|
// set the default background color and border to that awful gray
|
||||||
attr.background_pixel = mBackgroundPixel;
|
attr.background_pixel = mBackgroundPixel;
|
||||||
attr.border_pixel = mBorderPixel;
|
attr.border_pixel = mBorderPixel;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче