Commit Graph

644 Commits

Author SHA1 Message Date
Michael Natterer
b663f3a00b Bug 659406 - Abstract what triggers a context menu
Add _gtk_button_event_triggers_context_menu() and use it instead
of checking for event->button == 3, so context menus are invoked
correctly on the Mac.
2011-09-26 16:01:50 +02:00
Benjamin Otte
e11e51c252 notebook: Fix child property setters causing underallocations
Don't randomly allocate around, queue resizes instead.
2011-08-27 02:47:51 +02:00
Colin Walters
c8fdd5e847 Squash two compilation warnings about possibly-uninitialzed 2011-08-25 14:47:21 -04:00
Paolo Borelli
508353fd15 Do not manually create empty label
gtk_notebook_update_labels will take care of creating it if needed.
2011-08-15 15:08:28 +02:00
Matthias Clasen
2ba9c4b4a7 Make focus rectangles optional
This commit introduces a new setting, gtk-visible-focus, backed
by the Gtk/VisibleFocus X setting. Its three values control how
focus rectangles are displayed.

'always' is equivalent to the traditional GTK+ behaviour of always
rendering focus rectangles.

'never' does what it says, and is intended for keyboardless
situations, e.g. tablets.

'automatic' hides focus rectangles initially, until the user
interacts with the keyboard, at which point focus rectangles
become visible.

https://bugzilla.gnome.org/show_bug.cgi?id=649567
2011-08-10 16:34:20 +02:00
Benjamin Otte
ebadb36962 notebook: Remove unused private member variable 2011-07-20 02:36:44 +02:00
Benjamin Otte
1cdb47d960 notebook: Remove the homogenous private member variable
It's unused and therefor always FALSE, so we can remove the parts of the
code that branch based on it.
2011-07-19 12:53:06 +02:00
Matthias Clasen
318192b937 Convert GailNotebook to GtkNotebookAccessible 2011-07-05 16:08:56 -04:00
Paolo Borelli
399de11116 Speed up page insertion
Make sure to call widget_set_child_visible(false) on all tabs except the
current before calling widget_set_parent.
2011-06-26 20:41:21 +02:00
Javier Jardón
bf0d8402f5 gtk: Use const instead G_CONST_RETURN 2011-06-10 13:07:54 +01:00
Benjamin Otte
a6daba5e78 API: Change semantics of gtk_container_get_child_path()
Include the child widget path in the returned path now. This allows
customizing the path of the current widgets - like adding flags to child
widgets (and maybe siblings in the future).
2011-06-02 02:03:50 +02:00
Benjamin Otte
352569298a notebook: Implement height_for_width and width_for_height getters 2011-06-02 00:07:25 +02:00
Benjamin Otte
4d78e9c8af notebook: Rewrite size request function for wfh 2011-06-02 00:07:25 +02:00
Benjamin Otte
d7519e6ca2 notebook: Split out tabs size computation into its own function 2011-06-02 00:07:25 +02:00
Benjamin Otte
edd2f24b6e notebook: Compute tab width in a simpler way
This code should be more obvious: The check only needs to check for
scrollable widgets, and only needs to compare to tab_width.

As a side note, for vis_pages == 1, tab_width will be smaller than
tab_max + stuff, so this code will not behave differently.
2011-06-01 21:57:45 +02:00
Benjamin Otte
86aefc2c31 notebook: Remove uneeded function declaration 2011-06-01 21:45:21 +02:00
Benjamin Otte
975f735fb7 notebook: Include arrow size in tab size computation
We don't want tabs to resize when a 2nd page is added, just because the
scroll arrows are now visible. And we do want the arrow size to be
included.

Note: Previosuly this code was never run, as the check
  requisition->width < tab_width
was only run when tab_width wasn't computed, so was still equal to 0
(same for the height). So what this patch essentially does it add the
functionality of the if switch.
2011-06-01 17:46:22 +02:00
Diego Celix
95fd3d708d gtk/gtknotebook: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtknotebook.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:42 -04:00
Benjamin Otte
5642703b0e notebook: Match horizontal and vertical code paths
I have no idea what this code does, but it looks better now. :o
2011-04-29 11:05:37 +02:00
Benjamin Otte
8e1714d59b notebook: Respect left border when allocating tab widgets
This mirrors the code for the other tab locations.
2011-04-29 11:05:36 +02:00
Benjamin Otte
409143637f notebook: Respect padding when computing tabs for left/right
This mirrors the top/bottom code
2011-04-29 11:05:36 +02:00
Benjamin Otte
9a4aec1446 Don't adjust for values that we have previously adjusted for
The padding had been taken into account by the computation of
priv->allocation, so don't compute it twice.
2011-04-29 11:05:36 +02:00
Benjamin Otte
02b14ffad9 notebook: Use the right padding for inactive tabs 2011-04-29 08:48:36 +02:00
Benjamin Otte
7a322193e8 notebook: Warn if builder file defines multiple tab widgets per page
Glade causes such files when a notebook page has no content. And it's
especially bad because the last tab widget wins, so the label displayed
in Glade will not be what you see when you run the app.
2011-04-28 00:54:34 +02:00
Paolo Borelli
c4e17bb148 Do not leak list when drawing notebook.
When we construct the list in the other order we must free it.

https://bugzilla.gnome.org/show_bug.cgi?id=646886
2011-04-08 20:21:22 -04:00
Benjamin Otte
ea928e4212 notebook: Only reset style on tab labels when it actually changes 2011-03-27 00:48:25 +01:00
Cosimo Cecchi
6e1aa0e0a9 notebook: don't forget to reset the style after setting show-tabs
This fixes a regression after commit
b04f4c536a
2011-03-17 17:27:37 -04:00
Bastien Nocera
90a4f8dc4b notebook: Don't set notebook style with hidden tabs
When tabs are not shown, and the notebook is used as a container,
we should not set the notebook style, otherwise the theme has no
way to know whether tabs are shown or not, and which colour to draw
the background.

https://bugzilla.gnome.org/show_bug.cgi?id=640692
2011-03-17 18:30:40 +00:00
Cosimo Cecchi
c9f38ba518 notebook: make GtkNotebook respect the focus-padding style property
https://bugzilla.gnome.org/show_bug.cgi?id=644348
2011-03-14 11:59:27 -04:00
Cosimo Cecchi
5215f72bd7 notebook: add an 'initial-gap' style property
It adds a gap before the first tab in the notebook.

https://bugzilla.gnome.org/show_bug.cgi?id=643841
2011-03-09 14:15:43 -05:00
Cosimo Cecchi
a3b3c91001 notebook: flip the render order
The render order for tabs is now

- left to right until the active tab
- right to left until the active tab
- active tab

This allows themes that use non-straight lines for the tab curvature to
draw them not worrying about flipping one side after the active tab.
2011-03-07 00:49:14 -05:00
Cosimo Cecchi
a54ca77fb7 notebook: fixup the last commit
Let the tab overlap eat the padding, otherwise having tab-overlap >
tab-curvature without cutting the label is impossible.
This way we give the label widget all the allocation possible before
giving up and cutting it if the values for tab-overlap are too extreme
for the given padding.
2011-03-06 22:08:26 -05:00
Cosimo Cecchi
da814ae767 notebook: make sure the label widget allocation not exceeds the overlap 2011-03-06 18:45:20 -05:00
Cosimo Cecchi
27a0cef60c notebook: make sure the allocation keeps track of the tab curvature
This was a genuine typo, because "padding" was calculated but unused in
this branch of the code.
2011-03-06 14:48:09 -05:00
Matthias Clasen
2ccc6c0d60 GtkNotebooks: fix regressions from tab-pack removal 2011-03-03 18:30:03 -05:00
Matthias Clasen
a71e801943 GtkNotebook: Don't let tab allocation go negative 2011-03-03 18:30:03 -05:00
Matthias Clasen
d9fcc4c630 Silence new gcc warnings
gcc 4.6.0 has started to warn about set-but-unused variables.
So don't do that, then.
2011-01-23 21:51:38 -05:00
Carlos Garnacho
13a3954ad4 GtkNotebook: only set/unset active flag on the tab label 2011-01-23 19:35:21 +01:00
Pavel Holejsovsky
2f0d40335b [GI] Add missing (transfer) annotations 2011-01-20 13:57:18 +01:00
Tristan Van Berkom
ac61edb9fc Avoid calling gtk_widget_is_visible(NULL) in _gtk_notebook_get_tab_flags().
The tab can be NULL here when GtkNotebook:show-tabs is FALSE.
2011-01-15 21:34:49 +09:00
Matthias Clasen
98440ad031 Remove gtktypeutils altogether
Based on patches by Javier Jardón.

