iup

package module
v0.0.0-...-1ea3bc8 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2016 License: LGPL-3.0 Imports: 5 Imported by: 0

README

Iup Go Wrapper

iup is a Go wrapper around the Iup GUI toolkit. The project was started on April 27, 2011.

Fork

https://github.com/grd/iup is a fork of https://github.com/jcowgar/go-iup because I got frustrated that the original repo just didn't work and appeared abandoned. I wanted to update it to Go 1.1 and add a 10 minute quick installation guide. --grd

Changes in go-iup vs. Iup in C

Documentation is minimal with go-iup because Iup's documentation is very good and valid since go-iup strives for a 1-to-1 mapping. However, there are some general changes to better fit into the Go language.

  1. Iup has been dropped from the function names. go-iup functions are already accessed by the iup package name. So, IupOpen becomes iup.Open(), IupVersion() becomes iup.Version(), etc...
  2. IUP_ has been dropped from the constant names for the same reason as #1. Thus, IUP_IGNORE becomes iup.IGNORE, IUP_DEFAULT becomes iup.DEFAULT, etc...
  3. Anything as of Iup 3.5 that has been marked as deprecated has not and will not be wrapped in go-iup. No sense in wrapping it and then next release removing it. Just don't even start with it.
  4. The old ACTION name has been replaced by a SetCallback method in Iup. Thus, any widget that expects an ACTION name on control creation in Iup C does not in go-iup. For example, IupButton("Press Me", "PRESS_ME_ACTION") no longer takes the "PRESS_ME_ACTION" parameter.
  5. All widgets can accept a variable number of optional parameters. These parameters, if a string, are considered attributes to be set on the newly created widget. If a valid Icallback type, then they are considered callbacks to be set on the newly created widget.
Callbacks, Actions ... Old and New
button = IupButton("Say Hello", "SAY_HELLO")
IupSetAttributes(button, "FLAT=YES,ALIGNMENT=ALEFT")
IupSetFunction("SAY_HELLO", printHello)

has been replaced with

button := iup.Button("Say Hello", 
    "FLAT=YES,ALIGNMENT=ALEFT",
    (iup.ActionFunc)(printHello))

The optional parameters can appear in any order. For example the following is the same as the prior:

button := iup.Button("Say Hello", 
    "FLAT=YES", 
    (iup.ActionFunc)(printHello)), 
    "ALIGNMENT=ALEFT")

Installing the Iup library

go-iup deals with three projects from Tecgraf:

  • Iup - Cross platform native control GUI library
  • Cd - Cross platform canvas drawing library
  • Im - Cross platform image library

To use go-iup you must install all three libraries. Download the appropriate archive files from the Iup Download Tips page. You should then place the .a (library) files in your lib/ directory and .h (header) files in your include/ directory. If compiling on Windows, .dll (dynamically linked library) files in your %PATH%.

Building go-iup

$ git clone https://github.com/leonrbaker/iup.git
$ cd go-iup
$ ./all.bash
Ten minute quick installation guide for Ubuntu 12.04

Fetch the Linux Libraries from sourceforge.net according the Iup Download Tips page. In this case (Ubuntu 64-bit platform):

  • Im - im-3.8.1_Linux32_64_lib.tar.gz
  • Cd - cd-5.6.1_Linux32_64_lib.tar.gz
  • Iup - iup-3.8_Linux32_64_lib.tar.gz

Extract the libraries and then take the following steps for each of the libraries:

$ cd *extracted library*
$ sudo bash install
$ sudo bash install_dev

Now the libraries are installed.

However, Go iup requires the development libraries from Gtk+ installed. If it's not already installed, execute the following:

$ sudo apt-get install libgtk2.0-dev

Installing Go iup.

$ go get github.com/grd/iup
$ <GOPATH>/src/github.com/grd/iup/all.bash

That's it. Don't complain if it doesn't work. It's probably your fault.

Special notes for Windows

You should download the 'dllw4' variant of Iup. This is the dynamically linked version of the libraries for MinGW. For easy compliation you should have already installed a working version of MinGW and MSYS. Building will be the same as any other platform but started from the MSYS Bash shell.

Quick installation guide for Windows

Make sure MinGW is installed and that it contains the C++ libraries! MinGW with installer is 32-bit only, and for simplicity that what we use.

