glib

package
Version: v0.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2021 License: ISC Imports: 9 Imported by: 324

Documentation

Overview

Package glib provides Go bindings for GLib 2. It supports version 2.36 and later.

Index

Constants

View Source
const (
	BINDING_DEFAULT        BindingFlags = C.G_BINDING_DEFAULT
	BINDING_BIDIRECTIONAL  BindingFlags = C.G_BINDING_BIDIRECTIONAL
	BINDING_SYNC_CREATE                 = C.G_BINDING_SYNC_CREATE
	BINDING_INVERT_BOOLEAN              = C.G_BINDING_INVERT_BOOLEAN
)
View Source
const (
	OUTPUT_STREAM_SPLICE_NONE         OutputStreamSpliceFlags = C.G_OUTPUT_STREAM_SPLICE_NONE
	OUTPUT_STREAM_SPLICE_CLOSE_SOURCE                         = C.G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE
	OUTPUT_STREAM_SPLICE_CLOSE_TARGET                         = C.G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET
)
View Source
const ClosureCheckReceiver = false

ClosureCheckReceiver, if true, will make GLib check for every single closure's first argument to ensure that it is correct, otherwise it will panic with a message warning about the possible circular references. The receiver in this case is most often the first argument of the callback.

This constant can be changed by using go.mod's replace directive for debugging purposes.

View Source
const USER_N_DIRECTORIES int = C.G_USER_N_DIRECTORIES

Variables

View Source
var (
	VARIANT_TYPE_BOOLEAN           = newVariantType(C._G_VARIANT_TYPE_BOOLEAN)
	VARIANT_TYPE_BYTE              = newVariantType(C._G_VARIANT_TYPE_BYTE)
	VARIANT_TYPE_INT16             = newVariantType(C._G_VARIANT_TYPE_INT16)
	VARIANT_TYPE_UINT16            = newVariantType(C._G_VARIANT_TYPE_UINT16)
	VARIANT_TYPE_INT32             = newVariantType(C._G_VARIANT_TYPE_INT32)
	VARIANT_TYPE_UINT32            = newVariantType(C._G_VARIANT_TYPE_UINT32)
	VARIANT_TYPE_INT64             = newVariantType(C._G_VARIANT_TYPE_INT64)
	VARIANT_TYPE_UINT64            = newVariantType(C._G_VARIANT_TYPE_UINT64)
	VARIANT_TYPE_HANDLE            = newVariantType(C._G_VARIANT_TYPE_HANDLE)
	VARIANT_TYPE_DOUBLE            = newVariantType(C._G_VARIANT_TYPE_DOUBLE)
	VARIANT_TYPE_STRING            = newVariantType(C._G_VARIANT_TYPE_STRING)
	VARIANT_TYPE_OBJECT_PATH       = newVariantType(C._G_VARIANT_TYPE_OBJECT_PATH)
	VARIANT_TYPE_SIGNATURE         = newVariantType(C._G_VARIANT_TYPE_SIGNATURE)
	VARIANT_TYPE_VARIANT           = newVariantType(C._G_VARIANT_TYPE_VARIANT)
	VARIANT_TYPE_ANY               = newVariantType(C._G_VARIANT_TYPE_ANY)
	VARIANT_TYPE_BASIC             = newVariantType(C._G_VARIANT_TYPE_BASIC)
	VARIANT_TYPE_MAYBE             = newVariantType(C._G_VARIANT_TYPE_MAYBE)
	VARIANT_TYPE_ARRAY             = newVariantType(C._G_VARIANT_TYPE_ARRAY)
	VARIANT_TYPE_TUPLE             = newVariantType(C._G_VARIANT_TYPE_TUPLE)
	VARIANT_TYPE_UNIT              = newVariantType(C._G_VARIANT_TYPE_UNIT)
	VARIANT_TYPE_DICT_ENTRY        = newVariantType(C._G_VARIANT_TYPE_DICT_ENTRY)
	VARIANT_TYPE_DICTIONARY        = newVariantType(C._G_VARIANT_TYPE_DICTIONARY)
	VARIANT_TYPE_STRING_ARRAY      = newVariantType(C._G_VARIANT_TYPE_STRING_ARRAY)
	VARIANT_TYPE_OBJECT_PATH_ARRAY = newVariantType(C._G_VARIANT_TYPE_OBJECT_PATH_ARRAY)
	VARIANT_TYPE_BYTESTRING        = newVariantType(C._G_VARIANT_TYPE_BYTESTRING)
	VARIANT_TYPE_BYTESTRING_ARRAY  = newVariantType(C._G_VARIANT_TYPE_BYTESTRING_ARRAY)
	VARIANT_TYPE_VARDICT           = newVariantType(C._G_VARIANT_TYPE_VARDICT)
)

Variant types for comparing between them. Cannot be const because they are pointers. Note that variant types cannot be compared by value, use VariantTypeEqual() instead.

View Source
var (
	MENU_ATTRIBUTE_ACTION           string = C.G_MENU_ATTRIBUTE_ACTION
	MENU_ATTRIBUTE_ACTION_NAMESPACE string = C.G_MENU_ATTRIBUTE_ACTION_NAMESPACE
	MENU_ATTRIBUTE_TARGET           string = C.G_MENU_ATTRIBUTE_TARGET
	MENU_ATTRIBUTE_LABEL            string = C.G_MENU_ATTRIBUTE_LABEL
	MENU_ATTRIBUTE_ICON             string = C.G_MENU_ATTRIBUTE_ICON
)

Predefined attribute names for GMenu

View Source
var (
	MENU_LINK_SECTION string = C.G_MENU_LINK_SECTION
	MENU_LINK_SUBMENU string = C.G_MENU_LINK_SUBMENU
)

Predefined link names for GMenu

View Source
var (
	IGlibConvertType reflect.Type
)
View Source
var WrapMap = map[string]WrapFn{
	"GMenu": wrapMenuModel,
}

Functions

func ActionNameIsValid

func ActionNameIsValid(actionName string) bool

ActionNameIsValid is a wrapper around g_action_name_is_valid

func ActionPrintDetailedName added in v0.6.0

func ActionPrintDetailedName(action_name string, target_value *Variant) string

ActionPrintDetailedName is a wrapper around g_action_print_detailed_name().

func ApplicationIDIsValid

func ApplicationIDIsValid(id string) bool

ApplicationIDIsValid is a wrapper around g_application_id_is_valid().

func ClosureNew

func ClosureNew(f interface{}) *C.GClosure

ClosureNew creates a new GClosure and adds its callback function to the internal registry. It's exported for visibility to other gotk3 packages and should not be used in a regular application.

func ClosureNewFunc added in v0.6.0

func ClosureNewFunc(funcStack closure.FuncStack) *C.GClosure

ClosureNewFunc creates a new GClosure and adds its callback function to the internal registry. It's exported for visibility to other gotk3 packages; it cannot be used in application code, as package closure is part of the internals.

func FormatSize added in v0.6.0

func FormatSize(size uint64) string

FormatSize is a wrapper around g_format_size().

func FormatSizeFull added in v0.6.0

func FormatSizeFull(size uint64, flags FormatSizeFlags) string

FormatSizeFull is a wrapper around g_format_size_full().

func GetApplicationName

func GetApplicationName() string

GetApplicationName is a wrapper around g_get_application_name().

func GetHomeDir

func GetHomeDir() string

GetHomeDir is a wrapper around g_get_home_dir().

func GetPrgname added in v0.6.0

func GetPrgname() string

GetPrgname is a wrapper around g_get_prgname().

func GetUserCacheDir

func GetUserCacheDir() string

GetUserCacheDir is a wrapper around g_get_user_cache_dir().

func GetUserConfigDir

func GetUserConfigDir() string

GetUserConfigDir is a wrapper around g_get_user_config_dir().

func GetUserDataDir

func GetUserDataDir() string

GetUserDataDir is a wrapper around g_get_user_data_dir().

func GetUserRuntimeDir

func GetUserRuntimeDir() string

GetUserRuntimeDir is a wrapper around g_get_user_runtime_dir().

func GetUserSpecialDir

func GetUserSpecialDir(directory UserDirectory) (string, error)

GetUserSpecialDir is a wrapper around g_get_user_special_dir(). A non-nil error is returned in the case that g_get_user_special_dir() returns NULL to differentiate between NULL and an empty string.

func InitI18n

func InitI18n(domain string, dir string)

InitI18n initializes the i18n subsystem.

func Local

func Local(input string) string

Local localizes a string using gettext

func MainDepth

func MainDepth() int

MainDepth is a wrapper around g_main_depth().

func RegisterGValueMarshalers

func RegisterGValueMarshalers(tm []TypeMarshaler)

RegisterGValueMarshalers adds marshalers for several types to the internal marshalers map. Once registered, calling GoValue on any Value with a registered type will return the data returned by the marshaler.

func SetApplicationName

func SetApplicationName(name string)

SetApplicationName is a wrapper around g_set_application_name().

func SetPrgname added in v0.6.0

func SetPrgname(name string)

SetPrgname is a wrapper around g_set_prgname().

func SettingsSync

func SettingsSync()

SettingsSync is a wrapper around g_settings_sync().

func SourceRemove

func SourceRemove(src SourceHandle) bool

SourceRemove is a wrapper around g_source_remove()

func SpacedPrimesClosest added in v0.6.0

func SpacedPrimesClosest(num uint) uint

SpacedPrimesClosest is a wrapper around g_spaced_primes_closest().

func ToGObject

func ToGObject(p unsafe.Pointer) *C.GObject

ToGObject type converts an unsafe.Pointer as a native C GObject. This function is exported for visibility in other gotk3 packages and is not meant to be used by applications.

func VariantTypeEqual

func VariantTypeEqual(type1, type2 *VariantType) bool

VariantTypeEqual is a wrapper around g_variant_type_equal

func VariantTypeStringIsValid

func VariantTypeStringIsValid(typeString string) bool

VariantTypeStringIsValid is a wrapper around g_variant_type_string_is_valid.

Types

type Action

type Action struct {
	*Object
}

Action is a representation of glib's GAction GInterface.

func (*Action) Activate

func (v *Action) Activate(parameter *Variant)

Activate is a wrapper around g_action_activate

func (*Action) ChangeState

func (v *Action) ChangeState(value *Variant)

ChangeState is a wrapper around g_action_change_state

func (*Action) GetEnabled

func (v *Action) GetEnabled() bool

GetEnabled is a wrapper around g_action_get_enabled

func (*Action) GetName

func (v *Action) GetName() string

GetName is a wrapper around g_action_get_name

func (*Action) GetParameterType

func (v *Action) GetParameterType() *VariantType

GetParameterType is a wrapper around g_action_get_parameter_type

func (*Action) GetState

func (v *Action) GetState() *Variant