https://bugzilla.gnome.org/show_bug.cgi?id=629955
2011-01-04 14:51:19 -05:00
Matthias Clasen
b5c6904c2f Drop explicit includes of gdkkeysyms.h
These are no longer needed. At the same time, port gtkimcontextsimpleseqs.h
to use the new GDK_KEY_ symbols.
2011-01-04 12:21:41 -05:00
Matthias Clasen
7352a166b6 Formatting fixes and whitespace cleanups 2011-01-04 02:21:38 -05:00
Matthias Clasen
32bfc980c1 Remove pack property altogether 2011-01-04 02:06:03 -05:00
Matthias Clasen
723fedef8b Remove pack consideration from tab drawing 2011-01-04 02:03:03 -05:00
Matthias Clasen
4ea886aea1 Don't consider pack when allocating tabs 2011-01-04 01:57:22 -05:00
Matthias Clasen
f9d6bc6cca Drop pack consideration from gtk_notebook_search_page 2011-01-04 01:39:18 -05:00
Matthias Clasen
a7bb193377 Drop internal function to find page position 2011-01-04 01:36:09 -05:00
Matthias Clasen
f838ecf9f0 Remove pack consideration from tab dnd 2011-01-04 01:35:52 -05:00
Matthias Clasen
88501d527d Remove pack consideration from tab reordering 2011-01-04 01:23:05 -05:00
Matthias Clasen
03b37a2e54 Remove pack arguments from some internal functions
This removes pack from gtk_notebook_{set,query}_tab_label_packing.
2011-01-04 01:11:28 -05:00
Matthias Clasen
08a99e9ab3 Remove the deprecated GtkNotebook:tab-pack child property 2011-01-04 00:57:34 -05:00
Matthias Clasen
c874bba0e1 GtkNotebook: fix reference to no-longer-exiting function in docs 2011-01-03 22:55:38 -05:00
Carlos Garnacho
7e2dea1dff GtkNotebook: remove unneeded call 2011-01-04 03:06:25 +01:00
Benjamin Otte
0c285341a9 API: gdk: gdk_display_get_device_state() => gdk_device_get_position()
The API was not display-specific, but belonged to the device. Also, we
didn't find a user of the modifier mask, so we dropped it.
2010-12-27 18:46:41 +01:00
Benjamin Otte
a5f493bfad notebook: Use nondeprecated API to query coordinates 2010-12-27 00:50:30 +01:00
Matthias Clasen
9baf24f87e Add a default handler for drag_failed
And use it in notebook dnd.
2010-12-22 18:46:29 -05:00
Javier Jardón
e9a77a1535 docs: gtknotebook.c: Use accessor functions to access GtkSelectionData 2010-12-16 00:16:00 +00:00
Javier Jardón
ad4ac2182a gtk/gtknotebook.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Carlos Garnacho
3306305fe1 GtkNotebook: Use GtkStyleContext. 2010-12-13 22:31:29 +01:00
Carlos Garnacho
517eaa55e5 GtkNotebook: Set widget state as state flags. 2010-12-04 15:38:32 +01:00
Carlos Garnacho
c9a3da5025 GtkStyleContext: s/set/add/ and s/unset/remove/ for classes/regions.
Several classes and regions may be set to GtkStyleContext, so rename
the functions to be more intuitive.
2010-12-04 15:38:24 +01:00
Carlos Garnacho
7e7347d1a0 GtkNotebook: invert tab drawing order so region flags are set correctly. 2010-12-04 15:38:10 +01:00
Carlos Garnacho
a3637ec60d s/child class/region/ everywhere.
"Child class" is an invented term anyway, and it conceptually defines
identifiable regions in widgets.
2010-12-04 15:37:35 +01:00
Carlos Garnacho
a323310c19 GtkNotebook: Set GtkChildClassFlags for tabs. 2010-12-04 15:37:10 +01:00
Tristan Van Berkom
9a80908c91 Removed size_request from GtkNotebook 2010-10-27 14:35:04 +09:00
Benjamin Otte
6e90804b30 notebook: Hi, I can't get my function prototypes right
Also, I refuse to compile with -Werror
2010-10-18 19:22:43 +02:00
Matthias Clasen
7791013754 Support GtkWidget expand properties in GtkNotebook
We expand a tab if either tab-expand is set, or the generic widget
expand property in the correct direction is set. And we do not
propagate expand flags from tab labels to the notebook, only
the expand flags from the pages.
2010-10-13 10:49:06 -04:00
Javier Jardón
5a30dad531 docs: Move documentation to inline comments: GtkComboBox 2010-10-04 02:37:42 +02:00
Ignacio Casal Quinteiro
13c4c554ef Add missing vfuncs to gtknotebook. 2010-10-03 21:48:56 +02:00
Javier Jardón
bbd80b671a docs: Move documentation to inline comments: GtkNotebook 2010-10-03 20:21:48 +02:00
Matthias Clasen
0bca60fdd3 GTK docs: various fixups 2010-10-01 13:05:12 -04:00
Benjamin Otte
6c7daaf8b9 notebook: Fix compilation warnings - missing cast 2010-09-28 18:24:34 +02:00
Matthias Clasen
f53ad33994 Remove GtkObject completely 2010-09-26 22:18:19 -04:00
Javier Jardón
eac1959d2c Move destroy signal to GtkWidget
Also make GtkWidget derive from GInitiallyUnowned
2010-09-26 22:18:18 -04:00
Benjamin Otte
92732ffea0 notebook: Use gtk_cairo_transform_to_window() 2010-09-26 15:11:46 +02:00
Benjamin Otte
d9c9259861 Move GtkSizeRequest into GtkWidget
It doesn't make sense to keep them separate as GtkSizeRequest requires a
GtkWidget and GtkWidget implements GtkSizeRequest, so you can never have
one without the other.
It also makes the code a lot easier because no casts are required when
calling functions.

Also, the names would translate to gtk_widget_get_width() and people
agreed that this would be a too generic name, so a "preferred" was added
to the names.

So this patch moves the functions:
gtk_size_request_get_request_mode() => gtk_widget_get_request_mode()
gtk_size_request_get_width() => gtk_widget_get_preferred_width()
gtk_size_request_get_height() => gtk_widget_get_preferred_height()
gtk_size_request_get_size() => gtk_widget_get_preferred_size()
gtk_size_request_get_width_for_height() =>
  gtk_widget_get_preferred_width_for_height()
gtk_size_request_get_height_for_width() =>
  gtk_widget_get_preferred_height_for_width()
... and moves the corresponding vfuncs to the GtkWidgetClass.

The patch also renames the implementations of the vfuncs in widgets to
include the word "preferrred".
2010-09-26 15:11:45 +02:00
Benjamin Otte
6eb6135e2d notebook: Get rid of gdk_drawable_get_size() usage 2010-09-26 15:11:44 +02:00
Benjamin Otte
1d3f6b30b0 API: Rename gtk_cairo_paint_*() to gtk_paint_*()
Large patch, but just renaming.
Indentation should still mostly be correct because I took care of
keeping the indentation for this function name.
2010-09-26 15:11:42 +02:00
Benjamin Otte
5f771c8a9f notebook: Connect to draw signal 2010-09-26 15:11:40 +02:00
Benjamin Otte
f383e1f183 notebook: Port to draw vfunc 2010-09-26 15:11:38 +02:00
Benjamin Otte
21099d31ed notebook: The drawable check is not necessary
Large patch, but that's only indentation.
2010-09-26 15:11:38 +02:00
Benjamin Otte
fadf269a36 notebook: Draw tabs and arrows with Cairo
Includes a fix to only draw the current page once during a drag
operation.
2010-09-26 15:11:38 +02:00
Benjamin Otte
ad030e1696 notebook: Simplify draw_tab function a bit
Don't keep lots of local variables that are only used once.
2010-09-26 15:11:38 +02:00
Benjamin Otte
806bcb10ff notebook: remove check for is_drawable
When we reach that code, the widget will always be drawable
2010-09-26 15:11:37 +02:00
Benjamin Otte
c46ce97145 notebook: Reorder expose function in preparation of draw vfunc 2010-09-26 15:11:37 +02:00
Benjamin Otte
f94ff0b3b9 notebook: Use a for loop when iterating over a list 2010-09-26 15:11:37 +02:00
Benjamin Otte
468e453a31 notebook: Draw focus when drawing tab
Instead of using a special function, draw the focus of a tab when the
tab actually is painted. Simplifies the code quite a bit.
2010-09-26 15:11:37 +02:00
Benjamin Otte
a5e487846a notebook: Remove useless optimization
It will become especially useless once we draw with Cairo exclusively.
2010-09-26 15:11:37 +02:00
Benjamin Otte
e8a6bad00b gtk: Don't set colormap anymore when creating GDK windows
Colormaps are about to be removed, so not using them sounds like an
awesome idea.
2010-09-26 15:11:31 +02:00
Benjamin Otte
eda14b2d47 notebook: Fix compilation warnings
A quark is not a pointer.
2010-09-26 15:02:00 +02:00
Matthias Clasen
94e9a35a16 Another since tag 2010-09-24 11:31:23 -04:00
Matthias Clasen
50971f704c Correct since tags 2010-09-24 11:29:17 -04:00
Matthias Clasen
3c19eea34b GtkNotebook: replace group by group_name
Dealing with bare pointers is problematic for language bindings,
using interned strings is much more straightforward and more than
good enough for what is needed here.

http://bugzilla.gnome.org/show_bug.cgi?id=630521
2010-09-24 11:13:30 -04:00
Matthias Clasen
b47b1428b8 GtkNotebook: remove gtk_notebook_set_window_creation_hook
http://bugzilla.gnome.org/show_bug.cgi?id=630521
2010-09-24 11:10:51 -04:00
Cody Russell
27bc88f7c2 Merge branch 'notebooks-without-mouse-scrolling' 2010-09-21 16:19:10 -05:00
Cody Russell
ad48f4d52b Remove mouse scrolling from GtkNotebook tabs. Bug #630226. 2010-09-21 16:18:22 -05:00
Matthias Clasen
e0aa12eb0a Tons of transfer annotations 2010-09-21 00:18:11 -04:00
Javier Jardón
b140884fec Use gtk_size_request_get_size() instead deprecated gtk_widget_size_request()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629598

Signed-off-by: Javier Jardón <jjardon@gnome.org>
Signed-off-by: Tristan Van Berkom <tristanvb@openismus.com>
2010-09-15 03:02:58 +02:00
Javier Jardón
9e81022bf6 Use gtk_size_request_get_size() instead deprecated gtk_widget_get_child_requisition()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629177
2010-09-13 21:26:01 +02:00
Colin Walters
913cdf3be7 GDK: Prefix key names with KEY_
The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.