Fetch the Windows Shared Libraries from sourceforge.net according the Iup Download Tips page. In this case:

  • Im - im-3.8.1_Win32_dllw4_lib.zip
  • Cd - cd-5.6.1_Win32_dllw4_lib.zip
  • Iup - iup-3.8_Win32_dllw4_lib.zip

Extract the libraries to a destination of choice, for instance C:\iup. Make sure that the dll's and .a's are placed directly in this dir and the include files are in the include directory. Open the command prompt and execute the following:

C:\> set IUPHOME=C:\iup

With C:\iup I mean the location where the iup files are placed.

Installing Go iup.

C:\> go get github.com/grd/iup 

(Or download the zip file from github.com)

C:\> <GOPATH>/src/github.com/grd/iup/all

Again that's it. Don't complain if it doesn't work. It's probably your fault.

Documentation

Overview

Iup wrapper for Go.

Documentation of this package is minimal on purpose. The Iup documentation is very good and go-iup strives to maintain a one-to-one relation with the C version of Iup. Where go-iup differs from the C variant documentation will exist.

go-iup function names drop the Iup prefix as they are under the iup package. go-iup constant names drop the IUP_ prefix as they are under the iup package.

Copyright (C) 2011 by Jeremy Cowgar <jeremy@cowgar.com>

This file is part of go-iup.

go-iup is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

go-iup is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with go-iup. If not, see <http://www.gnu.org/licenses/>.

Index

Constants

View Source
const CENTER = C.IUP_CENTER
View Source
const CENTERPARENT = C.IUP_CENTERPARENT
View Source
const CLOSE = C.IUP_CLOSE
View Source
const CONTINUE = C.IUP_CONTINUE
View Source
const CURRENT = C.IUP_CURRENT
View Source
const DEFAULT = C.IUP_DEFAULT
View Source
const HIDE = C.IUP_HIDE
View Source
const IGNORE = C.IUP_IGNORE
View Source
const (
	// go-iup version string.
	//
	// go-iup version string is based off the built-against version
	// code of Iup with the addition of a `go-iup' version code
	// as the forth digit. i.e. 3.5.0.1 means that this version of
	// go-iup was built with Iup 3.5.0 in mind and is the `.1' release
	// of go-iup against Iup 3.5.0.
	IupGoVersion = "3.5.0.1"
)
View Source
const LEFT = C.IUP_LEFT
View Source
const MAXIMIZE = C.IUP_MAXIMIZE
View Source
const MINIMIZE = C.IUP_MINIMIZE
View Source
const MOUSEPOS = C.IUP_MOUSEPOS
View Source
const RECBINARY = C.IUP_RECBINARY
View Source
const RECTEXT = C.IUP_RECTEXT
View Source
const RESTORE = C.IUP_RESTORE
View Source
const RIGHT = C.IUP_RIGHT
View Source
const SHOW = C.IUP_SHOW

Variables

This section is empty.

Functions

func Alarm

func Alarm(t, m string, buttons ...string) int

func ByteArrayToCUCharArray

func ByteArrayToCUCharArray(content []byte) []C.uchar

func ClassMatch

func ClassMatch(ih *Ihandle, classname string) bool

func Close

func Close()

func ConvertXYToPos

func ConvertXYToPos(ih *Ihandle, x, y int) int

func CopyClassAttributes

func CopyClassAttributes(ih, dest *Ihandle)

func Decorate

func Decorate(ih *Ihandle, opt interface{})

func Destroy

func Destroy(ih *Ihandle)

func Detach

func Detach(ih *Ihandle)

func ExitLoop

func ExitLoop()

func Float64ArrayToC

func Float64ArrayToC(nums []float64) []C.float

func Flush

func Flush()

func FreeCStringArray

func FreeCStringArray(strs []*C.char)

func GetAttribute

func GetAttribute(ih *Ihandle, name string) string

func GetAttributeId

func GetAttributeId(ih *Ihandle, name string, id int) string

func GetAttributes

func GetAttributes(ih *Ihandle) string

func GetChildCount

func GetChildCount(ih *Ihandle) int

func GetChildPos

func GetChildPos(ih *Ihandle, child *Ihandle) int

func GetClassName

func GetClassName(ih *Ihandle) string

func GetClassType

func GetClassType(ih *Ihandle) string

func GetColor

func GetColor(x, y, r, g, b int) (int, int, int)

Return value is r, g, b. Each will contain -1 if cancel was pressed

func GetFile

func GetFile(filename string) (string, int)

Warning: This allocates 2048 for an incoming buffer size for the filename but if the user selects a filename more than 2048 characters a buffer over run WILL occur. This problem has been brought to the attention of the Iup maintainers as there is no way to tell GetFile how large the receiving buffer actually is.

func GetFloat

func GetFloat(ih *Ihandle, name string) float64

func GetFloatId

func GetFloatId(ih *Ihandle, name string, id int) float64

func GetGlobal

func GetGlobal(name string) string

func GetInt

func GetInt(ih *Ihandle, name string) int64

func GetIntId

func GetIntId(ih *Ihandle, name string, id int) int

func GetLanguage

func GetLanguage() string

func GetParam

func GetParam(title string, format string, args ...interface{}) bool

Warning: Incompelete, only supports int64, float64 and bool variable types. This method is a work in progress

func GetText

func GetText(title, text string) (string, int)

Warning: This allocates 4096 for an incoming buffer size but if the user enters more than 4096 characters a buffer over run WILL occur. This problem has been brought to the attention of the Iup maintainers as there is no way to tell IupGetText how large the receiving buffer actually is.

func Help

func Help(url string) int

func Hide

func Hide(ih *Ihandle) int

func IHandleArrayToC

func IHandleArrayToC(ihs []*Ihandle) []*C.Ihandle

func IntArrayToC

func IntArrayToC(nums []int) []C.int

func ListDialog

func ListDialog(typ int, title string, list []string, opt, max_col, max_lin int, marks []int) (int, []int)

Differs in that size is derrived from the list array

func Load

func Load(filename string) (err error)

func LoadBuffer

func LoadBuffer(buffer string) (err error)

func LoopStep

func LoopStep() int

func LoopStepWait

func LoopStepWait() int

func MainLoop

func MainLoop() int

func MainLoopLevel

func MainLoopLevel() int

func Map

func Map(ih *Ihandle) int

func MapFont

func MapFont(iupfont string) string

func MatGetAttribute

func MatGetAttribute(ih *Ihandle, name string, lin int, col int) string

func MatGetFloat

func MatGetFloat(ih *Ihandle, name string, lin int, col int) float64

func MatGetInt

func MatGetInt(ih *Ihandle, name string, lin int, col int) int64

func MatSetAttribute

func MatSetAttribute(ih *Ihandle, name string, lin int, col int, value unsafe.Pointer)

func MatSetfAttribute

func MatSetfAttribute(ih *Ihandle, name string, lin int, col int, format string, args ...interface{})

func MatStoreAttribute

func MatStoreAttribute(ih *Ihandle, name string, lin int, col int, value string)

func Message

func Message(title, message string)

func Open

func Open() int

func OpenControlLib

func OpenControlLib()

func PlayInput

func PlayInput(filename string) int
func Popup(ih *Ihandle, x, y int) int

func RecordInput

func RecordInput(filename string, mode int) int

func Redraw

func Redraw(ih *Ihandle, children bool)

func Refresh

func Refresh(ih *Ihandle)

func RefreshChildren

func RefreshChildren(ih *Ihandle)

func Reparent

func Reparent(child, new_parent, ref_child *Ihandle) int

func ResetAttribute

func ResetAttribute(ih *Ihandle, name string)

func SaveClassAttributes

func SaveClassAttributes(ih *Ihandle)

func SaveImage

func SaveImage(ih *Ihandle, file_name, format string) int

func SaveImageAsText

func SaveImageAsText(ih *Ihandle, file_name, format, name string) int

func SetActionFunc

func SetActionFunc(ih *Ihandle, f ActionFunc)

func SetAttribute

func SetAttribute(ih *Ihandle, name, value string)

func SetAttributeHandle

func SetAttributeHandle(ih *Ihandle, name string, ihNamed *Ihandle)

func SetAttributeId

func SetAttributeId(ih *Ihandle, name string, id int, value string)

func SetAttributes

func SetAttributes(ih *Ihandle, values string)

func SetButtonFunc

func SetButtonFunc(ih *Ihandle, f ButtonFunc)

func SetCaretFunc

func SetCaretFunc(ih *Ihandle, f CaretFunc)

func SetClassDefaultAttribute

func SetClassDefaultAttribute(classname, name, value string)

func SetDblclickFunc

func SetDblclickFunc(ih *Ihandle, f DblclickFunc)

