]> git.lizzy.rs Git - micro.git/blob - cmd/micro/action/pane.go
Add keymenu
[micro.git] / cmd / micro / action / pane.go
1 package action
2
3 import (
4         "github.com/zyedidia/micro/cmd/micro/buffer"
5         "github.com/zyedidia/micro/cmd/micro/display"
6         "github.com/zyedidia/micro/cmd/micro/info"
7 )
8
9 type Pane interface {
10         Handler
11         display.Window
12         ID() uint64
13         Name() string
14         Close()
15 }
16
17 type EditPane struct {
18         display.BWindow
19         *BufHandler
20 }
21
22 type InfoPane struct {
23         display.BWindow
24         *InfoHandler
25         *info.InfoBuf
26 }
27
28 func NewBufEditPane(x, y, width, height int, b *buffer.Buffer) *EditPane {
29         e := new(EditPane)
30         // TODO: can probably replace editpane with bufhandler entirely
31         w := display.NewBufWindow(x, y, width, height, b)
32         e.BWindow = w
33         e.BufHandler = NewBufHandler(b, w)
34
35         return e
36 }
37
38 func NewInfoBar() *InfoPane {
39         e := new(InfoPane)
40         ib := info.NewBuffer()
41         w := display.NewInfoWindow(ib)
42         e.BWindow = w
43         e.InfoHandler = NewInfoHandler(ib, w)
44         e.InfoBuf = ib
45
46         return e
47 }