GetState is a wrapper around g_action_get_state

func (*Action) GetStateHint

func (v *Action) GetStateHint() *Variant

GetStateHint is a wrapper around g_action_get_state_hint

func (*Action) GetStateType

func (v *Action) GetStateType() *VariantType

GetStateType is a wrapper around g_action_get_state_type

func (*Action) Native

func (v *Action) Native() uintptr

type ActionGroup

type ActionGroup struct {
	*Object
}

ActionGroup is a representation of glib's GActionGroup GInterface

func (*ActionGroup) Activate

func (v *ActionGroup) Activate(actionName string, parameter *Variant)

Activate is a wrapper around g_action_group_activate_action

func (*ActionGroup) ChangeActionState

func (v *ActionGroup) ChangeActionState(actionName string, value *Variant)

ChangeActionState is a wrapper around g_action_group_change_action_state

func (*ActionGroup) GetActionEnabled

func (v *ActionGroup) GetActionEnabled(actionName string) bool

GetActionEnabled is a wrapper around g_action_group_get_action_enabled().

func (*ActionGroup) GetActionParameterType

func (v *ActionGroup) GetActionParameterType(actionName string) *VariantType

GetActionParameterType is a wrapper around g_action_group_get_action_parameter_type().

func (*ActionGroup) GetActionState

func (v *ActionGroup) GetActionState(actionName string) *Variant

GetActionState is a wrapper around g_action_group_get_action_state().

func (*ActionGroup) GetActionStateHint

func (v *ActionGroup) GetActionStateHint(actionName string) *Variant

GetActionStateHint is a wrapper around g_action_group_get_action_state_hint().

func (*ActionGroup) GetActionStateType

func (v *ActionGroup) GetActionStateType(actionName string) *VariantType

GetActionStateType is a wrapper around g_action_group_get_action_state_type().

func (*ActionGroup) HasAction

func (v *ActionGroup) HasAction(actionName string) bool

HasAction is a wrapper around g_action_group_has_action().

func (*ActionGroup) Native

func (v *ActionGroup) Native() uintptr

type ActionMap

type ActionMap struct {
	*Object
}

ActionMap is a representation of glib's GActionMap GInterface

func (*ActionMap) AddAction

func (v *ActionMap) AddAction(action IAction)

AddAction is a wrapper around g_action_map_add_action

func (*ActionMap) LookupAction

func (v *ActionMap) LookupAction(actionName string) *Action

LookupAction is a wrapper around g_action_map_lookup_action

func (*ActionMap) Native

func (v *ActionMap) Native() uintptr

func (*ActionMap) RemoveAction

func (v *ActionMap) RemoveAction(actionName string)

RemoveAction is a wrapper around g_action_map_remove_action

type Application

type Application struct {
	*Object

	// Interfaces
	IActionMap
	IActionGroup
}

Application is a representation of GApplication.

func ApplicationGetDefault

func ApplicationGetDefault() *Application

ApplicationGetDefault is a wrapper around g_application_get_default().

func ApplicationNew

func ApplicationNew(appID string, flags ApplicationFlags) *Application

ApplicationNew is a wrapper around g_application_new().

func (*Application) Activate

func (v *Application) Activate()

Activate is a wrapper around g_application_activate().

func (*Application) GetApplicationID

func (v *Application) GetApplicationID() string

GetApplicationID is a wrapper around g_application_get_application_id().

func (*Application) GetDbusObjectPath

func (v *Application) GetDbusObjectPath() string

GetDbusObjectPath is a wrapper around g_application_get_dbus_object_path().

func (*Application) GetFlags

func (v *Application) GetFlags() ApplicationFlags

GetFlags is a wrapper around g_application_get_flags().

func (*Application) GetInactivityTimeout

func (v *Application) GetInactivityTimeout() uint

GetInactivityTimeout is a wrapper around g_application_get_inactivity_timeout().

func (*Application) GetIsBusy

func (v *Application) GetIsBusy() bool

GetIsBusy is a wrapper around g_application_get_is_busy().

func (*Application) GetIsRegistered

func (v *Application) GetIsRegistered() bool

GetIsRegistered is a wrapper around g_application_get_is_registered().

func (*Application) GetIsRemote

func (v *Application) GetIsRemote() bool

GetIsRemote is a wrapper around g_application_get_is_remote().

func (*Application) GetResourceBasePath

func (v *Application) GetResourceBasePath() string

GetResourceBasePath is a wrapper around g_application_get_resource_base_path().

func (*Application) Hold

func (v *Application) Hold()

Hold is a wrapper around g_application_hold().

func (*Application) MarkBusy

func (v *Application) MarkBusy()

MarkBusy is a wrapper around g_application_mark_busy().

func (*Application) Native

func (v *Application) Native() uintptr

func (*Application) Quit

func (v *Application) Quit()

Quit is a wrapper around g_application_quit().

func (*Application) Release

func (v *Application) Release()

Release is a wrapper around g_application_release().

func (*Application) Run

func (v *Application) Run(args []string) int

Run is a wrapper around g_application_run().

func (*Application) SendNotification

func (v *Application) SendNotification(id string, notification *Notification)

SendNotification is a wrapper around g_application_send_notification().

func (*Application) SetApplicationID

func (v *Application) SetApplicationID(id string)

SetApplicationID is a wrapper around g_application_set_application_id().

func (*Application) SetDefault

func (v *Application) SetDefault()

SetDefault is a wrapper around g_application_set_default().

func (*Application) SetFlags

func (v *Application) SetFlags(flags ApplicationFlags)

SetFlags is a wrapper around g_application_set_flags().

func (*Application) SetInactivityTimeout

func (v *Application) SetInactivityTimeout(timeout uint)

SetInactivityTimeout is a wrapper around g_application_set_inactivity_timeout().

func (*Application) SetResourceBasePath

func (v *Application) SetResourceBasePath(bp string)

SetResourceBasePath is a wrapper around g_application_set_resource_base_path().

func (*Application) UnmarkBusy

func (v *Application) UnmarkBusy()

UnmarkBusy is a wrapper around g_application_unmark_busy().

func (*Application) WithdrawNotification

func (v *Application) WithdrawNotification(id string)

WithdrawNotification is a wrapper around g_application_withdraw_notification().

type ApplicationFlags

type ApplicationFlags int
const (
	APPLICATION_FLAGS_NONE           ApplicationFlags = C.G_APPLICATION_FLAGS_NONE
	APPLICATION_IS_SERVICE           ApplicationFlags = C.G_APPLICATION_IS_SERVICE
	APPLICATION_HANDLES_OPEN         ApplicationFlags = C.G_APPLICATION_HANDLES_OPEN
	APPLICATION_HANDLES_COMMAND_LINE ApplicationFlags = C.G_APPLICATION_HANDLES_COMMAND_LINE
	APPLICATION_SEND_ENVIRONMENT     ApplicationFlags = C.G_APPLICATION_SEND_ENVIRONMENT
	APPLICATION_NON_UNIQUE           ApplicationFlags = C.G_APPLICATION_NON_UNIQUE
)

type AsyncReadyCallback

type AsyncReadyCallback func(object *Object, res *AsyncResult)

AsyncReadyCallback is a representation of GAsyncReadyCallback

type AsyncResult

type AsyncResult struct {
	*Object
}

AsyncResult is a representation of GIO's GAsyncResult.

func (*AsyncResult) GetSourceObject

func (v *AsyncResult) GetSourceObject() *Object

GetSourceObject is a wrapper around g_async_result_get_source_object

func (*AsyncResult) GetUserData

func (v *AsyncResult) GetUserData() uintptr

GetUserData is a wrapper around g_async_result_get_user_data()

func (*AsyncResult) IsTagged

func (v *AsyncResult) IsTagged(sourceTag uintptr) bool

IsTagged is a wrapper around g_async_result_is_tagged

func (*AsyncResult) LegacyPropagateError

func (v *AsyncResult) LegacyPropagateError() error

LegacyPropagateError is a wrapper around g_async_result_legacy_propagate_error

type Binding

type Binding struct {
	*Object
}

func BindProperty

func BindProperty(source *Object, sourceProperty string,
	target *Object, targetProperty string,
	flags BindingFlags) *Binding

Creates a binding between source property on source and target property on target . Whenever the source property is changed the target_property is updated using the same value.

func (*Binding) GetFlags

func (v *Binding) GetFlags() BindingFlags

Retrieves the flags passed when constructing the GBinding.

func (*Binding) GetSource

func (v *Binding) GetSource() *Object

Retrieves the GObject instance used as the source of the binding

func (*Binding) GetSourceProperty

func (v *Binding) GetSourceProperty() string

Retrieves the name of the property of “source” used as the source of the binding.

func (*Binding) GetTarget

func (v *Binding) GetTarget() *Object

Retrieves the GObject instance used as the target of the binding.

func (*Binding) GetTargetProperty

func (v *Binding) GetTargetProperty() string

Retrieves the name of the property of “target” used as the target of the binding.

func (*Binding) Unbind

func (v *Binding) Unbind()

Explicitly releases the binding between the source and the target property expressed by Binding

type BindingFlags

type BindingFlags int

type Cancellable

type Cancellable struct {
	*Object
}

Cancellable is a representation of GIO's GCancellable.

func CancellableNew

func CancellableNew() (*Cancellable, error)

CancellableNew is a wrapper around g_cancellable_new().

func (*Cancellable) GetFD

func (v *Cancellable) GetFD() int

GetFD is a wrapper around g_cancellable_get_fd().

func (*Cancellable) IsCancelled

func (v *Cancellable) IsCancelled() bool

IsCancelled is a wrapper around g_cancellable_is_cancelled().

func (*Cancellable) ReleaseFD

func (v *Cancellable) ReleaseFD()

ReleaseFD is a wrapper around g_cancellable_release_fd().

func (*Cancellable) SetErrorIfCancelled

func (v *Cancellable) SetErrorIfCancelled() error

SetErrorIfCancelled is a wrapper around g_cancellable_set_error_if_cancelled().

func (*Cancellable) SourceNew

func (v *Cancellable) SourceNew() *Source

SourceNew is a wrapper around g_cancellable_source_new().

type CompareDataFunc

type CompareDataFunc func(a, b uintptr) int

CompareDataFunc is a representation of GCompareDataFunc

type File

type File struct {
	*Object
}

File is a representation of GIO's GFile.

func FileNew

func FileNew(path string) *File

FileNew is a wrapper around g_file_new_for_path(). To avoid breaking previous implementation of GFile ...

func FileNewForPath

func FileNewForPath(path string) (*File, error)

FileNewForPath is a wrapper around g_file_new_for_path().

func (*File) GetPath

func (v *File) GetPath() string

char * g_file_get_path (GFile *file);