func SetDestroyFunc

func SetDestroyFunc(ih *Ihandle, f DestroyFunc)

func SetDropFilesFunc

func SetDropFilesFunc(ih *Ihandle, f DropFilesFunc)

func SetEditFunc

func SetEditFunc(ih *Ihandle, f EditFunc)

func SetEnterWindowFunc

func SetEnterWindowFunc(ih *Ihandle, f EnterWindowFunc)

func SetFloat

func SetFloat(ih *Ihandle, name string, value float32)

func SetGetFocusFunc

func SetGetFocusFunc(ih *Ihandle, f GetFocusFunc)

func SetGlobal

func SetGlobal(name string, value string)

func SetHelpFunc

func SetHelpFunc(ih *Ihandle, f HelpFunc)

func SetIdleFunc

func SetIdleFunc(f IdleFunc)

The user idle callback function can use a select on input channels and a time.After() to process external events without taking too much CPU (idle loop can behave almost like an infinite loop otherwise) Example:

func idleFunc() int {
    select {
    case cmd := <-idleChan:
        // process cmd
    case <-time.After(time.Duration(150 * time.Millisecond)):
    }
    return iup.DEFAULT
}

func SetInt

func SetInt(ih *Ihandle, name string, value int32)

func SetKAnyFunc

func SetKAnyFunc(ih *Ihandle, f KAnyFunc)

func SetKillFocusFunc

func SetKillFocusFunc(ih *Ihandle, f KillFocusFunc)

func SetLanguage

func SetLanguage(lng string)

func SetLeaveWindowFunc

func SetLeaveWindowFunc(ih *Ihandle, f LeaveWindowFunc)

func SetListActionFunc

func SetListActionFunc(ih *Ihandle, f ListActionFunc)

func SetMapFunc

func SetMapFunc(ih *Ihandle, f MapFunc)

func SetMotionFunc

func SetMotionFunc(ih *Ihandle, f MotionFunc)

func SetMultiselectFunc

func SetMultiselectFunc(ih *Ihandle, f MultiselectFunc)

func SetShowFunc

func SetShowFunc(ih *Ihandle, f ShowFunc)

func SetSpinFunc

func SetSpinFunc(ih *Ihandle, f SpinFunc)

func SetTabChangeFunc

func SetTabChangeFunc(ih *Ihandle, f TabChangeFunc)

func SetTabChangePosFunc

func SetTabChangePosFunc(ih *Ihandle, f TabChangePosFunc)

func SetTextActionFunc

func SetTextActionFunc(ih *Ihandle, f TextActionFunc)

func SetToggleActionFunc

func SetToggleActionFunc(ih *Ihandle, f ToggleActionFunc)

func SetTrayClickFunc

func SetTrayClickFunc(ih *Ihandle, f TrayClickFunc)

func SetUnmapFunc

func SetUnmapFunc(ih *Ihandle, f UnmapFunc)

func SetValueChangedFunc

func SetValueChangedFunc(ih *Ihandle, f ValueChangedFunc)

func SetfAttribute

func SetfAttribute(ih *Ihandle, name, format string, args ...interface{})

func SetfAttributeId

func SetfAttributeId(ih *Ihandle, name string, id int, format string, args ...interface{})

func SetfAttributeId2

func SetfAttributeId2(ih *Ihandle, name string, lin int, col int, format string, args ...interface{})

func Show

func Show(ih *Ihandle) int

func ShowXY

func ShowXY(ih *Ihandle, x, y int) int

func StoreAttribute

func StoreAttribute(ih *Ihandle, name, value string)

func StoreAttributeId

func StoreAttributeId(ih *Ihandle, name string, id int, value string)

func StoreGlobal

func StoreGlobal(name, value string)

func StringArrayToC

func StringArrayToC(strs []string) []*C.char

func TextConvertLinColToPos

func TextConvertLinColToPos(ih *Ihandle, lin, col int) int

func TextConvertPosToLinCol

func TextConvertPosToLinCol(ih *Ihandle, pos int) (int, int)

func UnMapFont

func UnMapFont(driverfont string) string

func Unmap

func Unmap(ih *Ihandle)

func Update

func Update(ih *Ihandle)

func UpdateChildren

func UpdateChildren(ih *Ihandle)

func Version

func Version() string

Types

type ActionFunc

type ActionFunc func(*Ihandle) int

