(define-object Label
  (in-module "Gtk")
  (parent "GtkMisc")
  (c-name "GtkLabel")
  (gtype-id "GTK_TYPE_LABEL")
)

(define-function gtk_label_new
  (is-constructor-of "GtkLabel")
  (c-name "gtk_label_new")
  (caller-owns-return #t)
  (return-type "GtkWidget*")
  (parameters
    '("const-gchar*" "label" (null-ok))
  )
)

(define-function gtk_label_new_with_mnemonic
  (is-constructor-of "GtkLabel")
  (c-name "gtk_label_new_with_mnemonic")
  (caller-owns-return #t)
  (return-type "GtkWidget*")
  (parameters
    '("const-gchar*" "label")
  )
)

(define-method set_text
  (of-object "GtkLabel")
  (c-name "gtk_label_set_text")
  (return-type "none")
  (parameters
    '("const-char*" "str")
  )
)

(define-method get_text
  (of-object "GtkLabel")
  (c-name "gtk_label_get_text")
  (return-type "const-gchar*")
)

(define-method set_attributes
  (of-object "GtkLabel")
  (c-name "gtk_label_set_attributes")
  (return-type "none")
  (parameters
    '("PangoAttrList*" "attrs")
  )
)

(define-method get_attributes
  (of-object "GtkLabel")
  (c-name "gtk_label_get_attributes")
  (return-type "PangoAttrList*")
)

(define-method set_label
  (of-object "GtkLabel")
  (c-name "gtk_label_set_label")
  (return-type "none")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method get_label
  (of-object "GtkLabel")
  (c-name "gtk_label_get_label")
  (return-type "const-gchar*")
)

(define-method set_markup
  (of-object "GtkLabel")
  (c-name "gtk_label_set_markup")
  (return-type "none")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method set_use_markup
  (of-object "GtkLabel")
  (c-name "gtk_label_set_use_markup")
  (return-type "none")
  (parameters
    '("gboolean" "setting")
  )
)

(define-method get_use_markup
  (of-object "GtkLabel")
  (c-name "gtk_label_get_use_markup")
  (return-type "gboolean")
)

(define-method set_use_underline
  (of-object "GtkLabel")
  (c-name "gtk_label_set_use_underline")
  (return-type "none")
  (parameters
    '("gboolean" "setting")
  )
)

(define-method get_use_underline
  (of-object "GtkLabel")
  (c-name "gtk_label_get_use_underline")
  (return-type "gboolean")
)

(define-method set_markup_with_mnemonic
  (of-object "GtkLabel")
  (c-name "gtk_label_set_markup_with_mnemonic")
  (return-type "none")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method get_mnemonic_keyval
  (of-object "GtkLabel")
  (c-name "gtk_label_get_mnemonic_keyval")
  (return-type "guint")
)

(define-method set_mnemonic_widget
  (of-object "GtkLabel")
  (c-name "gtk_label_set_mnemonic_widget")
  (return-type "none")
  (parameters
    '("GtkWidget*" "widget" (null-ok))
  )
)

(define-method get_mnemonic_widget
  (of-object "GtkLabel")
  (c-name "gtk_label_get_mnemonic_widget")
  (return-type "GtkWidget*")
)

(define-method set_text_with_mnemonic
  (of-object "GtkLabel")
  (c-name "gtk_label_set_text_with_mnemonic")
  (return-type "none")
  (parameters
    '("const-gchar*" "str")
  )
)

(define-method set_justify
  (of-object "GtkLabel")
  (c-name "gtk_label_set_justify")
  (return-type "none")
  (parameters
    '("GtkJustification" "jtype")
  )
)

(define-method get_justify
  (of-object "GtkLabel")
  (c-name "gtk_label_get_justify")
  (return-type "GtkJustification")
)

(define-method set_pattern
  (of-object "GtkLabel")
  (c-name "gtk_label_set_pattern")
  (return-type "none")
  (parameters
    '("const-gchar*" "pattern")
  )
)

(define-method set_line_wrap
  (of-object "GtkLabel")
  (c-name "gtk_label_set_line_wrap")
  (return-type "none")
  (parameters
    '("gboolean" "wrap")
  )
)

(define-method get_line_wrap
  (of-object "GtkLabel")
  (c-name "gtk_label_get_line_wrap")
  (return-type "gboolean")
)

(define-method set_selectable
  (of-object "GtkLabel")
  (c-name "gtk_label_set_selectable")
  (return-type "none")
  (parameters
    '("gboolean" "setting")
  )
)

(define-method get_selectable
  (of-object "GtkLabel")
  (c-name "gtk_label_get_selectable")
  (return-type "gboolean")
)

(define-method select_region
  (of-object "GtkLabel")
  (c-name "gtk_label_select_region")
  (return-type "none")
  (parameters
    '("gint" "start_offset")
    '("gint" "end_offset")
  )
)

(define-method get_selection_bounds
  (of-object "GtkLabel")
  (c-name "gtk_label_get_selection_bounds")
  (return-type "gboolean")
  (parameters
    '("gint*" "start")
    '("gint*" "end")
  )
)

(define-method get_layout
  (of-object "GtkLabel")
  (c-name "gtk_label_get_layout")
  (return-type "PangoLayout*")
)

(define-method get_layout_offsets
  (of-object "GtkLabel")
  (c-name "gtk_label_get_layout_offsets")
  (return-type "none")
  (parameters
    '("gint*" "x")
    '("gint*" "y")
  )
)

(define-method set_ellipsize
  (of-object "GtkLabel")
  (c-name "gtk_label_set_ellipsize")
  (return-type "none")
  (parameters
    '("PangoEllipsizeMode" "mode")
  )
)

(define-method get_ellipsize
  (of-object "GtkLabel")
  (c-name "gtk_label_get_ellipsize")
  (return-type "PangoEllipsizeMode")
)

(define-method set_angle
  (of-object "GtkLabel")
  (c-name "gtk_label_set_angle")
  (return-type "none")
  (parameters
    '("gdouble" "angle")
  )
)

(define-method get_angle
  (of-object "GtkLabel")
  (c-name "gtk_label_get_angle")
  (return-type "gdouble")
)

(define-method set_width_chars
  (of-object "GtkLabel")
  (c-name "gtk_label_set_width_chars")
  (return-type "none")
  (parameters
    '("gint" "n_chars")
  )
)

(define-method get_width_chars
  (of-object "GtkLabel")
  (c-name "gtk_label_get_width_chars")
  (return-type "gint")
)

(define-method set_max_width_chars
  (of-object "GtkLabel")
  (c-name "gtk_label_set_max_width_chars")
  (return-type "none")
  (parameters
    '("gint" "n_chars")
  )
)

(define-method get_max_width_chars
  (of-object "GtkLabel")
  (c-name "gtk_label_get_max_width_chars")
  (return-type "gint")
)

(define-method set_single_line_mode
  (of-object "GtkLabel")
  (c-name "gtk_label_set_single_line_mode")
  (return-type "none")
  (parameters
    '("gboolean" "single_line_mode")
  )
)

(define-method get_single_line_mode
  (of-object "GtkLabel")
  (c-name "gtk_label_get_single_line_mode")
  (return-type "gboolean")
)

(define-method set_line_wrap_mode
  (of-object "GtkLabel")
  (c-name "gtk_label_set_line_wrap_mode")
  (return-type "none")
  (parameters
    '("PangoWrapMode" "wrap_mode")
  )
)

(define-method get_line_wrap_mode
  (of-object "GtkLabel")
  (c-name "gtk_label_get_line_wrap_mode")
  (return-type "PangoWrapMode")
)

(define-method get_current_uri
  (of-object "GtkLabel")
  (c-name "gtk_label_get_current_uri")
  (return-type "const-gchar*")
)

(define-method set_track_visited_links
  (of-object "GtkLabel")
  (c-name "gtk_label_set_track_visited_links")
  (return-type "none")
  (parameters
    '("gboolean" "track_links")
  )
)

(define-method get_track_visited_links
  (of-object "GtkLabel")
  (c-name "gtk_label_get_track_visited_links")
  (return-type "gboolean")
)

(define-virtual move_cursor
  (of-object "GtkLabel")
  (return-type "none")
  (parameters
    '("GtkMovementStep" "step")
    '("gint" "count")
    '("gboolean" "extend_selection")
  )
)

(define-virtual copy_clipboard
  (of-object "GtkLabel")
  (return-type "none")
)

(define-virtual populate_popup
  (of-object "GtkLabel")
  (return-type "none")
  (parameters
    '("GtkMenu*" "menu")
  )
)

(define-virtual activate-current-link
  (of-object "GtkLabel")
  (return-type "none")
)

(define-virtual activate-link
  (of-object "GtkLabel")
  (return-type "gboolean")
  (parameters
    '("gchar*" "menu")
  )
)
