atk

module
v1.2.3-0...-078d5f3 Latest Latest
Warning

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

Go to latest
Published: Jun 7, 2021 License: LGPL-2.1

README

About this fork

This is just a quick placeholder for the moment. I may work on customizations at some point but for the time being this is just a straight fork of the original Atk package from visualfc.

Usage

I haven't spent any time resetting the internal module references so it won't work directly yet. At the moment the only change is the cgo settings which point the tk libraries away from the deprecated MacOS tk framework and to a custom install of Tk via Homebrew on the Mac platform. To use this, just clone the repo somewhere and then add a line to your project's go.mod file:

replace github.com/visualfc/atk => /my/path/to/where/I/cloned/this/atk

This way your code still imports as

import "github.com/visualfc/atk/tk"

but will pick up the forked copy instead, without changing anything else (and can be built on other platforms without the replace statement to use the stock visualfc version).

atk

Another Golang Tcl/Tk binding GUI ToolKit

go get github.com/visualfc/atk
Install Tcl/Tk

http://www.tcl-lang.org

Demo

https://github.com/visualfc/atk_demo

Sample
package main

import (
	"github.com/visualfc/atk/tk"
)

type Window struct {
	*tk.Window
}

func NewWindow() *Window {
	mw := &Window{tk.RootWindow()}
	lbl := tk.NewLabel(mw, "Hello ATK")
	btn := tk.NewButton(mw, "Quit")
	btn.OnCommand(func() {
		tk.Quit()
	})
	tk.NewVPackLayout(mw).AddWidgets(lbl, tk.NewLayoutSpacer(mw, 0, true), btn)
	mw.ResizeN(300, 200)
	return mw
}

func main() {
	tk.MainLoop(func() {
		mw := NewWindow()
		mw.SetTitle("ATK Sample")
		mw.Center()
		mw.ShowNormal()
	})
}

Directories

Path Synopsis
tk

Jump to

Keyboard shortcuts

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