pageMain.go 2.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
package ui

import (
	"github.com/easysoft/zentaoatf/src/utils"
	"github.com/jroimartin/gocui"
	"log"
)

func InitMainPage(g *gocui.Gui) error {
	maxX, maxY := g.Size()
11 12
	if maxX < utils.MinWidth {
		maxX = utils.MinWidth
13
	}
14 15
	if maxY < utils.MinHeight {
		maxY = utils.MinHeight
16
	}
17
	utils.MainViewHeight = maxY - utils.CmdViewHeight - 1
18

19
	quickBarView := NewPanelWidget(g, "quickBarView", 0, 0, utils.LeftWidth, 2, "")
20 21
	ViewMap["root"] = append(ViewMap["root"], quickBarView.Name())

22
	sideView := NewPanelWidget(g, "side", 0, 2, utils.LeftWidth, maxY-3, "")
23 24 25 26 27 28 29 30 31
	ViewMap["root"] = append(ViewMap["root"], sideView.Name())

	x := 2
	for _, name := range Tabs {
		tabView := NewTabWidget(g, name, x, 0, utils.Ucfirst(name))
		ViewMap["root"] = append(ViewMap["root"], tabView.Name())
		x += 10
	}

32
	mainView := NewPanelWidget(g, "main", utils.LeftWidth, 0, maxX-1-utils.LeftWidth, utils.MainViewHeight, "")
33
	ViewMap["root"] = append(ViewMap["root"], mainView.Name())
aaronchen2k2k's avatar
aaronchen2k2k 已提交
34
	mainView.Wrap = true
35

36
	cmdView := NewPanelWidget(g, "cmd", utils.LeftWidth, utils.MainViewHeight, maxX-1-utils.LeftWidth, utils.CmdViewHeight, "")
37
	ViewMap["root"] = append(ViewMap["root"], cmdView.Name())
38
	mainView.Wrap = true
39 40 41 42

	utils.PrintPreferenceToView(cmdView)

	NewHelpWidget(g)
43
	MainPageKeyBindings(g)
44

45
	InitTestingPage(g)
46 47 48 49 50 51 52 53 54 55 56 57

	return nil
}

func MainPageKeyBindings(g *gocui.Gui) error {
	if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, Quit); err != nil {
		return err
	}
	if err := g.SetKeybinding("", gocui.KeyCtrlH, gocui.ModNone, ShowHelp); err != nil {
		log.Panicln(err)
	}

58
	if err := g.SetKeybinding("main", gocui.MouseLeft, gocui.ModNone, setCurrView("main")); err != nil {
59 60
		return err
	}
61 62 63 64
	if err := g.SetKeybinding("main", gocui.KeyArrowUp, gocui.ModNone, scroll(-1)); err != nil {
		return err
	}
	if err := g.SetKeybinding("main", gocui.KeyArrowDown, gocui.ModNone, scroll(1)); err != nil {
65 66 67
		return err
	}

68 69 70 71 72
	if err := g.SetKeybinding("cmd", gocui.MouseLeft, gocui.ModNone, setCurrView("cmd")); err != nil {
		return err
	}
	if err := g.SetKeybinding("cmd", gocui.KeyArrowUp, gocui.ModNone, scroll(-1)); err != nil {
		return err
73
	}
74 75 76 77
	if err := g.SetKeybinding("cmd", gocui.KeyArrowDown, gocui.ModNone, scroll(1)); err != nil {
		return err
	}

78 79
	return nil
}