Mercurial > dwindows
annotate gtk/browser.cpp @ 864:ca01c7d95b80
Added some sanity checks for a couple of problem functions and default optimized container column width to 16 for image columns.
Added a second icon column to the test program to test image column optimization.
The optization needs to be looked further into to see why calculated width of image columns is 0.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 03 Apr 2011 17:24:23 +0000 |
parents | fb59f9eeeecd |
children |
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 } |