Skip to content

Commit b6357ca

Browse files
author
valeriy.shipkov
committed
Добавление графония, игнор служебных файлов
1 parent fc64ff3 commit b6357ca

File tree

5 files changed

+81
-0
lines changed

5 files changed

+81
-0
lines changed

bin/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
*.exe
22
/oc
3+
/goc
4+
/guioc

cmd/guioc/main.go

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Package main -- графическая оболочка для компилятора
2+
package main
3+
4+
import (
5+
"github.com/prospero78/goOC/internal/gui"
6+
"github.com/sirupsen/logrus"
7+
)
8+
9+
func main() {
10+
logrus.Infoln("main.go/main(): старт компилятора")
11+
oc := gui.New()
12+
oc.Run()
13+
}

internal/gui/gui.go

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Package gui -- главный тип графической оболочки компилятора
2+
package gui
3+
4+
import (
5+
"fyne.io/fyne/v2"
6+
"fyne.io/fyne/v2/app"
7+
"github.com/prospero78/goOC/internal/gui/winmain"
8+
)
9+
10+
// TGui -- операции сграфической оболочкой
11+
type TGui struct {
12+
app fyne.App
13+
winMain *winmain.TWinMain
14+
}
15+
16+
// New -- возвращает новый *TGui
17+
func New() *TGui {
18+
return &TGui{}
19+
}
20+
21+
// Run -- запускает графическую оболочку в работу
22+
func (sf *TGui) Run() {
23+
sf.app = app.New()
24+
sf.winMain = winmain.New(sf.app)
25+
sf.winMain.Show()
26+
sf.app.Run()
27+
}
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Package frmmenu -- верхний фрейм с меню
2+
package frmmenu
3+
4+
import "fyne.io/fyne/v2"
5+
6+
// TFrmMenu -- операции с меню приложения
7+
type TFrmMenu struct {
8+
mnuAbout fyne.Widget
9+
}
10+
11+
// New -- возвращает новый *TFrmMenu
12+
func New() *TFrmMenu {
13+
return &TFrmMenu{}
14+
}

internal/gui/winmain/winmain.go

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Package winmain -- главное окно для компилятора
2+
package winmain
3+
4+
import (
5+
"fyne.io/fyne/v2"
6+
)
7+
8+
// TWinMain -- операции с главным окном
9+
type TWinMain struct {
10+
win fyne.Window
11+
}
12+
13+
// New -- возвращает новый *TWinMain
14+
func New(root fyne.App) *TWinMain {
15+
wm := &TWinMain{
16+
win: root.NewWindow("goOC compiler"),
17+
}
18+
wm.win.Resize(fyne.Size{Width: 320, Height: 240})
19+
return wm
20+
}
21+
22+
// Show -- показать главное окно
23+
func (sf *TWinMain) Show() {
24+
sf.win.Show()
25+
}

0 commit comments

Comments
 (0)