File tree 5 files changed +81
-0
lines changed
5 files changed +81
-0
lines changed Original file line number Diff line number Diff line change 1
1
* .exe
2
2
/oc
3
+ /goc
4
+ /guioc
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments