summaryrefslogtreecommitdiff
path: root/redo/control.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-07-30 12:36:00 -0400
committerPietro Gagliardi <[email protected]>2014-07-30 12:36:00 -0400
commita8b7283a875cd6d0de905a5f69d05bd134eb02c9 (patch)
treef4782553554c7e33309c30ad0cf863b444d2f3ee /redo/control.go
parentc0473db73c11927144f79bb69d01a290753b5de0 (diff)
Moved the definition of Control itself to control.go and updated some comments.
Diffstat (limited to 'redo/control.go')
-rw-r--r--redo/control.go13
1 files changed, 12 insertions, 1 deletions
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)