Commit Graph

11629 Commits

Author SHA1 Message Date
Tristan Van Berkom
8679563247 Merge branch 'master' into treeview-refactor 2010-10-26 11:37:27 +09:00
Tristan Van Berkom
3fe0fb4ed9 Added GtkScrollablePolicy property to scrollable interface
This patch adds the GtkScrollablePolicy type property to GtkScrollable
and implements it in all subclasses. GtkScrolledWindow observes this
property to make a good guess about when to show/hide scrollbars for
height-for-width content.

Most scrollable children do not do height-for-width *yet* but
most certainly will (toolpalette, treeview, iconview, textview
widgets all TODO), for scrollable widgets that do have a minimum
and natural size, it's important for them to observe the state
of this property in order to properly drive the scroll adjustments
according to the desired GtkScrollablePolicy. This patch makes
GtkViewport do this.

Patch also adds tests/testscrolledwindow.c to display the effects
of this property.
2010-10-26 10:15:56 +09:00
Matthias Clasen
c406b6ed22 Add new GdkRGBA apis to gtk.symbols 2010-10-25 13:49:37 -04:00
=Christian Persch
d3f1745493 Use g_ascii_strto[u]ll instead of strto[u]l
We don't want GtkBuilder input to be locale-dependent.

Bug #632503
2010-10-25 12:22:20 -04:00
Matthias Clasen
503698f587 Support resetting cell renderer colors with NULL again
This functionality was lost when GdkRGBA was introduced.

Bug 632936
2010-10-25 11:17:24 -04:00
Matthias Clasen
52a7553b2c GtkCalendar: turn into a no-window widget
After these changes, GtkCalendar only has a few input-only windows
left for catching input events. All drawing goes to the parent
window now.
2010-10-24 14:43:05 -04:00
Tristan Van Berkom
fe3f948d0a Implemented GtkCellLayoutIface->reorder on GtkCellAreaBox. 2010-10-24 20:08:21 +09:00
Tristan Van Berkom
468a1d3e7c Implemented basic child list handling on GtkCellAreaBox
Added the child list to GtkCellAreaBox, added _pack_start() and
_pack_end() apis to GtkCellAreaBox since they are appropriate there
and implemented GtkCellLayoutIface to override the _pack_start()/end()
methods (since the base GtkCellArea class simply forwards these apis
to the generic ->add() api on the base class).
2010-10-24 20:01:04 +09:00
Tristan Van Berkom
0722fbe7c8 Removed attribute handling from class vfuncs of GtkCellArea.
Now GtkCellArea handles attribute connections in the base class,
subclasses only need to add/remove the renderers, render them,
do geometry and handle events.
2010-10-24 19:20:10 +09:00
Tristan Van Berkom
0e3179b669 Merge branch 'master' into treeview-refactor 2010-10-24 15:49:18 +09:00
Tristan Van Berkom
0d7fdfb36e Merge branch 'master' into treeview-refactor 2010-10-24 15:48:46 +09:00
Tristan Van Berkom
45e42ca2d2 Implemented remaining portions of GtkCellLayout iface
Now GtkCellArea provides a generic way of applying attributes
from a GtkTreeModel/GtkTreeIter, GtkCellArea bookkeeps a hashtable
of GtkCellLayoutDataFunc's and completely abstracts the applying
of data to cells... GtkCellArea implementations need only to bookkeep
the added renderers and attributes (probably we can abstract the
attribute bookkeeping in the base class as well).

