Georges Basile Stavracas Neto
b3e3946b2f
levelbar: update css nodes even when no offset value is found
...
GtkLevelBar supports adding custom offsets as style classes, and they
are applied whenever the :value property matches. The current code,
however, only updates any CSS nodes when an offset is found, causing
it to not update when a discrete value changes but no custom offset
is added.
Fix that by always updating the CSS nodes.
https://bugzilla.gnome.org/show_bug.cgi?id=773799
2016-11-04 12:45:03 -04:00
Benjamin Otte
e1a03ead7a
Use NULL for generic marshallers in g_signal_new()
...
glib will use the correct marshaller automatically. And as a side
effect, we also get all glib optimizations, like a va marshaller.
2016-08-29 16:20:54 +02:00
Matthias Clasen
37007c47a5
level bar: Don't leave css nodes behind
...
We create and destroy gadgets inside the levelbar hierarchy here,
and if we don't explicitly remove their CSS nodes from the parent,
they stick around.
2016-03-01 15:35:32 -05:00
Matthias Clasen
c784d5d700
levelbar: Avoid a use-after-free
...
We were freeing the old offset before using its name to
recreate a new one. Don't do that.
Found by gcc's undefined behavior sanitizer.
2016-02-26 15:52:19 -05:00
Matthias Clasen
c3c01d8cbc
level bar: Document buildable syntax
2016-02-07 11:43:13 +01:00
Matthias Clasen
ccd8c76ff2
level bar: Fix offset behavior
...
We had some odd special-casing for the lowest and highest offset
that did not quite work. The new rule is simple: If the value
is between offset n-1 and n, it gets the style for offset n.
https://bugzilla.gnome.org/show_bug.cgi?id=761416
2016-02-06 16:43:45 +01:00
Matthias Clasen
1a71579b61
level bar: Improve documentation
...
The docs were not explaining at all what happens to existing
level offsets when the min- or max-value of a level bar are
changed.
2016-02-06 16:19:13 +01:00
Matthias Clasen
8776bb5324
level bar: Make the full offset official
...
We are adding 3 offsets, not just two. Add a define for the
third one, and mention it in the docs.
2016-02-06 16:11:17 +01:00
Matthias Clasen
61307deaf7
levelbar: Make discrete levelbars behave as before
...
During the gadget conversion, the drawing of discrete levelbars
was unintentionally changed to draw a wide trough but narrow
blocks, which does not look great. So go back to the previous
way of drawing things.
https://bugzilla.gnome.org/show_bug.cgi?id=761428
2016-02-05 11:53:50 +01:00
Matthias Clasen
8096740ea4
levelbar: Document CSS node ordering
2016-01-22 23:30:36 -05:00
Matthias Clasen
ea4cff1ea4
Use convenience API that was introduced recently
...
Use gtk_css_gadget_set_state in all the places where we previously
were getting a node from a gadget, just to call gtk_css_node_set_state.
2016-01-13 00:19:31 -05:00
Cosimo Cecchi
637ade656a
levelbar: loop over all block gadgets to determine min size
...
Instead of just picking the first. This is because the theme might set a
border on only one of them, like the HighContrast theme does.
2016-01-04 18:14:33 -08:00
Cosimo Cecchi
183bcb41ec
levelbar: fix parameter confusion
...
We're always interested in the minimum size.
2016-01-04 17:56:50 -08:00
Cosimo Cecchi
424898e071
levelbar: consolidate code into single function
2016-01-03 00:45:43 -08:00
Cosimo Cecchi
a6e7e72d53
levelbar: port to use gadgets
...
We now use one gadget for the trough, and one for each block.
2016-01-03 00:45:43 -08:00
Cosimo Cecchi
971f1a9b31
levelbar: split out a function
2016-01-03 00:44:05 -08:00
Cosimo Cecchi
6322b1f647
levelbar: fix a crash
...
We should not try to access a block with an index that exceeds the
number of blocks in the widget.
2016-01-02 18:44:07 -08:00
Matthias Clasen
2f544655f9
Revise CSS node documentation
...
Clarify the use of brackets in the CSS node diagrams:
[] means optional nodes or classes, <> means child widgets.
2015-12-16 10:58:47 -05:00
Benjamin Otte
971a277419
cssnode: Change style-changed signal
...
Instead of having old and new style, now have a GtkCssStyleChange opaque
object that will compute the changes you are interested in for you.
This simplifies change signal handlers quite a bit and avoids lots of
repeated computation in every signal handler.
2015-12-12 02:16:04 +01:00
Benjamin Otte
3513e5e87b
Chain up in state_flags_changed
...
When introducing handlers for state_flags_changed in the node
transitions, chaining up was forgotten.
2015-12-02 04:36:31 +01:00
Matthias Clasen
21209a963a
levelbar: Use more CSS nodes
...
Create as many CSS nodes as we're rendering blocks on the screen.
2015-11-13 00:55:28 -05:00
Timm Bäder
5912790f32
gtklevelbar: Fix typo
2015-11-11 09:35:31 +01:00
Matthias Clasen
17f110433d
levelbar: Port to use CSS nodes
...
Use element names levelbar, trough, block, and some style
classes on the block nodes: .discrete, .continuous, .empty,
.level-low, etc.
2015-11-11 00:25:24 -05:00
Matthias Clasen
66f0bdee0a
Intern all signal names beforehand
...
This avoids pointless allocations
2015-09-12 12:50:39 -04:00
Matthias Clasen
afd6621743
GtkLevelBar: Use the new helpers
...
Instead of issuing g_warning, fill the provided GError.
This lets us test this error handling, and is the right
thing to do. Use the new GtkBuilder helpers and
g_markup_collect_attributes to do so.
2015-04-27 01:15:23 -04:00
Cosimo Cecchi
631e2f4c9b
levelbar: don't use the current value style class for empty blocks
...
We want to be able to style the empty blocks independently of all the
offset styles, so remove the current style class when painting an empty
block.
https://bugzilla.gnome.org/show_bug.cgi?id=707695
2014-10-27 06:56:19 -04:00
Benjamin Otte
b5a8b7ef3b
widget: Make _gtk_set_simple_clip() take an optional content clip
2014-08-21 00:54:07 +02:00
Matthias Clasen
e2cf8d2125
GtkLevelBar: implement clipping
...
So level bars can have shadows, too.
2014-07-18 17:47:53 -04:00
Matthias Clasen
45c84a63a3
GtkLevelBar: Use G_PARAM_EXPLICIT_NOTIFY
2014-06-09 13:31:05 -04:00
Benjamin Otte
fd527691a8
levelbar: Remove unneeded checks
...
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:28 +02:00
William Jon McCann
469d333aa2
docs: use Returns: consistently
...
Instead of Return value:
2014-02-19 18:56:05 -05:00
William Jon McCann
37a8ee6e95
docs: fully break lines in examples
...
Try to do a better job of keeping example content
from being too wide. It is often rendered as <pre>
text so the only time we can wrap it is in the source.
It is best to full break lines at all punctuation and
to try to keep the width under 70 chars or so.
2014-02-12 18:42:50 -05:00
William Jon McCann
7a208fbbf3
docs: use proper apostrophe
...
https://wiki.gnome.org/Design/OS/Typography
2014-02-07 13:06:10 -05:00
William Jon McCann
a22358c0c0
docs: use ` instead of <literal>
2014-02-04 18:24:29 -05:00
William Jon McCann
63e887e165
docs: replace all <examples> with markdown headings
2014-02-04 16:58:54 -05:00
William Jon McCann
4c8bd8e7cf
docs: Identify examples that are C code
...
https://bugzilla.gnome.org/show_bug.cgi?id=723119
2014-01-29 12:45:49 -05:00
William Jon McCann
768bc44081
docs: use |[ ]| instead of <programlisting></programlisting>
...
https://bugzilla.gnome.org/show_bug.cgi?id=723119
2014-01-29 12:45:49 -05:00
William Jon McCann
f27d820aef
docs: fix typo in property name
2014-01-21 18:57:37 -05:00
Matthias Clasen
e5317f0f9a
Improve struct packing in various places
2013-09-21 23:50:55 -04:00
Emmanuele Bassi
0899ef7cc9
gtk: Use new macros for defining private data
...
https://bugzilla.gnome.org/show_bug.cgi?id=702996
2013-07-09 09:30:02 +01:00
Mike Gorse
92f0c5c384
Add accessibility for GtkLevelBar and value test
2013-02-01 11:44:15 -06:00
Stefano Facchini
fa2ed6b8a2
level-bar: Fix typo
2012-10-17 16:09:22 +02:00
Stefano Facchini
5e55bf1d53
level-bar: add support for RTL locales
...
https://bugzilla.gnome.org/show_bug.cgi?id=684288
2012-10-17 14:12:57 +02:00
Stefano Facchini
e5de18cbf9
level-bar: add an "inverted" property like GtkProgressBar
...
https://bugzilla.gnome.org/show_bug.cgi?id=684288
2012-10-17 14:12:57 +02:00
Cosimo Cecchi
67e44e6a4e
Revert "levelbar: start filling from the bottom"
...
This reverts commit 4b3ed75f7d
.
I didn't see https://bugzilla.gnome.org/show_bug.cgi?id=684288 - it
makes more sense to properly fix this for the next cycle.
2012-09-19 15:23:43 -04:00
Stefano Facchini
4b3ed75f7d
levelbar: start filling from the bottom
...
As long as we don't have an API for explicitly inverting the bar, it
makes more sense for the progress in vertical orientation to fill from
the bottom.
2012-09-19 15:18:45 -04:00
Chun-wei Fan
628892bce8
gtk/gtklevelbar.c: Fix build on non-C99 compilers
...
-Include fallback-c89.c for the usage of round(), where an implementation
of round() is provided for compilers that don't have it
-Use g_ascii_strtod() instead of strtof as strtof() may not be universally
available.
2012-08-16 13:42:13 +08:00
Cosimo Cecchi
68acf78c5d
level-bar: introduce GtkLevelBar
...
Similar to CcStrengthBar from gnome-control-center, but more generic and
with thorough CSS styling support.
https://bugzilla.gnome.org/show_bug.cgi?id=677892
2012-07-16 01:01:38 -04:00
Matthias Clasen
5de021cfdc
Revert "level-bar: introduce GtkLevelBar"
...
This reverts commit 126a2308ca
.
Pushed by mistake.
2012-07-11 07:15:34 -04:00
Cosimo Cecchi
126a2308ca
level-bar: introduce GtkLevelBar
...
Similar to CcStrengthBar from gnome-control-center, but more generic and
with thorough CSS styling support.
https://bugzilla.gnome.org/show_bug.cgi?id=677892
2012-07-10 22:41:12 -04:00