mirror of
https://github.com/wavetermdev/wails.git
synced 2026-08-05 13:53:43 -07:00
Add Cymraeg
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
# Cais
|
||||
|
||||
Mae'r API cais yn cynorthwyo i greu cais gan ddefnyddio fframwaith Wails.
|
||||
|
||||
### Newydd
|
||||
|
||||
API: `New(appOptions Options) *App`
|
||||
|
||||
`New(appOptions Options)` yn creu cais newydd gan ddefnyddio'r opsiynau cais a ddarperir. Mae'n cymhwyso gwerthoedd rhagosodedig ar gyfer opsiynau heb eu pennu, yn eu cyfuno â'r rhai a ddarparwyd, yn eu cychwyn a'n dychwelyd enghraifft o'r cais.
|
||||
|
||||
Os bydd gwall yn ystod y cychwyn, caiff y cais ei atal gyda'r neges gwall a ddarperir.
|
||||
|
||||
Dylid nodi, os oes enghraifft gyffredinol o gais yn bodoli eisoes, y bydd yr enghraifft honno'n cael ei dychwelyd yn hytrach na chreu un newydd.
|
||||
|
||||
```go title="main.go" hl_lines="6-9"
|
||||
package main
|
||||
|
||||
import "github.com/wailsapp/wails/v3/pkg/application"
|
||||
|
||||
func main() {
|
||||
app := application.New(application.Options{
|
||||
Name: "Demo Ffenestr Gweddarlunydd",
|
||||
// Opsiynau eraill
|
||||
})
|
||||
|
||||
// Gweddill y cais
|
||||
}
|
||||
```
|
||||
|
||||
### Cael
|
||||
|
||||
`Get()` yn dychwelyd yr enghraifft gyffredinol o'r cais. Mae'n ddefnyddiol pan fydd angen mynediad i'r cais o wahanol rannau o'ch cod.
|
||||
|
||||
```go
|
||||
// Cael enghraifft o'r cais
|
||||
app := application.Get()
|
||||
```
|
||||
|
||||
### Galluoedd
|
||||
|
||||
API: `Capabilities() capabilities.Capabilities`
|
||||
|
||||
`Capabilities()` yn adfer map o'r galluoedd sydd gan y cais ar hyn o bryd. Gall y galluoedd fod ynghylch y nodweddion gwahanol y system weithredu sy'n darparu, fel nodweddion gweddarlunydd.
|
||||
|
||||
```go
|
||||
// Cael galluoedd y cais
|
||||
capabilities := app.Capabilities()
|
||||
if capabilities.HasNativeDrag {
|
||||
// Gwneud rhywbeth
|
||||
}
|
||||
```
|
||||
|
||||
### GetPID
|
||||
|
||||
API: `GetPID() int`
|
||||
|
||||
`GetPID()` yn dychwelyd ID y Broses y cais.
|
||||
|
||||
```go
|
||||
pid := app.GetPID()
|
||||
```
|
||||
|
||||
### Rhedeg
|
||||
|
||||
API: `Run() error`
|
||||
|
||||
`Run()` yn dechrau gweithredu'r cais a'i gydrannau.
|
||||
|
||||
```go
|
||||
app := application.New(application.Options{
|
||||
//options
|
||||
})
|
||||
// Rhedeg y cais
|
||||
err := application.Run()
|
||||
if err != nil {
|
||||
// Ymdrin â'r gwall
|
||||
}
|
||||
```
|
||||
|
||||
### Gadael
|
||||
|
||||
API: `Quit()`
|
||||
|
||||
`Quit()` yn gadael y cais trwy ddinistrio ffenestri a rhai cydrannau eraill o bosibl.
|
||||
|
||||
```go
|
||||
// Gadael y cais
|
||||
app.Quit()
|
||||
```
|
||||
|
||||
### AydunDdyryslyd
|
||||
|
||||
API: `IsDarkMode() bool`
|
||||
|
||||
`IsDarkMode()` yn gwirio a yw'r cais yn rhedeg mewn modd tywyll. Mae'n dychwelyd gwerth boolean yn nodi a yw'r modd tywyll wedi'i alluogi.
|
||||
|
||||
```go
|
||||
// Gwiriwch a yw'r modd tywyll wedi'i alluogi
|
||||
if app.IsDarkMode() {
|
||||
// Gwneud rhywbeth
|
||||
}
|
||||
```
|
||||
|
||||
### Cuddio
|
||||
|
||||
API: `Hide()`
|
||||
|
||||
`Hide()` yn cuddio ffenestr y cais.
|
||||
|
||||
```go
|
||||
// Cuddio ffenestr y cais
|
||||
app.Hide()
|
||||
```
|
||||
|
||||
### Dangos
|
||||
|
||||
API: `Show()`
|
||||
|
||||
`Show()` yn dangos ffenestr y cais.
|
||||
|
||||
```go
|
||||
// Dangos ffenestr y cais
|
||||
app.Show()
|
||||
```
|
||||
|
||||
--8<--
|
||||
./docs/cy/API/application_window.md
|
||||
./docs/cy/API/application_menu.md
|
||||
./docs/cy/API/application_dialogs.md
|
||||
./docs/cy/API/application_events.md
|
||||
./docs/cy/API/application_screens.md
|
||||
--8<--
|
||||
|
||||
|
||||
## Opsiynau
|
||||
|
||||
```go title="pkg/application/application_options.go"
|
||||
--8<--
|
||||
../v3/pkg/application/application_options.go
|
||||
--8<--
|
||||
```
|
||||
@@ -0,0 +1,67 @@
|
||||
### Dangos Deialog Ynghylch
|
||||
|
||||
API: `ShowAboutDialog()`
|
||||
|
||||
Mae `ShowAboutDialog()` yn dangos blwch deialog "Ynghylch". Gall ddangos enw'r
|
||||
cymhwysiad, disgrifiad ac eicon.
|
||||
|
||||
```go
|
||||
// Dangos y deialog ynghylch
|
||||
app.ShowAboutDialog()
|
||||
```
|
||||
|
||||
### Gwybodaeth
|
||||
|
||||
API: `InfoDialog()`
|
||||
|
||||
Mae `InfoDialog()` yn creu ac yn dychwelyd esiampl newydd o `MessageDialog` gyda
|
||||
`InfoDialogType`. Defnyddir y deialog hon fel arfer i ddangos negeseuon
|
||||
gwybodaeth i'r defnyddiwr.
|
||||
|
||||
### Cwestiwn
|
||||
|
||||
API: `QuestionDialog()`
|
||||
|
||||
Mae `QuestionDialog()` yn creu ac yn dychwelyd esiampl newydd o `MessageDialog`
|
||||
gyda `QuestionDialogType`. Defnyddir y deialog hon yn aml i ofyn cwestiwn i'r
|
||||
defnyddiwr a disgwyl ymateb.
|
||||
|
||||
### Rhybudd
|
||||
|
||||
API: `WarningDialog()`
|
||||
|
||||
Mae `WarningDialog()` yn creu ac yn dychwelyd esiampl newydd o `MessageDialog`
|
||||
gyda `WarningDialogType`. Fel y mae'r enw yn awgrymu, defnyddir y deialog hon yn
|
||||
bennaf i ddangos negeseuon rhybudd i'r defnyddiwr.
|
||||
|
||||
### Gwall
|
||||
|
||||
API: `ErrorDialog()`
|
||||
|
||||
Mae `ErrorDialog()` yn creu ac yn dychwelyd esiampl newydd o `MessageDialog` gyda
|
||||
`ErrorDialogType`. Cynlluniwyd y deialog hon i'w defnyddio pan fydd angen
|
||||
dangos neges gwall i'r defnyddiwr.
|
||||
|
||||
### Agor Ffeil
|
||||
|
||||
API: `OpenFileDialog()`
|
||||
|
||||
Mae `OpenFileDialog()` yn creu ac yn dychwelyd esiampl newydd o
|
||||
`OpenFileDialogStruct`. Mae'r deialog hon yn annog y defnyddiwr i ddewis un neu
|
||||
ragor o ffeiliau o'u system ffeiliau.
|
||||
|
||||
### Cadw Ffeil
|
||||
|
||||
API: `SaveFileDialog()`
|
||||
|
||||
Mae `SaveFileDialog()` yn creu ac yn dychwelyd esiampl newydd o
|
||||
`SaveFileDialogStruct`. Mae'r deialog hon yn annog y defnyddiwr i ddewis lleoliad
|
||||
yn eu system ffeiliau lle y dylid cadw ffeil.
|
||||
|
||||
### Agor Cyfeiriadur
|
||||
|
||||
API: `OpenDirectoryDialog()`
|
||||
|
||||
Mae `OpenDirectoryDialog()` yn creu ac yn dychwelyd esiampl newydd o
|
||||
`MessageDialog` gyda `OpenDirectoryDialogType`. Mae'r deialog hon yn galluogi'r
|
||||
defnyddiwr i ddewis cyfeiriadur o'u system ffeiliau.
|
||||
@@ -0,0 +1,13 @@
|
||||
### Ar
|
||||
|
||||
API:
|
||||
`Ar(eventType digwyddiadau.DdigwyddiadweithgangeningApplicationEventType, atebydd func(digwyddiad *Digwyddiad)) func()`
|
||||
|
||||
Mae `Ar()` yn cofrestru gwrandäwr digwyddiad ar gyfer digwyddiadau cymhwysiad penodol. Bydd y swyddogaeth atebydd a ddarperir yn cael ei sbarduno pan fydd y digwyddiad cysylltiedig yn digwydd. Mae'r swyddogaeth yn dychwelyd swyddogaeth y gellir ei galw i dynnu'r gwrandäwr.
|
||||
|
||||
### CofrestruArgraffwyr
|
||||
|
||||
API:
|
||||
`CofrestruArgraffwyr(eventType digwyddiadau.DdigwyddiadweithgangeningApplicationEventType, atebydd func(digwyddiad *Digwyddiad)) func()`
|
||||
|
||||
Mae `CofrestruArgraffwyr()` yn cofrestru atebydd i'w redeg fel crocen yn ystod digwyddiadau penodol. Caiff y crocenau hyn eu rhedeg cyn gwrandawyr sy'n gysylltiedig ag `Ar()`. Mae'r swyddogaeth yn dychwelyd swyddogaeth y gellir ei galw i dynnu'r bâs.
|
||||
@@ -0,0 +1,27 @@
|
||||
### RegisterContextMenu
|
||||
|
||||
API: `RegisterContextMenu(name string, menu *Menu)`
|
||||
|
||||
Mae `RegisterContextMenu()` yn cofrestru dewislen cyd-destun gyda enw penodol. Gellir defnyddio'r dewislen hon yn ddiweddarach yn yr ap.
|
||||
|
||||
```go
|
||||
// Creu dewislen newydd
|
||||
ctxmenu := app.NewMenu()
|
||||
|
||||
// Cofrestru'r dewislen fel dewislen cyd-destun
|
||||
app.RegisterContextMenu("MyContextMenu", ctxmenu)
|
||||
```
|
||||
|
||||
### SetMenu
|
||||
|
||||
API: `SetMenu(menu *Menu)`
|
||||
|
||||
Mae `SetMenu()` yn gosod y ddewislen ar gyfer yr ap. Ar Mac, bydd hyn yn fod y ddewislen fyd-eang. Ar gyfer Windows a Linux, bydd hyn yn fod y ddewislen ddiofyn ar gyfer unrhyw ffenestr newydd a grëir.
|
||||
|
||||
```go
|
||||
// Creu dewislen newydd
|
||||
menu := app.NewMenu()
|
||||
|
||||
// Gosod y ddewislen ar gyfer yr ap
|
||||
app.SetMenu(menu)
|
||||
```
|
||||
@@ -0,0 +1,13 @@
|
||||
### GetPrimaryScreen
|
||||
|
||||
API: `GetPrimaryScreen() (*Sgrin, error)`
|
||||
|
||||
Mae `GetPrimaryScreen()` yn dychwelyd y sgrin brif y system.
|
||||
|
||||
### GetScreens
|
||||
|
||||
API: `GetScreens() ([]*Sgrin, error)`
|
||||
|
||||
Mae `GetScreens()` yn dychwelyd gwybodaeth am bob sgrin sydd wedi'i chysylltu â'r system.
|
||||
|
||||
Dyma grynodeb byr o'r dulliau allforio yn y `App` strwythur a ddarparwyd. Cofiwch, ar gyfer mwy o swyddogaethau neu ystyriaethau manwl, cyfeiriwch at y cod Go gwirioneddol neu ddogfennaeth fewnol bellach.
|
||||
@@ -0,0 +1,64 @@
|
||||
Dyma'r testun wedi'i gyfieithu i'r Gymraeg:
|
||||
|
||||
### NewWebviewWindow
|
||||
|
||||
API: `NewWebviewWindow() *WebviewWindow`
|
||||
|
||||
Mae `NewWebviewWindow()` yn creu ffenestr Webview newydd gyda'r opsiynau rhagosodedig, ac yn ei dychwelyd.
|
||||
|
||||
```go
|
||||
// Creu ffenestr webview newydd
|
||||
window := app.NewWebviewWindow()
|
||||
```
|
||||
|
||||
### NewWebviewWindowWithOptions
|
||||
|
||||
API:
|
||||
`NewWebviewWindowWithOptions(windowOptions WebviewWindowOptions) *WebviewWindow`
|
||||
|
||||
Mae `NewWebviewWindowWithOptions()` yn creu ffenestr webview newydd gydag opsiynau custom. Caiff y ffenestr newydd ei ychwanegu at fap o ffenestri a reolir gan y cymhwysiad.
|
||||
|
||||
```go
|
||||
// Creu ffenestr webview newydd gydag opsiynau custom
|
||||
window := app.NewWebviewWindowWithOptions(WebviewWindowOptions{
|
||||
Name: "Main",
|
||||
Title: "Fy Ffenestr",
|
||||
Width: 800,
|
||||
Height: 600,
|
||||
})
|
||||
```
|
||||
|
||||
### OnWindowCreation
|
||||
|
||||
API: `OnWindowCreation(callback func(window *WebviewWindow))`
|
||||
|
||||
Mae `OnWindowCreation()` yn cofrestru ffwythiant alw-nôl i'w alw pan grëir ffenestr.
|
||||
|
||||
```go
|
||||
// Cofrestru ffwythiant alw-nôl i'w alw pan grëir ffenestr
|
||||
app.OnWindowCreation(func(window *WebviewWindow) {
|
||||
// Gwneud rhywbeth
|
||||
})
|
||||
```
|
||||
|
||||
### GetWindowByName
|
||||
|
||||
API: `GetWindowByName(name string) *WebviewWindow`
|
||||
|
||||
Mae `GetWindowByName()` yn nôl ac yn dychwelyd ffenestr gyda enw penodol.
|
||||
|
||||
```go
|
||||
// Cael ffenestr drwy ei henw
|
||||
window := app.GetWindowByName("Main")
|
||||
```
|
||||
|
||||
### CurrentWindow
|
||||
|
||||
API: `CurrentWindow() *WebviewWindow`
|
||||
|
||||
Mae `CurrentWindow()` yn nôl ac yn dychwelyd cyfeiriad at y ffenestr weithredol yn y cymhwysiad. Os nad oes ffenestr, mae'n dychwelyd nil.
|
||||
|
||||
```go
|
||||
// Cael y ffenestr gyfredol
|
||||
window := app.CurrentWindow()
|
||||
```
|
||||
@@ -0,0 +1,50 @@
|
||||
# Prif Swyddogaethau Trywydd
|
||||
|
||||
Mae'r dulliau hyn yn swyddogaethau cymorth i redeg cod ar y prif drywydd. Mae hyn yn
|
||||
ofynnol pan fyddwch am redeg cod cyfaddas ar y llwyfan UI.
|
||||
|
||||
### InvokeSync
|
||||
|
||||
API: `InvokeSync(fn func())`
|
||||
|
||||
Mae'r swyddogaeth hon yn rhedeg y swyddogaeth a drosglwyddwyd (`fn`) yn ddilynebol. Mae'n defnyddio WaitGroup
|
||||
(`wg`) i sicrhau bod y prif drywydd yn aros i `fn` swyddogaeth orffen
|
||||
cyn iddo barhau. Os bydd panig yn digwydd o fewn `fn`, bydd yn cael ei drosglwyddo i'r
|
||||
swyddogaeth trin panig `PanicHandler`, a ddiffinnir yn opsiynau'r cymhwysiad.
|
||||
|
||||
### InvokeSyncWithResult
|
||||
|
||||
API: `InvokeSyncWithResult[T any](fn func() T) (res T)`
|
||||
|
||||
Mae'r swyddogaeth hon yn gweithio'n debyg i `InvokeSync(fn func())`, fodd bynnag, mae'n rhoi
|
||||
canlyniad. Defnyddiwch hyn ar gyfer galw unrhyw swyddogaeth gyda un canlyniad yn unig.
|
||||
|
||||
### InvokeSyncWithError
|
||||
|
||||
API: `InvokeSyncWithError(fn func() error) (err error)`
|
||||
|
||||
Mae'r swyddogaeth hon yn rhedeg `fn` yn ddilynebol ac yn dychwelyd unrhyw wall a gynhyrchir gan `fn`.
|
||||
Sylwch y bydd y swyddogaeth hon yn adfer o banig os bydd un yn digwydd yn ystod
|
||||
gweithrediad `fn`.
|
||||
|
||||
### InvokeSyncWithResultAndError
|
||||
|
||||
API:
|
||||
`InvokeSyncWithResultAndError[T any](fn func() (T, error)) (res T, err error)`
|
||||
|
||||
Mae'r swyddogaeth hon yn rhedeg `fn` yn ddilynebol ac yn dychwelyd canlyniad o fath `T` a
|
||||
gwall.
|
||||
|
||||
### InvokeAsync
|
||||
|
||||
API: `InvokeAsync(fn func())`
|
||||
|
||||
Mae'r swyddogaeth hon yn rhedeg `fn` yn asyng. Mae'n rhedeg y swyddogaeth a roddir ar y
|
||||
prif drywydd. Os bydd panig yn digwydd o fewn `fn`, bydd yn cael ei drosglwyddo i'r
|
||||
swyddogaeth trin panig `PanicHandler`, a ddiffinnir yn opsiynau'r cymhwysiad.
|
||||
|
||||
---
|
||||
|
||||
_Sylw_: Bydd y swyddogaethau hyn yn rhwystro gweithrediad nes bod `fn` wedi gorffen. Mae'n
|
||||
hanfodol sicrhau nad yw `fn` yn rhwystro. Os bydd angen i chi redeg swyddogaeth sy'n
|
||||
rhwystro, defnyddiwch `InvokeAsync` yn lle.
|
||||
@@ -0,0 +1,73 @@
|
||||
# Dewislen
|
||||
|
||||
Gellir creu a chynnwys dewislenni yn y rhaglen. Gellir eu defnyddio i greu
|
||||
dewislenni cyd-destun, dwylo system a dewislenni rhaglen.
|
||||
|
||||
I greu dewislen newydd, galwch:
|
||||
|
||||
```go
|
||||
// Creu dewislen newydd
|
||||
dewislen := app.NewMenu()
|
||||
```
|
||||
|
||||
Mae'r gweithrediadau canlynol ar gael ar y `Dewislen` math:
|
||||
|
||||
### Ychwanegu
|
||||
|
||||
API: `Ychwanegu(label string) *EitemDewislen`
|
||||
|
||||
Mae'r dull hwn yn cymryd `label` o fath `string` fel mewnbwn ac yn ychwanegu
|
||||
`EitemDewislen` newydd gyda'r label a roddir at y ddewislen. Mae'n dychwelyd yr
|
||||
`EitemDewislen` a ychwanegwyd.
|
||||
|
||||
### YchwaneguSeparwr
|
||||
|
||||
API: `YchwaneguSeparwr()`
|
||||
|
||||
Mae'r dull hwn yn ychwanegu `EitemDewislen` gwahanol newydd at y ddewislen.
|
||||
|
||||
### YchwaneguBlwch
|
||||
|
||||
API: `YchwaneguBlwch(label string, galluogedig bool) *EitemDewislen`
|
||||
|
||||
Mae'r dull hwn yn cymryd `label` o fath `string` a `galluogedig` o fath `bool`
|
||||
fel mewnbwn ac yn ychwanegu `EitemDewislen` blwch ticio newydd gyda'r label a'r
|
||||
cyflwr galluogedig a roddir at y ddewislen. Mae'n dychwelyd yr `EitemDewislen`
|
||||
a ychwanegwyd.
|
||||
|
||||
### YchwaneguRadio
|
||||
|
||||
API: `YchwaneguRadio(label string, galluogedig bool) *EitemDewislen`
|
||||
|
||||
Mae'r dull hwn yn cymryd `label` o fath `string` a `galluogedig` o fath `bool`
|
||||
fel mewnbwn ac yn ychwanegu `EitemDewislen` radio newydd gyda'r label a'r
|
||||
cyflwr galluogedig a roddir at y ddewislen. Mae'n dychwelyd yr `EitemDewislen`
|
||||
a ychwanegwyd.
|
||||
|
||||
### Diweddaru
|
||||
|
||||
API: `Diweddaru()`
|
||||
|
||||
Mae'r dull hwn yn prosesu unrhyw grwpiau radio ac yn diweddaru'r ddewislen os
|
||||
na chaiff y rhyngwyneb dewislen ei gychwyn.
|
||||
|
||||
### YchwaneguIsddewislen
|
||||
|
||||
API: `YchwaneguIsddewislen(s string) *Dewislen`
|
||||
|
||||
Mae'r dull hwn yn cymryd `s` o fath `string` fel mewnbwn ac yn ychwanegu
|
||||
`EitemDewislen` isddewislen newydd gyda'r label a roddir at y ddewislen. Mae'n
|
||||
dychwelyd yr isddewislen a ychwanegwyd.
|
||||
|
||||
### YchwaneguRôl
|
||||
|
||||
API: `YchwaneguRôl(rôl Rôl) *Dewislen`
|
||||
|
||||
Mae'r dull hwn yn cymryd `rôl` o fath `Rôl` fel mewnbwn, yn ei ychwanegu at y
|
||||
ddewislen os nad yw'n `nil` ac yn dychwelyd y `Dewislen`.
|
||||
|
||||
### SetLabel
|
||||
|
||||
API: `SetLabel(label string)`
|
||||
|
||||
Mae'r dull hwn yn gosod `label` y `Dewislen`.
|
||||
@@ -0,0 +1,104 @@
|
||||
# Ardal Hysbysu
|
||||
|
||||
Mae'r ardal hysbysu yn cynnwys ardal hysbysu ar amgylchedd bwrdd gwaith, a all
|
||||
gynnwys eiconau o'r rhaglenni sy'n rhedeg ar hyn o bryd a hysbysiadau system
|
||||
penodol.
|
||||
|
||||
Rydych yn creu ardal hysbysu trwy alw `app.NewSystemTray()`:
|
||||
|
||||
```go
|
||||
// Creu ardal hysbysu newydd
|
||||
tray := app.NewSystemTray()
|
||||
```
|
||||
|
||||
Mae'r dulliau canlynol ar gael ar y `SystemTray` math:
|
||||
|
||||
### SetLabel
|
||||
|
||||
API: `SetLabel(label string)`
|
||||
|
||||
Mae'r dull `SetLabel` yn gosod label yr ardal hysbysu.
|
||||
|
||||
### Label
|
||||
|
||||
API: `Label() string`
|
||||
|
||||
Mae'r dull `Label` yn adfer label yr ardal hysbysu.
|
||||
|
||||
### PositionWindow
|
||||
|
||||
API: `PositionWindow(*WebviewWindow, offset int) error`
|
||||
|
||||
Mae'r dull `PositionWindow` yn galw'r dulliau `AttachWindow` a `WindowOffset`.
|
||||
|
||||
### SetIcon
|
||||
|
||||
API: `SetIcon(icon []byte) *SystemTray`
|
||||
|
||||
Mae'r dull `SetIcon` yn gosod eicon yr ardal hysbysu system.
|
||||
|
||||
### SetDarkModeIcon
|
||||
|
||||
API: `SetDarkModeIcon(icon []byte) *SystemTray`
|
||||
|
||||
Mae'r dull `SetDarkModeIcon` yn gosod eicon yr ardal hysbysu system pan mewn modd tywyll.
|
||||
|
||||
### SetMenu
|
||||
|
||||
API: `SetMenu(menu *Menu) *SystemTray`
|
||||
|
||||
Mae'r dull `SetMenu` yn gosod dewislen yr ardal hysbysu.
|
||||
|
||||
### Destroy
|
||||
|
||||
API: `Destroy()`
|
||||
|
||||
Mae'r dull `Destroy` yn dinistrio'r enghraifft ardal hysbysu.
|
||||
|
||||
### OnClick
|
||||
|
||||
API: `OnClick(handler func()) *SystemTray`
|
||||
|
||||
Mae'r dull `OnClick` yn gosod y swyddogaeth i'w gweithredu pan fo'r eicon ardal hysbysu wedi'i glicio.
|
||||
|
||||
### OnRightClick
|
||||
|
||||
API: `OnRightClick(handler func()) *SystemTray`
|
||||
|
||||
Mae'r dull `OnRightClick` yn gosod y swyddogaeth i'w gweithredu pan fo'r eicon ardal hysbysu wedi'i glicio â'r dde.
|
||||
|
||||
### OnDoubleClick
|
||||
|
||||
API: `OnDoubleClick(handler func()) *SystemTray`
|
||||
|
||||
Mae'r dull `OnDoubleClick` yn gosod y swyddogaeth i'w gweithredu pan fo'r eicon ardal hysbysu wedi'i glicio ddwywaith.
|
||||
|
||||
### OnRightDoubleClick
|
||||
|
||||
API: `OnRightDoubleClick(handler func()) *SystemTray`
|
||||
|
||||
Mae'r dull `OnRightDoubleClick` yn gosod y swyddogaeth i'w gweithredu pan fo'r eicon ardal hysbysu wedi'i glicio ddwywaith â'r dde.
|
||||
|
||||
### AttachWindow
|
||||
|
||||
API: `AttachWindow(window *WebviewWindow) *SystemTray`
|
||||
|
||||
Mae'r dull `AttachWindow` yn atodi ffenestr i'r ardal hysbysu system. Bydd y ffenestr yn cael ei dangos pan fo'r eicon ardal hysbysu wedi'i glicio.
|
||||
|
||||
### WindowOffset
|
||||
|
||||
API: `WindowOffset(offset int) *SystemTray`
|
||||
|
||||
Mae'r dull `WindowOffset` yn gosod y bwlch mewn picselau rhwng yr ardal hysbysu system a'r ffenestr.
|
||||
|
||||
### WindowDebounce
|
||||
|
||||
API: `WindowDebounce(debounce time.Duration) *SystemTray`
|
||||
|
||||
Mae'r dull `WindowDebounce` yn gosod amser diddymu. Yng nghyd-destun Windows, defnyddir hyn i bennu faint o amser i aros cyn ymateb i ddigwyddiad clic llygoden i fyny ar yr eicon hysbysu.
|
||||
|
||||
### OpenMenu
|
||||
|
||||
API: `OpenMenu()`
|
||||
|
||||
Mae'r dull `OpenMenu` yn agor y ddewislen sy'n gysylltiedig â'r ardal hysbysu system.
|
||||
@@ -0,0 +1,116 @@
|
||||
# Ffenestr
|
||||
|
||||
I greu ffenestr, defnyddiwch
|
||||
[Application.NewWebviewWindow](application.md#newwebviewwindow) neu
|
||||
[Application.NewWebviewWindowWithOptions](application.md#newwebviewwindowwithoptions).
|
||||
Mae'r cyntaf yn creu ffenestr gyda nodweddion rhagosodedig, tra bod yr olaf yn
|
||||
caniatáu i chi bennu opsiynau wedi'u haddasu.
|
||||
|
||||
Mae'r dulliau hyn yn galladwy ar y gwrthrych WebviewWindow a ddychwelir:
|
||||
|
||||
### SetTitle
|
||||
|
||||
API: `SetTitle(teitl string) *WebviewWindow`
|
||||
|
||||
Mae'r dull hwn yn diweddaru teitl y ffenestr i'r llinyn a ddarperir. Mae'n dychwelyd
|
||||
y gwrthrych WebviewWindow, gan ganiatáu i ddulliau gael eu cadwyn.
|
||||
|
||||
### Enw
|
||||
|
||||
API: `Enw() string`
|
||||
|
||||
Mae'r swyddogaeth hon yn dychwelyd enw'r WebviewWindow.
|
||||
|
||||
### SetSize
|
||||
|
||||
API: `SetSize(lled, uchder int) *WebviewWindow`
|
||||
|
||||
Mae'r dull hwn yn gosod maint y WebviewWindow i'r lled a'r uchder a ddarperir. Os
|
||||
yw'r dimensiynau a ddarparwyd yn rhagori ar y cyfyngiadau, mae'n eu haddasu'n briodol.
|
||||
|
||||
### SetAlwaysOnTop
|
||||
|
||||
API: `SetAlwaysOnTop(b bool) *WebviewWindow`
|
||||
|
||||
Mae'r swyddogaeth hon yn gosod y ffenestr i aros ar y brig yn seiliedig ar y blaen
|
||||
llinyn a ddarperir.
|
||||
|
||||
### Dangos
|
||||
|
||||
API: `Dangos() *WebviewWindow`
|
||||
|
||||
Mae'r dull `Dangos` yn cael ei ddefnyddio i wneud y ffenestr yn weladwy. Os
|
||||
nad yw'r ffenestr yn rhedeg, mae'n gwahodd y dull `rhedeg` i ddechrau'r ffenestr
|
||||
ac yna'n ei gwneud yn weladwy.
|
||||
|
||||
### Cuddio
|
||||
|
||||
API: `Cuddio() *WebviewWindow`
|
||||
|
||||
Mae'r dull `Cuddio` yn cael ei ddefnyddio i guddio'r ffenestr. Mae'n gosod y
|
||||
statws cudd o'r ffenestr i wir ac yn lledu'r digwyddiad cuddio ffenestr.
|
||||
|
||||
### SetURL
|
||||
|
||||
API: `SetURL(s string) *WebviewWindow`
|
||||
|
||||
Mae'r dull `SetURL` yn cael ei ddefnyddio i osod URL y ffenestr i'r llinyn URL a ddarparwyd.
|
||||
|
||||
### SetZoom
|
||||
|
||||
API: `SetZoom(mewnosod float64) *WebviewWindow`
|
||||
|
||||
Mae'r dull `SetZoom` yn gosod lefel swm cynnwys y ffenestr i'r lefel mewnosod a ddarparwyd.
|
||||
|
||||
### GetZoom
|
||||
|
||||
API: `GetZoom() float64`
|
||||
|
||||
Mae'r swyddogaeth `GetZoom` yn dychwelyd y lefel swm bresennol o gynnwys y ffenestr.
|
||||
|
||||
### GetScreen
|
||||
|
||||
API: `GetScreen() (*Screen, error)`
|
||||
|
||||
Mae'r dull `GetScreen` yn dychwelyd y sgrin lle mae'r ffenestr yn cael ei harddangos.
|
||||
|
||||
### SetFrameless
|
||||
|
||||
API: `SetFrameless(frameless bool) *WebviewWindow`
|
||||
|
||||
Mae'r swyddogaeth hon yn cael ei defnyddio i dynnu'r ffrâm a bar teitl y ffenestr.
|
||||
Mae'n toglo'r framelessness o'r ffenestr yn unol â'r gwerth boolean a ddarperir
|
||||
(gwir ar gyfer frameless, ffug ar gyfer ffrâm).
|
||||
|
||||
### RegisterContextMenu
|
||||
|
||||
API: `RegisterContextMenu(enw string, dewislen *Dewislen)`
|
||||
|
||||
Mae'r swyddogaeth hon yn cael ei defnyddio i gofrestru dewislen cyd-destun ac
|
||||
yn ei neilltuo i'r enw a ddarparwyd.
|
||||
|
||||
### NativeWindowHandle
|
||||
|
||||
API: `NativeWindowHandle() (uintptr, error)`
|
||||
|
||||
Mae'r swyddogaeth hon yn cael ei defnyddio i nodi'r handlen ffenestr brodorol
|
||||
ar gyfer y ffenestr.
|
||||
|
||||
### Ffocws
|
||||
|
||||
API: `Ffocws()`
|
||||
|
||||
Mae'r swyddogaeth hon yn cael ei defnyddio i ffocysu'r ffenestr.
|
||||
|
||||
### SetEnabled
|
||||
|
||||
API: `SetEnabled(galluogwyd bool)`
|
||||
|
||||
Mae'r swyddogaeth hon yn cael ei defnyddio i alluogi/analluogi'r ffenestr yn
|
||||
seiliedig ar y gwerth boolean a ddarperir.
|
||||
|
||||
### SetAbsolutePosition
|
||||
|
||||
API: `SetAbsolutePosition(x int, y int)`
|
||||
|
||||
Mae'r swyddogaeth hon yn gosod y safle absoliwt o'r ffenestr yn y sgrin.
|
||||
@@ -0,0 +1,55 @@
|
||||
# Croniclau
|
||||
|
||||
<!--
|
||||
Bydd pob newid sylweddol i'r prosiect hwn yn cael ei ddogfennu yn y ffeil hon.
|
||||
|
||||
Mae'r fformat yn seiliedig ar [Cadw Croniclau](https://keepachangelog.com/en/1.0.0/),
|
||||
ac mae'r prosiect hwn yn cydymffurfio â [Fersiwneiddio Semantig](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
- `Ychwanegwyd` ar gyfer nodweddion newydd.
|
||||
- `Newidiwyd` ar gyfer newidiadau mewn swyddogaeth bresennol.
|
||||
- `Wedi Dibrisio` ar gyfer nodweddion a fydd yn cael eu dileu yn fuan.
|
||||
- `Tynnwyd` ar gyfer nodweddion a gafodd eu tynnu yn awr.
|
||||
- `Wedi Trwsio` ar gyfer unrhyw ddatrysiadau grwydro.
|
||||
- `Diogelwch` os oes agoreiddiadau diamddiffyn.
|
||||
|
||||
-->
|
||||
|
||||
## [Heb ei ryddhau]
|
||||
|
||||
### Ychwanegwyd
|
||||
- [darwin] ychwanegu Digwyddiad ApplicationShouldHandleReopen i fedru ymdrin â chlicio ar yr eicon doc gan @5aaee9 yn [#2991](https://github.com/wailsapp/wails/pull/2991)
|
||||
- [darwin] ychwanegu getPrimaryScreen/getScreens i impl gan @tmclane yn [#2618](https://github.com/wailsapp/wails/pull/2618)
|
||||
- [darwin] ychwanegu opsiwn ar gyfer dangos y bar offer mewn modd sgrin llawn ar macOS gan [@fbbdev](https://github.com/fbbdev) yn [#3282](https://github.com/wailsapp/wails/pull/3282)
|
||||
- [linux] ychwanegu rhesymeg onKeyPress i drosi allwedd linux i gyflymydd gan @[Atterpac](https://github.com/Atterpac) yn [#3022](https://github.com/wailsapp/wails/pull/3022])
|
||||
- [linux] ychwanegu tasg `rhedeg:linux` gan [@marcus-crane](https://github.com/marcus-crane) yn [#3146](https://github.com/wailsapp/wails/pull/3146)
|
||||
- allforio dull `SetIcon` gan @almas1992 yn [PR](https://github.com/wailsapp/wails/pull/3147)
|
||||
- Gwella `OnShutdown` gan @almas1992 yn [PR](https://github.com/wailsapp/wails/pull/3189)
|
||||
- adfer dull `ToggleMaximise` yn y rhyngwyneb `Window` gan [@fbbdev](https://github.com/fbbdev) yn [#3281](https://github.com/wailsapp/wails/pull/3281)
|
||||
|
||||
### Wedi Trwsio
|
||||
|
||||
- Wedi trwsio prosesau zombie wrth weithio mewn modd datblygu drwy ddiweddaru i'r diweddaraf gan [Atterpac](https://github.com/atterpac) yn [#3320](https://github.com/wailsapp/wails/pull/3320).
|
||||
- Wedi trwsio ffynhonnell ffeil webkit appimage gan [Atterpac](https://github.com/atterpac) yn [#3306](https://github.com/wailsapp/wails/pull/3306).
|
||||
- Wedi trwsio Doctor fygythiad pecyn apt gan [Atterpac](https://github.com/Atterpac) yn [#2972](https://github.com/wailsapp/wails/pull/2972).
|
||||
- Wedi trwsio'r cais wedi rhewi wrth ddod allan (Darwin) gan @5aaee9 yn [#2982](https://github.com/wailsapp/wails/pull/2982)
|
||||
- Wedi trwsio lliwiau cefndir yr enghreifftiau ar Windows gan [mmgvh](https://github.com/mmghv) yn [#2750](https://github.com/wailsapp/wails/pull/2750).
|
||||
- Wedi trwsio dewislenni cyd-destun rhagosodedig gan [mmgvh](https://github.com/mmghv) yn [#2753](https://github.com/wailsapp/wails/pull/2753).
|
||||
- Wedi trwsio gwerth hecsadegol ar gyfer bysellau saeth ar Darwin gan [jaybeecave](https://github.com/jaybeecave) yn [#3052](https://github.com/wailsapp/wails/pull/3052).
|
||||
- Gosod llusgo-a-gollwng ar gyfer Windows i weithio. Ychwanegwyd gan [@pylotlight](https://github.com/pylotlight) yn [PR](https://github.com/wailsapp/wails/pull/3039)
|
||||
- Wedi trwsio bygiau ar gyfer linux yn y meddyg os nad oes gan y defnyddiwr y gyrwyr priodol wedi'u gosod. Ychwanegwyd gan [@pylotlight](https://github.com/pylotlight) yn [PR](https://github.com/wailsapp/wails/pull/3032)
|
||||
- Trwsio graddio dpi wrth gychwyn (windows). Newidiwyd gan @almas1992 yn [PR](https://github.com/wailsapp/wails/pull/3145)
|
||||
- Trwsio'r llinell amnewid yn `go.mod` i ddefnyddio llwybrau cymharol - Trwsio llwybrau Windows gyda gofodau gan @leaanthony.
|
||||
- Trwsio gweithredu clicio Maclanwad system wrth ddim cysylltiedig â ffenestr gan [thomas-senechal](https://github.com/thomas-senechal) yn PR [#3207](https://github.com/wailsapp/wails/pull/3207)
|
||||
- Trwsio adeiladu Windows yn methu oherwydd opsiwn anhysbys gan [thomas-senechal](https://github.com/thomas-senechal) yn PR [#3208](https://github.com/wailsapp/wails/pull/3208)
|
||||
- Trwsio URL sylfaenol anghywir wrth agor ffenestr ddwywaith gan @5aaee9 yn PR [#3273](https://github.com/wailsapp/wails/pull/3273)
|
||||
- Trwsio trefn brigiau os yn y dull `WebviewWindow.Restore` gan [@fbbdev](https://github.com/fbbdev) yn [#3279](https://github.com/wailsapp/wails/pull/3279)
|
||||
- Cyfrifo `startURL` yn gywir ar draws galwadau lluosog `GetStartURL` pan fo `FRONTEND_DEVSERVER_URL` yn bresennol. [#3299](https://github.com/wailsapp/wails/pull/3299)
|
||||
|
||||
### Newidiwyd
|
||||
|
||||
### Tynnwyd
|
||||
|
||||
### Wedi Dibrisio
|
||||
|
||||
### Diogelwch
|
||||
@@ -0,0 +1,20 @@
|
||||
# Newidiadau ar gyfer v3
|
||||
|
||||
!!! note
|
||||
Mae hwn ar hyn o bryd yn ddampio meddwl heb ei drefnu o newidiadau. Bydd yn cael ei drefnu i fformat mwy darllenadwy yn fuan.
|
||||
|
||||
--8<--
|
||||
./docs/en/development/changes_events.md
|
||||
./docs/en/development/changes_window.md
|
||||
./docs/en/development/changes_systray.md
|
||||
./docs/en/development/changes_bindings.md
|
||||
./docs/en/development/changes_dragndrop.md
|
||||
./docs/en/development/changes_context_menus.md
|
||||
./docs/en/development/changes_dialogs.md
|
||||
./docs/en/development/changes_clipboard.md
|
||||
./docs/en/development/changes_wml.md
|
||||
./docs/en/development/changes_plugins.md
|
||||
./docs/en/development/changes_enums.md
|
||||
./docs/en/development/changes_logging.md
|
||||
./docs/en/development/changes_misc.md
|
||||
--8<--
|
||||
@@ -0,0 +1,87 @@
|
||||
Dyma'r cyfieithiad i'r gymraeg:
|
||||
|
||||
## Rhwymedigaethau
|
||||
|
||||
Mae rhwymedigaethau yn gweithio mewn modd tebyg i v2, drwy ddarparu ffordd i rwymo
|
||||
dulliau strwythur i'r rhyngwyneb blaen. Gellir eu galw yn y rhyngwyneb blaen gan
|
||||
ddefnyddio'r wraperi rhwymedigaeth a gynhyrchwyd gan y gorchymyn `wails3 generate bindings`:
|
||||
|
||||
```javascript
|
||||
// @ts-check
|
||||
// Mae'r ffeil hon wedi'i chynhyrchu'n awtomatig. PEIDIWCH Â'I GOLYGU
|
||||
|
||||
import { main } from "./models";
|
||||
|
||||
window.go = window.go || {};
|
||||
window.go.main = {
|
||||
GreetService: {
|
||||
/**
|
||||
* GreetService.Greet
|
||||
* Mae Greet yn cyfarch rhywun
|
||||
* @param name {string}
|
||||
* @returns {Promise<string>}
|
||||
**/
|
||||
Greet: function (name) {
|
||||
wails.CallByID(1411160069, ...Array.prototype.slice.call(arguments, 0));
|
||||
},
|
||||
|
||||
/**
|
||||
* GreetService.GreetPerson
|
||||
* Mae GreetPerson yn cyfarch rhywun
|
||||
* @param person {main.Person}
|
||||
* @returns {Promise<string>}
|
||||
**/
|
||||
GreetPerson: function (person) {
|
||||
wails.CallByID(4021313248, ...Array.prototype.slice.call(arguments, 0));
|
||||
},
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
Mae dulliau rhwymo wedi'u cuddio'n ddiofyn, ac maent yn cael eu hadnabod gan IDs uint32,
|
||||
a gyfrifir gan ddefnyddio'r [algorithm hasio FNV](https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function).
|
||||
Mae hyn er mwyn atal enw'r dull rhag cael ei ddatgelu mewn adeiladau cynhyrchiol. Mewn
|
||||
modd dadfygio, mae'r IDs dull yn cael eu logio ynghyd â'r ID a gyfrifwyd o'r dull
|
||||
i helpu i ddadfygio. Os ydych chi am ychwanegu haen arall o guddio, gallwch
|
||||
ddefnyddio'r opsiwn `BindAliases`. Mae hyn yn caniatáu ichi bennu map o IDs alias i
|
||||
IDs dull. Pan fydd y rhyngwyneb blaen yn galw dull gan ddefnyddio ID, bydd yr ID dull
|
||||
yn cael ei chwilio yn y map alias yn gyntaf am gywiro. Os nad yw'n ei ganfod,
|
||||
mae'n tybio mai ID dull safonol yw ac yn ceisio canfod y dull yn y ffordd arferol.
|
||||
|
||||
Enghraifft:
|
||||
|
||||
```go
|
||||
app := application.New(application.Options{
|
||||
Bind: []any{
|
||||
&GreetService{},
|
||||
},
|
||||
BindAliases: map[uint32]uint32{
|
||||
1: 1411160069,
|
||||
2: 4021313248,
|
||||
},
|
||||
Assets: application.AssetOptions{
|
||||
Handler: application.AssetFileServerFS(assets),
|
||||
},
|
||||
Mac: application.MacOptions{
|
||||
ApplicationShouldTerminateAfterLastWindowClosed: true,
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
Nawr gallwn alw gan ddefnyddio'r alias hwn yn y rhyngwyneb blaen: `wails.Call(1, "byd!")`.
|
||||
|
||||
### Galwadau anniogel
|
||||
|
||||
Os nad ydych chi'n poeni am eich galwadau yn cael eu cyhoeddi mewn testun plaen yn eich binari
|
||||
ac nid oes gennych fwriad o ddefnyddio [garble](https://github.com/burrowers/garble), yna
|
||||
gallwch ddefnyddio'r dull `wails.CallByName()` anniogel. Mae'r dull hwn yn cymryd enw
|
||||
llawn cymhwysol y dull i'w alw a'r arguments i'w pasio iddo.
|
||||
Enghraifft:
|
||||
|
||||
```go
|
||||
wails.CallByName("main.GreetService.Greet", "byd!")
|
||||
```
|
||||
|
||||
!!! angen gofal
|
||||
|
||||
Darperir hwn dim ond fel dull cyfleustra ar gyfer datblygu. Ni chyngherir i'w ddefnyddio mewn cynhyrchiad.
|
||||
@@ -0,0 +1,3 @@
|
||||
## ClipBoard
|
||||
|
||||
Mae API y clipfwrdd wedi'i symleiddio. Mae bellach un gwrthrych `Clipboard` y gellir ei ddefnyddio i ddarllen a chyflwyno i'r clipfwrdd. Mae'r gwrthrych `Clipboard` ar gael yn Go ac JS. `SetText()` i osod y testun a `Text()` i gael y testun.
|
||||
@@ -0,0 +1,18 @@
|
||||
## Dewislenni Cyd-destun
|
||||
|
||||
Mae dewislenni cyd-destun yn ddewislenni cyd-destunol a ddangosir pan fydd y
|
||||
defnyddiwr yn clicio'n dde ar elfen. Mae creu dewislen gyd-destun yr un peth â
|
||||
chreu dewislen safonol, gan ddefnyddio `app.NewMenu()`. I wneud y ddewislen
|
||||
gyd-destun ar gael i ffenestr, galwch `window.RegisterContextMenu(name, menu)`.
|
||||
Bydd y enw yn yr id o'r ddewislen gyd-destun ac a ddefnyddir gan y rhaglen
|
||||
wynebu.
|
||||
|
||||
I nodi bod gan elfen ddewislen gyd-destun, ychwanegwch y priodoledd
|
||||
`data-contextmenu` at yr elfen. Dylai gwerth y priodoledd hwn fod yn enw o
|
||||
ddewislen gyd-destun a gofrestrwyd yn flaenorol gyda'r ffenestr.
|
||||
|
||||
Mae'n bosibl cofrestru dewislen gyd-destun ar lefel y cymhwysiad, gan ei
|
||||
gwneud ar gael i bob ffenestr. Gellir gwneud hyn gan ddefnyddio
|
||||
`app.RegisterContextMenu(name, menu)`. Os na ellir dod o hyd i ddewislen
|
||||
gyd-destun ar lefel y ffenestr, bydd y dewislenni cyd-destun cymhwyso yn cael
|
||||
eu gwirio. Ceir demo o hyn yn `v3/examples/contextmenus`.
|
||||
@@ -0,0 +1,25 @@
|
||||
## Sgyrsiau
|
||||
|
||||
Mae sgyrsiau bellach ar gael yn JavaScript!
|
||||
|
||||
### Ffenestri
|
||||
|
||||
Nid yw botymau sgyrsiau yn Windows yn ffurfweddadwy ac yn gyson yn dibynnu ar y
|
||||
math o sgwrs. I drîgeru galwad enw pan fo botwm yn cael ei wasgu, crëwch botwm
|
||||
â'r un enw â'r botwm yr ydych am gael y galwad enw i'w gysylltu ag ef.
|
||||
Enghraifft: Crëwch fotwm â'r label `Ok` a defnyddio `OnClick()` i osod y
|
||||
dull galwad enw:
|
||||
|
||||
```go
|
||||
dialog := app.QuestionDialog().
|
||||
SetTitle("Diweddaru").
|
||||
SetMessage("Mae'r botwm canslo yn cael ei ddewis pan fo'r bys dianc yn cael ei wasgu")
|
||||
ok := dialog.AddButton("Ok")
|
||||
ok.OnClick(func() {
|
||||
// Gwneud rhywbeth
|
||||
})
|
||||
no := dialog.AddButton("Canslo")
|
||||
dialog.SetDefaultButton(ok)
|
||||
dialog.SetCancelButton(no)
|
||||
dialog.Show()
|
||||
```
|
||||
@@ -0,0 +1,8 @@
|
||||
## Llusgo a Gollwng
|
||||
|
||||
Gellir galluogi llusgo a gollwng brodorol fesul ffenest. Yn syml, gosodwch yr
|
||||
opsiwn cyflunio ffenest `EnableDragAndDrop` i `true` a bydd y ffenest yn
|
||||
caniatáu i ffeiliau gael eu llusgoi arni. Pan fydd hyn yn digwydd, bydd y
|
||||
digwyddiad `events.FilesDropped` yn cael ei yrru. Gellir yna nôl yr enwau
|
||||
ffeil o `WindowEvent.Context()` gan ddefnyddio'r dull `DroppedFiles()`. Mae
|
||||
hwn yn dychwelyd sleis o linynnau yn cynnwys yr enwau ffeil.
|
||||
@@ -0,0 +1,41 @@
|
||||
#### Enawau
|
||||
|
||||
Yng Ngo, mae enawau yn aml yn cael eu diffinio fel math a set o gysonau. Er enghraifft:
|
||||
|
||||
```go
|
||||
type MyEnum int
|
||||
|
||||
const (
|
||||
MyEnumOne MyEnum = iota
|
||||
MyEnumTwo
|
||||
MyEnumThree
|
||||
)
|
||||
```
|
||||
|
||||
Oherwydd anghydnawsedd rhwng Go a JavaScript, ni ellir defnyddio mathau custom mewn
|
||||
ffordd hon. Y strategaeth orau yw defnyddio alias math ar gyfer float64:
|
||||
|
||||
```go
|
||||
type MyEnum = float64
|
||||
|
||||
const (
|
||||
MyEnumOne MyEnum = iota
|
||||
MyEnumTwo
|
||||
MyEnumThree
|
||||
)
|
||||
```
|
||||
|
||||
Yn JavaScript, gallwch chi wedyn ddefnyddio'r canlynol:
|
||||
|
||||
```js
|
||||
const MyEnum = {
|
||||
MyEnumOne: 0,
|
||||
MyEnumTwo: 1,
|
||||
MyEnumThree: 2,
|
||||
};
|
||||
```
|
||||
|
||||
- Pam defnyddio `float64`? Oni allwn ni ddefnyddio `int`?
|
||||
- Oherwydd nad oes gan JavaScript gysyniad o `int`. Mae popeth yn `number`, sy'n cyfieithu i `float64` yn Go. Mae hefyd cyfyngiadau
|
||||
ar daflu mathau yn pecyn adlewyrchu Go, sy'n golygu nad yw defnyddio `int` yn
|
||||
gweithio.
|
||||
@@ -0,0 +1,39 @@
|
||||
## Digwyddiadau
|
||||
|
||||
Yn v3, mae 3 math o ddigwyddiadau:
|
||||
|
||||
- Digwyddiadau Cymhwysiad
|
||||
- Digwyddiadau Ffenestr
|
||||
- Digwyddiadau Cyfaddas
|
||||
|
||||
### Digwyddiadau Cymhwysiad
|
||||
|
||||
Mae digwyddiadau cymhwysiad yn ddigwyddiadau a allbynir gan y cymhwysiad. Mae'r digwyddiadau hyn yn cynnwys digwyddiadau brodorol fel `ApplicationDidFinishLaunching` ar macOS.
|
||||
|
||||
### Digwyddiadau Ffenestr
|
||||
|
||||
Mae digwyddiadau ffenestr yn ddigwyddiadau a allbynir gan ffenestr. Mae'r digwyddiadau hyn yn cynnwys digwyddiadau brodorol fel `WindowDidBecomeMain` ar macOS. Diffinnir digwyddiadau cyffredin hefyd, fel y maent yn gweithio ar draws platfformau, e.e. `WindowClosing`.
|
||||
|
||||
### Digwyddiadau Cyfaddas
|
||||
|
||||
Mae'r digwyddiadau y mae'r defnyddiwr yn eu diffinio yn cael eu galw `WailsEvents`. Mae hyn er mwyn eu gwahaniaethu o'r gwrthrych `Event` a ddefnyddir i gyfathrebu gyda'r porwr. Mae WailsEvents bellach yn wrthrychau sy'n erynu holl fanylion digwyddiad. Mae hyn yn cynnwys enw'r digwyddiad, y data, a ffynhonnell y digwyddiad.
|
||||
|
||||
Mae'r data sy'n gysylltiedig â WailsEvent bellach yn un gwerth. Os oes angen mwy nag un gwerth, gellir defnyddio strwythur.
|
||||
|
||||
### Galwadau digwyddiad a llofnod swyddogaeth `Emit`
|
||||
|
||||
Mae llofnodion y galwadau digwyddiad (fel y defnyddir gan `On`, `Once` & `OnMultiple`) wedi newid. Yn v2, naeth y swyddogaeth alwad dderbyn data dewisol. Yn v3, mae'r swyddogaeth alwad yn derbyn gwrthrych `WailsEvent` sy'n cynnwys yr holl ddata sy'n berthnasol i'r digwyddiad.
|
||||
|
||||
Yn yr un modd, mae'r swyddogaeth `Emit` wedi newid. Yn lle cymryd enw a data dewisol, mae'n cymryd un gwrthrych `WailsEvent` y bydd yn ei allbynnu.
|
||||
|
||||
### `Off` a `OffAll`
|
||||
|
||||
Yn v2, byddai galwadau `Off` a `OffAll` yn tynnu digwyddiadau i ffwrdd yn JS ac yn Go. Oherwydd natur aml-ffenestr v3, mae hyn wedi newid fel bod y dulliau hyn ond yn berthnasol i'r cyd-destun y'u galwyd. Er enghraifft, os ydych yn galw `Off` mewn ffenestr, dim ond digwyddiadau ar gyfer y ffenestr honno y bydd yn eu tynnu. Os ydych yn defnyddio `Off` yn Go, dim ond digwyddiadau ar gyfer Go y bydd yn eu tynnu.
|
||||
|
||||
### Bachau
|
||||
|
||||
Mae Bachau Digwyddiad yn nodwedd newydd yn v3. Maent yn caniatáu i chi fachlu i mewn i'r system ddigwyddiadau a chyflawni gweithredoedd pan fydd digwyddiadau penodol yn cael eu hallbynnu. Er enghraifft, gallwch fachlu i mewn i'r digwyddiad `WindowClosing` a chyflawni rhywfaint o lanhau cyn i'r ffenestr gau. Gellir cofrestru bachau ar lefel y cymhwysiad neu ar lefel y ffenestr gan ddefnyddio `RegisterHook`. Bydd bachau lefel cymhwysiad ar gyfer digwyddiadau cymhwysiad. Bydd bachau lefel ffenestr ond yn cael eu galw ar gyfer y ffenestr y'u cofrestrir.
|
||||
|
||||
### Nodiadau datblygwr
|
||||
|
||||
Pan allbynwch ddigwyddiad yn Go, bydd yn dosbarthu'r digwyddiad i wrrandawyr Go lleol a hefyd i bob ffenestr yn y cymhwysiad. Pan allbynwch ddigwyddiad yn JS, mae'n nawr yn anfon y digwyddiad at y cymhwysiad. Caiff hwn ei brosesu fel petai wedi ei allbynnu yn Go, fodd bynnag bydd ID y anfonwr yn bod hwnnw o'r ffenestr.
|
||||
@@ -0,0 +1,6 @@
|
||||
### Cofnodi
|
||||
|
||||
Roedd cofnodi yn v2 yn ddryslyd gan fod cofnodion cymhwysiad a chofnodion system (mewnol) yn defnyddio'r un cofnodwr. Rydym wedi ei symleiddio fel a ganlyn:
|
||||
|
||||
- Mae cofnodion mewnol yn cael eu trin nawr gan ddefnyddio'r cofnodwr `slog` safonol Go. Caiff hwn ei ffurfweddu gan ddefnyddio'r opsiwn `logger` yn yr opsiynau cymhwysiad. Yn ddiofyn, mae hwn yn defnyddio'r cofnodwr [tint](https://github.com/lmittmann/tint).
|
||||
- Gellir cyflawni cofnodion cymhwysiad nawr trwy'r ciplug `log` newydd sy'n defnyddio `slog` o dan y rhyngwyneb. Mae'r ciplug hwn yn darparu API syml ar gyfer cofnodi i'r consol. Mae ar gael yn y naill iaith Go a JS.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user