* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* Authors:
* Mark McLoughlin <mark@skynet.ie>
priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget),
&attributes, attributes_mask);
- gdk_window_set_user_data (priv->event_window, widget);
+ gtk_widget_register_window (widget, priv->event_window);
}
static void
if (priv->event_window)
{
- gdk_window_set_user_data (priv->event_window, NULL);
+ gtk_widget_unregister_window (widget, priv->event_window);
gdk_window_destroy (priv->event_window);
priv->event_window = NULL;
}
widget = GTK_WIDGET (expander);
context = gtk_widget_get_style_context (widget);
+ state = gtk_widget_get_state_flags (widget);
get_expander_bounds (expander, &clip);
gtk_widget_get_allocation (widget, &allocation);
gtk_style_context_save (context);
+ state &= ~(GTK_STATE_FLAG_PRELIGHT);
if (expander->priv->prelight)
{
- state = GTK_STATE_FLAG_PRELIGHT;
+ state |= GTK_STATE_FLAG_PRELIGHT;
gtk_style_context_set_state (context, state);
gtk_expander_paint_prelight (expander, cr);
}
gtk_widget_style_get (widget, "expander-size", &size, NULL);
- state = gtk_style_context_get_state (context);
-
/* Set active flag as per the expanded state */
if (priv->expanded)
state |= GTK_STATE_FLAG_ACTIVE;
+ else
+ state &= ~(GTK_STATE_FLAG_ACTIVE);
gtk_style_context_set_state (context, state);
gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
- /* The expander is the only animatable region */
- gtk_style_context_push_animatable_region (context, GUINT_TO_POINTER (1));
-
gtk_render_expander (context, cr,
clip.x - allocation.x,
clip.y - allocation.y,
size, size);
- gtk_style_context_pop_animatable_region (context);
gtk_style_context_restore (context);
}
{
GtkExpander *expander = GTK_EXPANDER (widget);
- if (event->button == 1 && event->window == expander->priv->event_window)
+ if (event->button == GDK_BUTTON_PRIMARY && event->window == expander->priv->event_window)
{
expander->priv->button_down = TRUE;
return TRUE;
{
GtkExpander *expander = GTK_EXPANDER (widget);
- if (event->button == 1 && expander->priv->button_down)
+ if (event->button == GDK_BUTTON_PRIMARY && expander->priv->button_down)
{
gtk_widget_activate (widget);
expander->priv->button_down = FALSE;
case GTK_DIR_RIGHT:
return FOCUS_WIDGET;
}
+ break;
case FOCUS_WIDGET:
switch (direction)
{
return FOCUS_LABEL;
case GTK_DIR_RIGHT:
return ltr ? FOCUS_LABEL : FOCUS_NONE;
- break;
}
+ break;
case FOCUS_LABEL:
switch (direction)
{
return FOCUS_CHILD;
case GTK_DIR_RIGHT:
return ltr ? FOCUS_CHILD : FOCUS_WIDGET;
- break;
}
+ break;
case FOCUS_CHILD:
switch (direction)
{
case GTK_DIR_RIGHT:
return FOCUS_NONE;
}
+ break;
}
g_assert_not_reached ();
if (priv->expanded != expanded)
{
GtkWidget *widget = GTK_WIDGET (expander);
- GtkSettings *settings = gtk_widget_get_settings (widget);
- GtkStyleContext *context;
- gboolean enable_animations;
- context = gtk_widget_get_style_context (widget);
priv->expanded = expanded;
- g_object_get (settings, "gtk-enable-animations", &enable_animations, NULL);
-
- if (enable_animations && gtk_widget_get_realized (widget))
- {
- gtk_style_context_save (context);
- gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
-
- gtk_style_context_notify_state_change (context,
- gtk_widget_get_window (widget),
- GUINT_TO_POINTER (1),
- GTK_STATE_ACTIVE,
- expanded);
- gtk_style_context_restore (context);
- }
-
child = gtk_bin_get_child (GTK_BIN (expander));
if (child)