GetPath is a wrapper around g_file_get_path().

func (*File) Native

func (v *File) Native() uintptr

Native returns a pointer to the underlying GFile.

func (*File) NativePrivate

func (v *File) NativePrivate() *C.GFile

NativePrivate: to be used inside Gotk3 only.

func (*File) Read

func (v *File) Read(cancellable *Cancellable) (*FileInputStream, error)

GFileInputStream * g_file_read (GFile *file,

GCancellable *cancellable,
GError **error);

Read is a wrapper around g_file_read(). Object.Unref() must be used after use

type FileIcon

type FileIcon struct {
	*Object
}

FileIcon is a representation of GIO's GFileIcon.

func (*FileIcon) Native

func (v *FileIcon) Native() uintptr

Native returns a pointer to the underlying GFileIcon.

func (*FileIcon) NativePrivate

func (v *FileIcon) NativePrivate() *C.GFileIcon

NativePrivate: to be used inside Gotk3 only.

type FileInputStream

type FileInputStream struct {
	*InputStream
}

FileInputStream is a representation of GIO's GFileInputStream.

func (*FileInputStream) Native

func (v *FileInputStream) Native() uintptr

Native returns a pointer to the underlying GFileInputStream.

func (*FileInputStream) NativePrivate

func (v *FileInputStream) NativePrivate() *C.GFileInputStream

NativePrivate: to be used inside Gotk3 only.

type FileOutputStream

type FileOutputStream struct {
	*OutputStream
}

FileOutputStream is a representation of GIO's GFileOutputStream.

func (*FileOutputStream) Native

func (v *FileOutputStream) Native() uintptr

Native returns a pointer to the underlying GFileOutputStream.

func (*FileOutputStream) NativePrivate

func (v *FileOutputStream) NativePrivate() *C.GFileOutputStream

NativePrivate: to be used inside Gotk3 only.

type FormatSizeFlags added in v0.6.0

type FormatSizeFlags int

FormatSizeFlags are flags to modify the format of the string returned by FormatSizeFull.

const (
	FORMAT_SIZE_DEFAULT     FormatSizeFlags = C.G_FORMAT_SIZE_DEFAULT
	FORMAT_SIZE_LONG_FORMAT FormatSizeFlags = C.G_FORMAT_SIZE_LONG_FORMAT
	FORMAT_SIZE_IEC_UNITS   FormatSizeFlags = C.G_FORMAT_SIZE_IEC_UNITS
	FORMAT_SIZE_BITS        FormatSizeFlags = C.G_FORMAT_SIZE_BITS
)

type GValueMarshaler

type GValueMarshaler func(uintptr) (interface{}, error)

GValueMarshaler is a marshal function to convert a GValue into an appropriate Go type. The uintptr parameter is a *C.GValue.

type IAction

type IAction interface {
	// contains filtered or unexported methods
}

IAction is an interface type implemented by all structs embedding an Action. It is meant to be used as an argument type for wrapper functions that wrap around a C function taking a GAction.

type IActionGroup

type IActionGroup interface {
	Native() uintptr

	HasAction(actionName string) bool
	GetActionEnabled(actionName string) bool
	GetActionParameterType(actionName string) *VariantType
	GetActionStateType(actionName string) *VariantType
	GetActionState(actionName string) *Variant
	GetActionStateHint(actionName string) *Variant
	ChangeActionState(actionName string, value *Variant)
	Activate(actionName string, parameter *Variant)
}

IActionGroup is an interface representation of ActionGroup, used to avoid duplication when embedding the type in a wrapper of another GObject-based type.

type IActionMap

type IActionMap interface {
	Native() uintptr

	LookupAction(actionName string) *Action
	AddAction(action IAction)
	RemoveAction(actionName string)
}

IActionMap is an interface representation of ActionMap, used to avoid duplication when embedding the type in a wrapper of another GObject-based type.

type IAsyncResult

type IAsyncResult interface {
	GetUserData() uintptr
	GetSourceObject() *Object
	IsTagged(sourceTag uintptr) bool
	LegacyPropagateError() error
}

IAsyncResult is an interface representation of AsyncResult, used to avoid duplication when embedding the type in a wrapper of another GObject-based type.

type IGlibConvert

type IGlibConvert interface {
	//  If conversion can't be done, the function has to panic with a message that it can't convert to type
	Convert(reflect.Type) reflect.Value
}

Should be implemented by any class which need special conversion like gtk.Application -> gio.Application

type IListModel

type IListModel interface {
	// contains filtered or unexported methods
}

IListModel is an interface representation of ListModel, used to avoid duplication when embedding the type in a wrapper of another GObject-based type.

type IOStream

type IOStream struct {
	*Object
}

IOStream is a representation of GIO's GIOStream. Base class for implementing read/write streams

func (*IOStream) Close

func (v *IOStream) Close(cancellable *Cancellable) (bool, error)

Close is a wrapper around g_io_stream_close().

func (*IOStream) Native

func (v *IOStream) Native() uintptr

Native returns a pointer to the underlying GIOStream.

func (*IOStream) NativePrivate

func (v *IOStream) NativePrivate() *C.GIOStream

NativePrivate: to be used inside Gotk3 only.

type IObject

type IObject interface {
	// contains filtered or unexported methods
}

IObject is an interface type implemented by Object and all types which embed an Object. It is meant to be used as a type for function arguments which require GObjects or any subclasses thereof.

type IVariant

type IVariant interface {
	ToGVariant() *C.GVariant
	ToVariant() *Variant
}

IVariant is an interface type implemented by Variant and all types which embed an Variant. It is meant to be used as a type for function arguments which require GVariants or any subclasses thereof.

type Icon

type Icon struct {
	*Object
}

Icon is a representation of GIO's GIcon. Interface for icons

func FileIconNew

func FileIconNew(path string) *Icon

FileIconNew is a wrapper around g_file_icon_new(). To not break previous implementation of GFileIcon ...

func FileIconNewN

func FileIconNewN(file *File) (*Icon, error)

FileIconNewN is a wrapper around g_file_icon_new(). This version respect Gtk3 documentation.

func IconNewForString

func IconNewForString(str string) (*Icon, error)

IconNewForString is a wrapper around g_icon_new_for_string().

func (*Icon) Equal

func (v *Icon) Equal(icon *Icon) bool

Equal is a wrapper around g_icon_equal().

func (*Icon) Native

func (v *Icon) Native() uintptr

Native returns a pointer to the underlying GIcon.

func (*Icon) NativePrivate

func (v *Icon) NativePrivate() *C.GIcon

NativePrivate: to be used inside Gotk3 only.

func (*Icon) ToString

func (v *Icon) ToString() string

ToString is a wrapper around g_icon_to_string().

type InitiallyUnowned

type InitiallyUnowned struct {
	// This must be a pointer so copies of the ref-sinked object
	// do not outlive the original object, causing an unref
	// finalizer to prematurely run.
	*Object
}

InitiallyUnowned is a representation of GLib's GInitiallyUnowned.

func (*InitiallyUnowned) Native

func (v *InitiallyUnowned) Native() uintptr

Native returns a pointer to the underlying GObject. This is implemented here rather than calling Native on the embedded Object to prevent a nil pointer dereference.

type InputStream

type InputStream struct {
	*Object
}

InputStream is a representation of GIO's GInputStream. Base class for implementing streaming input

func (*InputStream) ClearPending

func (v *InputStream) ClearPending()

ClearPending is a wrapper around g_input_stream_clear_pending().

func (*InputStream) Close

func (v *InputStream) Close(cancellable *Cancellable) (bool, error)

Close is a wrapper around g_input_stream_close().

func (*InputStream) HasPending

func (v *InputStream) HasPending() bool

HasPending is a wrapper around g_input_stream_has_pending().

func (*InputStream) IsClosed

func (v *InputStream) IsClosed() bool

IsClosed is a wrapper around g_input_stream_is_closed().

func (*InputStream) Native

func (v *InputStream) Native() uintptr

Native returns a pointer to the underlying GInputStream.

func (*InputStream) NativePrivate

func (v *InputStream) NativePrivate() *C.GInputStream

NativePrivate: to be used inside Gotk3 only.

func (*InputStream) Read

func (v *InputStream) Read(length uint, cancellable *Cancellable) (*bytes.Buffer, int, error)

Read is a wrapper around g_input_stream_read().

func (*InputStream) SetPending

func (v *InputStream) SetPending() (bool, error)

SetPending is a wrapper around g_input_stream_set_pending().

type List

type List struct {
	// contains filtered or unexported fields
}

List is a representation of Glib's GList.

func WrapList

func WrapList(obj uintptr) *List

func (*List) Append

func (v *List) Append(data uintptr) *List

Append is a wrapper around g_list_append().

func (*List) Data

func (v *List) Data() interface{}

Data acts the same as data struct field, but passes retrieved value before returning through wrap function, set by DataWrapper(). If no wrap function is set, it returns raw unsafe.Pointer.

func (*List) DataWrapper

func (v *List) DataWrapper(fn func(unsafe.Pointer) interface{})

DataWapper sets wrap functions, which is called during NthData() and Data(). It's used to cast raw C data into appropriate Go structures and types every time that data is retreived.

func (*List) First

func (v *List) First() *List

First is a wrapper around g_list_first().

func (*List) Foreach

func (v *List) Foreach(fn func(item interface{}))

Foreach acts the same as g_list_foreach(). No user_data argument is implemented because of Go clojure capabilities.

func (*List) Free

func (v *List) Free()

Free is a wrapper around g_list_free().

func (*List) FreeFull

func (v *List) FreeFull(fn func(item interface{}))

FreeFull acts the same as g_list_free_full(). Calling list.FreeFull(fn) is equivalent to calling list.Foreach(fn) and list.Free() sequentially.

func (*List) Insert

func (v *List) Insert(data uintptr, position int) *List

Insert is a wrapper around g_list_insert().

func (*List) Last

func (v *List) Last() *List

Last is a wrapper around g_list_last().

func (*List) Length

func (v *List) Length() uint

Length is a wrapper around g_list_length().

func (*List) Native

func (v *List) Native() uintptr

func (*List) Next

func (v *List) Next() *List

Next is a wrapper around the next struct field

func (*List) Nth

func (v *List) Nth(n uint) *List

Nth() is a wrapper around g_list_nth().

func (*List) NthData

func (v *List) NthData(n uint) interface{}

NthData acts the same as g_list_nth_data(), but passes retrieved value before returning through wrap function, set by DataWrapper(). If no wrap function is set, it returns raw unsafe.Pointer.

func (*List) Prepend

func (v *List) Prepend(data uintptr) *List

Prepend is a wrapper around g_list_prepend().

func (*List) Previous

func (v *List) Previous() *List

Previous is a wrapper around the prev struct field

func (*List) Reverse

