annotate gtk/browser.cpp @ 1305:18a31ab94e3d

Added DW_MENU_AUTO and DW_MENU_POPUP flags that can be passed to dw_menu_append_item() in the id field. On OS/2 and Windows AUTO will automatically allocate a menu ID from the larger static pool of IDs. POPUP will automatically allocate an ID from the smaller pool for transient popup menus. These flags don't do anything on the other platforms since they don't require menu IDs.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 03 Nov 2011 10:09:11 +0000
parents fb59f9eeeecd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
622
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 #ifdef HAVE_CONFIG_H
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2 # include <config.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3 #endif
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
5 #define MOZILLA_INTERNAL_API
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
6
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
7 #include <gtk/gtk.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
8 #include <gtkmozembed.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
9 #include <gtkmozembed_internal.h>
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
10 #include "nsIDOMMouseEvent.h"
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
11
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
12 /**
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
13 * Takes a pointer to a mouse event and returns the mouse
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
14 * button number or -1 on error.
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
15 */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
16 extern "C" gint mozilla_get_mouse_event_button(gpointer event)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
17 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
18 gint button = 0;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
19 glong x,y;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
20
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
21 g_return_val_if_fail (event, -1);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
22
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
23 /* the following lines were found in the Galeon source */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
24 nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
25 aMouseEvent->GetButton ((PRUint16 *) &button);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
26 aMouseEvent->GetClientX ((PRInt32 *) &x);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
27 aMouseEvent->GetClientY ((PRInt32 *) &y);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
28
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
29
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
30 /* for some reason we get different numbers on PPC, this fixes
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
31 * that up... -- MattA */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
32 if (button == 65536)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
33 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
34 button = 1;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
35 }
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
36 else if (button == 131072)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
37 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
38 button = 2;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
39 }
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
40
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
41 return button;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
42 }
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
43 extern "C" gint mozilla_get_mouse_location( gpointer event, glong *x, glong *y)
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
44 {
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
45 g_return_val_if_fail (event, -1);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
46
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
47 /* the following lines were found in the Galeon source */
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
48 nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
49 aMouseEvent->GetClientX ((PRInt32 *) x);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
50 aMouseEvent->GetClientY ((PRInt32 *) y);
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
51 return 0;
fb59f9eeeecd SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
52 }