For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.

Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
2010-09-08 18:51:44 -04:00
Javier Jardón
efaed1b8f1 gtk/gtknotebook.c: use accessor functions to access GtkWidget 2010-09-08 21:13:04 +02:00
Javier Jardón
bc366cef52 gtknotebook: Do not mention deprecated API 2010-09-08 17:46:11 +02:00
Tristan Van Berkom
f2279d5e51 Fixed GtkNotebook to not consult GtkWidget->requisition directly
GtkNotebook was filling widget->requisition directly at "size-request"
time instead of filling in the *requsition argument, also (more importantly)
at size_allocate time GtkNotebook was consulting the action widget's
widget->requisition directly instead of safely calling
gtk_widget_get_child_requisition(). This commit closes bgo #628068.
2010-09-02 13:50:27 +09:00
Javier Jardón
1e5d7c0225 Use GtkFooPrivate instead GtkFooPriv 2010-08-27 04:48:23 +02:00
Javier Jardón
f91e5e2ac9 gtk/gtknotebook.c: Use accessor functions to access GtkWindow 2010-08-23 20:19:03 +02:00
Philip Withnall
3eb197b51f Bug 596125 — Property string fixes 2010-08-10 09:23:49 +01:00
Sam Thursfield
a2b72c5953 Add missing accessors for notebook details
The ms-windows theme engine needs to access the tab-{h,v}border,
so add accessors. Bug 625655.
2010-08-09 21:20:07 -04:00
Christian Dywan
1c5ee1df12 Correct marshaller for switch-page and adjust emission from menu
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=624687
2010-07-23 13:21:33 +02:00
Christian Persch
1af1362a36 gtknotebook: Fix critical warnings on scroll events
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=604391
2010-07-19 15:28:03 +02:00
Javier Jardón
63d3b197c2 Add _gtk_bin_set_widget() internal function 2010-07-13 19:40:47 +02:00
Javier Jardón
4427760bcc Use GtkBin accessors 2010-07-13 19:40:47 +02:00
Javier Jardón
3a10216dd0 Use accessor functions to acces GtkContainer 2010-07-13 19:40:46 +02:00
Christian Dywan
335549b46a Move definition of GtkNotebookPage out of the header 2010-07-13 18:47:45 +02:00
Javier Jardón
33960b737d GtkNotebook: Move public members to private structure 2010-07-13 18:16:06 +02:00
Christian Dywan
828f5cbe2e Change GtkNotebookPage in switch-page into GtkWidget 2010-07-13 17:05:22 +02:00
Christian Dywan
04c54efe5c Deprecate GtkNotebookPage as used in switch-page
Fixes: 618327
2010-07-13 16:49:53 +02:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Xan Lopez
533ea97c67 Remove leftover uses/references of GtkNotebook::group-id 2010-07-02 22:38:39 +02:00
Matthias Clasen
67cd929267 Remove deprecated notebook api 2010-06-26 16:29:43 -04:00
Matthias Clasen
bd4609b140 Merge the xi2-for-master branch 2010-05-25 18:38:44 -04:00
Javier Jardón
0de8601327 Use accessor functions to access GtkLabel variables 2010-05-03 01:51:23 +02:00
Christian Dywan
2d84d88539 Remove internal GtkNotebook tab homogeneousnes and border helpers 2010-05-03 01:51:19 +02:00
Christian Dywan
c4b3b13f9d Remove deprecated GtkNotebook functions 2010-05-03 01:39:50 +02:00
Sjoerd Simons
a957d4593e Prevent the destruction of the menu label on page removal
In certain cases the menu label of a notebook page will be reused after the
page was removed from the notebook, for instance when a page is dragged from
one notebook to another. For such cases make sure that the menu label isn't
destroyed as part of destroying the menu item it was in.
2010-03-22 14:11:05 -04:00
Christian Dywan
c1a3a0fd9b Improve docs of gtk_notebook_set_tab_label_packing
Use the term tab label rather than bookmark and point out
that packing type is deprecated.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=612575
2010-03-12 17:56:21 +01:00
Javier Jardón
32b9aeaadd Don't use GTK_WIDGET_STATE in internal code anymore
Use gtk_widget_get/set_state() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-09 02:40:17 +01:00
Javier Jardón
74ed719fa4 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_MAPPED)
Use new API instead: gtk_widget_set_mapped ()

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 12:02:21 +01:00
Javier Jardón
1934de4b65 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_REALIZED)
Use new API instead: gtk_widget_set_realized ()

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 11:51:33 +01:00
Javier Jardón
24bafd8693 Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_NO_WINDOW)
Use new API instead: gtk_widget_set_has_window ()

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 11:37:06 +01:00
Javier Jardón
16a59ad912 Deprecate widget flag: GTK_WIDGET_REALIZED
Use gtk_widget_get_realized() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:41:05 +01:00
Javier Jardón
1fe7d3cefd Deprecate widget flag: GTK_WIDGET_MAPPED
Use gtk_widget_get_mapped() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:19:03 +01:00
Javier Jardón
483a5a9e1a Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_CAN_FOCUS)
Use new API instead: gtk_widget_set_can_focus ()
2010-03-02 04:42:54 +01:00
Javier Jardón
214a023e91 Deprecate widget flag: GTK_WIDGET_VISIBLE
Use gtk_widget_get_visible() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 07:52:07 +01:00
Javier Jardón
4232115e22 Deprecate widget flag: GTK_WIDGET_HAS_FOCUS
Use gtk_widget_has_focus() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 06:11:01 +01:00
Javier Jardón
a27d5a2c9e Deprecate widget flag: GTK_WIDGET_IS_SENSITIVE
Use gtk_widget_is_sensitive() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 05:32:51 +01:00
Javier Jardón
4f78f70b15 Deprecate widget flag: GTK_WIDGET_DRAWABLE
Use gtk_widget_is_drawable() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 04:55:55 +01:00
Johan Dahlin
fe85272112 [annotations] Add allow-none
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API

https://bugzilla.gnome.org/show_bug.cgi?id=610474
2010-02-19 17:57:51 -02:00
Matthias Clasen
833b9b42cc Fix a redraw problem with action widgets
Fixes bug 603245.
2010-01-18 17:06:48 -05:00
Matthias Clasen
d253fb5140 Fix some issues with action widgets
We need to hide/show them depending on show_tabs, and we should
not grow the notebooks requisition unless we have to. Reported
in bug 601412.
2010-01-18 01:20:50 -05:00
Javier Jardón
f1676cfb11 [docs] Use the correct GTK-doc syntax to refer to GTK+ properties 2010-01-12 21:00:30 +01:00
Christian Dywan
bb1824c131 Deprecate flag macros for toplevel, state, no window and composite child
Deprecate widget flag macros GTK_WIDGET_STATE, GTK_WIDGET_SAVED_STATE,
GTK_WIDGET_FLAGS, GTK_WIDGET_TOPLEVEL, GTK_WIDGET_NO_WINDOW and
GTK_WIDGET_COMPOSITE_CHILD.

Also deprecate the type macros GTK_WIDGET_TYPE, GTK_OBJECT_TYPE_NAME and
GTK_OBJECT_TYPE which have become redundant.

Instances of GTK_WIDGET_TOPLEVEL are replaced with gtk_widget_is_toplevel,
GTK_WIDGET_TYPE is replaced with G_OBJECT_TYPE, GTK_WIDGET_COMPOSITE_CHILD
is replaced with use of the "composite-child" property and uses of
GTK_WIDGET_NO_WINDOW are adjusted to use gtk_widget_get_has_window.

Uses of GTK_WIDGET_SAVED_STATE and GTK_WIDGET_FLAGS inside GtkWidget are
changed to direct flag usage.

Documentation is updated to refer to gtk_widget_set_has_window and
gtk_widget_get_has_window.

Gail and tests are updated as well.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-01-04 07:57:05 +01:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Christian Dywan
cb49a28f8c Mention exact property names in notebook tab packing deprecation
Follow-up for bug 596083.
2009-11-30 12:55:29 +01:00
Christian Persch
5bf30c2885 Make the action widgets internal children of GtkNotebook
So they're not included in the result of gtk_container_foreach() which
preserves it as a convenient way to get the list of all notebook content
widgets.

Bug #601409.
2009-11-28 18:05:09 +01:00
Christian Dywan
148ffd2cc9 Clarify documentation of gtk_notebook_set_action_widget 2009-11-09 16:36:17 +01:00
Matthias Clasen
c605474fa9 Add GtkBuilder support for notebook action area.
Allow to place children into the notebooks action areas by using
"action-start" or "action-end" as the type.
2009-11-08 21:34:29 -05:00
Matthias Clasen
c7e4a1a012 Add an 'action area' to GtkNotebook
Add support for putting widgets in the tab area, before or after
the tabs. This was requested a long time ago in bug 116650. The
implementation is the work of Johannes Schmid.
2009-11-08 21:28:17 -05:00
Matthias Clasen
80de4ab0d9 Another property formatting fix 2009-11-01 18:53:51 -05:00
Matthias Clasen
0a9a1bec93 Work around a gtk-doc formatting problem 2009-11-01 16:41:48 -05:00
Christian Dywan
272e0b5b76 Deprecated GtkNotebook tab packing
https://bugzilla.gnome.org/show_bug.cgi?id=596083
2009-10-21 18:25:02 +02:00
Benjamin Otte
e3bdf9291f Bug 590959 - Set child_has_focus flag properly (second try)
Previously, this flag wasn't cleared properly when the notebook lost
focus, but only when the notebook was focussed again later.
As this flag is only used to advance correctly focus pages by grabbing
focus to the new page after switching the page, this is not good.
In particular, it can cause a focus grab when programmatically switching
the notebook page and the focus is inside a completely different widget.

A previous attempt at this fix in
6e0af6c252 has been reverted in
dfe0c8c0ca because it didn't work
correctly.
2009-08-12 14:49:02 +02:00
Xan Lopez
dfe0c8c0ca Revert "Bug 590959 - Set child_has_focus flag properly"
This reverts commit 6e0af6c252.

The patch seems to break focus handling in some applications, like
Epiphany.
2009-08-07 15:51:17 +03:00
Benjamin Otte
6e0af6c252 Bug 590959 - Set child_has_focus flag properly
Previously, this flag wasn't cleared properly when the notebook lost
focus, but only when the notebook was focussed again later.
As this flag is only used to advance correctly focus pages by grabbing
focus to the new page after switching the page, this is not good.
In particular, it can cause a focus grab when programmatically switching
the notebook page and the focus is inside a completely different widget.
2009-08-06 16:39:19 +02:00
Stanislav Brabec
a39b2dcee4 bgo#529908 - Sanitize handling of motion events in GtkNotebook
GtkNotebook used gdk_window_get_pointer() incorrectly, as it already
had coordinates from various GdkEvents.  Using get_pointer() means
that you get pointer positions *after* the event has happened, which
leads to visual out-of-sync results, or inadvertently detached tabs if
you click on them while your machine is being slow.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2009-06-23 14:36:22 -05:00
Matthias Clasen
122e0b40ba Improve GtkNotbook behaviour with too little space
This fixes bug 582488. The patch was provided by Morten Welinder.
2009-05-17 23:47:30 -04:00
Matthias Clasen
d65c585c28 Keep popups on the right screen. Pointed out by Morten Welinder
* gtk/gtkentrycompletion.c:
        * gtk/gtknotebook.c: Keep popups on the right screen.
        Pointed out by Morten Welinder


svn path=/trunk/; revision=22423
2009-02-28 06:13:58 +00:00
Matthias Clasen
9ca66dd1c4 Bug 558522 – scroll arrow painted insensitive even though there are
2008-10-30  Matthias Clasen  <mclasen@redhat.com>

        Bug 558522 – scroll arrow painted insensitive even though there
        are pages beyond the edge

        gtk/gtknotebook.c (gtk_notebook_real_insert_page): Redraw
        arrows. Pointed out by Christian Persch


svn path=/trunk/; revision=21738
2008-10-31 03:46:00 +00:00
Matthias Clasen
9b320a62f1 Bug 553578 - tabs are not drawn correctly
2008-09-26  Matthias Clasen  <mclasen@redhat.com>

        Bug 553578 - tabs are not drawn correctly

        * gtk/gtknotebook.c: Track the visibility state of notebook tabs
        between allocations so that we know to redraw the tab labels if
        tabs are hidden and shown without changing position.
        Reported by Marek Kašík, patch by Owen Taylor.


svn path=/trunk/; revision=21525
2008-09-26 23:58:12 +00:00
Matthias Clasen
1df29bcae8 Bug 329593 – Entering characters on a line very cpu intensive and
slow

        * gtk/gtknotebook.c (gtk_notebook_page_allocate): Return a boolean
        that indicates whether the tab allocation has changed.
        (gtk_notebook_pages_allocate): Only redraw the tabs if their
        allocation has changed.
        (gtk_notebook_calculate_tabs_allocations): Remove unused return value.
        Patch by Owen Taylor


svn path=/trunk/; revision=21414
2008-09-17 16:02:26 +00:00
Milan Crha
1e1fc9ff9e Allow changing page with arrows even on non-focusable notebook. (#528091)
2008-08-05  Milan Crha  <mcrha@redhat.com> 

        * gtk/gtknotebook.c: (gtk_notebook_do_arrow): Allow changing page with
        arrows even on non-focusable notebook. (#528091)


svn path=/trunk/; revision=21170
2008-08-20 08:17:35 +00:00
Sven Neumann
851061574a gtk/gtknotebook.c property nick and blurb should be marked with P_(), not
2008-08-12  Sven Neumann  <sven@gimp.org>

	* gtk/gtknotebook.c
	* gtk/gtkradiotoolbutton.c: property nick and blurb should be
	marked with P_(), not _().


svn path=/trunk/; revision=21091
2008-08-12 11:32:35 +00:00
Michael Natterer
d9d3379698 gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkentry.c
2008-08-12  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkaccellabel.c
	* gtk/gtkcalendar.c
	* gtk/gtkclist.c
	* gtk/gtkentry.c
	* gtk/gtkeventbox.c
	* gtk/gtkfilechooserbutton.c
	* gtk/gtkfilechooserdefault.c
	* gtk/gtkhandlebox.c
	* gtk/gtkhsv.c
	* gtk/gtkiconview.c
	* gtk/gtkimage.c
	* gtk/gtklayout.c
	* gtk/gtklistitem.c
	* gtk/gtkmenuitem.c
	* gtk/gtkmessagedialog.c
	* gtk/gtknotebook.c
	* gtk/gtkpaned.c
	* gtk/gtkpathbar.c
	* gtk/gtkplug.c
	* gtk/gtkprintunixdialog.c
	* gtk/gtkrange.c
	* gtk/gtkrecentchooserdefault.c
	* gtk/gtkruler.c
	* gtk/gtksocket.c
	* gtk/gtktext.c
	* gtk/gtktextview.c
	* gtk/gtktoolbar.c
	* gtk/gtktreeitem.c
	* gtk/gtktreeview.c
	* gtk/gtkviewport.c
	* gtk/gtkwin32embedwidget.c: chain up unconditionally in
	realize(), unrealize(), map(), unmap(), style_set(),
	key_press_event() and size_request()


svn path=/trunk/; revision=21088
2008-08-12 09:44:32 +00:00
Michael Natterer
e18d3c6fd3 consistently chain up using GTK_FOO_CLASS(parent_class)->bar(instance)
2008-08-12  Michael Natterer  <mitch@imendio.com>

	* gtk/*.c: consistently chain up using
	GTK_FOO_CLASS(parent_class)->bar(instance) instead of
	(*GTK_FOO_CLASS(parent_class))->bar(instance).


svn path=/trunk/; revision=21085
2008-08-12 09:06:34 +00:00
Sven Neumann
9cf66a8a9c gtk/gtkmenu.c gtk/gtkmenuitem.c gtk/gtkmenushell.c gtk/gtknotebook.c
2008-08-11  Sven Neumann  <sven@gimp.org>

	* gtk/gtkmenu.c
	* gtk/gtkmenuitem.c
	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c
	* gtk/gtkoldeditable.c
	* gtk/gtkpaned.c: use canonical signal names.



svn path=/trunk/; revision=21063
2008-08-11 11:52:06 +00:00
Carlos Garnacho
e9be9eb190 Set drag window background to be the GtkNotebook background color. This is
2008-08-04  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtknotebook.c (gtk_notebook_expose): Set drag window background
        to be the GtkNotebook background color. This is a workaround to
        prevent black pixels in rounded tabs when reordering. Improves
        #368234.

svn path=/trunk/; revision=20973
2008-08-04 14:46:22 +00:00
Michael Natterer
05a6983f62 Fix make check:
2008-07-04  Michael Natterer  <mitch@imendio.com>

	Fix make check:

	* gtk/Makefile.am: remove GTK_DISABLE_DEPRECATED from INCLUDES
	again :-(

	* gtk/gtkclist.c
	* gtk/gtkcombo.c
	* gtk/gtkctree.c
	* gtk/gtklist.c
	* gtk/gtklistitem.c
	* gtk/gtknotebook.c
	* gtk/gtkobject.c
	* gtk/gtkoldeditable.c
	* gtk/gtkpixmap.c
	* gtk/gtktext.c
	* gtk/gtktree.c
	* gtk/gtktreeitem.c: don't #define it again before including
	gtkalias.h after it has been #undef'ed before.


svn path=/trunk/; revision=20763
2008-07-04 18:38:36 +00:00
Michael Natterer
da4da16baf Allocate with GSlice:
2008-07-04  Michael Natterer  <mitch@imendio.com>

	Allocate with GSlice:

	* gtk/gtkassistant.c: GtkAssistantPage
	* gtk/gtkcellview.c: GtkCellViewCellInfo
	* gtk/gtkentry.c: GtkEntryPasswordHint, PopupInfo
	* gtk/gtkfilefilter.c: FilterRule
	* gtk/gtknotebook.c: GtkNotebookPage


svn path=/trunk/; revision=20761
2008-07-04 14:27:40 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Johan Dahlin
ef5e0e9601 Fix up deprecated markup syntax. Add version numbers and a message on the
2008-06-20  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbutton.c:
    * gtk/gtkcolorsel.c:
    * gtk/gtkentry.c:
    * gtk/gtkitemfactory.c:
    * gtk/gtknotebook.c:
    Fix up deprecated markup syntax. Add version numbers and
    a message on the remaning ones.


svn path=/trunk/; revision=20655
2008-06-20 19:42:53 +00:00
Tor Lillqvist
293ed565ee Need to do the GTK_DISABLE_DEPRECATED #undef/#define dance here, too,
2008-06-17  Tor Lillqvist  <tml@novell.com>

	* gtk/gtknotebook.c: Need to do the GTK_DISABLE_DEPRECATED
	#undef/#define dance here, too, because
	gtk_notebook_set_group_id() is deprecated but used here before it
	is defined, and gcc complains about conflicting type from the
	implicit int declaration when it sees the actual void definition.


svn path=/trunk/; revision=20435
2008-06-17 19:29:22 +00:00
Björn Lindqvist
6dfbe3b4f8 Bug 131920 – gtkNotebook sends incorrect switch_page value
2008-06-08  Björn Lindqvist  <bjourne@gmail.com>

	Bug 131920 – gtkNotebook sends incorrect switch_page value

	* gtk/gtknotebook.c (gtk_notebook_real_remove): Make switch-page
	signal send correct page index when page index 0 is active and
	removed. (#131920, Samuel Fogh)

svn path=/trunk/; revision=20339
2008-06-08 21:41:16 +00:00
Carlos Garnacho
5f6e577866 Do not call gtk_widget_set_parent_window(), using widget->window instead
2008-04-10  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtknotebook.c (hide_drag_window): Do not call
        gtk_widget_set_parent_window(), using widget->window instead of NULL
        to unset is the wrong thing, and gtk_widget_unparent() will already
        take care of this (#467698, patch by Sébastien Granjoux)

svn path=/trunk/; revision=19987
2008-04-10 17:16:08 +00:00
Matthias Clasen
3456639c39 Prevent a crash with hidden, reorderable tabs. (#513230, Mike Massonnet,
2008-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_stop_reorder): Prevent
        a crash with hidden, reorderable tabs.  (#513230,
        Mike Massonnet, patch by Carlos Garnacho)


svn path=/trunk/; revision=19593
2008-02-16 04:09:15 +00:00
Michael Natterer
e7355f82c2 gtk/gtkcontainer.c gtk/gtkexpander.c gtk/gtkframe.c gtk/gtklabel.c
2008-02-06  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcontainer.c
	* gtk/gtkexpander.c
	* gtk/gtkframe.c
	* gtk/gtklabel.c
	* gtk/gtkmain.c
	* gtk/gtkmenu.c
	* gtk/gtkmenuitem.c
	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c
	* gtk/gtkseparatortoolitem.c
	* gtk/gtksocket.c
	* gtk/gtktextlayout.c
	* gtk/gtktoggletoolbutton.c
	* gtk/gtktoolbutton.c
	* gtk/gtktoolitem.c
	* gtk/gtktree.c
	* gtk/gtktreeitem.c: replace "foo && GTK_IS_FOO (foo)" by simply
	"GTK_IS_FOO (foo)".


svn path=/trunk/; revision=19481
2008-02-06 09:53:34 +00:00
Johan Dahlin
71e9be7e6d Use G_OBJECT_WARN_INVALID_PROPERTY_ID consistently. Fixes #5075
2008-01-06  Johan Dahlin  <johan@gnome.org>

	* gtk/gtkcellrenderercombo.c:
	(gtk_cell_renderer_combo_get_property),
	(gtk_cell_renderer_combo_set_property):
	* gtk/gtkcombobox.c: (gtk_combo_box_set_property):
	* gtk/gtkcomboboxentry.c: (gtk_combo_box_entry_set_property):
	* gtk/gtknotebook.c: (gtk_notebook_set_property):
	* gtk/gtkspinbutton.c: (gtk_spin_button_set_property):
	* gtk/gtktextbuffer.c: (gtk_text_buffer_set_property),
	(gtk_text_buffer_get_property):
	* gtk/gtktextview.c: (gtk_text_view_set_property):
	* gtk/gtktogglebutton.c: (gtk_toggle_button_set_property):
	* gtk/gtktoolbutton.c: (gtk_tool_button_set_property),
	(gtk_tool_button_get_property):
	* gtk/gtktoolitem.c: (gtk_tool_item_set_property),
	(gtk_tool_item_get_property):
	* gtk/gtktreeview.c: (gtk_tree_view_set_property):
	* gtk/gtkwidget.c: (gtk_widget_set_property):
	* gtk/gtkwindow.c: (gtk_window_set_property):
	Use G_OBJECT_WARN_INVALID_PROPERTY_ID consistently.
	Fixes #5075

svn path=/trunk/; revision=19311
2008-01-06 03:28:40 +00:00
Johannes Schmid
16383d431a Also reorder menu when reordering tabs by drag & drop (Bug #506474)
2007-12-30  Johannes Schmid <jhs@gnome.org>

        * gtk/gtknotebook.c: (gtk_notebook_stop_reorder):
        Also reorder menu when reordering tabs by drag & drop
        (Bug #506474)

        * tests/testnotebookdnd.c: (create_notebook_with_notebooks):
        Add a menu to one of the notebooks to have a test-case for
        the change mentioned above.


svn path=/trunk/; revision=19294
2007-12-31 16:26:18 +00:00
Matthias Clasen
32530a9f78 More default property value fixes
svn path=/trunk/; revision=19277
2007-12-28 17:29:53 +00:00
Matthias Clasen
2a702dcd42 Another fix to avoid further fallout from the fix for bug 388321.
2007-12-10  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_remove): Another fix
        to avoid further fallout from the fix for bug 388321.



svn path=/trunk/; revision=19139
2007-12-10 06:19:53 +00:00
Matthias Clasen
2b3c7b70ef Modify the tab-label-destroy fix to not crash epiphany.
2007-12-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c: Modify the tab-label-destroy fix to not
        crash epiphany.


svn path=/trunk/; revision=19107
2007-12-04 18:43:47 +00:00
Matthias Clasen
7819005e2e Fix up some doc comments to shut up gtk-doc.
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmain.c:
        * gtk/gtknotebook.c:
        * gtk/gtkplugprivate.h:
        * gtk/gtksocket.c:
        * gtk/gtksocketprivate.h:
        * gtk/gtktable.c: Fix up some doc comments to shut up gtk-doc.


svn path=/trunk/; revision=19066
2007-11-26 20:15:15 +00:00
Matthias Clasen
3132888e1b Short-circuit on destroy. (gtk_notebook_destroy): Destroy tab_label
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_update_labels): Short-circuit on
        destroy.
        (gtk_notebook_destroy): Destroy tab_label widgets. (#388321, Morten
        Welinder)


svn path=/trunk/; revision=19059
2007-11-26 18:21:13 +00:00
Matthias Clasen
4896e24bb1 Require gtk-doc 1.8
2007-11-25  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Require gtk-doc 1.8

        * */*.c: Use gtk-doc abbreviations for examples in docs.


svn path=/trunk/; revision=19041
2007-11-25 06:51:19 +00:00
Xan Lopez
1cea708e5e remove duplicated declaration of gtk_notebook_create_window. Patch by
2007-10-03  Xan Lopez  <xan@gnome.org>

	* gtk/gtknotebook.c: remove duplicated declaration of
	gtk_notebook_create_window. Patch by Hiroyuki Ikezoe (#482837)

svn path=/trunk/; revision=18878
2007-10-03 19:49:40 +00:00
Tim Janik
92ee6b3ae1 fix wrong default value in ::tab-expand param spec constructor.
Wed Sep  5 14:15:17 2007  Tim Janik  <timj@imendio.com>

        * gtk/gtknotebook.c (gtk_notebook_class_init): fix wrong default value
        in ::tab-expand param spec constructor.



svn path=/trunk/; revision=18725
2007-09-05 12:17:39 +00:00
Johan Dahlin
60a409785f Rename buildable methods to not clash with widget methods. (#448928,
2007-06-19  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/*: Rename buildable methods to not clash with widget 
    methods. (#448928, Torsten Schoenfeld)


svn path=/trunk/; revision=18187
2007-06-19 12:23:36 +00:00
Johan Dahlin
4d638bf0c1 Add GtkBuilder, fixes #172535
2007-06-15  Johan Dahlin  <jdahlin@async.com.br>

    * demos/gtk-demo/Makefile.am:
    * demos/gtk-demo/builder.c: (quit_activate), (about_activate),
    (do_builder):
    * demos/gtk-demo/demo.ui:
    * docs/reference/gtk/gtk-docs.sgml:
    * docs/reference/gtk/gtk-sections.txt:
    * docs/reference/gtk/gtk.types:
    * docs/reference/gtk/tmpl/gtkbuildable.sgml:
    * docs/reference/gtk/tmpl/gtkbuilder.sgml:
    * gtk/Makefile.am:
    * gtk/gtk.h:
    * gtk/gtk.symbols:
    * gtk/gtkaction.c: (gtk_action_buildable_init),
    (gtk_action_buildable_set_name), (gtk_action_buildable_get_name):
    * gtk/gtkactiongroup.c: (gtk_action_group_get_type),
    (gtk_action_group_buildable_init),
    (gtk_action_group_buildable_add),
    (gtk_action_group_buildable_set_name),
    (gtk_action_group_buildable_get_name):
    * gtk/gtkbuildable.c: (gtk_buildable_get_type),
    (gtk_buildable_set_name), (gtk_buildable_get_name),
    (gtk_buildable_add), (gtk_buildable_set_property),
    (gtk_buildable_parser_finished), (gtk_buildable_construct_child),
    (gtk_buildable_custom_tag_start), (gtk_buildable_custom_tag_end),
    (gtk_buildable_custom_finished),
    (gtk_buildable_get_internal_child):
    * gtk/gtkbuildable.h:
    * gtk/gtkbuilder.c: (gtk_builder_class_init), (gtk_builder_init),
    (gtk_builder_finalize), (gtk_builder_set_property),
    (gtk_builder_get_property), (_gtk_builder_resolve_type_lazily),
    (gtk_builder_real_get_type_from_name),
    (gtk_builder_get_parameters), (gtk_builder_get_internal_child),
    (_gtk_builder_construct), (_gtk_builder_add),
    (apply_delayed_properties), (_gtk_builder_finish),
    (gtk_builder_new), (gtk_builder_add_from_file),
    (gtk_builder_add_from_string), (gtk_builder_get_object),
    (object_add_to_list), (gtk_builder_get_objects),
    (gtk_builder_set_translation_domain),
    (gtk_builder_get_translation_domain),
    (gtk_builder_connect_signals_default),
    (gtk_builder_connect_signals), (gtk_builder_connect_signals_full),
    (gtk_builder_value_from_string),
    (gtk_builder_value_from_string_type),
    (_gtk_builder_enum_from_string), (_gtk_builder_flags_from_string),
    (gtk_builder_get_type_from_name), (gtk_builder_error_quark):
    * gtk/gtkbuilder.h:
    * gtk/gtkbuilderparser.c: (state_push), (state_peek), (state_pop),
    (error_missing_attribute), (error_invalid_attribute),
    (error_invalid_tag), (builder_construct), (parse_object),
    (free_object_info), (_get_type_by_symbol), (parse_child),
    (free_child_info), (parse_property), (free_property_info),
    (parse_signal), (_free_signal_info), (parse_interface),
    (create_subparser), (free_subparser), (subparser_start),
    (subparser_end), (parse_custom), (start_element), (end_element),
    (text), (_gtk_builder_parser_parse_buffer):
    * gtk/gtkbuilderprivate.h:
    * gtk/gtkcelllayout.c: (attributes_start_element),
    (attributes_text_element),
    (_gtk_cell_layout_buildable_custom_tag_start),
    (_gtk_cell_layout_buildable_custom_tag_end),
    (_gtk_cell_layout_buildable_add):
    * gtk/gtkcelllayout.h:
    * gtk/gtkcellview.c: (gtk_cell_view_buildable_init),
    (gtk_cell_view_buildable_custom_tag_start),
    (gtk_cell_view_buildable_custom_tag_end):
    * gtk/gtkcolorseldialog.c:
    (gtk_color_selection_dialog_buildable_interface_init),
    (gtk_color_selection_dialog_buildable_get_internal_child):
    * gtk/gtkcombobox.c: (gtk_combo_box_buildable_init),
    (gtk_combo_box_buildable_custom_tag_start),
    (gtk_combo_box_buildable_custom_tag_end):
    * gtk/gtkcomboboxentry.c:
    (gtk_combo_box_entry_buildable_interface_init),
    (gtk_combo_box_entry_buildable_get_internal_child):
    * gtk/gtkcontainer.c: (gtk_container_get_type),
    (gtk_container_buildable_init), (gtk_container_buildable_add),
    (gtk_container_buildable_set_child_property),
    (attributes_start_element), (attributes_text_element),
    (gtk_container_buildable_custom_tag_start),
    (gtk_container_buildable_custom_tag_end):
    * gtk/gtkdebug.h:
    * gtk/gtkdialog.c: (gtk_dialog_buildable_interface_init),
    (gtk_dialog_buildable_get_internal_child),
    (attributes_start_element), (attributes_text_element),
    (gtk_dialog_buildable_custom_tag_start),
    (gtk_dialog_buildable_custom_finished):
    * gtk/gtkentrycompletion.c: (gtk_entry_completion_buildable_init):
    * gtk/gtkexpander.c: (gtk_expander_buildable_add),
    (gtk_expander_buildable_init):
    * gtk/gtkfontsel.c:
    (gtk_font_selection_dialog_buildable_interface_init),
    (gtk_font_selection_dialog_buildable_get_internal_child):
    * gtk/gtkframe.c: (gtk_frame_buildable_init),
    (gtk_frame_buildable_add):
    * gtk/gtkiconview.c: (gtk_icon_view_buildable_init),
    (gtk_icon_view_buildable_custom_tag_start),
    (gtk_icon_view_buildable_custom_tag_end):
    * gtk/gtkliststore.c: (gtk_list_store_buildable_init),
    (list_store_start_element), (list_store_end_element),
    (list_store_text), (gtk_list_store_buildable_custom_tag_start),
    (gtk_list_store_buildable_custom_tag_end):
    * gtk/gtkmain.c:
    * gtk/gtknotebook.c: (gtk_notebook_buildable_init),
    (gtk_notebook_buildable_add):
    * gtk/gtksizegroup.c: (gtk_size_group_buildable_init),
    (size_group_start_element),
    (gtk_size_group_buildable_custom_tag_start),
    (gtk_size_group_buildable_custom_finished):
    * gtk/gtktreestore.c: (gtk_tree_store_buildable_init),
    (tree_model_start_element),
    (gtk_tree_store_buildable_custom_tag_start),
    (gtk_tree_store_buildable_custom_finished):
    * gtk/gtktreeview.c: (gtk_tree_view_buildable_init),
    (gtk_tree_view_buildable_add):
    * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_buildable_init):
    * gtk/gtkuimanager.c: (gtk_ui_manager_buildable_init),
    (gtk_ui_manager_buildable_add),
    (gtk_ui_manager_buildable_construct_child),
    (gtk_ui_manager_buildable_custom_tag_start),
    (gtk_ui_manager_buildable_custom_tag_end):
    * gtk/gtkwidget.c: (gtk_widget_get_type),
    (gtk_widget_buildable_interface_init),
    (gtk_widget_buildable_set_name), (gtk_widget_buildable_get_name),
    (gtk_widget_buildable_set_property),
    (gtk_widget_buildable_parser_finshed), (accel_group_start_element),
    (gtk_widget_buildable_custom_tag_start),
    (gtk_widget_buildable_custom_finshed):
    * gtk/gtkwindow.c: (gtk_window_buildable_interface_init),
    (gtk_window_buildable_set_property),
    (gtk_window_buildable_parser_finished):
    * tests/Makefile.am:
    * tests/buildertest.c: (builder_new_from_string), (test_parser),
    (signal_normal), (signal_after), (signal_object),
    (signal_object_after), (signal_first), (signal_second),
    (signal_extra), (signal_extra2), (test_connect_signals),
    (test_uimanager_simple), (test_domain), (test_translation),
    (test_sizegroup), (test_list_store), (test_tree_store),
    (test_types), (test_spin_button), (test_notebook),
    (test_construct_only_property), (test_children),
    (test_child_properties), (test_treeview_column), (test_icon_view),
    (test_combo_box), (test_combo_box_entry), (test_cell_view),
    (test_dialog), (test_accelerators), (test_widget), (main):

    Add GtkBuilder, fixes #172535


svn path=/trunk/; revision=18141
2007-06-15 17:53:46 +00:00
Behdad Esfahbod
2fe1850d39 Fix compiler warning. (#447586, Kazuki IWAMOTO)
2007-06-14  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_get_group_id): Fix compiler
        warning. (#447586, Kazuki IWAMOTO)


svn path=/trunk/; revision=18134
2007-06-14 16:03:30 +00:00
Matthias Clasen
15cf60ae6d Add a doc comment
svn path=/trunk/; revision=18072
2007-06-07 06:09:43 +00:00
Matthias Clasen
17df875136 Add a create-window signal that allows to override the global
2007-06-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmarshalers.list:
        * gtk/gtknotebook.[hc]: Add a create-window signal that allows
        to override the global create-window-hook on a per-notebook
        basis. The default handler falls back to the global hook.
        (#386935, Christian Hammond)


svn path=/trunk/; revision=18024
2007-06-04 14:39:56 +00:00
Xan Lopez
fbfc884e0a Remove g_return_if_fail checks from private functions.
svn path=/trunk/; revision=18010
2007-06-03 04:28:16 +00:00
Xan Lopez
96a53e9bc0 The page num parameter is unused is redundant and unused in
the the switch_page and real_switch_page functions.

svn path=/trunk/; revision=18009
2007-06-03 04:27:56 +00:00
Xan Lopez
88c71fd5f6 Small cleanup in gtk_notebook_set_current_page and fix doc typo.
svn path=/trunk/; revision=17979
2007-05-29 22:13:42 +00:00
Matthias Clasen
21fb3a962a Document new api
svn path=/trunk/; revision=17929
2007-05-26 18:51:06 +00:00
Yevgen Muntyan
1a534510aa missing #include <ctype.h>.
2007-05-23  Yevgen Muntyan  <muntyan@tamu.edu>

	* gtk/gtkprintunixdialog.c: missing #include <ctype.h>.

	* gtk/gtkhandlebox.c (gtk_handle_box_paint):
	* gtk/gtkpagesetupunixdialog.c (_gtk_load_custom_papers):
	* gtk/gtkstatusbar.c (gtk_statusbar_get_context_id):
	* gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path):
	* gtk/gtktrayicon-x11.c (gtk_tray_icon_send_dock_request):
	* gtk/gtkpreview.c (gtk_preview_finalize):
	* gtk/gtknotebook.c (gtk_notebook_set_group_id):
	* tests/testnotebookdnd.c (window_creation_function):
	* tests/testiconview.c (do_popup_menu):
	Fixed some compiler warnings (#440689).

svn path=/trunk/; revision=17898
2007-05-23 15:06:03 +00:00
Matthias Clasen
40d5981322 Deprecate gtk_notebook_[gs]et_group_id in favour of new functions
2007-05-19  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtk.symbols:
        * gtk/gtknotebook.[hc]: Deprecate gtk_notebook_[gs]et_group_id
        in favour of new functions gtk_notebook_[gs]et_group, which
        takes a pointer as group identifier and makes it easier to
        avoid group id collisions.  (#386930, Christian Hammond)

        * tests/testnotebookdnd.c: Use new grouping api.



svn path=/trunk/; revision=17873
2007-05-19 05:22:00 +00:00
Carlos Garnacho
b2128325cc Allow widgets up in the hierarchy to run their DnD handlers if the target
2007-05-18  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtknotebook.c (gtk_notebook_init) (gtk_notebook_drag_motion)
        (gtk_notebook_drag_drop): Allow widgets up in the hierarchy to run
        their DnD handlers if the target doesn't match with anything the
        notebook manages. (#350665, Joakim Lundborg).


svn path=/trunk/; revision=17860
2007-05-18 11:07:04 +00:00
Carlos Garnacho
a1498f7697 Do not unset the brand new current page if there was none set previously.
2007-05-18  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtknotebook.c (gtk_notebook_real_insert_page): Do not unset
        the brand new current page if there was none set previously. Fixes
        #425138 (Reported by Michail Crayson). Some code simplifications.
        (gtk_notebook_draw_arrow): code style fix.


svn path=/trunk/; revision=17858
2007-05-18 09:42:52 +00:00
Xan Lopez
a1688f7fd5 s/arrow-size/arrow-spacing in the arrow-spacing style property docs.
* gtk/gtknotebook.c (gtk_notebook_class_init): 
	s/arrow-size/arrow-spacing in the arrow-spacing
	style property docs.

svn path=/trunk/; revision=17585
2007-04-07 09:33:15 +00:00
Matthias Clasen
500435f2f9 Fix tabbed browsing in epiphany. (#413664, Christian Persch)
2007-03-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_insert_page):
        Fix tabbed browsing in epiphany.  (#413664, Christian Persch)



svn path=/trunk/; revision=17505
2007-03-13 15:08:56 +00:00
Matthias Clasen
9aca5027dd Set child visibility to FALSE here; it will be turned back on in
2007-03-08  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_insert_page):
        Set child visibility to FALSE here; it will be turned
        back on in switch_page.  (#413664, Carlos Garnacho)



svn path=/trunk/; revision=17434
2007-03-09 04:44:20 +00:00
Matthias Clasen
85832deef3 Avoid some unnecessary gtk_widget_get_style() calls.
2007-01-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_draw_arrow):
        (gtk_notebook_draw_focus): Avoid some unnecessary
        gtk_widget_get_style() calls.



svn path=/trunk/; revision=17229
2007-01-28 04:41:52 +00:00
Matthias Clasen
a9f990f519 Left-align menu labels. (#393255, Michail Crayson)
2007-01-05  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_set_menu_label_text): Left-align
        menu labels.  (#393255, Michail Crayson)



svn path=/trunk/; revision=17095
2007-01-06 03:02:31 +00:00
Carlos Garnacho
34039c7008 take into account both scroll arrows when calculating size request in
2007-01-05  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_size_request): take into account
        both scroll arrows when calculating size request in GTK_POS_LEFT or
        GTK_POS_RIGHT notebooks. (#393124, reported by Christian Persch)


svn path=/trunk/; revision=17080
2007-01-05 17:29:49 +00:00
Matthias Clasen
c8823f99e1 Only handle key bindings for tab reordering if the tabs are shown and
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.h:
        * gtk/gtknotebook.c: Only handle key bindings for
        tab reordering if the tabs are shown and reorderable.
        (#390468, Yevgen Muntyan)

        * gtk/gtkmarshalers.list: Add required marshaler



svn path=/trunk/; revision=17008
2007-01-02 06:22:37 +00:00
Carlos Garnacho
35ac74a037 return if the widget that originally received the event is a notebook
2006-12-29  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_scroll): return if the widget that
        originally received the event is a notebook page. (#315440, reported
        by Mateusz Stefek)
2006-12-29 19:11:32 +00:00
Carlos Garnacho
d42bbb6466 Make GtkNotebook able to drop detached tabs anywhere. Bug #360225.
2006-12-28  Carlos Garnacho  <carlosg@gnome.org>

        Make GtkNotebook able to drop detached tabs anywhere. Bug #360225.

        * gtk/gtkwidget.c (gtk_widget_class_init): add "drag-failed" signal.
        * gtk/gtkmarshalers.list: add new marshaler definition.
        * gtk/gtkenums.h: add GtkDragResult enum.

        * gtk/gtkdnd.c (gtk_drag_drop_finished): emit "drag-failed" if DND
        operation wasn't successful.
        (_gtk_drag_source_handle_event) (gtk_drag_drop)
        (gtk_drag_selection_get) (gtk_drag_cancel) (gtk_drag_key_cb)
        (gtk_drag_grab_broken_event_cb) (gtk_drag_grab_notify_cb)
        (gtk_drag_button_release_cb) (gtk_drag_abort_timeout): tell
        gtk_drag_drop_finished() the operation result.

        * gtk/gtknotebook.c (gtk_notebook_drag_failed): new function.
        (gtk_notebook_drag_data_get): do not call window creation hook here.
        (gtk_notebook_init): do not set "application/x-rootwindow-drop"
        target, instead connect to "drag-failed".
        (gtk_notebook_draw_focus): fix potential crasher if cur_page is NULL.
2006-12-28 16:38:49 +00:00
Christian Persch
0b75f7a30f Return the correct value from gtk_notebook_insert_page if the page-added
2006-12-26  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtknotebook.c: (gtk_notebook_real_insert_page):
	Return the correct value from gtk_notebook_insert_page if the
	page-added handler reorders the tabs. Bug #345094.
2006-12-26 14:49:34 +00:00
Carlos Garnacho
43e3082a43 Fix small regressions in GtkNotebook tab detaching. Bug #378852.
2006-12-26  Carlos Garnacho  <carlosg@gnome.org>

        Fix small regressions in GtkNotebook tab detaching. Bug #378852.

        * gtk/gtknotebook.c (gtk_notebook_do_arrow): grab focus to allow tabs
        scrolling when hovering with a detached tab.
        (gtk_notebook_stop_reorder): Do not deparent the wrong tab if the
        focus tab has changed during a tab DND operation.
        (gtk_notebook_drag_end): ensure that the dropped tab gets focused.
        (gtk_notebook_paint): do not take cur_page as a reference to paint the
        box if it's detached.
        (gtk_notebook_calculate_tabs_allocation): focus_tab may be different
        to the detached tab if we hover the arrows during a tabs detaching
        operation, do not allocate it unconditionally in 0,0.
2006-12-26 11:02:15 +00:00
Carlos Garnacho
c1077874a0 Expose improvements for GtkNotebook. Bug #383435
2006-12-26  Carlos Garnacho  <carlosg@gnome.org>

        Expose improvements for GtkNotebook. Bug #383435

        * gtk/gtknotebook.c (gtk_notebook_expose): propagate the event to tab
        labels.
        (gtk_notebook_draw_focus): do not repaint the whole focused tab again.
        (gtk_notebook_draw_tab): do not send handmade expose events to tab
        labels.
2006-12-26 10:31:36 +00:00
Matthias Clasen
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
Michael Natterer
7f374a74ba Add new infrastructure for notifications of failed keyboard navigation and
2006-11-16  Michael Natterer  <mitch@imendio.com>

	Add new infrastructure for notifications of failed keyboard
	navigation and navigation with restricted set of keys.

	The patch handles configurable beeping, navigating the GUI with
	cursor keys only (as in phone environments), and configurable
	wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
	and #309291.

	* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
	gtk-keynav-wrap-around and gtk-error-bell.

	* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
	API to emit it. Added New function gtk_widget_error_bell() which
	looks at the gtk-error-bell setting and calls gdk_window_beep()
	accordingly.

	* gtk/gtk.symbols: add the new widget symbols.

	* gtk/gtkcellrendereraccel.c
	* gtk/gtkimcontextsimple.c
	* gtk/gtkmenu.c
	* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
	gtk-error-bell setting instead of calling gdk_display_beep()
	unconditionally.

	* gtk/gtkcombobox.c
	* gtk/gtkentry.c
	* gtk/gtkiconview.c
	* gtk/gtklabel.c
	* gtk/gtkmenushell.c
	* gtk/gtkspinbutton.c
	* gtk/gtktextview.c
	* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.

	* gtk/gtkentry.c
	* gtk/gtklabel.c
	* gtk/gtkrange.c
	* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
	cursor navigation and leave the widget if it returns FALSE.

	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
	is TRUE.

	* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
	whether to to wrap-around, and don't select active items on cursor
	navigation if gtk-keynav-cursor-only is TRUE. Should look at
	gtk-keynav-wrap-around too, will look into that.
2006-11-16 12:56:30 +00:00
Carlos Garnacho
d03d8e9e40 make non-focused tabs xthickness/ythickness thinner. (#353962)
2006-11-07  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_calculate_tabs_allocation): make
        non-focused tabs xthickness/ythickness thinner. (#353962)
2006-11-07 16:54:34 +00:00
Matthias Clasen
16d8cb9559 Only reorder tabs if the focus is in the tab. (#350342, Carlos Garnacho
2006-10-08 Matthias Clasen <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_reorder_tab): Only
	reorder tabs if the focus is in the tab.  (#350342, Carlos
	Garnacho Parro)
2006-10-08 19:00:31 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Matthias Clasen
f45a35921a Commit a patch by Behdad to fix typos, omissions and other errors in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

        * Commit a patch by Behdad to fix typos, omissions and other
        errors in the symbol aliasing, and add checks for local PLT
        entries.  (#354687, Behdad Esfahbod)
2006-09-10 06:39:16 +00:00
Matthias Clasen
a4894aa25f Explain some quirks of this function. (#351112,
2006-08-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_set_current_page): Explain
	some quirks of this function.  (#351112,
2006-08-16 14:38:02 +00:00
Matthias Clasen
68b5beea41 Remove. (gtk_notebook_motion_notify): Instead, update the arrow state
2006-08-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_enter_notify): Remove.
        (gtk_notebook_motion_notify): Instead, update the arrow
        state here.  (#349570, Benjamin Otte)
2006-08-15 06:59:55 +00:00
Matthias Clasen
a21deb2d2f (gtk_notebook_drag_motion): Don't accept drops on
arrows.  (#348706, Benjamin Otte)
2006-08-06 04:15:23 +00:00
Matthias Clasen
ab299968d0 Don't allow dragging a notebook tab to one of its children. (#348626,
2006-08-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_drag_motion): Don't allow
	dragging a notebook tab to one of its children.  (#348626,
	Benjamin Otte)
2006-08-06 04:10:11 +00:00
Matthias Clasen
2e7184f51b Improve drawing of tabs 2006-07-21 05:20:13 +00:00
Matthias Clasen
53a94e60c9 Unset the during_reorder flag. (#348049, Sven Herzberg, patch by Benjamin
2006-07-21  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_stop_reorder): Unset
        the during_reorder flag.  (#348049, Sven Herzberg, patch
        by Benjamin Otte)
2006-07-21 04:44:24 +00:00
Matthias Clasen
1f9befb77a Don't undo reordering if we haven't been reordering. (#346836, Ed Catmur)
2006-07-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_stop_reorder): Don't undo
	reordering if we haven't been reordering.  (#346836, Ed Catmur)
2006-07-17 17:22:31 +00:00
Matthias Clasen
a0482815e7 Remove redundant assignments to page, which may cause NULL dereferences.
2006-06-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_tab_space): Remove
        redundant assignments to page, which may cause NULL
        dereferences.  (#346334, Dave Vasilevsky)
2006-07-02 15:12:40 +00:00
Carlos Garnacho
1cd8afc8ad unset the pressed button here. (gtk_notebook_grab_notify): stop reorder
2006-06-20  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed
        button here.
        (gtk_notebook_grab_notify): stop reorder when the widget becomes
        shadowed. Fixes bug #335873
2006-06-20 11:48:21 +00:00
Carlos Garnacho
664b8c7b47 use gdk_window_get_pointer() to get pointer coordinates, but limit its
2006-06-15  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_motion_notify): use
        gdk_window_get_pointer() to get pointer coordinates, but limit its
        calls to a maximum of 45 times per second for not being too
        CPU/network abusive. stop drag operation if (event->state &
        GDK_BUTTON1_MASK) is FALSE to prevent tabs from "adhering" to the
        pointer. Fixes bug #341571
        (gtk_notebook_calculate_tabs_allocation), (gtk_notebook_button_press):
        get rid of the "tab jumps to pointer" sensation when beginning a drag
        by using the pointer offset in the tab when the drag begins as an
        anchor.
        (gtk_notebook_redraw_tabs_union): remove, it wasn't worth the little
        performance gain and could draw artifacts under some circumstances.
        (gtk_notebook_drag_end): do not reparent the detached tab label until
        the animation has ended.
2006-06-15 18:46:03 +00:00
Matthias Clasen
7843d8b478 Add a destroy notify for the callback data. (#344209, Murray Cumming)
2006-06-07  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.h:
        * gtk/gtknotebook.c (gtk_notebook_set_window_creation_hook):
        Add a destroy notify for the callback data.  (#344209,
        Murray Cumming)
2006-06-08 00:17:00 +00:00
Matthias Clasen
1a98d20c19 Fix borderline cases in tab visibility calculation. (#168105, Carlos
2006-06-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_calculate_shown_tabs):
        (gtk_notebook_calc_tabs): Fix borderline cases in tab
        visibility calculation.  (#168105, Carlos Garnacho Parro)
2006-06-05 01:38:49 +00:00
Matthias Clasen
b2af13f123 Fix a boundary case in scrolling where a tab was not shown. (#168105,
2006-05-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_pages_allocate): Fix a
	boundary case in scrolling where a tab was not shown.  (#168105,
	Hiroyuki Ikezoe, patch by Kouhei Sutou)
2006-05-19 16:04:32 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
171fb95f74 Fix some corner cases in the size allocation logic for tabs. (#341577,
2006-05-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c: Fix some corner cases in the size
	allocation logic for tabs.  (#341577, Carlos Garnacho Parro)
2006-05-13 03:16:09 +00:00
Matthias Clasen
ae730afdbb Handle tab_label being NULL better. (#341455, William Jon McCann, patch by
2006-05-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c: Handle tab_label being NULL better.
	(#341455, William Jon McCann, patch by Carlos Garnacho Parro)
2006-05-13 02:56:04 +00:00
Carlos Garnacho
f4cc71445a check that tab_label is not NULL before checking that it's notebook's
2006-05-10  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c: check that tab_label is not NULL before checking
        that it's notebook's child. Closes #341247.
2006-05-10 15:58:48 +00:00
Tim Janik
4e8e3add5b applied unified patch for configurable scroll arrow sizes from bug #333632
Wed May 10 15:57:53 2006  Tim Janik  <timj@imendio.com>

        * applied unified patch for configurable scroll arrow sizes from
        bug #333632 and bug #325282.

        * gtk/gtkwidget.c (gtk_widget_class_init): added ::scroll-arrow-hlength
        and ::scroll-arrow-vlength style properties. fixed upper limit for
        ::separator-width and ::separator-height to be MAXINT.

        * gtk/gtkmenu.c: use GtkWidget::scroll-arrow-vlength to determine the
        scroll arrow size, instead of using a hard coded constant.

        * gtk/gtknotebook.c: use GtkWidget::scroll-arrow-vlength and
        GtkWidget::scroll-arrow-hlength to determine scroll arrow sizes.
        added GtkNotebook::arrow-spacing style property to configure the
        spacing between scroll arrows.
2006-05-10 14:02:20 +00:00
Carlos Garnacho
5c53411e77 create an independent GdkWindow to behave nicely during reordering with
2006-05-09  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c: create an independent GdkWindow to behave nicely
        during reordering with tab_labels with their own window, also use
        gtk_drag_set_icon_widget() for the DnD icon to avoid drawing garbage
        from offscreen regions. Closes bug #335707.
        (gtk_notebook_tab_space), (gtk_notebook_calculate_shown_tabs),
        (gtk_notebook_calculate_tabs_allocation): new functions,
        gtk_notebook_pages_allocate() functionality has been splitted into
        these.
2006-05-09 02:36:08 +00:00
Matthias Clasen
c0f7f08a0e Fix doc typos.
2006-05-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c:
	* gtk/gtkwindow.c:
	* gtk/gtkrange.c: Fix doc typos.
2006-05-08 14:50:33 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Carlos Garnacho
27f53394be removed wrong condition check that caused tab labels not to be drawn under
2006-04-18  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_pages_allocate): removed wrong
        condition check that caused tab labels not to be drawn under certain
        circumstances. Bug #338734.
2006-04-18 09:55:51 +00:00
Matthias Clasen
6afcd45024 Reorganize to avoid a possible NULL dereference. (Coverity)
2006-04-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_page_allocate): Reorganize
        to avoid a possible NULL dereference.  (Coverity)
2006-04-12 21:22:42 +00:00
Matthias Clasen
5585ce9e91 Silently do nothing if the widget is not a child. (Coverity)
2006-04-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_remove): Silently do nothing
        if the widget is not a child.  (Coverity)
2006-04-12 04:13:06 +00:00
Matthias Clasen
3c29d067a1 Emit page-added before switch-page 2006-03-29 15:20:21 +00:00
Matthias Clasen
57e2e0d9b9 Fix docs syntax.
2006-03-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_set_tab_detachable): Fix
	docs syntax.
2006-03-28 18:58:05 +00:00
Matthias Clasen
bbd8b9a51c Emit the ::page-removed signal after removing the page. (#335238,
2006-03-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_remove): Emit the ::page-removed
	signal after removing the page.  (#335238, Christian Persch)
2006-03-22 21:11:40 +00:00
Matthias Clasen
411d798e93 Improved DND support for GtkNotebook (#332991, Carlos Garnacho)
2006-03-22  Matthias Clasen  <mclasen@redhat.com>

	Improved DND support for GtkNotebook  (#332991, Carlos Garnacho)

	* gtk/gtk.symbols:
	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c: Add a track_motion flag on GtkDragDest
	with getter and setter, for cases where the drag destination
	is interested in drag motion events independent of targets.

	* gtk/gtksettings.c (gtk_settings_class_init): Add a setting
	for the timeout used when expanding during DND.

	* gtk/gtknotebook.c: Use the track_motion flag to switch
	notebook tabs when hovering over tabs during DND.
2006-03-22 20:17:23 +00:00
Carlos Garnacho
f77c0fb15e send a GtkWidget** instead of a GtkNotebookPage* when doing tabs DnD, this
2006-03-22  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c: send a GtkWidget** instead of a GtkNotebookPage*
        when doing tabs DnD, this allows DnD interaction with other widgets,
        added some docs for this too.
        * tests/testnotebookdnd.c: add some code to test it.
2006-03-22 16:11:48 +00:00
Matthias Clasen
7ae595b99e Don't leave page->tab_label dangling. (gtk_notebook_real_remove): Use
2006-03-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_remove_tab_label): Don't leave
	page->tab_label dangling.
	(gtk_notebook_real_remove): Use GTK_IN_DESTRUCTION.
	(gtk_notebook_destroy): Leave the removal of the children
	to the container destroy method.  (#319032, Yevgen Muntyan)

2006-03-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_remove): Use the existing
	GTK_IN_DESTRUCTION flag, rather than roll our own.
2006-03-21 00:12:48 +00:00
Carlos Garnacho
9fc7bdc374 Rename ::tab-added and ::tab-removed signals to ::page-added and
2006-03-08  Carlos Garnacho  <carlosg@gnome.org>

        Rename ::tab-added and ::tab-removed signals to ::page-added and
        ::page-removed for not conflicting with other tab reordering
        implementations. Fixes bug #333743.

        Also rename ::tab-reordered to ::page-reordered, and emit it in
        gtk_notebook_reorder_child () to make it behave consistently with the
        other two signals.

        * gtk/gtknotebook.c (gtk_notebook_class_init): rename signals.
        (gtk_notebook_reorder_tab)
        (gtk_notebook_button_release)
        (gtk_notebook_remove)
        (gtk_notebook_real_insert_page): emit respectively renamed signals
        (gtk_notebook_reorder_child): also emit ::page-reordered here

        * tests/testnotebookdnd.c: use renamed signals
2006-03-08 17:22:14 +00:00
Matthias Clasen
2bec6c3f7e Add a reorder_tab keynav signal and an insert_page vfunc to GtkNotebook.
2006-02-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.h: Add a reorder_tab keynav signal and an
	insert_page vfunc to GtkNotebook.

	* gtk/gtk.symbols:
	* gtk/gtknotebook.c: Support notebook DND. New API includes
	gtk_notebook_set_window_creation_hook,
	gtk_notebook_[gs]et_group_id,
	gtk_notebook_[gs]et_tab_reorderable,
	gtk_notebook_[gs]et_tab_detachable (#73240, Carlos Garnacho)
2006-02-23 17:59:33 +00:00