func (v *List) Reverse() *List

Reverse is a wrapper around g_list_reverse().

type ListModel

type ListModel struct {
	*Object
}

ListModel is a representation of GIO's GListModel.

func (*ListModel) GetItem

func (v *ListModel) GetItem(position uint) uintptr

GetItem is a wrapper around g_list_model_get_item().

func (*ListModel) GetItemType

func (v *ListModel) GetItemType() Type

GetItemType is a wrapper around g_list_model_get_item_type().

func (*ListModel) GetNItems

func (v *ListModel) GetNItems() uint

GetNItems is a wrapper around g_list_model_get_n_items().

func (*ListModel) GetObject

func (v *ListModel) GetObject(position uint) *Object

GetObject is a wrapper around g_list_model_get_object().

func (*ListModel) ItemsChanged

func (v *ListModel) ItemsChanged(position, removed, added uint)

ItemsChanged is a wrapper around g_list_model_items_changed().

func (*ListModel) Native

func (v *ListModel) Native() uintptr

Native returns a pointer to the underlying GListModel.

type ListStore

type ListStore struct {
	ListModel
}

ListStore is a representation of GListStore

func ListStoreNew

func ListStoreNew(itemType Type) *ListStore

ListStoreNew is a wrapper around g_list_store_new().

func (*ListStore) Append

func (v *ListStore) Append(item interface{})

Append is a wrapper around g_list_store_append().

func (*ListStore) Insert

func (v *ListStore) Insert(position uint, item interface{})

Insert is a wrapper around g_list_store_insert().

func (*ListStore) InsertSorted

func (v *ListStore) InsertSorted(item interface{}, compareFunc CompareDataFunc)

InsertSorted is a wrapper around g_list_store_insert_sorted().

func (*ListStore) Native

func (v *ListStore) Native() uintptr

func (*ListStore) Remove

func (v *ListStore) Remove(position uint)

Remove is a wrapper around g_list_store_remove().

func (*ListStore) Sort

func (v *ListStore) Sort(compareFunc CompareDataFunc)

Sort is a wrapper around g_list_store_sort().

func (*ListStore) Splice

func (v *ListStore) Splice(position uint, removalLength uint, additions []interface{})

Splice is a wrapper around g_list_store_splice().

type MainContext

type MainContext C.GMainContext

func MainContextDefault

func MainContextDefault() *MainContext

MainContextDefault is a wrapper around g_main_context_default().

func (*MainContext) Acquire added in v0.6.0

func (v *MainContext) Acquire() bool

Acquire is a wrapper around g_main_context_acquire().

func (*MainContext) FindSourceById

func (v *MainContext) FindSourceById(hdlSrc SourceHandle) *Source

FindSourceById is a wrapper around g_main_context_find_source_by_id()

func (*MainContext) IsOwner added in v0.6.0

func (v *MainContext) IsOwner() bool

IsOwner is a wrapper around g_main_context_is_owner().

func (*MainContext) Iteration

func (v *MainContext) Iteration(mayBlock bool) bool

Iteration is a wrapper around g_main_context_iteration()

func (*MainContext) Pending

func (v *MainContext) Pending() bool

Pending is a wrapper around g_main_context_pending()

func (*MainContext) Release added in v0.6.0

func (v *MainContext) Release()

Release is a wrapper around g_main_context_release().

type Menu struct {
	MenuModel
}

Menu is a representation of GMenu.

func MenuNew() *Menu

MenuNew is a wrapper around g_menu_new().

func (v *Menu) Append(label, detailedAction string)

Append is a wrapper around g_menu_append().

func (v *Menu) AppendItem(item *MenuItem)

AppendItem is a wrapper around g_menu_append_item().

func (v *Menu) AppendSection(label string, section *MenuModel)

AppendSection is a wrapper around g_menu_append_section().

func (v *Menu) AppendSectionWithoutLabel(section *MenuModel)

AppendSectionWithoutLabel is a wrapper around g_menu_append_section() with label set to null.

func (v *Menu) AppendSubmenu(label string, submenu *MenuModel)

AppendSubmenu is a wrapper around g_menu_append_submenu().

func (v *Menu) Freeze()

Freeze is a wrapper around g_menu_freeze().

func (v *Menu) Insert(position int, label, detailedAction string)

Insert is a wrapper around g_menu_insert().

func (v *Menu) InsertItem(position int, item *MenuItem)

InsertItem is a wrapper around g_menu_insert_item().

func (v *Menu) InsertSection(position int, label string, section *MenuModel)

InsertSection is a wrapper around g_menu_insert_section().

func (v *Menu) InsertSectionWithoutLabel(position int, section *MenuModel)

InsertSectionWithoutLabel is a wrapper around g_menu_insert_section() with label set to null.

func (v *Menu) InsertSubmenu(position int, label string, submenu *MenuModel)

InsertSubmenu is a wrapper around g_menu_insert_submenu().

func (v *Menu) Prepend(label, detailedAction string)

Prepend is a wrapper around g_menu_prepend().

func (v *Menu) PrependItem(item *MenuItem)

PrependItem is a wrapper around g_menu_prepend_item().

func (v *Menu) PrependSection(label string, section *MenuModel)

PrependSection is a wrapper around g_menu_prepend_section().

func (v *Menu) PrependSectionWithoutLabel(section *MenuModel)

PrependSectionWithoutLabel is a wrapper around g_menu_prepend_section() with label set to null.

func (v *Menu) PrependSubmenu(label string, submenu *MenuModel)

PrependSubmenu is a wrapper around g_menu_prepend_submenu().

func (v *Menu) Remove(position int)

Remove is a wrapper around g_menu_remove().

func (v *Menu) RemoveAll()

RemoveAll is a wrapper around g_menu_remove_all().

type MenuItem struct {
	*Object
}

MenuItem is a representation of GMenuItem.

func MenuItemNew() *MenuItem

MenuItemNew is a wrapper around g_menu_item_new(NULL, NULL).

func MenuItemNewFromModel(model *MenuModel, index int) *MenuItem

MenuItemNewFromModel is a wrapper around g_menu_item_new_from_model().

func MenuItemNewSection(label string, section *MenuModel) *MenuItem

MenuItemNewSection is a wrapper around g_menu_item_new_section().

func MenuItemNewSubmenu(label string, submenu *MenuModel) *MenuItem

MenuItemNewSubmenu is a wrapper around g_menu_item_new_submenu().

func MenuItemNewWithAction(detailedAction string) *MenuItem

MenuItemNewWithAction is a wrapper around g_menu_item_new(NULL, detailedAction).

func MenuItemNewWithLabel(label string) *MenuItem

MenuItemNewWithLabel is a wrapper around g_menu_item_new(label, NULL).

func MenuItemNewWithLabelAndAction(label, detailedAction string) *MenuItem

MenuItemNewWithLabelAndAction is a wrapper around g_menu_item_new(label, detailedAction).

func (v *MenuItem) GetAttributeValue(attribute string, expectedType *VariantType) *Variant

GetAttributeValue is a wrapper around g_menu_item_get_attribute_value()

func (v *MenuItem) GetLink(link string) *MenuModel

GetLink is a wrapper around g_menu_item_get_link().

func (v *MenuItem) SetActionAndTargetValue(action string, targetValue IVariant)

SetActionAndTargetValue is a wrapper around g_menu_item_set_action_and_target_value()

func (v *MenuItem) SetAttributeValue(attribute string, value IVariant)

SetAttributeValue is a wrapper around g_menu_item_set_attribute_value()

func (v *MenuItem) SetDetailedAction(act string)

SetDetailedAction is a wrapper around g_menu_item_set_detailed_action().

func (v *MenuItem) SetLabel(label string)

SetLabel is a wrapper around g_menu_item_set_label().

func (v *MenuItem) SetLink(link string, model *MenuModel)

SetLink is a wrapper around g_menu_item_Set_link().

func (v *MenuItem) SetSection(section *MenuModel)

SetSection is a wrapper around g_menu_item_set_section().

func (v *MenuItem) SetSubmenu(submenu *MenuModel)

SetSubmenu is a wrapper around g_menu_item_set_submenu().

func (v *MenuItem) UnsetAction()

UnsetAction is a wrapper around g_menu_item_set_action_and_target_value(NULL, NULL) Unsets both action and target value. Unsetting the action also clears the target value.

func (v *MenuItem) UnsetLabel()

UnsetLabel is a wrapper around g_menu_item_set_label(NULL).

type MenuModel struct {
	*Object
}

MenuModel is a representation of GMenuModel.

func (v *MenuModel) GetItemLink(index int, link string) *MenuModel

GetItemLink is a wrapper around g_menu_model_get_item_link().

func (v *MenuModel) GetNItems() int

GetNItems is a wrapper around g_menu_model_get_n_items().

func (v *MenuModel) IsMutable() bool

IsMutable is a wrapper around g_menu_model_is_mutable().

func (v *MenuModel) ItemsChanged(position, removed, added int)

ItemsChanged is a wrapper around g_menu_model_items_changed().

func (v *MenuModel) Native() uintptr

Native returns a pointer to the underlying GMenuModel.

type Notification

type Notification struct {
	*Object
}

Notification is a representation of GNotification.

func NotificationNew

func NotificationNew(title string) *Notification

NotificationNew is a wrapper around g_notification_new().

func (*Notification) AddButton

func (v *Notification) AddButton(label, detailedAction string)

AddButton is a wrapper around g_notification_add_button().

func (*Notification) Native

func (v *Notification) Native() uintptr

func (*Notification) SetBody

func (v *Notification) SetBody(body string)

SetBody is a wrapper around g_notification_set_body().

func (*Notification) SetDefaultAction

func (v *Notification) SetDefaultAction(detailedAction string)

SetDefaultAction is a wrapper around g_notification_set_default_action().

func (*Notification) SetIcon

func (v *Notification) SetIcon(iconPath string)

SetIcon is a wrapper around g_notification_set_icon().

func (*Notification) SetPriority

func (v *Notification) SetPriority(prio NotificationPriority)

SetPriority is a wrapper around g_notification_set_priority().

func (*Notification) SetTitle

func (v *Notification) SetTitle(title string)

SetTitle is a wrapper around g_notification_set_title().

type NotificationPriority

type NotificationPriority int

NotificationPriority is a representation of GLib's GNotificationPriority.

const (
	NOTIFICATION_PRIORITY_NORMAL NotificationPriority = C.G_NOTIFICATION_PRIORITY_NORMAL
	NOTIFICATION_PRIORITY_LOW    NotificationPriority = C.G_NOTIFICATION_PRIORITY_LOW
	NOTIFICATION_PRIORITY_HIGH   NotificationPriority = C.G_NOTIFICATION_PRIORITY_HIGH
	NOTIFICATION_PRIORITY_URGENT NotificationPriority = C.G_NOTIFICATION_PRIORITY_URGENT
)