type ButtonFunc

type ButtonFunc func(*Ihandle, int, int, int, int, string) int

type CaretFunc

type CaretFunc func(ih *Ihandle, lin, col, pos int) int

type DblclickFunc

type DblclickFunc func(ih *Ihandle, item int, text string) int

type DestroyFunc

type DestroyFunc func(*Ihandle) int

type DropFilesFunc

type DropFilesFunc func(*Ihandle, string, int, int, int) int

type EditFunc

type EditFunc func(ih *Ihandle, item int, text string) int

type EnterWindowFunc

type EnterWindowFunc func(*Ihandle) int

type GetFocusFunc

type GetFocusFunc func(*Ihandle) int

type HelpFunc

type HelpFunc func(*Ihandle) int

type IdleFunc

type IdleFunc func() int

type Ihandle

type Ihandle C.Ihandle

Primary widget handle type.

func Append

func Append(ih, new_child *Ihandle) *Ihandle

func Button

func Button(title string, opts ...interface{}) *Ihandle

func Canvas

func Canvas(opts ...interface{}) *Ihandle

func Cbox

func Cbox(args ...*Ihandle) *Ihandle

func Cboxv

func Cboxv(args []*Ihandle) *Ihandle

func Cells

func Cells(opts ...interface{}) *Ihandle

func Clipboard

func Clipboard() *Ihandle

func ColorBrowser

func ColorBrowser(opts ...interface{}) *Ihandle

func ColorDlg

func ColorDlg(opts ...interface{}) *Ihandle

func Colorbar

func Colorbar(opts ...interface{}) *Ihandle

func Create

func Create(classname string) *Ihandle

func Createp

func Createp(classname string, args ...string) *Ihandle

func Createv

func Createv(classname string, args []string) *Ihandle

func Dial

func Dial(orientation string, opts ...interface{}) *Ihandle

func Dialog

func Dialog(child *Ihandle, opts ...interface{}) *Ihandle

Differs from IupDialog in that any number of parameters may be passed after the child widget. Strings will be interpreted as attributes to set on the newly created dialog.

func ElementPropertiesDialog

func ElementPropertiesDialog(ih *Ihandle, opts ...interface{}) *Ihandle

func FileDlg

func FileDlg(opts ...interface{}) *Ihandle

func Fill

func Fill(opts ...interface{}) *Ihandle

func FontDlg

func FontDlg(opts ...interface{}) *Ihandle

func Frame

func Frame(child *Ihandle, opts ...interface{}) *Ihandle

func GetAttributeHandle

func GetAttributeHandle(ih *Ihandle, name string) *Ihandle

func GetBrother

func GetBrother(ih *Ihandle) *Ihandle

func GetChild

func GetChild(ih *Ihandle, pos int) *Ihandle

func GetDialog

func GetDialog(ih *Ihandle) *Ihandle

func GetDialogChild

func GetDialogChild(ih *Ihandle, name string) *Ihandle

func GetFocus

func GetFocus() *Ihandle

func GetHandle

func GetHandle(name string) *Ihandle

func GetNextChild

func GetNextChild(ih, child *Ihandle) *Ihandle

func GetParent

func GetParent(ih *Ihandle) *Ihandle

func GridBox

func GridBox(args ...*Ihandle) *Ihandle

func GridBoxv

func GridBoxv(args []*Ihandle) *Ihandle

func Hbox

func Hbox(args ...*Ihandle) *Ihandle

func Hboxv

func Hboxv(args []*Ihandle) *Ihandle

func Image

func Image(width, height int, pixels []byte) *Ihandle

func ImageRGB

func ImageRGB(width, height int, pixels []byte) *Ihandle

func ImageRGBA

func ImageRGBA(width, height int, pixels []byte) *Ihandle

func Insert

func Insert(ih, ref_child, new_child *Ihandle) *Ihandle

func Item

func Item(title string, opts ...interface{}) *Ihandle

func Label

func Label(title string, opts ...interface{}) *Ihandle

func LayoutDialog

func LayoutDialog(ih *Ihandle, opts ...interface{}) *Ihandle

func List

func List(opts ...interface{}) *Ihandle

func LoadImage

func LoadImage(file_name string) *Ihandle

func Matrix

func Matrix(opts ...interface{}) *Ihandle
func Menu(args ...*Ihandle) *Ihandle
func Menuv(args []*Ihandle, opts ...interface{}) *Ihandle

