mirror of https://github.com/subgraph/fw-daemon
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.
267 lines
7.6 KiB
267 lines
7.6 KiB
8 years ago
|
// Same copyright and license as the rest of the files in this project
|
||
|
// This file contains style related functions and structures
|
||
|
|
||
|
package gtk
|
||
|
|
||
|
// #include <gtk/gtk.h>
|
||
|
// #include "gtk.go.h"
|
||
|
import "C"
|
||
|
import (
|
||
|
"unsafe"
|
||
|
|
||
|
"github.com/gotk3/gotk3/pango"
|
||
|
|
||
|
"github.com/gotk3/gotk3/glib"
|
||
|
)
|
||
|
|
||
|
/*
|
||
|
* GtkLabel
|
||
|
*/
|
||
|
|
||
|
// Label is a representation of GTK's GtkLabel.
|
||
|
type Label struct {
|
||
|
Widget
|
||
|
}
|
||
|
|
||
|
// native returns a pointer to the underlying GtkLabel.
|
||
|
func (v *Label) native() *C.GtkLabel {
|
||
|
if v == nil || v.GObject == nil {
|
||
|
return nil
|
||
|
}
|
||
|
p := unsafe.Pointer(v.GObject)
|
||
|
return C.toGtkLabel(p)
|
||
|
}
|
||
|
|
||
|
func marshalLabel(p uintptr) (interface{}, error) {
|
||
|
c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
|
||
|
obj := wrapObject(unsafe.Pointer(c))
|
||
|
return wrapLabel(obj), nil
|
||
|
}
|
||
|
|
||
|
func wrapLabel(obj *glib.Object) *Label {
|
||
|
return &Label{Widget{glib.InitiallyUnowned{obj}}}
|
||
|
}
|
||
|
|
||
|
// LabelNew is a wrapper around gtk_label_new().
|
||
|
func LabelNew(str string) (*Label, error) {
|
||
|
cstr := C.CString(str)
|
||
|
defer C.free(unsafe.Pointer(cstr))
|
||
|
c := C.gtk_label_new((*C.gchar)(cstr))
|
||
|
if c == nil {
|
||
|
return nil, nilPtrErr
|
||
|
}
|
||
|
obj := wrapObject(unsafe.Pointer(c))
|
||
|
return wrapLabel(obj), nil
|
||
|
}
|
||
|
|
||
|
// SetText is a wrapper around gtk_label_set_text().
|
||
|
func (v *Label) SetText(str string) {
|
||
|
cstr := C.CString(str)
|
||
|
defer C.free(unsafe.Pointer(cstr))
|
||
|
C.gtk_label_set_text(v.native(), (*C.gchar)(cstr))
|
||
|
}
|
||
|
|
||
|
// SetMarkup is a wrapper around gtk_label_set_markup().
|
||
|
func (v *Label) SetMarkup(str string) {
|
||
|
cstr := C.CString(str)
|
||
|
defer C.free(unsafe.Pointer(cstr))
|
||
|
C.gtk_label_set_markup(v.native(), (*C.gchar)(cstr))
|
||
|
}
|
||
|
|
||
|
// SetMarkupWithMnemonic is a wrapper around
|
||
|
// gtk_label_set_markup_with_mnemonic().
|
||
|
func (v *Label) SetMarkupWithMnemonic(str string) {
|
||
|
cstr := C.CString(str)
|
||
|
defer C.free(unsafe.Pointer(cstr))
|
||
|
C.gtk_label_set_markup_with_mnemonic(v.native(), (*C.gchar)(cstr))
|
||
|
}
|
||
|
|
||
|
// SetPattern is a wrapper around gtk_label_set_pattern().
|
||
|
func (v *Label) SetPattern(patern string) {
|
||
|
cstr := C.CString(patern)
|
||
|
defer C.free(unsafe.Pointer(cstr))
|
||
|
C.gtk_label_set_pattern(v.native(), (*C.gchar)(cstr))
|
||
|
}
|
||
|
|
||
|
// SetJustify is a wrapper around gtk_label_set_justify().
|
||
|
func (v *Label) SetJustify(jtype Justification) {
|
||
|
C.gtk_label_set_justify(v.native(), C.GtkJustification(jtype))
|
||
|
}
|
||
|
|
||
|
// SetEllipsize is a wrapper around gtk_label_set_ellipsize().
|
||
|
func (v *Label) SetEllipsize(mode pango.EllipsizeMode) {
|
||
|
C.gtk_label_set_ellipsize(v.native(), C.PangoEllipsizeMode(mode))
|
||
|
}
|
||
|
|
||
|
// GetWidthChars is a wrapper around gtk_label_get_width_chars().
|
||
|
func (v *Label) GetWidthChars() int {
|
||
|
c := C.gtk_label_get_width_chars(v.native())
|
||
|
return int(c)
|
||
|
}
|
||
|
|
||
|
// SetWidthChars is a wrapper around gtk_label_set_width_chars().
|
||
|
func (v *Label) SetWidthChars(nChars int) {
|
||
|
C.gtk_label_set_width_chars(v.native(), C.gint(nChars))
|
||
|
}
|
||
|
|
||
|
// GetMaxWidthChars is a wrapper around gtk_label_get_max_width_chars().
|
||
|
func (v *Label) GetMaxWidthChars() int {
|
||
|
c := C.gtk_label_get_max_width_chars(v.native())
|
||
|
return int(c)
|
||
|
}
|
||
|
|
||
|
// SetMaxWidthChars is a wrapper around gtk_label_set_max_width_chars().
|
||
|
func (v *Label) SetMaxWidthChars(nChars int) {
|
||
|
C.gtk_label_set_max_width_chars(v.native(), C.gint(nChars))
|
||
|
}
|
||
|
|
||
|
// GetLineWrap is a wrapper around gtk_label_get_line_wrap().
|
||
|
func (v *Label) GetLineWrap() bool {
|
||
|
c := C.gtk_label_get_line_wrap(v.native())
|
||
|
return gobool(c)
|
||
|
}
|
||
|
|
||
|
// SetLineWrap is a wrapper around gtk_label_set_line_wrap().
|
||
|
func (v *Label) SetLineWrap(wrap bool) {
|
||
|
C.gtk_label_set_line_wrap(v.native(), gbool(wrap))
|
||
|
}
|
||
|
|
||
|
// SetLineWrapMode is a wrapper around gtk_label_set_line_wrap_mode().
|
||
|
func (v *Label) SetLineWrapMode(wrapMode pango.WrapMode) {
|
||
|
C.gtk_label_set_line_wrap_mode(v.native(), C.PangoWrapMode(wrapMode))
|
||
|
}
|
||
|
|
||
|
// GetSelectable is a wrapper around gtk_label_get_selectable().
|
||
|
func (v *Label) GetSelectable() bool {
|
||
|
c := C.gtk_label_get_selectable(v.native())
|
||
|
return gobool(c)
|
||
|
}
|
||
|
|
||
|
// GetText is a wrapper around gtk_label_get_text().
|
||
|
func (v *Label) GetText() (string, error) {
|
||
|
c := C.gtk_label_get_text(v.native())
|
||
|
if c == nil {
|
||
|
return "", nilPtrErr
|
||
|
}
|
||
|
return C.GoString((*C.char)(c)), nil
|
||
|
}
|
||
|
|
||
|
// GetJustify is a wrapper around gtk_label_get_justify().
|
||
|
func (v *Label) GetJustify() Justification {
|
||
|
c := C.gtk_label_get_justify(v.native())
|
||
|
return Justification(c)
|
||
|
}
|
||
|
|
||
|
// GetEllipsize is a wrapper around gtk_label_get_ellipsize().
|
||
|
func (v *Label) GetEllipsize() pango.EllipsizeMode {
|
||
|
c := C.gtk_label_get_ellipsize(v.native())
|
||
|
return pango.EllipsizeMode(c)
|
||
|
}
|
||
|
|
||
|
// GetCurrentUri is a wrapper around gtk_label_get_current_uri().
|
||
|
func (v *Label) GetCurrentUri() string {
|
||
|
c := C.gtk_label_get_current_uri(v.native())
|
||
|
return C.GoString((*C.char)(c))
|
||
|
}
|
||
|
|
||
|
// GetTrackVisitedLinks is a wrapper around gtk_label_get_track_visited_links().
|
||
|
func (v *Label) GetTrackVisitedLinks() bool {
|
||
|
c := C.gtk_label_get_track_visited_links(v.native())
|
||
|
return gobool(c)
|
||
|
}
|
||
|
|
||
|
// SetTrackVisitedLinks is a wrapper around gtk_label_set_track_visited_links().
|
||
|
func (v *Label) SetTrackVisitedLinks(trackLinks bool) {
|
||
|
C.gtk_label_set_track_visited_links(v.native(), gbool(trackLinks))
|
||
|
}
|
||
|
|
||
|
// GetAngle is a wrapper around gtk_label_get_angle().
|
||
|
func (v *Label) GetAngle() float64 {
|
||
|
c := C.gtk_label_get_angle(v.native())
|
||
|
return float64(c)
|
||
|
}
|
||
|
|
||
|
// SetAngle is a wrapper around gtk_label_set_angle().
|
||
|
func (v *Label) SetAngle(angle float64) {
|
||
|
C.gtk_label_set_angle(v.native(), C.gdouble(angle))
|
||
|
}
|
||
|
|
||
|
// GetSelectionBounds is a wrapper around gtk_label_get_selection_bounds().
|
||
|
func (v *Label) GetSelectionBounds() (start, end int, nonEmpty bool) {
|
||
|
var cstart, cend C.gint
|
||
|
c := C.gtk_label_get_selection_bounds(v.native(), &cstart, &cend)
|
||
|
return int(cstart), int(cend), gobool(c)
|
||
|
}
|
||
|
|
||
|
// GetSingleLineMode is a wrapper around gtk_label_get_single_line_mode().
|
||
|
func (v *Label) GetSingleLineMode() bool {
|
||
|
c := C.gtk_label_get_single_line_mode(v.native())
|
||
|
return gobool(c)
|
||
|
}
|
||
|
|
||
|
// SetSingleLineMode is a wrapper around gtk_label_set_single_line_mode().
|
||
|
func (v *Label) SetSingleLineMode(mode bool) {
|
||
|
C.gtk_label_set_single_line_mode(v.native(), gbool(mode))
|
||
|
}
|
||
|
|
||
|
// GetUseMarkup is a wrapper around gtk_label_get_use_markup().
|
||
|
func (v *Label) GetUseMarkup() bool {
|
||
|
c := C.gtk_label_get_use_markup(v.native())
|
||
|
return gobool(c)
|
||
|
}
|
||
|
|
||
|
// SetUseMarkup is a wrapper around gtk_label_set_use_markup().
|
||
|
func (v *Label) SetUseMarkup(use bool) {
|
||
|
C.gtk_label_set_use_markup(v.native(), gbool(use))
|
||
|
}
|
||
|
|
||
|
// GetUseUnderline is a wrapper around gtk_label_get_use_underline().
|
||
|
func (v *Label) GetUseUnderline() bool {
|
||
|
c := C.gtk_label_get_use_underline(v.native())
|
||
|
return gobool(c)
|
||
|
}
|
||
|
|
||
|
// SetUseUnderline is a wrapper around gtk_label_set_use_underline().
|
||
|
func (v *Label) SetUseUnderline(use bool) {
|
||
|
C.gtk_label_set_use_underline(v.native(), gbool(use))
|
||
|
}
|
||
|
|
||
|
// LabelNewWithMnemonic is a wrapper around gtk_label_new_with_mnemonic().
|
||
|
func LabelNewWithMnemonic(str string) (*Label, error) {
|
||
|
cstr := C.CString(str)
|
||
|
defer C.free(unsafe.Pointer(cstr))
|
||
|
c := C.gtk_label_new_with_mnemonic((*C.gchar)(cstr))
|
||
|
if c == nil {
|
||
|
return nil, nilPtrErr
|
||
|
}
|
||
|
obj := wrapObject(unsafe.Pointer(c))
|
||
|
return wrapLabel(obj), nil
|
||
|
}
|
||
|
|
||
|
// SelectRegion is a wrapper around gtk_label_select_region().
|
||
|
func (v *Label) SelectRegion(startOffset, endOffset int) {
|
||
|
C.gtk_label_select_region(v.native(), C.gint(startOffset),
|
||
|
C.gint(endOffset))
|
||
|
}
|
||
|
|
||
|
// SetSelectable is a wrapper around gtk_label_set_selectable().
|
||
|
func (v *Label) SetSelectable(setting bool) {
|
||
|
C.gtk_label_set_selectable(v.native(), gbool(setting))
|
||
|
}
|
||
|
|
||
|
// SetLabel is a wrapper around gtk_label_set_label().
|
||
|
func (v *Label) SetLabel(str string) {
|
||
|
cstr := C.CString(str)
|
||
|
defer C.free(unsafe.Pointer(cstr))
|
||
|
C.gtk_label_set_label(v.native(), (*C.gchar)(cstr))
|
||
|
}
|
||
|
|
||
|
// GetLabel is a wrapper around gtk_label_get_label().
|
||
|
func (v *Label) GetLabel() string {
|
||
|
c := C.gtk_label_get_label(v.native())
|
||
|
if c == nil {
|
||
|
return ""
|
||
|
}
|
||
|
return C.GoString((*C.char)(c))
|
||
|
}
|