From a8b7283a875cd6d0de905a5f69d05bd134eb02c9 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Wed, 30 Jul 2014 12:36:00 -0400 Subject: Moved the definition of Control itself to control.go and updated some comments. --- redo/control.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'redo/control.go') diff --git a/redo/control.go b/redo/control.go index bd4ef00..8174ad7 100644 --- a/redo/control.go +++ b/redo/control.go @@ -2,7 +2,18 @@ package ui -// All Controls embed this structure, which provides the Control interface methods. +// Control represents a control. +// All Controls have event handlers that take a single argument (the Doer active during the event) and return nothing. +type Control interface { + setParent(p *controlParent) // controlParent defined per-platform + // TODO enable/disable (public) + // TODO show/hide (public) + containerShow() // for Windows, where all controls need ot belong to an overlapped window, not to a container control; these respect programmer settings + containerHide() + controlSizing +} + +// All Controls on the backend (that is, everything except Stack and Grid) embed this structure, which provides the Control interface methods. // If a Control needs to override one of these functions, it assigns to the function variables. type controldefs struct { fsetParent func(p *controlParent) -- cgit v1.2.3