func MessageDlg

func MessageDlg(opts ...interface{}) *Ihandle

func NextField

func NextField(ih *Ihandle) *Ihandle

func Normalizer

func Normalizer(args ...*Ihandle) *Ihandle

func Normalizerv

func Normalizerv(args []*Ihandle) *Ihandle

func OleControl

func OleControl(opts ...interface{}) *Ihandle

func PreviousField

func PreviousField(ih *Ihandle) *Ihandle

func ProgressBar

func ProgressBar(opts ...interface{}) *Ihandle

func Radio

func Radio(child *Ihandle) *Ihandle

func Sbox

func Sbox(child *Ihandle) *Ihandle

func Separator

func Separator() *Ihandle

func SetAtt

func SetAtt(ih *Ihandle, handle_name string, args ...string) *Ihandle

Warning: handle_name is ignored

func SetAttrs

func SetAttrs(ih *Ihandle, args ...string) *Ihandle

This method does not exist in C Iup. It has been provided as a convience function to allow code such as:

box := iup.Hbox(button1, button2).SetAttrs("GAP", "5", "MARGIN", "8x8")

C Iup provides SetAtt for this purpose but in Go Iup SetAttrs is an easier method to accomplish this task due to no necessity of handle_name.

func SetFocus

func SetFocus(ih *Ihandle) *Ihandle

func Spin

func Spin(opts ...interface{}) *Ihandle

func Split

func Split(child1, child2 *Ihandle, opts ...interface{}) *Ihandle
func Submenu(title string, menu *Ihandle, opts ...interface{}) *Ihandle

func Tabs

func Tabs(args ...*Ihandle) *Ihandle

func Tabsv

func Tabsv(args []*Ihandle, opts ...interface{}) *Ihandle

func Text

func Text(opts ...interface{}) *Ihandle

func Timer

func Timer() *Ihandle

func Toggle

func Toggle(title string, opts ...interface{}) *Ihandle

func Tree

func Tree(opts ...interface{}) *Ihandle

func User

func User() *Ihandle

func Val

func Val(orientation string, opts ...interface{}) *Ihandle

func Vbox

func Vbox(args ...*Ihandle) *Ihandle

func Vboxv

func Vboxv(args []*Ihandle) *Ihandle

func Zbox

func Zbox(args ...*Ihandle) *Ihandle

func Zboxv

func Zboxv(args []*Ihandle) *Ihandle

func (*Ihandle) C

func (ih *Ihandle) C() *C.Ihandle

type KAnyFunc

type KAnyFunc func(*Ihandle, int) int

type KillFocusFunc

type KillFocusFunc func(*Ihandle) int

type LeaveWindowFunc

type LeaveWindowFunc func(*Ihandle) int

type ListActionFunc

type ListActionFunc func(ih *Ihandle, text string, item, state int) int

type MapFunc

type MapFunc func(*Ihandle) int

type MotionFunc

type MotionFunc func(ih *Ihandle, x, y int, status string) int

type MultiselectFunc

type MultiselectFunc func(ih *Ihandle, text string) int

type ShowFunc

type ShowFunc func(ih *Ihandle, state int) int

type SpinFunc

type SpinFunc func(ih *Ihandle, inc int) int

type TabChangeFunc

type TabChangeFunc func(ih, new_tab, old_tab *Ihandle) int

type TabChangePosFunc

type TabChangePosFunc func(ih *Ihandle, new_pos, old_pos int) int

type TextActionFunc

type TextActionFunc func(ih *Ihandle, ch int, newValue string) int

type ToggleActionFunc

type ToggleActionFunc func(ih *Ihandle, state int) int

type TrayClickFunc

type TrayClickFunc func(ih *Ihandle, but, pressed, dclick int) int

type UnmapFunc

type UnmapFunc func(*Ihandle) int

type ValueChangedFunc

type ValueChangedFunc func(ih *Ihandle) int

Directories

Path Synopsis
examples
iup-greeter
Hello World using a custom dialog.
Hello World using a custom dialog.
iup-hello
Show a 'Hello World' message box.
Show a 'Hello World' message box.
iup-rot13
Hello World using a custom dialog.
Hello World using a custom dialog.
iup-versions
Display the go-iup and Iup library version numbers.
Display the go-iup and Iup library version numbers.

Jump to

Keyboard shortcuts

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