type Object

type Object struct {
	GObject *C.GObject
}

Object is a representation of GLib's GObject.

func AssumeOwnership added in v0.6.0

func AssumeOwnership(ptr unsafe.Pointer) *Object

AssumeOwnership is similar to Take, except the function does not take a reference. This is usually used for newly constructed objects that for some reason does not have an initial floating reference.

To be clear, this should often be used when Gtk says "transfer full", as it means the ownership is transferred to the caller, so we can assume that much. This is in contrary to Take, which is used when Gtk says "transfer none", as we're now referencing an object that might possibly be kept, so we should mark as such.

func Take

func Take(ptr unsafe.Pointer) *Object

Take wraps a unsafe.Pointer as a glib.Object, taking ownership of it. This function is exported for visibility in other gotk3 packages and is not meant to be used by applications.

To be clear, this should mostly be used when Gtk says "transfer none". Refer to AssumeOwnership for more details.

func (*Object) Connect

func (v *Object) Connect(detailedSignal string, f interface{}) SignalHandle

Connect is a wrapper around g_signal_connect_closure(). f must be a function with at least one parameter matching the type it is connected to.

It is optional to list the rest of the required types from Gtk, as values that don't fit into the function parameter will simply be ignored; however, extraneous types will trigger a runtime panic. Arguments for f must be a matching Go equivalent type for the C callback, or an interface type which the value may be packed in. If the type is not suitable, a runtime panic will occur when the signal is emitted.

Circular References

To prevent circular references, prefer declaring Connect functions like so:

obj.Connect(func(obj *ObjType) { obj.Do() })

Instead of directly referencing the object from outside like so:

obj.Connect(func() { obj.Do() })

When using Connect, beware of referencing variables outside the closure that may cause a circular reference that prevents both Go from garbage collecting the callback and GTK from successfully unreferencing its values.

Below is an example piece of code that is considered "leaky":

type ChatBox struct {
    gtk.TextView
    Loader *gdk.PixbufLoader

    State State
}

func (box *ChatBox) Method() {
    box.Loader.Connect("size-allocate", func(loader *gdk.PixbufLoader) {
        // Here, we're dereferencing box to get the state, which might
        // keep box alive along with the PixbufLoader, causing a circular
        // reference.
        loader.SetSize(box.State.Width, box.State.Height)
    })
}

There are many solutions to fix the above piece of code. For example, box.Loader could be discarded manually immediately after it's done by setting it to nil, or the signal handle could be disconnected manually, or box could be set to nil after its first call in the callback.

func (*Object) ConnectAfter

func (v *Object) ConnectAfter(detailedSignal string, f interface{}) SignalHandle

ConnectAfter is a wrapper around g_signal_connect_closure(). The difference between Connect and ConnectAfter is that the latter will be invoked after the default handler, not before. For more information, refer to Connect.

func (*Object) Emit

func (v *Object) Emit(s string, args ...interface{}) (interface{}, error)

Emit is a wrapper around g_signal_emitv() and emits the signal specified by the string s to an Object. Arguments to callback functions connected to this signal must be specified in args. Emit() returns an interface{} which must be type asserted as the Go equivalent type to the return value for native C callback.

Note that this code is unsafe in that the types of values in args are not checked against whether they are suitable for the callback.

func (*Object) ForceFloating

func (v *Object) ForceFloating()

ForceFloating is a wrapper around g_object_force_floating().

func (*Object) GetProperty

func (v *Object) GetProperty(name string) (interface{}, error)

GetProperty is a wrapper around g_object_get_property().

func (*Object) GetPropertyType

func (v *Object) GetPropertyType(name string) (Type, error)

GetPropertyType returns the Type of a property of the underlying GObject. If the property is missing it will return TYPE_INVALID and an error.

func (*Object) HandlerBlock

func (v *Object) HandlerBlock(handle SignalHandle)

HandlerBlock is a wrapper around g_signal_handler_block().

func (*Object) HandlerDisconnect

func (v *Object) HandlerDisconnect(handle SignalHandle)

HandlerDisconnect is a wrapper around g_signal_handler_disconnect().

func (*Object) HandlerUnblock

func (v *Object) HandlerUnblock(handle SignalHandle)

HandlerUnblock is a wrapper around g_signal_handler_unblock().

func (*Object) IsA

func (v *Object) IsA(typ Type) bool

IsA is a wrapper around g_type_is_a().

func (*Object) IsFloating

func (v *Object) IsFloating() bool

IsFloating is a wrapper around g_object_is_floating().

func (*Object) Native

func (v *Object) Native() uintptr

Native returns a pointer to the underlying GObject.

func (*Object) Ref

func (v *Object) Ref()

Ref is a wrapper around g_object_ref().

func (*Object) RefSink

func (v *Object) RefSink()

RefSink is a wrapper around g_object_ref_sink().

func (*Object) Set

func (v *Object) Set(name string, value interface{}) error

Set calls SetProperty.

func (*Object) SetProperty

func (v *Object) SetProperty(name string, value interface{}) error

SetProperty is a wrapper around g_object_set_property().

func (*Object) StopEmission

func (v *Object) StopEmission(s string)

StopEmission is a wrapper around g_signal_stop_emission_by_name().

func (*Object) TypeFromInstance

func (v *Object) TypeFromInstance() Type

TypeFromInstance is a wrapper around g_type_from_instance().

func (*Object) Unref

func (v *Object) Unref()

Unref is a wrapper around g_object_unref().

type OutputStream

type OutputStream struct {
	*Object
}

OutputStream is a representation of GIO's GOutputStream. Base class for implementing streaming output

func (*OutputStream) ClearPending

func (v *OutputStream) ClearPending()

ClearPending is a wrapper around g_output_stream_clear_pending().

func (*OutputStream) Close

func (v *OutputStream) Close(cancellable *Cancellable) (bool, error)

Close is a wrapper around g_output_stream_close().

func (*OutputStream) Flush

func (v *OutputStream) Flush(cancellable *Cancellable) (bool, error)

Flush is a wrapper around g_output_stream_flush().

func (*OutputStream) HasPending

func (v *OutputStream) HasPending() bool

HasPending is a wrapper around g_output_stream_has_pending().

func (*OutputStream) IsClosed

func (v *OutputStream) IsClosed() bool

IsClosed is a wrapper around g_output_stream_is_closed().

func (*OutputStream) IsClosing

func (v *OutputStream) IsClosing() bool

IsClosing is a wrapper around g_output_stream_is_closing().

func (*OutputStream) Native

func (v *OutputStream) Native() uintptr

Native returns a pointer to the underlying GOutputStream.

func (*OutputStream) NativePrivate

func (v *OutputStream) NativePrivate() *C.GOutputStream

NativePrivate: to be used inside Gotk3 only.

func (*OutputStream) SetPending

func (v *OutputStream) SetPending() (bool, error)

SetPending is a wrapper around g_output_stream_set_pending().

func (*OutputStream) Write

func (v *OutputStream) Write(buffer *bytes.Buffer, cancellable *Cancellable) (int, error)

Write is a wrapper around g_output_stream_write(). buffer := bytes.NewBuffer(make([]byte, length))

type OutputStreamSpliceFlags

type OutputStreamSpliceFlags int

OutputStreamSpliceFlags is a representation of GTK's GOutputStreamSpliceFlags.

type Permission

type Permission struct {
	*Object
}

Permission is a representation of GIO's GPermission.

func WrapPermission

func WrapPermission(ptr unsafe.Pointer) *Permission

WrapPermission wraps given unsafe pointer into Permission.

func (*Permission) Acquire

func (v *Permission) Acquire(cancellable *Cancellable) error

Acquire is a wrapper around g_permission_acquire().

func (*Permission) AcquireAsync

func (v *Permission) AcquireAsync(cancellable *Cancellable, fn AsyncReadyCallback)

AcquireAsync is a wrapper around g_permission_acquire_async().

func (*Permission) AcquireFinish

func (v *Permission) AcquireFinish(result *AsyncResult) error

AcquireFinish is a wrapper around g_permission_acquire_finish().

func (*Permission) GetAllowed

func (v *Permission) GetAllowed() bool

GetAllowed is a wrapper around g_permission_get_allowed().

func (*Permission) GetCanAcquire

func (v *Permission) GetCanAcquire() bool

GetCanAcquire is a wrapper around g_permission_get_can_acquire().

func (*Permission) GetCanRelease

func (v *Permission) GetCanRelease() bool

GetCanRelease is a wrapper around g_permission_get_can_release().

func (*Permission) ImplUpdate

func (v *Permission) ImplUpdate(allowed, canAcquire, canRelease bool)

ImplUpdate is a wrapper around g_permission_impl_update().

func (*Permission) Native

func (v *Permission) Native() uintptr

Native returns a uintptr to the underlying C.GPermission.

func (*Permission) Release

func (v *Permission) Release(cancellable *Cancellable) error

Release is a wrapper around g_permission_release().

func (*Permission) ReleaseAsync

func (v *Permission) ReleaseAsync(cancellable *Cancellable, fn AsyncReadyCallback)

ReleaseAsync is a wrapper around g_permission_release_async().

func (*Permission) ReleaseFinish

func (v *Permission) ReleaseFinish(result *AsyncResult) error

ReleaseFinish is a wrapper around g_permission_release_finish().

type Priority added in v0.6.0

type Priority int

Priority is the enumerated type for GLib priority event sources.

const (
	PRIORITY_HIGH         Priority = C.G_PRIORITY_HIGH
	PRIORITY_DEFAULT      Priority = C.G_PRIORITY_DEFAULT // TimeoutAdd
	PRIORITY_HIGH_IDLE    Priority = C.G_PRIORITY_HIGH_IDLE
	PRIORITY_DEFAULT_IDLE Priority = C.G_PRIORITY_DEFAULT_IDLE // IdleAdd
	PRIORITY_LOW          Priority = C.G_PRIORITY_LOW
)

type PropertyAction

type PropertyAction struct {
	Action
}

PropertyAction is a representation of GPropertyAction

func PropertyActionNew

func PropertyActionNew(name string, object *Object, propertyName string) *PropertyAction

PropertyActionNew is a wrapper around g_property_action_new

func (*PropertyAction) Native

func (v *PropertyAction) Native() uintptr

type Quark

type Quark uint32

func QuarkFromString added in v0.6.0

func QuarkFromString(str string) Quark

QuarkFromString is a wrapper around g_quark_from_string().

type SList

type SList struct {
	// contains filtered or unexported fields
}

SList is a representation of Glib's GSList. A SList must be manually freed by either calling Free() or FreeFull()

func WrapSList

func WrapSList(obj uintptr) *SList

func (*SList) Append

