Commit Graph

964 Commits

Author SHA1 Message Date
1cfeeadc70 GtkWidget: Ensure the style context always has an screen.
Things like font settings depend on the screen, and widgets
like GtkTextView trigger queries on widgets without screen
when the parent window is being destroyed.
2010-12-04 15:38:48 +01:00
f383e6b0a2 GtkWidget: Add new set of methods to override style information.
gtk_widget_override_*() deprecates gtk_widget_modify_*(). There are
only functions to modify fg/bg/font/symbolic color, If anything more
fancy/complex is needed. There is the possibility of adding a
GtkStyleProvider yourself.
2010-12-04 15:38:36 +01:00
227294a6aa GtkWidget: Trigger state change transitions on state flags change.
This makes state transitions automatic for non-complex widgets, complex
widgets such as GtkTreeView still need to notify state updates themselves.
2010-12-04 15:38:33 +01:00
cd98204619 Implement widget states as a set of flags
gtk_widget_(set|unset|get)_state_flags() has been added, using GtkStateFlags
to represent the widget state. GtkStateType API has been implemented on top
of the new one.
2010-12-04 15:38:30 +01:00
1bdd761c3f GtkWidget: Ensure name changes involve a style context update. 2010-12-04 15:38:29 +01:00
a79626b7fb Add theming docs
Both API and file format is documented, there's still missing
a migration doc though.
2010-12-04 15:38:21 +01:00
a65d0d00c0 GtkWidget: Store GtkStyleContext in private struct. 2010-12-04 15:38:19 +01:00
88b78953b6 GtkContainer: Add method to get the GtkWidgetPath for a child.
This is now used throughout in order to have the full path for a given widget,
including intermediate named regions, the default implementation just returns
the GtkContainer's path copy, no intermediate regions between.
2010-12-04 15:38:19 +01:00
c575733eda GtkStyleContext: Fix animation framework to work with the new draw() semantics.
Invalidation region coalescing now happens recursively as draw() runs, and the
widget's x/y as now drawing coordinates are 0,0 based.
2010-12-04 15:38:18 +01:00
a07fe2c0e6 Add generic providers per-screen.
The providers are added as soon as gtk GtkSettings object for the screen
is created.
2010-12-04 15:38:15 +01:00
8dfa0e03ea GtkWidget: Set style context's screen before the widget_path.
This is so the style context has all necessary information before
triggering a style change on setting the path.
2010-12-04 15:38:14 +01:00
f239704094 GtkWidget: Add gtk_widget_reset_style().
This function is analogous to gtk_widget_reset_rc_styles(),
updates style recursively on a widget.
2010-12-04 15:38:13 +01:00
3c390c9c8e GtkWidget: Add the style-updated signal
This signal is emitted whenever the widget's style changes.
2010-12-04 15:38:13 +01:00
621a95f515 GtkSettings: implement GtkStyleProvider 2010-12-04 15:38:11 +01:00
0ce649e965 Plug a bunch of leaks. 2010-12-04 15:38:09 +01:00
3c07e3d3df GtkWidget: Update GtkStyleContext animation regions on allocation change. 2010-12-04 15:38:08 +01:00
27c91622f6 Set classes info in GtkWidgetPath. 2010-12-04 15:37:36 +01:00
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
978d97ea6f GtkWidget: Set style context direction. 2010-12-04 15:37:27 +01:00
e15dc89f89 GtkWidget: Add the default CSS provider to all style contexts. 2010-12-04 15:37:27 +01:00
9255e20bf8 GtkWidget: Create GtkStyle on top of GtkStyleContext. 2010-12-04 15:37:26 +01:00
6c549fecd3 GtkWidget: Construct style for partial widget hierarchies.
Some unparented widgets like to ask style details, so now the style is
constructed regardless of the parent being present or not, and then
reconstructed if the parent changes.
2010-12-04 15:37:25 +01:00
5db7197c27 GtkWidget: Set screen info in GtkStyleContext. 2010-12-04 15:37:18 +01:00
6c91ba1cc2 GtkWidget: Do not reset GtkStyleContext per get_style_context(). 2010-12-04 15:37:13 +01:00
22bae20ce8 GtkWidget: Hook up widget style property querying to style context. 2010-12-04 15:37:13 +01:00
327a9fc66a GtkWidget: Generate GtkWidgetPath on set_parent.
There's no need to wait for realize() to have the right widget style.
2010-12-04 15:37:11 +01:00
80e01becbe Fix compilation. 2010-12-04 15:37:10 +01:00
f5adc2a1c3 Add region details in gtk_widget_get_path(). 2010-12-04 15:37:09 +01:00
71949e05c4 Refurbish GtkWidgetPath API.
The foreach() function is now gone, there's now API to get
GTypes and names from the position in the path.
2010-12-04 15:37:07 +01:00
7dada9949d GtkWidget: Create GtkCssProvider for user modifications.
~/.gtk-X.0.css is checked, and added as a style resource if available.
2010-12-04 15:37:03 +01:00
fe4a6cea73 GtkWidget: Add widget path to style context. 2010-12-04 15:36:53 +01:00
9794b6adf9 GtkWidget: Add gtk_widget_get_path().
This function composes and returns a GtkWidgetPath representing
the passed widget.
2010-12-04 15:36:52 +01:00
3f93c714ae GtkWidget: Add gtk_widget_get_style_context().
There will be one GtkStyleContext per widget, at the moment its
lifetime is tied to the widget's, but it could be narrowed down
to GTK_WIDGET_REALIZED.
2010-12-04 15:36:51 +01:00
3494f87a10 API: Remove GdkNoExposeEvent
It's not used by anyone and not supported by any backend but X11.
2010-12-02 20:21:04 +01:00
bc0e6b2b21 gtk: remove GtkWidget::size-request
Fixes Bug 633324 - Stop invoking size-request completely
2010-11-19 19:38:48 +01:00
f20ac5792f Fixing hangs with GtkScrolledWindow
Now gtk_widget_size_allocate() unsets the resize_needed flags
before returning, essentially this means that any widget that
has a queued resize and is allocated before resize time, including
queued resizes from inside a size_allocate() method will be
cancelled.
2010-11-19 00:53:13 +09:00
10d5686fe1 docs: Move Height-for-width geometry management virtual methods docs 2010-11-17 23:58:26 +01:00
97862638ec docs: Update URL of some documentation links
http://developer.gnome.org -> http://library.gnome.org
2010-11-14 01:24:19 +01:00
d1829ecd74 GtkWidget/GtkContainer: Slight fixes to geometry-management docs.
Replace it's with its in several places.
Replace some , with .
Replace some ; with .
Fix some plurals.
Other minor corrections.
2010-11-04 16:37:54 +01:00
897a333744 GtkWidget: Document the size-request signal deprecation.
Hopefully my text is correct.
2010-11-04 16:11:25 +01:00
dab457fbc6 docs: Fix gtk-doc markup in GtkWidget docs 2010-11-03 03:31:46 +01:00
9ff207bd25 Avoid exporting an extra symbol 2010-11-01 09:17:21 -04:00
570b90e218 Use gtk_scrollbar_new() instead gtk_[v|h]scrollbar_new() 2010-10-30 02:26:24 +02:00
c41ec57fb0 Fire a warning if there are any handlers connected to the deprecated "size-request" signal. 2010-10-28 16:00:19 +09:00
2b728f66a8 Fix a typo 2010-10-27 07:57:19 -04:00
520a6aeb8f Fix up docs 2010-10-23 23:41:08 +02:00
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
c10127156f Make the docs build 2010-10-22 16:42:50 +02:00
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
86b3c1b65e Enhanced GtkWidget documentation with regards to height-for-width geometry management. 2010-10-21 22:53:06 +09:00