You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

gtktoolshell.h 4.0 KiB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /* GTK - The GIMP Toolkit
  2. * Copyright (C) 2007 Openismus GmbH
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the
  16. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17. * Boston, MA 02111-1307, USA.
  18. *
  19. * Author:
  20. * Mathias Hasselmann
  21. */
  22. #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
  23. #error "Only <gtk/gtk.h> can be included directly."
  24. #endif
  25. #ifndef __GTK_TOOL_SHELL_H__
  26. #define __GTK_TOOL_SHELL_H__
  27. #include <gtk/gtkenums.h>
  28. #include <pango/pango.h>
  29. #include <gtk/gtksizegroup.h>
  30. G_BEGIN_DECLS
  31. #define GTK_TYPE_TOOL_SHELL (gtk_tool_shell_get_type ())
  32. #define GTK_TOOL_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOOL_SHELL, GtkToolShell))
  33. #define GTK_IS_TOOL_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOOL_SHELL))
  34. #define GTK_TOOL_SHELL_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TOOL_SHELL, GtkToolShellIface))
  35. typedef struct _GtkToolShell GtkToolShell; /* dummy typedef */
  36. typedef struct _GtkToolShellIface GtkToolShellIface;
  37. /**
  38. * GtkToolShellIface:
  39. * @get_icon_size: mandatory implementation of gtk_tool_shell_get_icon_size().
  40. * @get_orientation: mandatory implementation of gtk_tool_shell_get_orientation().
  41. * @get_style: mandatory implementation of gtk_tool_shell_get_style().
  42. * @get_relief_style: optional implementation of gtk_tool_shell_get_relief_style().
  43. * @rebuild_menu: optional implementation of gtk_tool_shell_rebuild_menu().
  44. * @get_text_orientation: optional implementation of gtk_tool_shell_get_text_orientation().
  45. * @get_text_alignment: optional implementation of gtk_tool_shell_get_text_alignment().
  46. * @get_ellipsize_mode: optional implementation of gtk_tool_shell_get_ellipsize_mode().
  47. * @get_text_size_group: optional implementation of gtk_tool_shell_get_text_size_group().
  48. *
  49. * Virtual function table for the #GtkToolShell interface.
  50. */
  51. struct _GtkToolShellIface
  52. {
  53. /*< private >*/
  54. GTypeInterface g_iface;
  55. /*< public >*/
  56. GtkIconSize (*get_icon_size) (GtkToolShell *shell);
  57. GtkOrientation (*get_orientation) (GtkToolShell *shell);
  58. GtkToolbarStyle (*get_style) (GtkToolShell *shell);
  59. GtkReliefStyle (*get_relief_style) (GtkToolShell *shell);
  60. void (*rebuild_menu) (GtkToolShell *shell);
  61. GtkOrientation (*get_text_orientation) (GtkToolShell *shell);
  62. gfloat (*get_text_alignment) (GtkToolShell *shell);
  63. PangoEllipsizeMode (*get_ellipsize_mode) (GtkToolShell *shell);
  64. GtkSizeGroup * (*get_text_size_group) (GtkToolShell *shell);
  65. };
  66. GType gtk_tool_shell_get_type (void) G_GNUC_CONST;
  67. GtkIconSize gtk_tool_shell_get_icon_size (GtkToolShell *shell);
  68. GtkOrientation gtk_tool_shell_get_orientation (GtkToolShell *shell);
  69. GtkToolbarStyle gtk_tool_shell_get_style (GtkToolShell *shell);
  70. GtkReliefStyle gtk_tool_shell_get_relief_style (GtkToolShell *shell);
  71. void gtk_tool_shell_rebuild_menu (GtkToolShell *shell);
  72. GtkOrientation gtk_tool_shell_get_text_orientation (GtkToolShell *shell);
  73. gfloat gtk_tool_shell_get_text_alignment (GtkToolShell *shell);
  74. PangoEllipsizeMode gtk_tool_shell_get_ellipsize_mode (GtkToolShell *shell);
  75. GtkSizeGroup * gtk_tool_shell_get_text_size_group (GtkToolShell *shell);
  76. G_END_DECLS
  77. #endif /* __GTK_TOOL_SHELL_H__ */