func (v *SList) Append(data uintptr) *SList

func (*SList) Data

func (v *SList) Data() interface{}

Data acts the same as data struct field, but it returns raw unsafe.Pointer as interface. TODO: Align with List struct and add member + logic for `dataWrap func(unsafe.Pointer) interface{}`?

func (*SList) DataRaw

func (v *SList) DataRaw() unsafe.Pointer

DataRaw is a wrapper around the data struct field

func (*SList) DataWrapper

func (v *SList) DataWrapper(fn func(unsafe.Pointer) interface{})

DataWapper sets wrap functions, which is called during NthData() and Data(). It's used to cast raw C data into appropriate Go structures and types every time that data is retreived.

func (*SList) Foreach

func (v *SList) Foreach(fn func(item interface{}))

Foreach acts the same as g_slist_foreach(). No user_data argument is implemented because of Go clojure capabilities.

func (*SList) Free

func (v *SList) Free()

Free is a wrapper around g_slist_free().

func (*SList) FreeFull

func (v *SList) FreeFull()

FreeFull is a wrapper around g_slist_free_full().

func (*SList) Length

func (v *SList) Length() uint

Length is a wrapper around g_slist_length().

func (*SList) Native

func (v *SList) Native() uintptr

func (*SList) Next

func (v *SList) Next() *SList

Next is a wrapper around the next struct field

type Settings

type Settings struct {
	*Object
}

Settings is a representation of GSettings.

func SettingsNew

func SettingsNew(schemaID string) *Settings

SettingsNew is a wrapper around g_settings_new().

func SettingsNewFull

func SettingsNewFull(schema *SettingsSchema, backend *SettingsBackend, path string) *Settings

SettingsNewFull is a wrapper around g_settings_new_full().

func SettingsNewWithBackend

func SettingsNewWithBackend(schemaID string, backend *SettingsBackend) *Settings

SettingsNewWithBackend is a wrapper around g_settings_new_with_backend().

func SettingsNewWithBackendAndPath

func SettingsNewWithBackendAndPath(schemaID string, backend *SettingsBackend, path string) *Settings

SettingsNewWithBackendAndPath is a wrapper around g_settings_new_with_backend_and_path().

func SettingsNewWithPath

func SettingsNewWithPath(schemaID, path string) *Settings

SettingsNewWithPath is a wrapper around g_settings_new_with_path().

func (*Settings) Apply

func (v *Settings) Apply()

Apply is a wrapper around g_settings_apply().

func (*Settings) Delay

func (v *Settings) Delay()

Delay is a wrapper around g_settings_delay().

func (*Settings) GetBoolean

func (v *Settings) GetBoolean(name string) bool

GetBoolean is a wrapper around g_settings_get_boolean().

func (*Settings) GetChild

func (v *Settings) GetChild(name string) *Settings

GetChild is a wrapper around g_settings_get_child().

func (*Settings) GetDouble

func (v *Settings) GetDouble(name string) float64

GetDouble is a wrapper around g_settings_get_double().

func (*Settings) GetEnum

func (v *Settings) GetEnum(name string) int

GetEnum is a wrapper around g_settings_get_enum().

func (*Settings) GetFlags

func (v *Settings) GetFlags(name string) uint

GetFlags is a wrapper around g_settings_get_flags().

func (*Settings) GetHasUnapplied

func (v *Settings) GetHasUnapplied() bool

GetHasUnapplied is a wrapper around g_settings_get_has_unapplied().

func (*Settings) GetInt

func (v *Settings) GetInt(name string) int

GetInt is a wrapper around g_settings_get_int().

func (*Settings) GetString

func (v *Settings) GetString(name string) string

GetString is a wrapper around g_settings_get_string().

func (*Settings) GetStrv

func (v *Settings) GetStrv(name string) []string

GetStrv is a wrapper around g_settings_get_strv().

func (*Settings) GetUInt

func (v *Settings) GetUInt(name string) uint

GetUInt is a wrapper around g_settings_get_uint().

func (*Settings) GetValue

func (v *Settings) GetValue(name string) *Variant

func (*Settings) IsWritable

func (v *Settings) IsWritable(name string) bool

IsWritable is a wrapper around g_settings_is_writable().

func (*Settings) ListChildren

func (v *Settings) ListChildren() []string

ListChildren is a wrapper around g_settings_list_children().

func (*Settings) Native

func (v *Settings) Native() uintptr

func (*Settings) Reset

func (v *Settings) Reset(name string)

Reset is a wrapper around g_settings_reset().

func (*Settings) Revert

func (v *Settings) Revert()

Revert is a wrapper around g_settings_revert().

func (*Settings) SetBoolean

func (v *Settings) SetBoolean(name string, value bool) bool

SetBoolean is a wrapper around g_settings_set_boolean().

func (*Settings) SetDouble

func (v *Settings) SetDouble(name string, value float64) bool

SetDouble is a wrapper around g_settings_set_double().

func (*Settings) SetEnum

func (v *Settings) SetEnum(name string, value int) bool

SetEnum is a wrapper around g_settings_set_enum().

func (*Settings) SetFlags

func (v *Settings) SetFlags(name string, value uint) bool

SetFlags is a wrapper around g_settings_set_flags().

func (*Settings) SetInt

func (v *Settings) SetInt(name string, value int) bool

SetInt is a wrapper around g_settings_set_int().

func (*Settings) SetString

func (v *Settings) SetString(name string, value string) bool

SetString is a wrapper around g_settings_set_string().

func (*Settings) SetStrv

func (v *Settings) SetStrv(name string, values []string) bool

SetStrv is a wrapper around g_settings_set_strv().

func (*Settings) SetUInt

func (v *Settings) SetUInt(name string, value uint) bool

SetUInt is a wrapper around g_settings_set_uint().

type SettingsBackend

type SettingsBackend struct {
	*Object
}

SettingsBackend is a representation of GSettingsBackend.

func KeyfileSettingsBackendNew

func KeyfileSettingsBackendNew(filename, rootPath, rootGroup string) *SettingsBackend

KeyfileSettingsBackendNew is a wrapper around g_keyfile_settings_backend_new().

func MemorySettingsBackendNew

func MemorySettingsBackendNew() *SettingsBackend

MemorySettingsBackendNew is a wrapper around g_memory_settings_backend_new().

func NullSettingsBackendNew

func NullSettingsBackendNew() *SettingsBackend

NullSettingsBackendNew is a wrapper around g_null_settings_backend_new().

func SettingsBackendGetDefault

func SettingsBackendGetDefault() *SettingsBackend

SettingsBackendGetDefault is a wrapper around g_settings_backend_get_default().

func (*SettingsBackend) Native

func (v *SettingsBackend) Native() uintptr

type SettingsBindFlags

type SettingsBindFlags int

SettingsBindFlags is a representation of GLib's GSettingsBindFlags.

const (
	SETTINGS_BIND_DEFAULT        SettingsBindFlags = C.G_SETTINGS_BIND_DEFAULT
	SETTINGS_BIND_GET            SettingsBindFlags = C.G_SETTINGS_BIND_GET
	SETTINGS_BIND_SET            SettingsBindFlags = C.G_SETTINGS_BIND_SET
	SETTINGS_BIND_NO_SENSITIVITY SettingsBindFlags = C.G_SETTINGS_BIND_NO_SENSITIVITY
	SETTINGS_BIND_GET_NO_CHANGES SettingsBindFlags = C.G_SETTINGS_BIND_GET_NO_CHANGES
	SETTINGS_BIND_INVERT_BOOLEAN SettingsBindFlags = C.G_SETTINGS_BIND_INVERT_BOOLEAN
)

type SettingsSchema

type SettingsSchema struct {
	// contains filtered or unexported fields
}

SettingsSchema is a representation of GSettingsSchema.

func (*SettingsSchema) GetID

func (v *SettingsSchema) GetID() string

GetID() is a wrapper around g_settings_schema_get_id().

func (*SettingsSchema) GetPath

func (v *SettingsSchema) GetPath() string

GetPath() is a wrapper around g_settings_schema_get_path().

func (*SettingsSchema) HasKey

func (v *SettingsSchema) HasKey(v1 string) bool

HasKey() is a wrapper around g_settings_schema_has_key().

func (*SettingsSchema) Native

func (v *SettingsSchema) Native() uintptr

func (*SettingsSchema) Ref

func (v *SettingsSchema) Ref() *SettingsSchema

Ref() is a wrapper around g_settings_schema_ref().

func (*SettingsSchema) Unref

func (v *SettingsSchema) Unref()

Unref() is a wrapper around g_settings_schema_unref().

type SettingsSchemaSource

type SettingsSchemaSource struct {
	// contains filtered or unexported fields
}

SettingsSchemaSource is a representation of GSettingsSchemaSource.

func SettingsSchemaSourceGetDefault

func SettingsSchemaSourceGetDefault() *SettingsSchemaSource

SettingsSchemaSourceGetDefault is a wrapper around g_settings_schema_source_get_default().

func SettingsSchemaSourceNewFromDirectory

func SettingsSchemaSourceNewFromDirectory(dir string, parent *SettingsSchemaSource, trusted bool) *SettingsSchemaSource

SettingsSchemaSourceNewFromDirectory() is a wrapper around g_settings_schema_source_new_from_directory().

func (*SettingsSchemaSource) ListSchemas

func (v *SettingsSchemaSource) ListSchemas(recursive bool) (nonReolcatable, relocatable []string)

ListSchemas is a wrapper around g_settings_schema_source_list_schemas().

func (*SettingsSchemaSource) Lookup

func (v *SettingsSchemaSource) Lookup(schema string, recursive bool) *SettingsSchema

Lookup() is a wrapper around g_settings_schema_source_lookup().

func (*SettingsSchemaSource) Native

func (v *SettingsSchemaSource) Native() uintptr

func (*SettingsSchemaSource) Ref

Ref() is a wrapper around g_settings_schema_source_ref().

func (*SettingsSchemaSource) Unref

func (v *SettingsSchemaSource) Unref()

Unref() is a wrapper around g_settings_schema_source_unref().

type Signal

type Signal struct {
	// contains filtered or unexported fields
}

func SignalNew

func SignalNew(s string) (*Signal, error)

func (*Signal) String

func (s *Signal) String() string

type SignalHandle

type SignalHandle uint

SignalHandle is the ID of a signal handler.

type SimpleAction

type SimpleAction struct {
	Action
}

SimpleAction is a representation of GSimpleAction

func SimpleActionNew

func SimpleActionNew(name string, parameterType *VariantType) *SimpleAction

SimpleActionNew is a wrapper around g_simple_action_new

func SimpleActionNewStateful

func SimpleActionNewStateful(name string, parameterType *VariantType, state *Variant) *SimpleAction

SimpleActionNewStateful is a wrapper around g_simple_action_new_stateful

