61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
|
|
qt "github.com/mappu/miqt/qt6"
|
|
)
|
|
|
|
var (
|
|
mw *MainWindowUi
|
|
)
|
|
|
|
func main() {
|
|
qt.NewQApplication(os.Args)
|
|
|
|
mw = NewMainWindowUi()
|
|
|
|
appIconPxm := qt.NewQPixmap()
|
|
appIconPxm.LoadFromData2(&appIconPng[0], uint(len(appIconPng)), "png")
|
|
|
|
mw.MainWindow.SetWindowIcon(qt.NewQIcon2(appIconPxm))
|
|
|
|
ff := mw.textEdit.Font()
|
|
ff.SetFamily("monospace")
|
|
mw.textEdit.SetFont(ff)
|
|
|
|
formatter := qt.NewQSyntaxHighlighter2(mw.textEdit.Document())
|
|
formatter.OnHighlightBlock(func(b string) {
|
|
|
|
if cpos := strings.Index(b, `//`); cpos >= 0 {
|
|
formatter.SetFormat2(cpos, len(b)-cpos, qt.QColor_FromRgb(0x008000))
|
|
}
|
|
})
|
|
|
|
onGotNewScreenshot := func(filepath string, click_x, click_y int64) {
|
|
// Newline is added automatically
|
|
// TODO if this was the default/center position, get default coordinates
|
|
appendCode := fmt.Sprintf(`ClickAt("%s", %d, %d);`, filepath, click_x, click_y)
|
|
mw.textEdit.Append(src_to_html(appendCode))
|
|
}
|
|
|
|
mw.actionScreenshot.OnTriggered(func() {
|
|
doScreencap(onGotNewScreenshot)
|
|
})
|
|
|
|
mw.actionRun.OnTriggered(func() {
|
|
runScript()
|
|
})
|
|
|
|
mw.actionE_xit.OnTriggered(func() {
|
|
// TODO check for unsaved file changes
|
|
os.Exit(0)
|
|
})
|
|
|
|
mw.MainWindow.Show()
|
|
|
|
qt.QApplication_Exec()
|
|
}
|