X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkseparator.c;h=8e5bc71612e19d48fd8eecfca1a5991490273525;hb=bda5987335b8c7828ebf1d289a91accfe2e74dbe;hp=d67ab2ec6fee3d92b0e6876c8999b149e14bff7c;hpb=b80fb88aff51b6d464c3a62663eb6bce33d3ce08;p=~andy%2Fgtk diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c index d67ab2ec6..8e5bc7161 100644 --- a/gtk/gtkseparator.c +++ b/gtk/gtkseparator.c @@ -12,9 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 . */ /* @@ -72,7 +70,6 @@ static void gtk_separator_get_preferred_height gint *natural); static gboolean gtk_separator_draw (GtkWidget *widget, cairo_t *cr); -static AtkObject *gtk_separator_get_accessible (GtkWidget *widget); G_DEFINE_TYPE_WITH_CODE (GtkSeparator, gtk_separator, GTK_TYPE_WIDGET, @@ -93,7 +90,8 @@ gtk_separator_class_init (GtkSeparatorClass *class) widget_class->get_preferred_height = gtk_separator_get_preferred_height; widget_class->draw = gtk_separator_draw; - widget_class->get_accessible = gtk_separator_get_accessible; + + gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_SEPARATOR); g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); @@ -169,17 +167,10 @@ gtk_separator_get_preferred_size (GtkWidget *widget, { GtkSeparator *separator = GTK_SEPARATOR (widget); GtkSeparatorPrivate *private = separator->priv; - GtkStyleContext *context; - GtkStateFlags state; - GtkBorder border; gboolean wide_sep; gint sep_width; gint sep_height; - context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); - gtk_style_context_get_border (context, state, &border); - gtk_widget_style_get (widget, "wide-separators", &wide_sep, "separator-width", &sep_width, @@ -192,11 +183,11 @@ gtk_separator_get_preferred_size (GtkWidget *widget, } else if (orientation == GTK_ORIENTATION_VERTICAL) { - *minimum = *natural = wide_sep ? sep_height : border.top; + *minimum = *natural = wide_sep ? sep_height : 1; } else { - *minimum = *natural = wide_sep ? sep_width : border.left; + *minimum = *natural = wide_sep ? sep_width : 1; } } @@ -222,30 +213,22 @@ gtk_separator_draw (GtkWidget *widget, { GtkSeparator *separator = GTK_SEPARATOR (widget); GtkSeparatorPrivate *private = separator->priv; - GtkStateFlags state; GtkStyleContext *context; - GtkBorder padding; gboolean wide_separators; gint separator_width; gint separator_height; int width, height; - context = gtk_widget_get_style_context (widget); gtk_widget_style_get (widget, "wide-separators", &wide_separators, "separator-width", &separator_width, "separator-height", &separator_height, NULL); - state = gtk_widget_get_state_flags (widget); + context = gtk_widget_get_style_context (widget); width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); - gtk_style_context_get_padding (context, state, &padding); - - gtk_style_context_save (context); - gtk_style_context_set_state (context, state); - if (private->orientation == GTK_ORIENTATION_HORIZONTAL) { if (wide_separators) @@ -254,8 +237,8 @@ gtk_separator_draw (GtkWidget *widget, width, separator_height); else gtk_render_line (context, cr, - 0, (height - padding.top) / 2, - width - 1, (height - padding.top) / 2); + 0, height / 2, + width - 1, height / 2); } else { @@ -265,27 +248,13 @@ gtk_separator_draw (GtkWidget *widget, separator_width, height); else gtk_render_line (context, cr, - (width - padding.left) / 2, 0, - (width - padding.left) / 2, height - 1); + width / 2, 0, + width / 2, height - 1); } - gtk_style_context_restore (context); - return FALSE; } -static AtkObject * -gtk_separator_get_accessible (GtkWidget *widget) -{ - AtkObject *obj; - - obj = GTK_WIDGET_CLASS (gtk_separator_parent_class)->get_accessible (widget); - - atk_object_set_role (obj, ATK_ROLE_SEPARATOR); - - return obj; -} - /** * gtk_separator_new: * @orientation: the separator's orientation.