func (*SimpleAction) Native

func (v *SimpleAction) Native() uintptr

func (*SimpleAction) SetEnabled

func (v *SimpleAction) SetEnabled(enabled bool)

SetEnabled is a wrapper around g_simple_action_set_enabled

func (*SimpleAction) SetState

func (v *SimpleAction) SetState(value *Variant)

SetState is a wrapper around g_simple_action_set_state This should only be called by the implementor of the action. Users of the action should not attempt to directly modify the 'state' property. Instead, they should call ChangeState [g_action_change_state()] to request the change.

func (*SimpleAction) SetStateHint

func (v *SimpleAction) SetStateHint(stateHint *Variant)

SetStateHint is a wrapper around g_simple_action_set_state_hint

type SimpleActionGroup

type SimpleActionGroup struct {
	*Object

	// Interfaces
	IActionMap
	IActionGroup
}

SimpleActionGroup is a representation of glib's GSimpleActionGroup

func SimpleActionGroupNew

func SimpleActionGroupNew() *SimpleActionGroup

SimpleActionGroupNew is a wrapper around g_simple_action_group_new

func (*SimpleActionGroup) Native

func (v *SimpleActionGroup) Native() uintptr

type Source

type Source C.GSource

func MainCurrentSource

func MainCurrentSource() *Source

MainCurrentSource is a wrapper around g_main_current_source().

func (*Source) Destroy

func (v *Source) Destroy()

Destroy is a wrapper around g_source_destroy()

func (*Source) IsDestroyed

func (v *Source) IsDestroyed() bool

IsDestroyed is a wrapper around g_source_is_destroyed()

func (*Source) Ref

func (v *Source) Ref() *Source

Ref is a wrapper around g_source_ref()

func (*Source) Unref

func (v *Source) Unref()

Unref is a wrapper around g_source_unref()

type SourceHandle

type SourceHandle uint

func IdleAdd

func IdleAdd(f interface{}) SourceHandle

IdleAdd adds an idle source to the default main event loop context with the DefaultIdle priority. If f is not a function with no parameter, then IdleAdd will panic.

After running once, the source func will be removed from the main event loop, unless f returns a single bool true.

func IdleAddPriority added in v0.6.0

func IdleAddPriority(priority Priority, f interface{}) SourceHandle

IdleAddPriority adds an idle source to the default main event loop context with the given priority. Its behavior is the same as IdleAdd.

func TimeoutAdd

func TimeoutAdd(milliseconds uint, f interface{}) SourceHandle

TimeoutAdd adds an timeout source to the default main event loop context. Timeout is in milliseconds. If f is not a function with no parameter, then it will panic.

After running once, the source func will be removed from the main event loop, unless f returns a single bool true.

func TimeoutAddPriority added in v0.6.0

func TimeoutAddPriority(milliseconds uint, priority Priority, f interface{}) SourceHandle

TimeoutAddPriority is similar to TimeoutAdd with the given priority. Refer to TimeoutAdd for more information.

func TimeoutSecondsAdd added in v0.6.0

func TimeoutSecondsAdd(seconds uint, f interface{}) SourceHandle

TimeoutSecondsAdd is similar to TimeoutAdd, except with seconds granularity.

func TimeoutSecondsAddPriority added in v0.6.0

func TimeoutSecondsAddPriority(seconds uint, priority Priority, f interface{}) SourceHandle

TimeoutSecondsAddPriority adds a timeout source with the given priority. Refer to TimeoutSecondsAdd for more information.

type Type

type Type uint

Type is a representation of GLib's GType.

const (
	TYPE_INVALID   Type = C.G_TYPE_INVALID
	TYPE_NONE      Type = C.G_TYPE_NONE
	TYPE_INTERFACE Type = C.G_TYPE_INTERFACE
	TYPE_CHAR      Type = C.G_TYPE_CHAR
	TYPE_UCHAR     Type = C.G_TYPE_UCHAR
	TYPE_BOOLEAN   Type = C.G_TYPE_BOOLEAN
	TYPE_INT       Type = C.G_TYPE_INT
	TYPE_UINT      Type = C.G_TYPE_UINT
	TYPE_LONG      Type = C.G_TYPE_LONG
	TYPE_ULONG     Type = C.G_TYPE_ULONG
	TYPE_INT64     Type = C.G_TYPE_INT64
	TYPE_UINT64    Type = C.G_TYPE_UINT64
	TYPE_ENUM      Type = C.G_TYPE_ENUM
	TYPE_FLAGS     Type = C.G_TYPE_FLAGS
	TYPE_FLOAT     Type = C.G_TYPE_FLOAT
	TYPE_DOUBLE    Type = C.G_TYPE_DOUBLE
	TYPE_STRING    Type = C.G_TYPE_STRING
	TYPE_POINTER   Type = C.G_TYPE_POINTER
	TYPE_BOXED     Type = C.G_TYPE_BOXED
	TYPE_PARAM     Type = C.G_TYPE_PARAM
	TYPE_OBJECT    Type = C.G_TYPE_OBJECT
	TYPE_VARIANT   Type = C.G_TYPE_VARIANT
)

func TypeFromName

func TypeFromName(typeName string) Type

TypeFromName is a wrapper around g_type_from_name

func TypeNextBase

func TypeNextBase(leafType, rootType Type) Type

TypeNextBase is a wrapper around g_type_next_base

func (Type) Depth

func (t Type) Depth() uint

Depth is a wrapper around g_type_depth().

func (Type) IsA

func (t Type) IsA(isAType Type) bool

IsA is a wrapper around g_type_is_a().

func (Type) IsValue

func (t Type) IsValue() bool

IsValue checks whether the passed in type can be used for g_value_init().

func (Type) Name

func (t Type) Name() string

Name is a wrapper around g_type_name().

func (Type) Parent

func (t Type) Parent() Type

Parent is a wrapper around g_type_parent().

type TypeMarshaler

type TypeMarshaler struct {
	T Type
	F GValueMarshaler
}

TypeMarshaler represents an actual type and it's associated marshaler.

type UserDirectory

type UserDirectory int

UserDirectory is a representation of GLib's GUserDirectory.

const (
	USER_DIRECTORY_DESKTOP      UserDirectory = C.G_USER_DIRECTORY_DESKTOP
	USER_DIRECTORY_DOCUMENTS    UserDirectory = C.G_USER_DIRECTORY_DOCUMENTS
	USER_DIRECTORY_DOWNLOAD     UserDirectory = C.G_USER_DIRECTORY_DOWNLOAD
	USER_DIRECTORY_MUSIC        UserDirectory = C.G_USER_DIRECTORY_MUSIC
	USER_DIRECTORY_PICTURES     UserDirectory = C.G_USER_DIRECTORY_PICTURES
	USER_DIRECTORY_PUBLIC_SHARE UserDirectory = C.G_USER_DIRECTORY_PUBLIC_SHARE
	USER_DIRECTORY_TEMPLATES    UserDirectory = C.G_USER_DIRECTORY_TEMPLATES
	USER_DIRECTORY_VIDEOS       UserDirectory = C.G_USER_DIRECTORY_VIDEOS
)

type Value

type Value struct {
	GValue *C.GValue
}

Value is a representation of GLib's GValue.

Don't allocate Values on the stack or heap manually as they may not be properly unset when going out of scope. Instead, use ValueAlloc(), which will set the runtime finalizer to unset the Value after it has left scope.

func GValue

func GValue(v interface{}) (gvalue *Value, err error)

GValue converts a Go type to a comparable GValue. GValue() returns a non-nil error if the conversion was unsuccessful.

func ValueAlloc

func ValueAlloc() (*Value, error)

ValueAlloc allocates a Value and sets a runtime finalizer to call g_value_unset() on the underlying GValue after leaving scope. ValueAlloc() returns a non-nil error if the allocation failed.

func ValueFromNative

func ValueFromNative(l unsafe.Pointer) *Value

ValueFromNative returns a type-asserted pointer to the Value.

func ValueInit

func ValueInit(t Type) (*Value, error)

ValueInit is a wrapper around g_value_init() and allocates and initializes a new Value with the Type t. A runtime finalizer is set to call g_value_unset() on the underlying GValue after leaving scope. ValueInit() returns a non-nil error if the allocation failed.

func (*Value) GetPointer

func (v *Value) GetPointer() unsafe.Pointer

GetPointer is a wrapper around g_value_get_pointer().

func (*Value) GetString

func (v *Value) GetString() (string, error)

GetString is a wrapper around g_value_get_string(). GetString() returns a non-nil error if g_value_get_string() returned a NULL pointer to distinguish between returning a NULL pointer and returning an empty string.

func (*Value) GoValue

func (v *Value) GoValue() (interface{}, error)

GoValue converts a Value to comparable Go type. GoValue() returns a non-nil error if the conversion was unsuccessful. The returned interface{} must be type asserted as the actual Go representation of the Value.

This function is a wrapper around the many g_value_get_*() functions, depending on the type of the Value.

func (*Value) IsValue

func (v *Value) IsValue() bool

IsValue checks if value is a valid and initialized GValue structure.

func (*Value) Native

func (v *Value) Native() uintptr

Native returns a pointer to the underlying GValue.

func (*Value) SetBool

func (v *Value) SetBool(val bool)

SetBool is a wrapper around g_value_set_boolean().

func (*Value) SetDouble

func (v *Value) SetDouble(val float64)

SetDouble is a wrapper around g_value_set_double().

func (*Value) SetFloat

func (v *Value) SetFloat(val float32)

SetFloat is a wrapper around g_value_set_float().

func (*Value) SetInstance

func (v *Value) SetInstance(instance uintptr)

SetInstance is a wrapper around g_value_set_instance().

func (*Value) SetInt

func (v *Value) SetInt(val int)

SetInt is a wrapper around g_value_set_int().

func (*Value) SetInt64

func (v *Value) SetInt64(val int64)

SetInt64 is a wrapper around g_value_set_int64().

func (*Value) SetPointer

func (v *Value) SetPointer(p uintptr)

SetPointer is a wrapper around g_value_set_pointer().

func (*Value) SetSChar

func (v *Value) SetSChar(val int8)

SetSChar is a wrapper around g_value_set_schar().

func (*Value) SetString

func (v *Value) SetString(val string)

SetString is a wrapper around g_value_set_string().

func (*Value) SetUChar

func (v *Value) SetUChar(val uint8)

SetUChar is a wrapper around g_value_set_uchar().

func (*Value) SetUInt

func (v *Value) SetUInt(val uint)

SetUInt is a wrapper around g_value_set_uint().

func (*Value) SetUInt64

func (v *Value) SetUInt64(val uint64)

SetUInt64 is a wrapper around g_value_set_uint64().

func (*Value) Type

