X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktoolshell.c;h=7ebf18c6484cebef68f5d735b691d7f39d867d76;hb=9f41970832b60f3cf6644dfbd154df7ec24f26ce;hp=ead74d41d9f90b2b90ea4174d794d172ef641a12;hpb=523ea1c65614bed598a4d8e52e2981e7fe098f09;p=~andy%2Fgtk diff --git a/gtk/gtktoolshell.c b/gtk/gtktoolshell.c index ead74d41d..7ebf18c64 100644 --- a/gtk/gtktoolshell.c +++ b/gtk/gtktoolshell.c @@ -12,9 +12,7 @@ * 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 . * * Author: * Mathias Hasselmann @@ -30,11 +28,10 @@ * SECTION:gtktoolshell * @Short_description: Interface for containers containing GtkToolItem widgets * @Title: GtkToolShell + * @see_also: #GtkToolbar, #GtkToolItem * * The #GtkToolShell interface allows container widgets to provide additional * information when embedding #GtkToolItem widgets. - * - * @see_also: #GtkToolbar, #GtkToolItem */ /** @@ -47,10 +44,42 @@ typedef GtkToolShellIface GtkToolShellInterface; G_DEFINE_INTERFACE (GtkToolShell, gtk_tool_shell, GTK_TYPE_WIDGET); +static GtkReliefStyle gtk_tool_shell_real_get_relief_style (GtkToolShell *shell); +static GtkOrientation gtk_tool_shell_real_get_text_orientation (GtkToolShell *shell); +static gfloat gtk_tool_shell_real_get_text_alignment (GtkToolShell *shell); +static PangoEllipsizeMode gtk_tool_shell_real_get_ellipsize_mode (GtkToolShell *shell); static void gtk_tool_shell_default_init (GtkToolShellInterface *iface) { + iface->get_relief_style = gtk_tool_shell_real_get_relief_style; + iface->get_text_orientation = gtk_tool_shell_real_get_text_orientation; + iface->get_text_alignment = gtk_tool_shell_real_get_text_alignment; + iface->get_ellipsize_mode = gtk_tool_shell_real_get_ellipsize_mode; +} + +static GtkReliefStyle +gtk_tool_shell_real_get_relief_style (GtkToolShell *shell) +{ + return GTK_RELIEF_NONE; +} + +static GtkOrientation +gtk_tool_shell_real_get_text_orientation (GtkToolShell *shell) +{ + return GTK_ORIENTATION_HORIZONTAL; +} + +static gfloat +gtk_tool_shell_real_get_text_alignment (GtkToolShell *shell) +{ + return 0.5f; +} + +static PangoEllipsizeMode +gtk_tool_shell_real_get_ellipsize_mode (GtkToolShell *shell) +{ + return PANGO_ELLIPSIZE_NONE; } @@ -94,7 +123,7 @@ gtk_tool_shell_get_orientation (GtkToolShell *shell) * @shell: a #GtkToolShell * * Retrieves whether the tool shell has text, icons, or both. Tool items must - * not call this function directly, but rely on gtk_tool_item_get_style() + * not call this function directly, but rely on gtk_tool_item_get_toolbar_style() * instead. * * Return value: the current style of @shell @@ -123,10 +152,7 @@ gtk_tool_shell_get_relief_style (GtkToolShell *shell) { GtkToolShellIface *iface = GTK_TOOL_SHELL_GET_IFACE (shell); - if (iface->get_relief_style) - return iface->get_relief_style (shell); - - return GTK_RELIEF_NONE; + return iface->get_relief_style (shell); } /** @@ -168,10 +194,7 @@ gtk_tool_shell_get_text_orientation (GtkToolShell *shell) { GtkToolShellIface *iface = GTK_TOOL_SHELL_GET_IFACE (shell); - if (iface->get_text_orientation) - return GTK_TOOL_SHELL_GET_IFACE (shell)->get_text_orientation (shell); - - return GTK_ORIENTATION_HORIZONTAL; + return iface->get_text_orientation (shell); } /** @@ -191,14 +214,11 @@ gtk_tool_shell_get_text_alignment (GtkToolShell *shell) { GtkToolShellIface *iface = GTK_TOOL_SHELL_GET_IFACE (shell); - if (iface->get_text_alignment) - return GTK_TOOL_SHELL_GET_IFACE (shell)->get_text_alignment (shell); - - return 0.5f; + return iface->get_text_alignment (shell); } /** - * gtk_tool_shell_get_ellipsize_mode + * gtk_tool_shell_get_ellipsize_mode: * @shell: a #GtkToolShell * * Retrieves the current ellipsize mode for the tool shell. Tool items must not @@ -214,10 +234,7 @@ gtk_tool_shell_get_ellipsize_mode (GtkToolShell *shell) { GtkToolShellIface *iface = GTK_TOOL_SHELL_GET_IFACE (shell); - if (iface->get_ellipsize_mode) - return GTK_TOOL_SHELL_GET_IFACE (shell)->get_ellipsize_mode (shell); - - return PANGO_ELLIPSIZE_NONE; + return iface->get_ellipsize_mode (shell); } /** @@ -228,7 +245,7 @@ gtk_tool_shell_get_ellipsize_mode (GtkToolShell *shell) * call this function directly, but rely on gtk_tool_item_get_text_size_group() * instead. * - * Return value: the current text size group of @shell + * Return value: (transfer none): the current text size group of @shell * * Since: 2.20 **/