Timm Bäder
327777a291
Scale: Set the correct value alignment
...
We're measuring both the width of the minimal and the maximal value for
the value gadget, but only give the value the minimal width for its
current value, resultnig in an always left-aligned value.
Fix this by assigning the width of the value gadget to the value layout
and letting pango align the text inside the layout.
https://bugzilla.gnome.org/show_bug.cgi?id=766120
2016-05-10 21:24:50 +02:00
Timm Bäder
20592a7935
scale: Remove double nullable annotation
...
Being both (allow-none) and (nullable) at the same time is a bit much.
Was from 591e7f5ef8
.
2016-05-10 12:53:42 +02:00
Matthias Clasen
27210f523b
scale: Fix mark positioning at the left/top edge
...
We were failing to take the widget allocation.x/y into account
when deciding whether we need to push in the mark.
https://bugzilla.gnome.org/show_bug.cgi?id=765922
2016-05-05 15:17:56 -04:00
Cosimo Cecchi
26f9dc6508
scale: fix marks node position for scales with value
...
We should only count the value node as the first/last one if its
position matches.
2016-03-26 22:43:53 -07:00
Cosimo Cecchi
6efc06ef5c
scale: remove impossible case
...
We only create the gadget when the markup is not empty, so we don't
need to check again here.
2016-03-26 22:43:53 -07:00
Cosimo Cecchi
b989910293
scale: cache pango layouts for mark labels
...
Constantly creating pango layouts while drawing means that animations
will be slow. Instead, cache the pango layout in the mark structure.
2016-03-26 22:43:53 -07:00
Timm Bäder
985121813e
scale: Fix value height calculation
...
if (orientation) doesn't make a lot of sense but C doesn't complain and
instead evaluates orientation to TRUE for GTK_ORIENTATION_VERTICAL
(since that's 1), thus inverting the value sizes.
2016-03-16 10:20:17 +01:00
Cosimo Cecchi
d9db329496
scale: trivial code cleanup
2016-03-06 11:10:44 -08:00
Cosimo Cecchi
f294bdc803
scale: deprecate value-spacing style property
...
Nothing uses it now.
2016-03-06 11:10:44 -08:00
Cosimo Cecchi
a9b50b6f69
scale: port scale values to gadgets
...
And add a default color like it was before.
This also fixes other issues with scale values interacting with scale
mark labels, which were buggy at least since 3.18.
2016-03-06 11:09:46 -08:00
Cosimo Cecchi
b1144a73de
scale: don't add scale label for empty markup
...
This is a regression from the gadget port.
2016-03-02 11:17:08 -08:00
Matthias Clasen
577783a19d
scale: Don't leave css nodes behind
...
We create and destroy gadgets inside the scale hierarchy here,
and if we don't explicitly remove their CSS nodes from the parent,
they stick around.
2016-03-01 15:58:21 -05:00
Cosimo Cecchi
5a83787dc0
Update CSS nodes documentation
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
bb55a1a958
scale: add gadgets for indicator/label in scale marks
...
This will allow us to theme them indepdendently, and specify a size for
the indicator from the theme.
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
7bd3d87eeb
scale: add a gadget for every mark
...
We want to add another gadget for the mark indicator. This will allow us
to do so.
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
cdd7a7bdcd
scale: implement rendering for marks gadgets
...
This completes the conversion of scale marks to gadgets.
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
1a8eb9fefa
scale: implement size allocate for mark gadgets
...
This allows to move the mark sections around with e.g. margins.
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
562a501f3b
scale: port marks size request to gadgets
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
2f420d0e14
scale: use gadgets instead of nodes for mark containers
...
The gadget is not yet allocated though.
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
b73d274d55
scale: rename function arguments
...
To make them clearer. No functional change here.
2016-02-29 10:45:14 -08:00
Cosimo Cecchi
8d5d16ae56
scale: remove unused argument
...
It's always GTK_POS_TOP.
2016-02-29 10:45:13 -08:00
Cosimo Cecchi
424f17c0fb
range: don't use gtk_range_set_min_slider_size()
...
The way this method is used from the GtkRange subclasses doesn't really
work well when the slider properties change as a consequence of e.g. a
style class being applied (e.g. the fine-tune style class).
In fact, there's no need to read the minimum slider size out of band,
and we can obtain the same result in a way that always work by setting a
private property on GtkRange.
2016-02-29 10:45:13 -08:00
Cosimo Cecchi
a9ea544f3d
scale: always add marks at the beginning or the end
...
Marks are always either the first or the last child of the scale.
2016-02-29 10:45:13 -08:00
Cosimo Cecchi
d1c5ecfaef
scale: deprecate slider-length style property
...
This can be achieved using min-height/min-width CSS properties now.
2016-02-29 10:45:12 -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
Timm Bäder
591e7f5ef8
GtkScale: Add missing nullable annotations
2015-12-02 21:06:11 +01:00
Matthias Clasen
60c7893c14
scale: Document the new CSS nodes
2015-11-06 22:27:31 -05:00
Matthias Clasen
8d886f3513
Cosmetic: Use defines for style classes
2015-11-06 11:50:23 -05:00
Matthias Clasen
76fbcc2f26
range: Document fine-tuning style class use
2015-11-06 11:50:23 -05:00
Matthias Clasen
bfee2d3c61
scale: Stop using style classes for marks
...
We can use :first/last-child for this now.
2015-11-06 07:01:42 -05:00
Matthias Clasen
07841f269d
scale: Split marks node into two
...
Use separate CSS nodes for the marks above and below the trough.
2015-11-05 07:26:10 -05:00
Matthias Clasen
2bfb5ad812
range: Add a CSS node for the trough
...
This is in sync with what we do elsewhere for troughs.
2015-11-05 07:26:10 -05:00
Matthias Clasen
0024358c91
scale: Fix a crash
...
We can only free the marks_node if there is one.
2015-11-03 23:35:32 -05:00
Matthias Clasen
8727c8fe24
range: Convert to CSS nodes
...
Use CSS nodes for GtkScale and GtkScrollbar. See their documentation
for details on what subnodes with what names exist.
2015-11-03 23:17:09 -05:00
Matthias Clasen
ea241c691c
scale: Drop unneeded private exports
...
Nobody outside gtkscale.c is using these functions, so make
them static.
2015-09-23 07:01:15 -04:00
Matthias Clasen
dfe1c63c9b
scale: Convert to g_object_notify_by_pspec
...
This avoids pspec lookup overhead in g_object_notify.
2015-09-06 17:11:36 -04:00
Matthias Clasen
1ed21ad3d4
GtkScale: More work on mark spacing
...
Try harder not to push the scale out of balance by marks. With
this change, the remaining difference in the drawing is down
to asymmetric assets and margins coming out of the theme.
To fully support such asymmetric rendering, we need implement
baseline alignment for scales.
https://bugzilla.gnome.org/show_bug.cgi?id=749650
2015-06-23 09:36:14 -04:00
Matthias Clasen
3d82fc6d7e
GtkScale: Move marks inward
...
We don't want scale marks to affect scale sizing and positioning,
so draw them inside the range recangle. This avoids size changes
for marks that don't have labels, at least.
https://bugzilla.gnome.org/show_bug.cgi?id=749650
2015-06-04 19:58:40 -04:00
Matthias Clasen
374f96625f
GtkScale: 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:22 -04:00
Carlos Soriano
0504328bd8
gtkscale: Draw smaller marks
...
As a design request, use smaller marks.
https://bugzilla.gnome.org/show_bug.cgi?id=741117
2014-12-05 13:23:05 +01:00
Benjamin Otte
79712f843c
scale: Always be flippable
...
GtkRange only flips horizontal ranges, so there's no need to unset it
for vertical scales.
Also, set_flippable() is a cute name.
2014-11-25 19:19:12 +01:00
Benjamin Otte
51f5433170
range: Deprecate detail strings in class struct
...
... and stop setting them.
2014-11-25 19:19:12 +01:00
Matthias Clasen
1740663584
GtkScale: Use G_PARAM_EXPLICIT_NOTIFY
2014-06-09 13:31:07 -04:00
Cosimo Cecchi
d0b8ef3a6f
scale: remove unused code
2014-05-09 11:02:43 -07:00
Matthias Clasen
fee33b1a81
Clean up private headers
...
This commit adds a few missing private headers, and cleans up
some irregularities in the existing ones
2014-04-05 02:06:29 -04:00
William Jon McCann
469d333aa2
docs: use Returns: consistently
...
Instead of Return value:
2014-02-19 18:56:05 -05:00
Matthias Clasen
7f6a964c47
Docs: Remove all entities and turn off sgml mode
...
With all element markup gone, it is time to turn off
sgml mode, and get rid of entities as well.
2014-02-09 17:58:07 -05:00
William Jon McCann
285d216d3e
docs: use apostrophe in *'ll
2014-02-07 13:35:54 -05:00
William Jon McCann
f0000b2f3d
docs: use more apostrophes
2014-02-07 13:26:12 -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