func (v *Value) Type() (actual Type, fundamental Type, err error)

Type is a wrapper around the G_VALUE_HOLDS_GTYPE() macro and the g_value_get_gtype() function. GetType() returns TYPE_INVALID if v does not hold a Type, or otherwise returns the Type of v.

func (*Value) TypeName

func (v *Value) TypeName() string

TypeName gets the type name of value.

func (*Value) Unset added in v0.6.0

func (v *Value) Unset()

Unset is wrapper for g_value_unset

type Variant

type Variant struct {
	GVariant *C.GVariant
}

A Variant is a representation of GLib's GVariant.

func TakeVariant

func TakeVariant(ptr unsafe.Pointer) *Variant

TakeVariant wraps a unsafe.Pointer as a glib.Variant, taking ownership of it. This function is exported for visibility in other gotk3 packages and is not meant to be used by applications.

func VariantFromBoolean

func VariantFromBoolean(value bool) *Variant

VariantFromBoolean is a wrapper around g_variant_new_boolean

func VariantFromByte

func VariantFromByte(value uint8) *Variant

VariantFromByte is a wrapper around g_variant_new_byte

func VariantFromFloat64 added in v0.6.0

func VariantFromFloat64(value float64) *Variant

VariantFromFloat64 is a wrapper around g_variant_new_double(). I chose to respect the Golang float64 nomenclature instead of 'double' 'C'. Corresponding VariantType is: 'VARIANT_TYPE_DOUBLE'

func VariantFromInt16

func VariantFromInt16(value int16) *Variant

VariantFromInt16 is a wrapper around g_variant_new_int16

func VariantFromInt32

func VariantFromInt32(value int32) *Variant

VariantFromInt32 is a wrapper around g_variant_new_int32

func VariantFromInt64

func VariantFromInt64(value int64) *Variant

VariantFromInt64 is a wrapper around g_variant_new_int64

func VariantFromString

func VariantFromString(value string) *Variant

VariantFromString is a wrapper around g_variant_new_string/g_variant_new_take_string. Uses g_variant_new_take_string to reduce memory allocations if possible.

func VariantFromUint16

func VariantFromUint16(value uint16) *Variant

VariantFromUint16 is a wrapper around g_variant_new_uint16

func VariantFromUint32

func VariantFromUint32(value uint32) *Variant

VariantFromUint32 is a wrapper around g_variant_new_uint32

func VariantFromUint64

func VariantFromUint64(value uint64) *Variant

VariantFromUint64 is a wrapper around g_variant_new_uint64

func VariantFromVariant

func VariantFromVariant(value *Variant) *Variant

VariantFromVariant is a wrapper around g_variant_new_variant.

func VariantParse added in v0.6.0

func VariantParse(vType *VariantType, text string) (*Variant, error)

VariantParse is a wrapper around g_variant_parse()

func (*Variant) AnnotatedString

func (v *Variant) AnnotatedString() string

AnnotatedString wraps g_variant_print(), but returns a type-annotated string.

func (*Variant) GetBoolean

func (v *Variant) GetBoolean() bool

GetBoolean returns the bool value of this variant.

func (*Variant) GetDouble added in v0.6.0

func (v *Variant) GetDouble() float64

GetDouble is a wrapper around g_variant_get_double()

func (*Variant) GetInt

func (v *Variant) GetInt() (int64, error)

GetInt returns the int64 value of the variant if it is an integer type, and an error otherwise. It wraps variouns `g_variant_get_*` functions dealing with integers of different sizes.

func (*Variant) GetObjv

func (v *Variant) GetObjv() []string

GetObjv returns a slice of object paths from this variant. It wraps g_variant_get_objv, but returns copies of the strings instead.

func (*Variant) GetString

func (v *Variant) GetString() string

GetString is a wrapper around g_variant_get_string. It returns the string value of the variant.

func (*Variant) GetStrv

func (v *Variant) GetStrv() []string

GetStrv returns a slice of strings from this variant. It wraps g_variant_get_strv, but returns copies of the strings instead.

func (*Variant) GetUint

func (v *Variant) GetUint() (uint64, error)

GetUint returns the uint64 value of the variant if it is an integer type, and an error otherwise. It wraps variouns `g_variant_get_*` functions dealing with integers of different sizes.

func (*Variant) GetVariant

func (v *Variant) GetVariant() *Variant

GetVariant is a wrapper around g_variant_get_variant. It unboxes a nested GVariant.

func (*Variant) IsContainer

func (v *Variant) IsContainer() bool

IsContainer returns true if the variant is a container and false otherwise.

func (*Variant) IsFloating

func (v *Variant) IsFloating() bool

IsFloating returns true if the variant has a floating reference count. Reference counting is usually handled in the gotk layer, most applications should not call this.

func (*Variant) IsType

func (v *Variant) IsType(t *VariantType) bool

IsType returns true if the variant's type matches t.

func (*Variant) Native

func (v *Variant) Native() uintptr

Native returns a pointer to the underlying GVariant.

func (*Variant) Ref

func (v *Variant) Ref()

Ref is a wrapper around g_variant_ref. Reference counting is usually handled in the gotk layer, most applications should not need to call this.

func (*Variant) RefSink

func (v *Variant) RefSink()

RefSink is a wrapper around g_variant_ref_sink. Reference counting is usually handled in the gotk layer, most applications should not need to call this.

func (*Variant) String

func (v *Variant) String() string

String wraps g_variant_print(). It returns a string understood by g_variant_parse().

func (*Variant) TakeRef

func (v *Variant) TakeRef()

TakeRef is a wrapper around g_variant_take_ref. Reference counting is usually handled in the gotk layer, most applications should not need to call this.

func (*Variant) ToGVariant

func (v *Variant) ToGVariant() *C.GVariant

ToGVariant exposes the underlying *C.GVariant type for this Variant, necessary to implement IVariant.

func (*Variant) ToVariant

func (v *Variant) ToVariant() *Variant

ToVariant returns this Variant, necessary to implement IVariant.

func (*Variant) Type

func (v *Variant) Type() *VariantType

Type returns the VariantType for this variant.

func (*Variant) TypeString

func (v *Variant) TypeString() string

TypeString returns the g variant type string for this variant.

func (*Variant) Unref

func (v *Variant) Unref()

Unref is a wrapper around g_variant_unref. Reference counting is usually handled in the gotk layer, most applications should not need to call this.

type VariantBuilder

type VariantBuilder struct {
	GVariantBuilder *C.GVariantBuilder
}

VariantBuilder is a representation of GLib's VariantBuilder.

func (*VariantBuilder) Native

func (v *VariantBuilder) Native() uintptr

Native returns a pointer to the underlying GVariantBuilder.

type VariantClass

type VariantClass int
const (
	VARIANT_CLASS_BOOLEAN     VariantClass = C.G_VARIANT_CLASS_BOOLEAN     //The GVariant is a boolean.
	VARIANT_CLASS_BYTE        VariantClass = C.G_VARIANT_CLASS_BYTE        //The GVariant is a byte.
	VARIANT_CLASS_INT16       VariantClass = C.G_VARIANT_CLASS_INT16       //The GVariant is a signed 16 bit integer.
	VARIANT_CLASS_UINT16      VariantClass = C.G_VARIANT_CLASS_UINT16      //The GVariant is an unsigned 16 bit integer.
	VARIANT_CLASS_INT32       VariantClass = C.G_VARIANT_CLASS_INT32       //The GVariant is a signed 32 bit integer.
	VARIANT_CLASS_UINT32      VariantClass = C.G_VARIANT_CLASS_UINT32      //The GVariant is an unsigned 32 bit integer.
	VARIANT_CLASS_INT64       VariantClass = C.G_VARIANT_CLASS_INT64       //The GVariant is a signed 64 bit integer.
	VARIANT_CLASS_UINT64      VariantClass = C.G_VARIANT_CLASS_UINT64      //The GVariant is an unsigned 64 bit integer.
	VARIANT_CLASS_HANDLE      VariantClass = C.G_VARIANT_CLASS_HANDLE      //The GVariant is a file handle index.
	VARIANT_CLASS_DOUBLE      VariantClass = C.G_VARIANT_CLASS_DOUBLE      //The GVariant is a double precision floating point value.
	VARIANT_CLASS_STRING      VariantClass = C.G_VARIANT_CLASS_STRING      //The GVariant is a normal string.
	VARIANT_CLASS_OBJECT_PATH VariantClass = C.G_VARIANT_CLASS_OBJECT_PATH //The GVariant is a D-Bus object path string.
	VARIANT_CLASS_SIGNATURE   VariantClass = C.G_VARIANT_CLASS_SIGNATURE   //The GVariant is a D-Bus signature string.
	VARIANT_CLASS_VARIANT     VariantClass = C.G_VARIANT_CLASS_VARIANT     //The GVariant is a variant.
	VARIANT_CLASS_MAYBE       VariantClass = C.G_VARIANT_CLASS_MAYBE       //The GVariant is a maybe-typed value.
	VARIANT_CLASS_ARRAY       VariantClass = C.G_VARIANT_CLASS_ARRAY       //The GVariant is an array.
	VARIANT_CLASS_TUPLE       VariantClass = C.G_VARIANT_CLASS_TUPLE       //The GVariant is a tuple.
	VARIANT_CLASS_DICT_ENTRY  VariantClass = C.G_VARIANT_CLASS_DICT_ENTRY  //The GVariant is a dictionary entry.
)

type VariantDict

type VariantDict struct {
	GVariantDict *C.GVariantDict
}

VariantDict is a representation of GLib's VariantDict.

func (*VariantDict) Native

func (v *VariantDict) Native() uintptr

Native returns a pointer to the underlying GVariantDict.

type VariantIter

type VariantIter struct {
	GVariantIter *C.GVariantIter
}

VariantIter is a representation of GLib's GVariantIter.

func (*VariantIter) Native

func (v *VariantIter) Native() uintptr

Native returns a pointer to the underlying GVariantIter.

type VariantType

type VariantType struct {
	GVariantType *C.GVariantType
}

A VariantType is a wrapper for the GVariantType, which encodes type information for GVariants.

func VariantTypeNew

func VariantTypeNew(typeString string) *VariantType

VariantTypeNew is a wrapper around g_variant_type_new.

func (*VariantType) Free

func (v *VariantType) Free()

Free is a wrapper around g_variant_type_free. Reference counting is usually handled in the gotk layer, most applications should not call this.

func (*VariantType) IsSubtypeOf

func (v *VariantType) IsSubtypeOf(supertype *VariantType) bool

IsSubtypeOf is a wrapper around g_variant_type_is_subtype_of

func (*VariantType) String

func (v *VariantType) String() string

String returns a copy of this VariantType's type string.

type WrapFn added in v0.6.0

type WrapFn interface{}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL