Matthias Clasen
870461475a
switch: Add a diagram to CSS node documentation
2015-11-03 14:27:35 -05:00
Matthias Clasen
bab20f1d10
trivial formatting fix
2015-10-31 19:23:47 -04:00
Matthias Clasen
7ea33d82ed
Remove a duplicate include
2015-10-31 19:19:53 -04:00
Matthias Clasen
506d5b5b48
switch: Document css names a bit
...
This is still provisional. Better gtk-doc support will be needed
to do better here.
2015-10-22 23:27:43 -04:00
Matthias Clasen
48b30e8e91
switch: Convert to element names
...
Use the element names switch and slider for the two css nodes,
and drop the .trough and .slider classes.
2015-10-22 21:40:31 -04:00
Benjamin Otte
1f1c7547da
switch: Use the right state when querying padding
...
We were using the state of the widget node, not the state of the slider
node.
This caused layout loops due to invalidations.
2015-10-22 18:43:55 +02:00
Benjamin Otte
950b1fb65c
switch: Port to GtkCssNode
...
This is a simple port, no code modifications so far other than replacing
gtk_style_context_save() with gtk_style_context_save_to_node().
2015-10-22 16:42:46 +02:00
Matthias Clasen
83b8bcb63a
switch: Unclip the slider shadow
...
This commit arranges things so the shadow of the slider can
extend outside the widget, even if the switch itself has no
shadow.
https://bugzilla.gnome.org/show_bug.cgi?id=755791
2015-10-03 16:20:50 -04:00
Matthias Clasen
1be338fd44
GtkSwitch: fix a reentry issue
...
The introduction of state broke some users which relied on
being able to set active in a notify::active handler.
https://bugzilla.gnome.org/show_bug.cgi?id=751754
2015-07-01 18:04:56 -07:00
Cosimo Cecchi
9913b02e3b
switch: add a style property for the switch height
...
Instead of hardcoding an aspect ratio.
This will be replaced by min-height/max-height when we have them.
https://bugzilla.gnome.org/show_bug.cgi?id=751689
2015-06-30 13:28:26 -07:00
Matthias Clasen
eea16f03f5
Stop using GDK_POINTER_MOTION_HINT_MASK in widgets
...
It is deprecated and no longer needed, and,as observed in
https://bugzilla.gnome.org/show_bug.cgi?id=746253 it
interferes with turning off event compression.
2015-03-22 17:33:38 -04:00
Chun-wei Fan
e31a936e3e
gtkswitch.c: Fix Build on C89 Compilers
...
This file now uses round(), which was not available until C99, so include
fallback-c89.c instead of math.h, which includes math.h and does a fallback
implementation of round().
2015-03-03 12:14:24 +08:00
Benjamin Otte
da559c08f9
switch: Have a priv varibale in the constructor
2015-02-16 23:57:04 +01:00
Benjamin Otte
e1081bc471
switch: Change handle_x to handle_pos
...
Make that variable go from 0.0 to 1.0 where 0.0 means inactive (slider
is on the left) and 1.0 means active (slider is on the right).
The math is simpler that way and most importantly the value is
independent of size.
2015-02-16 23:57:04 +01:00
Benjamin Otte
86a41b108e
switch: Get rid of offset member variable
...
We can compute it on-demand whereever we need it.
2015-02-16 23:57:04 +01:00
Benjamin Otte
1b171e812e
switch: Remove unused variables from private struct
2015-02-16 23:57:03 +01:00
Benjamin Otte
abfc9cd4eb
switch: Use trough style class by default
...
This allows animating the trough, and saves a save/restore pair.
2014-10-13 04:39:58 +02:00
Benjamin Otte
d1118071dd
switch: Set PRELIGHT state on widget
2014-10-13 04:39:58 +02:00
Matthias Clasen
7a81aaf3c8
GtkSwitch: Use gtk_widget_add_tick_callback
...
This api automatically takes care of dealing with disappearing
frame clocks, which we currently forget to and pay with crashes.
2014-09-23 11:23:20 -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
5131472984
GtkSwitch: Initialize offset when beginning animation
...
handle_x always corresponds to the visible position of the handle,
which is where we want to start the animation. Without this, repeated
keyboard activation will not always animate.
2014-08-04 14:36:42 +02:00
Matthias Clasen
1569952d0e
GtkSwitch: Update handle_x in size-allocate
...
Since we are storing positions here that depend on the allocation,
we need to update them in size-allocate. This fixes incorrect
positioning of the handle if the switch is active initially.
https://bugzilla.gnome.org/show_bug.cgi?id=734213
2014-08-04 14:36:42 +02:00
Matthias Clasen
2e85046b8f
GtkSwitch: Don't store dest_offset
...
Instead, calculate it on the spot in the tick callback, and
update handle_x in gtk_switch_set_active, based on the new
active property.
2014-08-04 14:36:42 +02:00
Matthias Clasen
d4bd9e9c46
GtkSwitch: End animations on finalize
...
Handle the unlikely case that a switch gets finalized while its
toggle animation is running.
2014-08-04 14:36:42 +02:00
Matthias Clasen
007ba3bc14
GtkSwitch: End animation in set_active
...
End any running toggle animation before setting the set,
otherwise things get confused.
2014-08-04 14:36:42 +02:00
Matthias Clasen
8820c46ff0
GtkSwitch: Also animate for keyboard activation
2014-08-04 14:36:41 +02:00
Paolo Borelli
a0c89af801
GtkSwitch: implement animation
2014-08-03 10:22:41 +02:00
Paolo Borelli
22bd23adf3
GtkSwitch: remove unused assignment
2014-08-03 10:22:41 +02:00
Matthias Clasen
51a5cfc783
GtkSwitch: implement clipping
...
So switches can have shadows, too.
https://bugzilla.gnome.org/show_bug.cgi?id=733360
2014-07-18 16:37:18 -04:00
Jasper St. Pierre
fc75f459b0
gtkswitch: Fix docs
2014-06-29 19:10:42 -04:00
Matthias Clasen
1c57abb02b
GtkSwitch: Implement hover for GtkSwitch
...
This makes switches more similar to other activatable widgets
like buttons or scales.
2014-06-21 21:34:50 -04:00
Matthias Clasen
eed1ae682b
GtkSwitch: Use G_PARAM_EXPLICIT_NOTIFY
2014-06-09 13:31:12 -04:00
Carlos Garnacho
907e9f1946
gtk: Update GtkGesture users to the GtkPropagationPhase semantics change
...
Mainly doing s/TARGET/BUBBLE/ on the fully ported widgets, but GtkTreeView
where the double click handler has moved to GTK_PHASE_TARGET so it runs
parallelly to the still existing event handlers.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
d05a9f9a7b
gesture: Replace gtk_gesture_attach/detach with event controller API
...
Event controllers now auto-attach, and the GtkCapturePhase only determines
when are events dispatched, but all controllers are managed by the widget wrt
grabs.
All callers have been updated.
2014-05-27 17:47:12 +02:00
Carlos Garnacho
ad6606e8af
gtk: Update callers of GtkGesturePan orientation
2014-05-27 17:47:12 +02:00
Carlos Garnacho
8f20780fb9
switch: Use GtkGesture to handle input events
...
A pan gesture is used to handle switch dragging, which is only triggered
by horizontal panning movements. A multipress gesture handles the cases
where clicking without dragging happens, just toggling the switch.
2014-05-23 19:54:32 +02:00
Cosimo Cecchi
92d23be47d
switch: don't use focus-line-width
2014-05-09 11:02:45 -07:00
Cosimo Cecchi
ceab6ee15d
switch: don't use focus padding
2014-05-09 11:02:42 -07:00
Benjamin Otte
ddbd71e22a
switch: 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
Matthias Clasen
7b11f761b3
switch: Add a delayed state capability
...
This commit makes it possible for GtkSwitch to indicate when
the underlying state changes with a delay, causing the switch
to temporarily go 'out of sync' with the underlying change.
https://bugzilla.gnome.org/show_bug.cgi?id=725648
2014-04-06 01:52:47 -04:00
William Jon McCann
469d333aa2
docs: use Returns: consistently
...
Instead of Return value:
2014-02-19 18:56:05 -05:00
William Jon McCann
2a45418b67
docs: use proper quotes
2014-02-05 15:08:42 -05:00
Alejandro Piñeiro
ef41c2a60f
a11y: Remove default description from GtkSwitch
...
https://bugzilla.gnome.org/show_bug.cgi?id=707926
2013-09-12 11:52:51 +02:00
Matthias Clasen
0aa57d26b5
Move wholly deprecated classes to gtk/deprecated/
...
We've recently a number of classes wholly. For these cases,
move the headers and sources to gtk/deprecated/ and adjust
Makefiles and includes accordingly.
Affected classes:
GtkAction
GtkActionGroup
GtkActivatable
GtkIconFactory
GtkImageMenuItem
GtkRadioAction
GtkRecentAction
GtkStock
GtkToggleAction
GtkUIManager
2013-07-19 21:39:47 -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
William Jon McCann
c96a1c4980
Deprecate GtkAction and GtkUIManager
...
It is recommended to use GAction et al and GtkBuilder.
2013-06-30 11:19:50 -04:00
Bastien Nocera
41b07bdc96
GtkSwitch: Don't handle events from extra mouse buttons
...
Also use GDK_EVENT_{STOP,PROPAGATE} to make return
values clearer.
https://bugzilla.gnome.org/show_bug.cgi?id=696640
2013-05-18 14:49:55 +02:00
Juan Pablo Ugarte
1a06842425
GtkSwitch: moved focus drawing from outside border inside the handle.
2013-04-16 03:16:43 -03:00
Alexander Larsson
3d4cd4db3e
Add gtk_widget_(un)register_window
...
This replaces the previously hardcoded calls to gdk_window_set_user_data,
and also lets us track which windows are a part of a widget. Old code
should continue working as is, but new features that require the
windows may not work perfectly.
We need this for the transparent widget support to work, as we need
to specially mark the windows of child widgets.
https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-07 11:11:37 +01:00
Benjamin Otte
82a6106920
switch: Remove hack to change text size
...
The same effect can now be achieved via
.switch { font-size: smaller; }
so there is no need to hardcode things.
2012-12-06 02:57:18 +01:00