Things starting to take a good and practical shape.
2010-10-24 15:44:48 +09:00
Matthias Clasen
520a6aeb8f Fix up docs 2010-10-23 23:41:08 +02:00
Matthias Clasen
1be9b7f782 Some GtkApplication cleanups
Remove no-longer-needed vfuncs, no longer existing functions,
and improve the docs here and there.
2010-10-23 21:24:24 +02:00
Matthias Clasen
7651c231e0 Revert the id-column patch
It didn't quite turn out as I wanted it.
I'll put it in bug 619148 for now.
2010-10-23 19:34:20 +02:00
Tristan Van Berkom
051dcde4bf Fixed fallout from GtkScrollable patches.
The scrollable patch removed set_scroll_adjustments (NULL, NULL) from
gtk_tree_view_init() which ensured the treeview would have adjustments
at all times, this patch adds set_v/hadjustment (NULL) to _init to ensure
the same thing (without it, there are crashes when trying to access the
adjustments notably from set_headers_visible() in gedit).
2010-10-23 22:53:06 +09:00
Tristan Van Berkom
ed63ae2bd3 Fixed push/pop_recursion_check() to not fire warnings for expected code.
I.e. Since we are now calling get_preferred_width() to ensure a good 'for_size'
for get_height_for_width() we need to avoid warning about this internal expected
recursion.
2010-10-23 20:03:41 +09:00
Tristan Van Berkom
741d10ca4f Adding initial code skeleton for GtkCellAreaBox. 2010-10-23 17:01:58 +09:00
Tristan Van Berkom
8885320d21 Merge branch 'master' into treeview-refactor 2010-10-23 13:25:45 +09:00
Javier Jardón
0dd5eb4b61 docs: GtkComboBoxText: more fixes 2010-10-23 03:03:50 +02:00
Javier Jardón
d94adcf643 docs: Some fixes in GtkComboboxText notations 2010-10-23 03:01:35 +02:00
Matthias Clasen
a94db5b3b9 Fix distcheck 2010-10-23 02:31:30 +02:00
Matthias Clasen
9fb36fff36 Add a way to associate numeric ids with combobox values
This will let us use combo boxes as property editors for
GSettings enmerations easily.
2010-10-23 02:31:30 +02:00
Javier Jardón
38dbb84095 gtkadjustment: Move documentation to inline comments 2010-10-23 00:31:37 +02:00
Javier Jardón
96f2f2ff5b gtkscrollbar: Move documentation to inline comments 2010-10-23 00:31:37 +02:00
Javier Jardón
ec0c739520 gtktreemodelfilter: Move documentation to inline comments 2010-10-23 00:31:37 +02:00
Javier Jardón
8d3b36d534 gtktreeselection: Move documentation to inline comments 2010-10-23 00:31:37 +02:00
Javier Jardón
e51daa79fe gtktreesortable: Move documentation to inline comments 2010-10-23 00:31:37 +02:00
Javier Jardón
16cf23959f gtktreeviewcolumn: Move documentation to inline comments 2010-10-23 00:31:36 +02:00
Javier Jardón
8f766d36f4 gtktreestore: Move documentation to inline comments 2010-10-23 00:31:36 +02:00
Carlos Garnacho
d2781bc74b GtkBuilder: Prepare for parsing GdkRGBA types. 2010-10-22 20:14:57 +02:00
Carlos Garnacho
d1140d0b1e GtkCellRendererText: Add [foreground|background]-rgba properties
These properties use GdkRGBA to render the cell renderer's content.
Note that Pango attributes are used to render the foreground color,
so the alpha value is currently ignored.
2010-10-22 20:14:57 +02:00
Carlos Garnacho
5fbf20c2d8 GtkCellRenderer: Add ::cell-background-rgba property
This property uses GdkRGBA in order to render the cell renderer's
background.
2010-10-22 20:14:57 +02:00
Carlos Garnacho
1bbbd005a4 GtkColorButton: Add API to deal with GdkRGBA. 2010-10-22 20:14:57 +02:00
Carlos Garnacho
cb5b74e9c6 GtkColorSelection: Add API to deal with GdkRGBA.
The hook to change the global palette is still unchanged, it is quite
tied to GdkColor and the color format used to store the palette in
GtkSettings.
2010-10-22 20:14:56 +02:00
Carlos Garnacho
e351a48d6a Make gtk_icon_info_load_symbolic() Take GdkRGBA colors. 2010-10-22 20:14:56 +02:00
Carlos Garnacho
684c9415ee GtkCellView: Add gtk_cell_view_set_background_rgba()
A ::background-rgba property was also added, this API is meant
to replace the gtk_cell_view_set_background_color() call.
2010-10-22 20:14:56 +02:00
Matthias Clasen
c750003168 Point to GtkGrid from the GtkBox and GtkTable docs 2010-10-22 19:59:29 +02:00
Matthias Clasen
09ec50af90 Remove GtkScrollablePolicy again
This was a miscommunication, the properties need to live elsewhere.
2010-10-22 19:24:03 +02:00
Matthias Clasen
0d9ebb501d Move min-display-width/height to GtkScrolledWindow
It is just too annoying to have to implement these properties in
every scrollable. Instead, we now have ::min-content-height/width
in GtkScrolledWindow.

We also add GtkScrollablePolicy to determine how to size the
scrollable content.
2010-10-22 19:21:17 +02:00
Emmanuele Bassi
ce5a29bc38 recent-manager: Coalesce multiple changes
Since the ::changed implementation of GtkRecentManager implies a
synchronous write operation, when we receive multiple requests to emit a
::changed signal we might end up blocking.

This change coalesces multiple ::changed emission requests using the
following sequence:

  • the first request will install a timeout in 250 ms, which will
    emit the ::changed signal

  • each further request while the timeout has not been emitted
    will increase a counter

      ‣ if the counter reaches 250 before the timeout has been
        emitted, then the RecentManager will remove the timeout
        source and force a signal emission and reset the counter

This sequence should guarantee that frequent ::changed emission requests
are coalesced, and also guarantee that we don't let them dangle for too
long.

https://bugzilla.gnome.org/show_bug.cgi?id=616997
2010-10-22 18:08:48 +01:00
Christian Dywan
5ef2b46d64 Don't declare various unused variables in gtk_grid_set_orientation 2010-10-22 19:05:40 +02:00
Alberto Garcia
d6a73fd5b0 Assign all g_signal_connect() and friends to gulong variables
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=87821
2010-10-22 18:58:47 +02:00
Javier Jardón
56d5b45443 GtkExpander: avoid use of gtk_get_event_widget()
We can compare the window to the window instead of the widget to the widget.
2010-10-22 18:21:44 +02:00
Javier Jardón
8999053b5f docs: Add gtk-doc notation
to emphasize that GtkMisc and GtkAdjustment are not encouraged in new code
2010-10-22 17:59:38 +02:00
Michael Natterer
1f77384ab3 gtk: undef DISABLE_DEPRECATED around including our own header
so we can see our own deprecated API and don't get warnings.
2010-10-22 17:10:49 +02:00
Michael Natterer
3dc1f09772 gtk: use the new scrollable API to get to the scroll adjustments 2010-10-22 17:10:49 +02:00
Tristan Van Berkom
d26ac6421b Fixed problems with combination of height-for-width apis and
alignment/margin vfuncs adjust_size_request/allocation

Now get_height_for_width() will internally update the for_width
before passing it to the real height_for_width() vfunc, allowing
margins and extra space for alignments to be stripped, thus requesting
sufficient height for greater than natural widths (and also accounting
for margins properly). Test case adjusted in testadjustsize to ensure
proper behavior.
2010-10-23 00:11:37 +09:00
Michael Natterer
a46dec176e gtk: use the new scrollable API to get scroll adjustments 2010-10-22 17:03:21 +02:00
Michael Natterer
8e7aed9489 gtk: fix tool palette scroll adjustment setting
Create a new adjustment if there was *no* adjustment passed in, not
the other way around. Also remove unused function
gtk_tool_palette_set_adjustment().
2010-10-22 17:01:58 +02:00
Michael Natterer
6d2e4c26bd gtk: return 0 not NULL from functions returning gint 2010-10-22 16:54:45 +02:00
Matthias Clasen
8cd13d09e8 Discourage use of GtkMisc and GtkAlignment 2010-10-22 16:52:08 +02:00
Matthias Clasen
a9204e65dd Remove child flipping from GtkGrid
We decided that this is not really the right thing to do, for one
thing, because it doesn't flip ::expand and ::margin properties
of children.
2010-10-22 16:43:45 +02:00
Matthias Clasen
8f0ae8e8a3 Add GtkGrid
GtkGrid is a container similar to GtkTable, without legacy
properties and unnecessary restrictions.
It does height-for-width geometry management.
2010-10-22 16:42:50 +02:00
Matthias Clasen
c10127156f Make the docs build 2010-10-22 16:42:50 +02:00
Matthias Clasen
a7465c3479 Fix a typo 2010-10-22 16:42:50 +02:00
Michael Natterer
ba9efeda4b gtk: add gtk_entry_get_text_area() and gtk_entry_get_icon_area()
as replacement for the removed get_foo_window() functions, so draw()
callbacks can figure where to paint.
2010-10-22 14:48:08 +02:00
Christian Persch
95610f2a14 recent-chooser: Use gtk_recent_info_get_gicon()
https://bugzilla.gnome.org/show_bug.cgi?id=617174
2010-10-22 12:20:55 +01:00
Christian Persch
b0fe3e49bb Add gtk_recent_info_get_gicon()
https://bugzilla.gnome.org/show_bug.cgi?id=617174
2010-10-22 11:58:00 +01:00
Emmanuele Bassi
27b71e0143 recent-manager: Fix the documentation
The default RecentManager is not destroyed at the end of the process.

https://bugzilla.gnome.org/show_bug.cgi?id=602794
2010-10-22 11:54:53 +01:00
Emmanuele Bassi
03fc0dd5ca recent-manager: Add RecentInfo.create_app_info()
A simple wrapper that makes it possible to create a GAppInfo from a
GtkRecentInfo blob.
2010-10-22 11:54:53 +01:00
Emmanuele Bassi
06758f1ab5 recent-manager: Move the file under XDG_USER_DATA
Do not use $HOME/.recently-used.xbel any more. No migration path is
included: we're breaking API anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=524304
2010-10-22 11:53:09 +01:00
Tadej Borovšak
55196a705f Add GtkScrollable interface
The GtkScrollable interface provides "hadjustment" and "vadjustment"
properties that are used by GtkScrolledWindow. It replaces
the ::set_scroll_adjustment signal. The scrollable interface
also has ::min-display-width/height properties that can be
used to control the minimally visible part inside a scrolled window.
2010-10-22 11:03:45 +02:00
Tristan Van Berkom
705e7ee100 Added GtkCellArea to the build
Starting to form a good api, implemented most of GtkCellLayout iface
on the base class routing the apis through the new class vfuncs.
2010-10-22 16:41:52 +09:00
Tristan Van Berkom
86b3c1b65e Enhanced GtkWidget documentation with regards to height-for-width geometry management. 2010-10-21 22:53:06 +09:00
Tristan Van Berkom
8bb20925ed Adding vague initial draft of GtkCellArea to the codebase (treeview-refactor branch). 2010-10-21 22:46:10 +09:00
Benjamin Otte
5e8baa5f63 container: Fix typo that caused madness
Interestingly, this typo has been causing madness since 2 months, but
Mitch complained only today.
2010-10-21 15:31:07 +02:00
Benjamin Otte
e6f95e9316 entry: No, you can not haz ununused variables 2010-10-21 15:08:14 +02:00
Christian Dywan
5862075e9d comboboxtext: Add gtk_combo_box_text_remove_all()
https://bugzilla.gnome.org/show_bug.cgi?id=324899
2010-10-21 14:30:11 +02:00
Benjamin Otte
707d05bac0 progressbar: Remove declaration of nonexisting function 2010-10-21 14:30:11 +02:00
Benjamin Otte
715f57790b socket: Fix compiler issues 2010-10-21 14:30:11 +02:00
Matthias Clasen
596da84312 Make GtkEntry a no-window widget
Use input-only windows for capturing input, and just draw onto
the parent window. This allows themes to make entries with rounded
corners. Patch by Boram Park.

https://bugzilla.gnome.org/show_bug.cgi?id=632736
2010-10-21 13:17:33 +02:00
Michael Natterer
e4654327df gtk: change GtkIconView to "support" actual trees
Remove the check for GTK_TREE_MODEL_LIST_ONLY and make the view
display only the first level of the tree, ignoring all insert, remove
etc. events on the model's branches. This enables generic application
code which always produces GtkTreeStores (also for flat lists) to
display grids of these flat trees.
2010-10-21 12:57:55 +02:00
Matthias Clasen
331323e5c7 Make GtkSpinButton a no-window widget
We still retain an input-only window here for now, but all
the painting is done to the parent window.
2010-10-21 11:41:20 +02:00
Matthias Clasen
f4d57dbe98 Make GtkProgressBar a no-window widget
It doesn't really have a good reason for having a window.
2010-10-21 11:40:46 +02:00
Matthias Clasen
0a3fa74a52 Properly propagate expand flags
When showing a widget that already has need_compute_expand set,
we need to queue the recomputation on the parent.
2010-10-21 11:14:26 +02:00
Ryan Lortie
c7e1f567b6 GtkButton: avoid use of gtk_get_event_widget()
We can compare the window to the window instead of the widget to the
widget.
2010-10-21 00:37:29 +02:00
Ryan Lortie
56d2590b49 GtkIMContextSimple: avoid gdk_window_get_user_data
We lookup a widget to call a function on GtkWidget that ends up just
performing an operation directly on the GdkWindow again anyway
(beeping).  There's already fallback code at the point of the call that
does exactly that anyway, so just do that all of the time.
2010-10-20 23:58:20 +02:00
Javier Jardón
3fcec464ac gtk.symbols: Add missing GtkApplication api 2010-10-20 20:46:48 +02:00
Michael Natterer
c2f29f2cef gtk: clean up GtkWidget signals
- add slots for damage-event, move-focus and keynav-failed
- reorder signals a bit so related stuff is grouped together
- some indentation fixes in the GtkWidgetClass
- remove the move-focus compat hack from GtkTextView
- turn the move-focus compat hack in GtkWindow into properly
  implementing GtkWidget::move-focus()
2010-10-20 17:02:38 +02:00
Emmanuele Bassi
ef9a6f205c Re-add copyright notice
https://bugzilla.gnome.org/show_bug.cgi?id=632677
2010-10-20 12:05:23 +01:00
Emmanuele Bassi
2cc059a0e7 Split off gtkprivate.h
The gtkprivate.h header contains GtkWidget-specific private symbols that
are not useful except in a handful of cases. Basically everything
includes gtkprivate.h for the GTK_PARAM_* macros.

https://bugzilla.gnome.org/show_bug.cgi?id=632539
2010-10-20 10:34:26 +01:00
Emmanuele Bassi
9b34bf17e5 build: Do not install gtkprivate.h
This is a private header file, and it should *not* be installed. It
should also not be scanned by the introspection machinery.

https://bugzilla.gnome.org/show_bug.cgi?id=632539
2010-10-20 10:34:25 +01:00
Emmanuele Bassi
9f9edb662e settings: Move setting property registration in gtksettings.c
Some GtkSettings property are registered by other classes. This leads
to the "interesting" issue that setting GtkSettings:gtk-button-images
requires that the GtkButton class is referenced first - or that a
GtkButton is created.

https://bugzilla.gnome.org/show_bug.cgi?id=632538
2010-10-20 10:34:25 +01:00
Javier Jardón
9f035742e3 gtkapplication: fix docs 2010-10-20 11:07:11 +02:00
Matthias Clasen
0219eea4d7 Remove GtkComboBoxEntry and the combo box text api 2010-10-20 11:02:03 +02:00
Ryan Lortie
c5ebb61b6f GtkApplication: add gtk_application_get_windows()
Return a GList of the GtkWindow objects for each window that has the
application set as its "application" property.
2010-10-19 21:10:02 +02:00
Javier Jardón
9b3ee686ea Completely remove gtk_widget_hide_all
This completes commit d1a9d764a8
2010-10-19 20:25:33 +02:00
Matthias Clasen
d1a9d764a8 Remove gtk_widget_hide_all()
it's useless and a trap for programmers

https://bugzilla.gnome.org/show_bug.cgi?id=438318
2010-10-19 19:31:38 +02:00
Matthias Clasen
4824a73084 Add padding to class structs 2010-10-19 19:07:36 +02:00
Matthias Clasen
921f069269 Remove the outdated faq
It mainly contains information that is already covered in the
API docs, or is outdated, or refers to no longer existing widgets.
2010-10-19 18:22:08 +02:00
Kristian Rietveld
046ca498de dnd-quartz: get hot spot from device offset for surface and use this 2010-10-19 14:07:39 +02:00
Kristian Rietveld
8ac7f64123 dnd-quartz: take hot spot into account when setting up drag 2010-10-19 14:07:39 +02:00
Ryan Lortie
ab5fb5dee5 GtkApplication rewrite 2010-10-19 01:31:09 +02:00
Benjamin Otte
ff142ac2ef gtk: Add gtk_widget_queue_draw_region()
People were requesting it and it mirrors the behavior of GdkWindow.
2010-10-18 19:22:44 +02:00
Benjamin Otte
3b8a264a5e print: Make things compile again
Remove workaround for entries - the general codepath should just work.
2010-10-18 19:22:44 +02:00
Benjamin Otte
3a55137709 selection: Hi, I can't get my code right
Also, I refuse to compile with -Werror, so I don't notice.
2010-10-18 19:22:44 +02: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
Benjamin Otte
206b41c6f6 widget: Remove special case in gtk_widget_queue_draw_area()
This path would only do anything where widget->window was not located at
widget->allocation.x/y but at a different position. This should never
happen in the real world. But if it does, GTK3 will break for you.
Better fix your widget.
2010-10-18 19:22:43 +02:00
Colin Walters
d34b9ed192 introspection: Filter out all headers ending in "private"
We were including at least "gtkprivate.h" before.
2010-10-18 13:02:41 -04:00
Matthias Clasen
b613cc6478 Don't add a second cell renderer
When has-entry is TRUE, GtkComboBox already adds a cell renderer
for the text column, so avoid adding a second one in GtkComboBoxText.

https://bugzilla.gnome.org/show_bug.cgi?id=632381
2010-10-18 08:13:41 -04:00
Christian Dywan
ba32934ea6 Add gtk_combo_box_{get,set}_popup_fixed_width to gtk.symbols 2010-10-18 09:13:44 +02:00
Kristian Rietveld
cc22469b69 Icon view must layout before the draw handler is called
gtk_icon_view_layout(), which can resize the bin window and thus
underlying surfaces, could be called from gtk_icon_view_draw().  So
we have to make sure that layouting is done before the draw handler is
called.  We use the same construction as in tree view here, the layout
idle handler is installed with a higher priority than
GDK_PRIORITY_REDRAW and we wrap the call to gdk_window_process_updates()
in a new function that will flush the layout queue beforehand.
2010-10-17 10:30:46 +02:00
Kristian Rietveld
f27d7bdea5 Implement gtk_drag_set_icon_surface in gtkdnd-quartz 2010-10-17 10:30:46 +02:00
Kristian Rietveld
d2c6533107 Fix typo in docs 2010-10-17 10:30:46 +02:00
Tristan Van Berkom
31abdf723a Allow GtkComboBox popup to be wider than the combo itself.
This patch adds a GtkComboBox:popup-fixed-width to decide if the
popup's width should be a fixed width matching the combo's allocated width.

The patch includes a kindof hack to work around treeviews currently
not supporting height-for-width geometry (for list-mode only), this
hack can be safely removed once treeviews start reporting natural
widths properly.
2010-10-17 14:11:27 +09:00
Matthias Clasen
17cd0db6a8 Fix some GtkComboBoxText problems
We must use entry-text-column explicitly to 0, since it defaults to -1.
2010-10-16 08:17:34 -04:00
Matthias Clasen
a62e1b95bc Fix some GtkComboBoxText problems 2010-10-16 08:16:55 -04:00
Matthias Clasen
c6c1871734 Add filechooser settings gschema to EXTRA_DIST 2010-10-15 21:20:13 -04:00
Matthias Clasen
a0aed8402b Remove a private symbol from gtk.symbols 2010-10-15 20:14:11 -04:00
Matthias Clasen
4f9175d7fc Temporarily disable test involving file choosers
After the filechooser got converted to use gsettings, it can no
longer be used uninstalled, breaking make distcheck here.

Also disable the treeview-scrolling tests, since they are failing
here.
2010-10-15 20:14:11 -04:00
Matthias Clasen
f87b26a653 Fix up symbol lists 2010-10-15 20:14:11 -04:00
Javier Jardón
45c463e376 GtkComboBoxText: Use gtk_combo_box_text_remove instead gtk_combo_box_text_remove_text 2010-10-16 02:07:38 +02:00
Marek Kasik
95e69afea8 Parse lpoptions correctly
Parse options job-sheets, job-hold-until and sides correctly.
Add get_lpoption_name() for translation of lpoption names to
gtk option names. Usable for options which values don't need
conversion (e.g. number-up, number-up-layout, job-billing
and job-priority).
Rename array option_names to ppd_option_names to reflect its
purpose better. Rename get_option_name() to get_ppd_option_name()
because of the same reason.
2010-10-15 17:01:16 -04:00
Christian Dywan
d70b7f49b6 Use property system to coerce model data to G_TYPE_STRING
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=423201
2010-10-15 17:00:13 -04:00
Matthias Clasen
50cbd23d5b docs: cross-reference to GtkComboBoxText 2010-10-15 16:58:28 -04:00
Matthias Clasen
3e9bdf6fd9 Add docs for GtkComboBoxText 2010-10-15 16:58:27 -04:00
Matthias Clasen
3e2a259a78 docs: fix a cross-reference 2010-10-15 16:58:27 -04:00
Matthias Clasen
43250e8faf Deprecate the old combobox text convenience api 2010-10-15 16:58:27 -04:00
Javier Jardón
e7f51ef6a4 Use the new GtkComboBoxText API
Also remove mentions of the old text convenience API from the docs,
and point to GtkComboBoxText instead.
2010-10-15 16:58:27 -04:00
Matthias Clasen
99cfbecf46 Add gtk_combo_box_text_new_with_entry
Also, make use of the configured entry_text_column.
2010-10-15 16:58:26 -04:00
Matthias Clasen
8353754c17 docs: adjust Since tags 2010-10-15 16:58:26 -04:00
Christian Dywan
a16722fc3a Use text column value in GtkComboBoxText 2010-10-15 16:58:26 -04:00
Christian Dywan
7a5a5e9c5d Added GtkComboBoxText api
This is a derived class of GtkComboBox to replace the
gtk_combo_box_*_text() convenience API.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=612396

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-10-15 16:58:26 -04:00
John Ralls
27ad64dccf Bug 631719 - Restore second, more important, call to set label from the menu item. 2010-10-15 13:14:19 -07:00
Alberto Garcia
8d05e74212 Make gtk_accelerator_get_default_mod_mask() return a GdkModifierType
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=313350
2010-10-15 14:46:22 -04:00
Javier Jardón
cbc358ead8 docs: Document GtkScrolledWindow's signals
Based on a patch by Björn Lindqvist
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=351247
2010-10-15 20:34:07 +02:00
Matthias Clasen
921fc8807c Deprecate gtk_init_add, gtk_remove_add and friends
This functions are going to be removed in GTK+ 3.

https://bugzilla.gnome.org/show_bug.cgi?id=629955
2010-10-15 14:13:32 -04:00
Colin Walters
18578b33c5 Add boxed type and constructor
This allows bindings to sanely construct these.

https://bugzilla.gnome.org/show_bug.cgi?id=632095
2010-10-15 13:54:37 -04:00
Matthias Clasen
56e797397b Improve GtkBox and GtkTable docs a bit
This adds some details gleaned from the tutorial, before its
impending demise.
2010-10-15 10:58:35 -04:00
Emmanuele Bassi
17ffcb0cc6 link-button: Add ::activate-link signal
We cannot use the GtkButton::clicked signal to override the default
behavior of GtkLinkButton (i.e. call gtk_show_uri()), because
GtkButton::clicked is registered as a RUN_FIRST signal, which obviously
prevents any other signal handler connected to it to stop the
propagation before the class handler has a chance to run.

For this reason we can add a GtkLinkButton::activate-link signal, which
will be emitted by the default GtkButton::clicked signal handler; the
::activate-link signal has a boolean return value, which allows simpler
code for stopping the propagation to the next signal handler.

https://bugzilla.gnome.org/show_bug.cgi?id=632150
2010-10-15 10:36:01 +01:00
Tristan Van Berkom
d7c7f010b0 Removed screwy GtkScrolledWindow logic
Removed portion of scrolled-window that observes user-set
size request data (aux_info->width/height) on the child directly
in order to derive it's minimum possible size... if the scrolled
window has (auto/always) scrollbars in a said orientation; only
request enough space for the scrollbars (bug 631976).
2010-10-15 14:14:14 +09:00
Matthias Clasen
479dc131ee Implement get_preferred_width/height in GtkEventBox
And drop size_request.
2010-10-14 23:04:24 -04:00
Matthias Clasen
aaf0f0f5c3 Use gtk_container_handle_border_width() in GtkEventBox 2010-10-14 22:34:39 -04:00
Federico Mena Quintero
85e47b5c4e Part of bgo#613728 - [GtkTreeView] Focus the list, not the headers, when Tab-focusing
The idea is that it is way more common to want to manipulate the
actual list, rather than the headers.  Once you Tab into the treeview
(and the list part gets the focus), you can use Shift-Tab to focus
the headers.

This means that some hysteresis is added to the focus chain, but
it makes the treeview a lot more convenient to focus with the keyboard.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2010-10-14 13:17:46 -05:00
Kristian Rietveld
aeec832f0e Do not call validate_visible_area() from the draw method
Because validate_visible_area() can modify the window size (and thus
the underlying surface), it should not be called from within the draw
method.  Given that the presize handler is run with a higher priority
than redraw, and the presize handler will validate the visible area,
there should not be cases wherein the draw method is called and
validate_visible_area() has not been run yet.

