From 23e6739dfabd61fd732d9b78e13a55aeaa7c2c2d Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sat, 21 Feb 2015 14:57:21 -0500 Subject: [PATCH] Added provisions for giving Table columns custom titles. Will now implement. --- table.go | 3 ++- zz_test.go | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/table.go b/table.go index 0f0552f..c9f7511 100644 --- a/table.go +++ b/table.go @@ -18,7 +18,8 @@ import ( // Tables are read-only by default, except for checkboxes, which are user-settable. // // Tables have headers on top of all columns. -// Currently the name of the header is the same as the name of the field. +// By default, the name of the header is the same as the name of the field. +// If the struct field has a tag "uicolumn", its value is used as the header string instead. // // Tables maintain their own storage behind a sync.RWMutex-compatible sync.Locker; use Table.Lock()/Table.Unlock() to make changes and Table.RLock()/Table.RUnlock() to merely read values. type Table interface { diff --git a/zz_test.go b/zz_test.go index 6fa36c8..3597ccb 100644 --- a/zz_test.go +++ b/zz_test.go @@ -38,6 +38,12 @@ func newSimpleGrid(n int, c ...Control) SimpleGrid { return g } +type colnametest struct { + IncorrectColumnName string `uicolumn:"Correct Column Name"` + IncorrectColumnName2 string `uicolumn:"正解なコラムネーム"` // thanks GlitterBerri in irc.badnik.net/#zelda + AlreadyCorrect string +} + type dtype struct { Name string Address string @@ -183,7 +189,9 @@ func (tw *testwin) make(done chan struct{}) { tw.roenter.OnChanged(func() { tw.roro.SetText(tw.roenter.Text()) }) - tw.t.Append("Read-Only", newVerticalStack(tw.roenter, tw.roro)) + s := newVerticalStack(tw.roenter, tw.roro, NewTable(reflect.TypeOf(colnametest{}))) + s.SetStretchy(2) + tw.t.Append("Read-Only", s) tw.icons = readIcons() // repainter uses these tw.repainter = newRepainter(15) tw.t.Append("Repaint", tw.repainter.grid)