Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3a0ef06e19 | |||
| a3bb4098fb | |||
| c30ac90577 | |||
| 7628903e59 |
@@ -1,8 +1,8 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
|
|
||||||
type abstractContainer struct {
|
type abstractContainer struct {
|
||||||
box tomo.ContainerBox
|
box tomo.ContainerBox
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(Button)
|
var _ tomo.Object = new(Button)
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ package objects
|
|||||||
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
import "time"
|
import "time"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(Calendar)
|
var _ tomo.Object = new(Calendar)
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
|
|
||||||
var _ tomo.Object = new(Checkbox)
|
var _ tomo.Object = new(Checkbox)
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image/color"
|
import "image/color"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/tomo/canvas"
|
import "git.holanet.xyz/tomo/tomo/canvas"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
import "git.tebibyte.media/sashakoshka/goutil/image/color"
|
import "git.holanet.xyz/platform/go-util/image/color"
|
||||||
|
|
||||||
var _ tomo.Object = new(HSVAColorPicker)
|
var _ tomo.Object = new(HSVAColorPicker)
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
// DialogKind defines the semantic role of a dialog window.
|
// DialogKind defines the semantic role of a dialog window.
|
||||||
type DialogKind int; const (
|
type DialogKind int; const (
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
// import "image"
|
// import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(Dropdown)
|
var _ tomo.Object = new(Dropdown)
|
||||||
|
|
||||||
|
|||||||
10
file.go
10
file.go
@@ -2,11 +2,11 @@ package objects
|
|||||||
|
|
||||||
import "time"
|
import "time"
|
||||||
import "unicode"
|
import "unicode"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/data"
|
import "git.holanet.xyz/tomo/tomo/data"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(File)
|
var _ tomo.Object = new(File)
|
||||||
|
|
||||||
|
|||||||
7
go.mod
7
go.mod
@@ -1,8 +1,9 @@
|
|||||||
module git.tebibyte.media/tomo/objects
|
module git.holanet.xyz/tomo/objects
|
||||||
|
|
||||||
go 1.21.0
|
go 1.23.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
git.tebibyte.media/sashakoshka/goutil v0.3.1
|
git.holanet.xyz/platform/go-util v0.10.0
|
||||||
|
git.holanet.xyz/tomo/tomo v0.49.0
|
||||||
git.tebibyte.media/tomo/tomo v0.48.0
|
git.tebibyte.media/tomo/tomo v0.48.0
|
||||||
)
|
)
|
||||||
|
|||||||
6
go.sum
6
go.sum
@@ -1,4 +1,6 @@
|
|||||||
git.tebibyte.media/sashakoshka/goutil v0.3.1 h1:zvAMKS+aea96q6oTttCWfNLXqOHisI3IKAwX6BWKfY0=
|
git.holanet.xyz/platform/go-util v0.10.0 h1:FGBFv4Cj/t3uxHLcnVQSC6Sdbqzo1tlzEEo3ckveFNM=
|
||||||
git.tebibyte.media/sashakoshka/goutil v0.3.1/go.mod h1:Yo/M2sbi9IbzZCFsEj8/Fg7sNwHkDaJ6saTHOha+Dow=
|
git.holanet.xyz/platform/go-util v0.10.0/go.mod h1:Fdl9GkBeLW58RGuomAglqu3hfV4XAirml/9GqaQDKKA=
|
||||||
|
git.holanet.xyz/tomo/tomo v0.49.0 h1:eQqp8nYwcb4NCMKkxRATY1YKVlYIR64wuZZIL7MUmTM=
|
||||||
|
git.holanet.xyz/tomo/tomo v0.49.0/go.mod h1:sRJE1lh8Om/1Vvtk/pFgzeZW4jrOniIqZmJo5Y92Hoc=
|
||||||
git.tebibyte.media/tomo/tomo v0.48.0 h1:AE21ElHwUSPsX82ZWCnoNxJFi9Oswyd3dPDPMbxTueQ=
|
git.tebibyte.media/tomo/tomo v0.48.0 h1:AE21ElHwUSPsX82ZWCnoNxJFi9Oswyd3dPDPMbxTueQ=
|
||||||
git.tebibyte.media/tomo/tomo v0.48.0/go.mod h1:WrtilgKB1y8O2Yu7X4mYcRiqOlPR8NuUnoA/ynkQWrs=
|
git.tebibyte.media/tomo/tomo v0.48.0/go.mod h1:WrtilgKB1y8O2Yu7X4mYcRiqOlPR8NuUnoA/ynkQWrs=
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/text"
|
import "git.holanet.xyz/tomo/tomo/text"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
|
|
||||||
var _ tomo.Object = new(Heading)
|
var _ tomo.Object = new(Heading)
|
||||||
|
|
||||||
|
|||||||
4
icon.go
4
icon.go
@@ -1,7 +1,7 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/canvas"
|
import "git.holanet.xyz/tomo/tomo/canvas"
|
||||||
|
|
||||||
var _ tomo.Object = new(Icon)
|
var _ tomo.Object = new(Icon)
|
||||||
|
|
||||||
|
|||||||
2
input.go
2
input.go
@@ -1,6 +1,6 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
|
|
||||||
func isClickingKey (key input.Key) bool {
|
func isClickingKey (key input.Key) bool {
|
||||||
return key == input.KeyEnter || key == input.Key(' ')
|
return key == input.KeyEnter || key == input.Key(' ')
|
||||||
|
|||||||
6
label.go
6
label.go
@@ -1,8 +1,8 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/text"
|
import "git.holanet.xyz/tomo/tomo/text"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
|
|
||||||
var _ tomo.Object = new(Label)
|
var _ tomo.Object = new(Label)
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(LabelCheckbox)
|
var _ tomo.Object = new(LabelCheckbox)
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image/color"
|
import "image/color"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(LabelSwatch)
|
var _ tomo.Object = new(LabelSwatch)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package layouts
|
package layouts
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
|
|
||||||
var _ tomo.Layout = ContractVertical
|
var _ tomo.Layout = ContractVertical
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package layouts
|
package layouts
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
|
|
||||||
var _ tomo.Layout = FlowVertical
|
var _ tomo.Layout = FlowVertical
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package layouts
|
|||||||
|
|
||||||
import "math"
|
import "math"
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
|
|
||||||
var _ tomo.Layout = new(Grid)
|
var _ tomo.Layout = new(Grid)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package layouts
|
package layouts
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
|
|
||||||
var _ tomo.Layout = ContractVertical
|
var _ tomo.Layout = ContractVertical
|
||||||
|
|
||||||
|
|||||||
8
menu.go
8
menu.go
@@ -1,10 +1,10 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
// import "git.tebibyte.media/tomo/tomo/event"
|
// import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
// Menu is a menu window.
|
// Menu is a menu window.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(MenuItem)
|
var _ tomo.Object = new(MenuItem)
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/data"
|
import "git.holanet.xyz/tomo/tomo/data"
|
||||||
import "git.tebibyte.media/tomo/tomo/canvas"
|
import "git.holanet.xyz/tomo/tomo/canvas"
|
||||||
|
|
||||||
var _ tomo.Object = new(MimeIcon)
|
var _ tomo.Object = new(MimeIcon)
|
||||||
|
|
||||||
|
|||||||
26
notebook.go
26
notebook.go
@@ -1,8 +1,8 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(Notebook)
|
var _ tomo.Object = new(Notebook)
|
||||||
|
|
||||||
@@ -14,6 +14,7 @@ var _ tomo.Object = new(Notebook)
|
|||||||
// - TabSpacer sits at either end of the tab row, bookending the list of tabs.
|
// - TabSpacer sits at either end of the tab row, bookending the list of tabs.
|
||||||
// - Tab appears in the tab row for each tab in the notebook. The user can
|
// - Tab appears in the tab row for each tab in the notebook. The user can
|
||||||
// click on the tab to switch to it.
|
// click on the tab to switch to it.
|
||||||
|
// - PageWrapper sits underneath the TabRow and contains the active page.
|
||||||
//
|
//
|
||||||
// TabSpacer tags:
|
// TabSpacer tags:
|
||||||
// - [left] The spacer is on the left.
|
// - [left] The spacer is on the left.
|
||||||
@@ -27,6 +28,7 @@ type Notebook struct {
|
|||||||
leftSpacer tomo.Box
|
leftSpacer tomo.Box
|
||||||
rightSpacer tomo.Box
|
rightSpacer tomo.Box
|
||||||
tabsRow tomo.ContainerBox
|
tabsRow tomo.ContainerBox
|
||||||
|
pageWrapper tomo.ContainerBox
|
||||||
active string
|
active string
|
||||||
pages []*page
|
pages []*page
|
||||||
}
|
}
|
||||||
@@ -39,10 +41,6 @@ func NewNotebook () *Notebook {
|
|||||||
notebook.box.SetRole(tomo.R("objects", "Notebook"))
|
notebook.box.SetRole(tomo.R("objects", "Notebook"))
|
||||||
notebook.box.SetAttr(tomo.ALayout(layouts.Column { false, true }))
|
notebook.box.SetAttr(tomo.ALayout(layouts.Column { false, true }))
|
||||||
|
|
||||||
notebook.tabsRow = tomo.NewContainerBox()
|
|
||||||
notebook.tabsRow.SetRole(tomo.R("objects", "TabRow"))
|
|
||||||
notebook.box.Add(notebook.tabsRow)
|
|
||||||
|
|
||||||
notebook.leftSpacer = tomo.NewBox()
|
notebook.leftSpacer = tomo.NewBox()
|
||||||
notebook.leftSpacer.SetRole(tomo.R("objects", "TabSpacer"))
|
notebook.leftSpacer.SetRole(tomo.R("objects", "TabSpacer"))
|
||||||
notebook.leftSpacer.SetTag("left", true)
|
notebook.leftSpacer.SetTag("left", true)
|
||||||
@@ -50,6 +48,15 @@ func NewNotebook () *Notebook {
|
|||||||
notebook.rightSpacer.SetRole(tomo.R("objects", "TabSpacer"))
|
notebook.rightSpacer.SetRole(tomo.R("objects", "TabSpacer"))
|
||||||
notebook.rightSpacer.SetTag("right", true)
|
notebook.rightSpacer.SetTag("right", true)
|
||||||
|
|
||||||
|
notebook.tabsRow = tomo.NewContainerBox()
|
||||||
|
notebook.tabsRow.SetRole(tomo.R("objects", "TabRow"))
|
||||||
|
notebook.box.Add(notebook.tabsRow)
|
||||||
|
|
||||||
|
notebook.pageWrapper = tomo.NewContainerBox()
|
||||||
|
notebook.pageWrapper.SetRole(tomo.R("objects", "PageWrapper"))
|
||||||
|
notebook.pageWrapper.SetAttr(tomo.ALayout(layouts.Column { true }))
|
||||||
|
notebook.box.Add(notebook.pageWrapper)
|
||||||
|
|
||||||
notebook.Clear()
|
notebook.Clear()
|
||||||
notebook.setTabRowLayout()
|
notebook.setTabRowLayout()
|
||||||
return notebook
|
return notebook
|
||||||
@@ -64,11 +71,11 @@ func (this *Notebook) GetBox () tomo.Box {
|
|||||||
func (this *Notebook) Activate (name string) {
|
func (this *Notebook) Activate (name string) {
|
||||||
if _, tab := this.findTab(this.active); tab != nil {
|
if _, tab := this.findTab(this.active); tab != nil {
|
||||||
tab.setActive(false)
|
tab.setActive(false)
|
||||||
this.box.Remove(tab.root)
|
this.pageWrapper.Remove(tab.root)
|
||||||
}
|
}
|
||||||
if _, tab := this.findTab(name); tab != nil {
|
if _, tab := this.findTab(name); tab != nil {
|
||||||
tab.setActive(true)
|
tab.setActive(true)
|
||||||
this.box.Add(tab.root)
|
this.pageWrapper.Add(tab.root)
|
||||||
} else {
|
} else {
|
||||||
name = ""
|
name = ""
|
||||||
}
|
}
|
||||||
@@ -129,6 +136,7 @@ func (this *Notebook) Clear () {
|
|||||||
this.tabsRow.Clear()
|
this.tabsRow.Clear()
|
||||||
this.tabsRow.Add(this.leftSpacer)
|
this.tabsRow.Add(this.leftSpacer)
|
||||||
this.tabsRow.Add(this.rightSpacer)
|
this.tabsRow.Add(this.rightSpacer)
|
||||||
|
this.pageWrapper.Clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *Notebook) setTabRowLayout () {
|
func (this *Notebook) setTabRowLayout () {
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ package objects
|
|||||||
|
|
||||||
import "math"
|
import "math"
|
||||||
import "strconv"
|
import "strconv"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/text"
|
import "git.holanet.xyz/tomo/tomo/text"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.Object = new(NumberInput)
|
var _ tomo.Object = new(NumberInput)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.ContentObject = new(Pegboard)
|
var _ tomo.ContentObject = new(Pegboard)
|
||||||
|
|
||||||
@@ -12,9 +12,9 @@ type Pegboard struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewPegboard creates a new pegboard. If the provided layout is nil, it will
|
// NewPegboard creates a new pegboard. If the provided layout is nil, it will
|
||||||
// use a FlowHorizontal layout.
|
// use a FlowVertical layout.
|
||||||
func NewPegboard (layout tomo.Layout, children ...tomo.Object) *Pegboard {
|
func NewPegboard (layout tomo.Layout, children ...tomo.Object) *Pegboard {
|
||||||
if layout == nil { layout = layouts.FlowHorizontal }
|
if layout == nil { layout = layouts.FlowVertical }
|
||||||
pegboard := &Pegboard { }
|
pegboard := &Pegboard { }
|
||||||
pegboard.init(layout, children...)
|
pegboard.init(layout, children...)
|
||||||
pegboard.box.SetRole(tomo.R("objects", "Pegboard"))
|
pegboard.box.SetRole(tomo.R("objects", "Pegboard"))
|
||||||
|
|||||||
6
root.go
6
root.go
@@ -1,6 +1,6 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
|
|
||||||
var _ tomo.ContentObject = new(Root)
|
var _ tomo.ContentObject = new(Root)
|
||||||
|
|
||||||
@@ -11,8 +11,8 @@ type Root struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewRoot creates a new container.
|
// NewRoot creates a new container.
|
||||||
func NewRoot (layout tomo.Layout, children ...tomo.Object) *Container {
|
func NewRoot (layout tomo.Layout, children ...tomo.Object) *Root {
|
||||||
this := &Container { }
|
this := &Root { }
|
||||||
this.init(layout, children...)
|
this.init(layout, children...)
|
||||||
this.box.SetRole(tomo.R("objects", "Root"))
|
this.box.SetRole(tomo.R("objects", "Root"))
|
||||||
this.box.SetTag("outer", true)
|
this.box.SetTag("outer", true)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
|
|
||||||
var _ tomo.Object = new(Scrollbar)
|
var _ tomo.Object = new(Scrollbar)
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
// ScrollSide determines which Scrollbars are active in a ScrollContainer.
|
// ScrollSide determines which Scrollbars are active in a ScrollContainer.
|
||||||
type ScrollSide int; const (
|
type ScrollSide int; const (
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
|
|
||||||
var _ tomo.ContentObject = new(Segment)
|
var _ tomo.ContentObject = new(Segment)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
|
|
||||||
var _ tomo.Object = new(Separator)
|
var _ tomo.Object = new(Separator)
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ package objects
|
|||||||
|
|
||||||
import "math"
|
import "math"
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
|
|
||||||
var _ tomo.Object = new(Slider)
|
var _ tomo.Object = new(Slider)
|
||||||
|
|
||||||
|
|||||||
12
swatch.go
12
swatch.go
@@ -3,12 +3,12 @@ package objects
|
|||||||
import "log"
|
import "log"
|
||||||
import "image"
|
import "image"
|
||||||
import "image/color"
|
import "image/color"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/tomo/canvas"
|
import "git.holanet.xyz/tomo/tomo/canvas"
|
||||||
import "git.tebibyte.media/tomo/objects/layouts"
|
import "git.holanet.xyz/tomo/objects/layouts"
|
||||||
import "git.tebibyte.media/tomo/objects/internal"
|
import "git.holanet.xyz/tomo/objects/internal"
|
||||||
|
|
||||||
var _ tomo.Object = new(Swatch)
|
var _ tomo.Object = new(Swatch)
|
||||||
|
|
||||||
|
|||||||
10
textinput.go
10
textinput.go
@@ -2,11 +2,11 @@ package objects
|
|||||||
|
|
||||||
import "time"
|
import "time"
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/text"
|
import "git.holanet.xyz/tomo/tomo/text"
|
||||||
import "git.tebibyte.media/tomo/tomo/input"
|
import "git.holanet.xyz/tomo/tomo/input"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
import "git.tebibyte.media/tomo/objects/internal"
|
import "git.holanet.xyz/tomo/objects/internal"
|
||||||
|
|
||||||
const textInputHistoryMaximum = 64
|
const textInputHistoryMaximum = 64
|
||||||
const textInputHistoryMaxAge = time.Second / 4
|
const textInputHistoryMaxAge = time.Second / 4
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package objects
|
package objects
|
||||||
|
|
||||||
import "image"
|
import "image"
|
||||||
import "git.tebibyte.media/tomo/tomo"
|
import "git.holanet.xyz/tomo/tomo"
|
||||||
import "git.tebibyte.media/tomo/tomo/text"
|
import "git.holanet.xyz/tomo/tomo/text"
|
||||||
import "git.tebibyte.media/tomo/tomo/event"
|
import "git.holanet.xyz/tomo/tomo/event"
|
||||||
|
|
||||||
var _ tomo.Object = new(TextView)
|
var _ tomo.Object = new(TextView)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user