However, one such a case was gdk_window_process_updates(), which would
trigger the draw method at some point.  We now work around this
by factoring this in a new gtk_tree_view_bin_process_updates() function
that will run the presize handler first if needed.

Note: for other platforms, it might still be the case that the draw
method is called and validate_visible_area() has not been run yet.
(For example the Mac backend calls gdk_window_process_updates() from
the drawRect method, and the redraw-in-idle handling thus works
differently).  This does not seem to be a problem now, if
it will be in the future we need to take care of that then.
2010-10-14 17:26:17 +02:00
Kristian Rietveld
4fc31dd87a Add test for bug 163214 2010-10-14 16:47:00 +02:00
Kristian Rietveld
51820d3e34 Add test for bug 111500
This test is constructed in such a way that it breaks when you
(currently!) do not trigger a size-request from validate_visible_area.
Especially row expansion appears to have a need for this currently.
2010-10-14 16:47:00 +02:00
Kristian Rietveld
e774e235d7 Add unit test for bug 93584 2010-10-14 16:47:00 +02:00
Kristian Rietveld
359818d6b7 Also test scrolling to a new row in a mixed height model 2010-10-14 16:47:00 +02:00
Michael Natterer
10c76c1c95 gtk: add cast to fix warning in my last commit 2010-10-14 11:35:30 +02:00
Cody Russell
44cb3bcfed Implement style_set() for GtkWindow to resize window grips when the style changes. 2010-10-13 23:04:11 -05:00
Tristan Van Berkom
9612c64817 Deprecate GtkComboBoxEntry in favor of added properties to GtkComboBox
GtkComboBox now sports a construct-only "has-entry" property which
decides if it uses a GtkEntry to allow additional user input. Also
it has a new "entry-text-column" to fetch strings for the entry
from the model.

This patch deprecates the GtkComboBoxEntry and updates the rest of GTK+
to use the new semantics on GtkComboBox instead.

GtkComboBoxEntry will be removed altogether before GTK+ 3, in a
later commit.
2010-10-13 21:52:27 -04:00
Matthias Clasen
7c8ee80c5a Add new API to docs and symbol list 2010-10-13 11:24:56 -04: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
Matthias Clasen
48de50df89 Support GtkWidget expand properties in GtkTable
We expand a child when it either has the table-specific expand flag
or the generic expand property set. Override compute_expand so that
it also takes the table-specific expand flags of children into
account.

https://bugzilla.gnome.org/show_bug.cgi?id=628902
2010-10-13 10:49:06 -04:00
Havoc Pennington
8abb18f910 Support GtkWidget expand properties in GtkBox
This consists of:
* expand a child if either child->expand || gtk_widget_get_expand(child)
* override compute_expand so that child->expand will cause us to
  return TRUE for gtk_widget_get_expand()

https://bugzilla.gnome.org/show_bug.cgi?id=628902
2010-10-13 10:49:06 -04:00
Havoc Pennington
031856eb33 Add horizontal and vertical expand flags, compute_expand() to GtkWidget
GtkWidget now has flags for horizontal and vertical expand, and
a compute_expand() method. compute_expand() is used by containers
to set a default expand flag. (If a widget has expand set explicitly,
it always overrides the results of compute_expand.)

GtkContainer has a default implementation of compute_expand which
simply walks over all child widgets and sets expand=TRUE
if any child is expanding.

The overall effect is that you only have to set expand on
leaf nodes in the widget tree, while previously you had to
set expand all the way up the tree as you packed every
container. Also, now containers need not have their own child
properties for expand.

For old containers which do have "expand" child properties,
they should override compute_expand and include the child
properties in whether the container is expand=TRUE.
Also, the old container should use
"child_prop_expand || gtk_widget_compute_expand()" everywhere
it previously used simply "child_prop_expand"

https://bugzilla.gnome.org/show_bug.cgi?id=628902
2010-10-13 10:40:07 -04:00
Matthias Clasen
7d5a85c3ad Some more resize grip cleanups
Don't recompute hints whenever we determine the drag edge, and
take the drag edge into account when deciding whether to show
the grip.
2010-10-13 10:39:09 -04:00
Matthias Clasen
9e661ed0e9 Unify handling of GtkWindow::resizable property 2010-10-13 10:23:51 -04:00