add clipboard

添加剪切板功能
This commit is contained in:
谢小军
2020-02-21 19:55:29 +08:00
parent 8585c30fbd
commit 82c7a46d92
6 changed files with 62 additions and 16 deletions

View File

@@ -4,12 +4,14 @@ import (
"fmt"
"log"
"strconv"
"strings"
"github.com/xxjwxc/public/tools"
"github.com/xxjwxc/gormt/data/config"
"github.com/jroimartin/gocui"
"github.com/xxjwxc/public/myclipboard"
"github.com/xxjwxc/public/mycui"
)
@@ -77,7 +79,7 @@ func mainLayout(g *gocui.Gui) error {
// }
}
if v, err := g.SetView(_viewDefine, division(maxX, uiPart[0]), 1, maxX-1, maxY-1); err != nil {
if v, err := g.SetView(_viewDefine, division(maxX, uiPart[0]), 1, maxX-1, maxY-3); err != nil {
if err != gocui.ErrUnknownView {
return err
}
@@ -103,6 +105,11 @@ func nemuLayOut(g *gocui.Gui) {
AddHandler(gocui.KeyArrowUp, menuDlg.prevButton).AddHandler(gocui.KeyArrowDown, menuDlg.nextButton).
AddHandler(gocui.KeyEnter, enterSet).AddHandler(gocui.MouseLeft, enterSet))
maxX, maxY := g.Size() // division(maxY, uiPart[1])
clipboardBtn = mycui.NewButton(g, _clipboardBtn, SLocalize(_clipboardBtn), division(maxX, uiPart[0])+2, maxY-3, 5).
AddHandler(gocui.KeyEnter, enterClipboard).AddHandler(gocui.MouseLeft, enterClipboard)
clipboardBtn.Draw()
menuDlg.Draw()
menuFocusButton(g)
}
@@ -163,6 +170,24 @@ func addlog(g *gocui.Gui, str string) error {
return err
}
func enterClipboard(g *gocui.Gui, v *gocui.View) error {
myclipboard.Set(copyInfo)
maxX, _ := g.Size()
modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35).
SetTextColor(gocui.ColorRed).SetText("copy success \n 已 复 制 到 剪 切 板 ")
modal.Mouse = true
// modal.SetBgColor(gocui.ColorRed)
_handle := func(g *gocui.Gui, v *gocui.View) error {
modal.Close()
return nil
}
modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle)
modal.Draw()
return nil
}
func enterRun(g *gocui.Gui, v *gocui.View) error {
setlog(g, "run .... ing")
generate(g, v)
@@ -242,12 +267,14 @@ func buttonSave(g *gocui.Gui, v *gocui.View) error {
port, err := strconv.Atoi(mp["db_port"])
if err != nil {
modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35).SetTextColor(gocui.ColorRed).SetText("port error")
// modal.SetBgColor(gocui.ColorRed)
modal.AddButton("ok", "OK", gocui.KeyEnter, func(g *gocui.Gui, v *gocui.View) error {
_handle := func(g *gocui.Gui, v *gocui.View) error {
modal.Close()
form.SetCurrentItem(form.GetCurrentItem())
return nil
})
}
// modal.SetBgColor(gocui.ColorRed)
modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle)
modal.Draw()
return nil
@@ -273,11 +300,12 @@ func buttonSave(g *gocui.Gui, v *gocui.View) error {
config.SaveToFile()
modal := mycui.NewModal(g, division(maxX, uiPart[0])+5, 10, division(maxX, uiPart[0])+35).SetText("save success")
modal.AddButton("ok", "OK", gocui.KeyEnter, func(g *gocui.Gui, v *gocui.View) error {
_handle := func(g *gocui.Gui, v *gocui.View) error {
modal.Close()
buttonCancel(g, v)
return nil
})
}
modal.AddButton("ok", "OK", gocui.KeyEnter, _handle).AddHandler(gocui.MouseLeft, _handle)
modal.Draw()
return nil
@@ -306,10 +334,11 @@ func showStruct(g *gocui.Gui, v *gocui.View) error {
l = ""
}
var out []string
var out, out1 []string
for _, v := range gPkg.Structs {
if v.Name == l {
out = v.GeneratesColor()
out1 = v.Generates()
break
}
}
@@ -318,6 +347,9 @@ func showStruct(g *gocui.Gui, v *gocui.View) error {
for _, v := range out {
addlog(g, v)
}
copyInfo = strings.Join(out1, "")
return nil
}

View File

@@ -6,15 +6,16 @@ import (
)
const (
_menuDefine = "menu"
_listDefine = "list"
_viewDefine = "view"
_run = "run"
_set = "set"
_menuDefine = "menu"
_listDefine = "list"
_viewDefine = "view"
_run = "run"
_set = "set"
_clipboardBtn = "clipboardBtn"
)
var (
uiPart = []float32{4, 3} // x,y 对应列表
uiPart = []float32{4, 5} // x,y 对应列表
mainViewArr = []string{_menuDefine, _listDefine, _viewDefine} // 主菜单列表
mainIndex = 0
@@ -33,6 +34,9 @@ type listDetails struct {
btnList []*mycui.Button
}
var clipboardBtn *mycui.Button
var copyInfo string
var menuDlg *menuDetails
var form *mycui.Form
var gPkg genstruct.GenPackage

View File

@@ -47,6 +47,9 @@ func addChinese() error {
}, &i18n.Message{
ID: "set",
Other: "设 置 🛠 ",
}, &i18n.Message{
ID: "clipboardBtn",
Other: "复 制 到 剪 切 板 ",
}, &i18n.Message{
ID: "out_dir",
Other: " 输 出 目 录 :",
@@ -135,6 +138,9 @@ func addEnglish() error {
}, &i18n.Message{
ID: "set",
Other: "Set 🛠 ",
}, &i18n.Message{
ID: "clipboardBtn",
Other: "Copy to clipboard",
}, &i18n.Message{
ID: "out_dir",
Other: "out dir:",