Cleaned up a bunch of TODOs, moving a few to future plans.
This commit is contained in:
parent
d384df97d0
commit
c94a976822
|
@ -383,7 +383,6 @@ var modonlykeys = map[C.guint]Modifiers{
|
||||||
|
|
||||||
//export our_area_focus_callback
|
//export our_area_focus_callback
|
||||||
func our_area_focus_callback(widget *C.GtkWidget, direction C.GtkDirectionType, data C.gpointer) C.gboolean {
|
func our_area_focus_callback(widget *C.GtkWidget, direction C.GtkDirectionType, data C.gpointer) C.gboolean {
|
||||||
// TODO figure out how this callback affects keyboard scrolling
|
|
||||||
if C.gtk_widget_is_focus(widget) == C.FALSE {
|
if C.gtk_widget_is_focus(widget) == C.FALSE {
|
||||||
// this event indicates entering focus; always allow it
|
// this event indicates entering focus; always allow it
|
||||||
return continueEventChain
|
return continueEventChain
|
||||||
|
|
|
@ -80,7 +80,7 @@ func NewTab() Tab {
|
||||||
// Label shows one line of text; any text that does not fit is truncated.
|
// Label shows one line of text; any text that does not fit is truncated.
|
||||||
// A Label can either have smart vertical alignment relative to the control to its right or just be vertically aligned to the top (standalone).
|
// A Label can either have smart vertical alignment relative to the control to its right or just be vertically aligned to the top (standalone).
|
||||||
// The effect of placing a non-standalone Label in any context other than to the immediate left of a Control is undefined.
|
// The effect of placing a non-standalone Label in any context other than to the immediate left of a Control is undefined.
|
||||||
// Both types of labels currently are left-aligned (TODO).
|
// Both types of labels are left-aligned. [FUTURE PLANS: For platform-specific horizontal alignment rules, use a Form.]
|
||||||
type Label interface {
|
type Label interface {
|
||||||
Control
|
Control
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
// 14 august 2014
|
||||||
|
|
||||||
|
/*
|
||||||
|
[this is being written]
|
||||||
|
|
||||||
|
notes:
|
||||||
|
- default behavior of event handlers is to do nothing
|
||||||
|
- default behavior of event handlers that return bool is to do nothing but return false
|
||||||
|
- passing nil to an event handler set function restores default behavior
|
||||||
|
*/
|
||||||
|
package ui
|
|
@ -22,6 +22,8 @@ Tab
|
||||||
investigate close buttons (especially for LikeTab)
|
investigate close buttons (especially for LikeTab)
|
||||||
Area
|
Area
|
||||||
Repaint(rect image.Rectangle)
|
Repaint(rect image.Rectangle)
|
||||||
|
keyboard scrolling
|
||||||
|
GTK+ port: our_area_focus_callback() has something to do with it
|
||||||
Tree
|
Tree
|
||||||
Mac OS X: make sure newScrollView() has the correct parameters for Table and Tree (and that Area has the appropriate ones from both + its own no border)
|
Mac OS X: make sure newScrollView() has the correct parameters for Table and Tree (and that Area has the appropriate ones from both + its own no border)
|
||||||
TextArea
|
TextArea
|
||||||
|
@ -41,6 +43,8 @@ default buttons
|
||||||
figure out how they interact with Areas (especially on GTK+, where GtkEntry somehow has special handling for this)
|
figure out how they interact with Areas (especially on GTK+, where GtkEntry somehow has special handling for this)
|
||||||
in general
|
in general
|
||||||
new moving stack and future moving heap make package ui a pain in general
|
new moving stack and future moving heap make package ui a pain in general
|
||||||
|
dialog boxes
|
||||||
|
find out if Stop has an effect before a dialog box function returns
|
||||||
|
|
||||||
so I don't forget, some TODOs:
|
so I don't forget, some TODOs:
|
||||||
windows
|
windows
|
||||||
|
|
|
@ -44,8 +44,7 @@ func Do(f func()) {
|
||||||
// Stop informs package ui that it should stop.
|
// Stop informs package ui that it should stop.
|
||||||
// Stop then returns immediately.
|
// Stop then returns immediately.
|
||||||
// Some time after this request is received, Go() will return without performing any final cleanup.
|
// Some time after this request is received, Go() will return without performing any final cleanup.
|
||||||
// Stop will not have an effect until any event handlers or dialog boxes presently active return.
|
// Stop will not have an effect until any event handlers return.
|
||||||
// (TODO make sure this is the case for dialog boxes)
|
|
||||||
func Stop() {
|
func Stop() {
|
||||||
// can't send this directly across issuer
|
// can't send this directly across issuer
|
||||||
go func() {
|
go func() {
|
||||||
|
@ -65,9 +64,6 @@ type event struct {
|
||||||
lock sync.Mutex
|
lock sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
// do should never be nil
|
|
||||||
// TODO when writing doc.go, document that setting nil to an event handler ignores the event; if it returns a boolean value, false is returned
|
|
||||||
|
|
||||||
func newEvent() *event {
|
func newEvent() *event {
|
||||||
return &event{
|
return &event{
|
||||||
do: func() bool {
|
do: func() bool {
|
||||||
|
|
Loading…
Reference in New Issue