Skip to content

Commit

Permalink
Refactor docs
Browse files Browse the repository at this point in the history
  • Loading branch information
leaanthony committed Mar 18, 2024
1 parent 98aff77 commit c5bb4c7
Show file tree
Hide file tree
Showing 39 changed files with 683 additions and 7,117 deletions.
224 changes: 8 additions & 216 deletions mkdocs-website/docs/en/API/application.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,227 +133,19 @@ API: `Show()`
app.Show()
```

### NewWebviewWindow

API: `NewWebviewWindow() *WebviewWindow`

`NewWebviewWindow()` creates a new Webview window with default options, and
returns it.

```go
// Create a new webview window
window := app.NewWebviewWindow()
```

### NewWebviewWindowWithOptions

API:
`NewWebviewWindowWithOptions(windowOptions WebviewWindowOptions) *WebviewWindow`

`NewWebviewWindowWithOptions()` creates a new webview window with custom
options. The newly created window is added to a map of windows managed by the
application.

```go
// Create a new webview window with custom options
window := app.NewWebviewWindowWithOptions(WebviewWindowOptions{
Name: "Main",
Title: "My Window",
Width: 800,
Height: 600,
})
```

### OnWindowCreation

API: `OnWindowCreation(callback func(window *WebviewWindow))`

`OnWindowCreation()` registers a callback function to be called when a window is
created.

```go
// Register a callback to be called when a window is created
app.OnWindowCreation(func(window *WebviewWindow) {
// Do something
})
```

### GetWindowByName

API: `GetWindowByName(name string) *WebviewWindow`

`GetWindowByName()` fetches and returns a window with a specific name.

```go
// Get a window by name
window := app.GetWindowByName("Main")
```

### CurrentWindow

API: `CurrentWindow() *WebviewWindow`

`CurrentWindow()` fetches and returns a pointer to the currently active window
in the application. If there is no window, it returns nil.

```go
// Get the current window
window := app.CurrentWindow()
```

### RegisterContextMenu

API: `RegisterContextMenu(name string, menu *Menu)`

`RegisterContextMenu()` registers a context menu with a given name. This menu
can be used later in the application.

```go

// Create a new menu
ctxmenu := app.NewMenu()

// Register the menu as a context menu
app.RegisterContextMenu("MyContextMenu", ctxmenu)
```

### SetMenu

API: `SetMenu(menu *Menu)`

`SetMenu()` sets the menu for the application. On Mac, this will be the global
menu. For Windows and Linux, this will be the default menu for any new window
created.

```go
// Create a new menu
menu := app.NewMenu()

// Set the menu for the application
app.SetMenu(menu)
```

### ShowAboutDialog

API: `ShowAboutDialog()`

`ShowAboutDialog()` shows an "About" dialog box. It can show the application's
name, description and icon.

```go
// Show the about dialog
app.ShowAboutDialog()
```

### Info

API: `InfoDialog()`

`InfoDialog()` creates and returns a new instance of `MessageDialog` with an
`InfoDialogType`. This dialog is typically used to display informational
messages to the user.

### Question

API: `QuestionDialog()`

`QuestionDialog()` creates and returns a new instance of `MessageDialog` with a
`QuestionDialogType`. This dialog is often used to ask a question to the user
and expect a response.

### Warning

API: `WarningDialog()`

`WarningDialog()` creates and returns a new instance of `MessageDialog` with a
`WarningDialogType`. As the name suggests, this dialog is primarily used to
display warning messages to the user.

### Error

API: `ErrorDialog()`

`ErrorDialog()` creates and returns a new instance of `MessageDialog` with an
`ErrorDialogType`. This dialog is designed to be used when you need to display
an error message to the user.

### OpenFile

API: `OpenFileDialog()`

`OpenFileDialog()` creates and returns a new `OpenFileDialogStruct`. This dialog
prompts the user to select one or more files from their file system.

### SaveFile

API: `SaveFileDialog()`

`SaveFileDialog()` creates and returns a new `SaveFileDialogStruct`. This dialog
prompts the user to choose a location on their file system where a file should
be saved.

### OpenDirectory

API: `OpenDirectoryDialog()`

`OpenDirectoryDialog()` creates and returns a new instance of `MessageDialog`
with an `OpenDirectoryDialogType`. This dialog enables the user to choose a
directory from their file system.

### On

API:
`On(eventType events.ApplicationEventType, callback func(event *Event)) func()`

`On()` registers an event listener for specific application events. The callback
function provided will be triggered when the corresponding event occurs. The
function returns a function that can be called to remove the listener.

### RegisterHook

API:
`RegisterHook(eventType events.ApplicationEventType, callback func(event *Event)) func()`

`RegisterHook()` registers a callback to be run as a hook during specific
events. These hooks are run before listeners attached with `On()`. The function
returns a function that can be called to remove the hook.

### GetPrimaryScreen

API: `GetPrimaryScreen() (*Screen, error)`

`GetPrimaryScreen()` returns the primary screen of the system.

### GetScreens

API: `GetScreens() ([]*Screen, error)`

`GetScreens()` returns information about all screens attached to the system.

This is a brief summary of the exported methods in the provided `App` struct. Do
note that for more detailed functionality or considerations, refer to the actual
Go code or further internal documentation.

## Options

```go title="application_options.go"
--8<--
../v3/pkg/application/options_application.go
./docs/en/API/application_window.md
./docs/en/API/application_menu.md
./docs/en/API/application_dialogs.md
./docs/en/API/application_events.md
./docs/en/API/application_screens.md
--8<--
```

### Windows Options

```go title="application_options_windows.go"
--8<--
../v3/pkg/application/options_application_win.go
--8<--
```

### Mac Options
## Options

```go title="options_application_mac.go"
```go title="pkg/application/application_options.go"
--8<--
../v3/pkg/application/options_application_mac.go
../v3/pkg/application/application_options.go
--8<--
```
67 changes: 67 additions & 0 deletions mkdocs-website/docs/en/API/application_dialogs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@

### ShowAboutDialog

API: `ShowAboutDialog()`

`ShowAboutDialog()` shows an "About" dialog box. It can show the application's
name, description and icon.

```go
// Show the about dialog
app.ShowAboutDialog()
```

### Info

API: `InfoDialog()`

`InfoDialog()` creates and returns a new instance of `MessageDialog` with an
`InfoDialogType`. This dialog is typically used to display informational
messages to the user.

### Question

API: `QuestionDialog()`

`QuestionDialog()` creates and returns a new instance of `MessageDialog` with a
`QuestionDialogType`. This dialog is often used to ask a question to the user
and expect a response.

### Warning

API: `WarningDialog()`

`WarningDialog()` creates and returns a new instance of `MessageDialog` with a
`WarningDialogType`. As the name suggests, this dialog is primarily used to
display warning messages to the user.

### Error

API: `ErrorDialog()`

`ErrorDialog()` creates and returns a new instance of `MessageDialog` with an
`ErrorDialogType`. This dialog is designed to be used when you need to display
an error message to the user.

### OpenFile

API: `OpenFileDialog()`

`OpenFileDialog()` creates and returns a new `OpenFileDialogStruct`. This dialog
prompts the user to select one or more files from their file system.

### SaveFile

API: `SaveFileDialog()`

`SaveFileDialog()` creates and returns a new `SaveFileDialogStruct`. This dialog
prompts the user to choose a location on their file system where a file should
be saved.

### OpenDirectory

API: `OpenDirectoryDialog()`

`OpenDirectoryDialog()` creates and returns a new instance of `MessageDialog`
with an `OpenDirectoryDialogType`. This dialog enables the user to choose a
directory from their file system.
18 changes: 18 additions & 0 deletions mkdocs-website/docs/en/API/application_events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

### On

API:
`On(eventType events.ApplicationEventType, callback func(event *Event)) func()`

`On()` registers an event listener for specific application events. The callback
function provided will be triggered when the corresponding event occurs. The
function returns a function that can be called to remove the listener.

### RegisterHook

API:
`RegisterHook(eventType events.ApplicationEventType, callback func(event *Event)) func()`

`RegisterHook()` registers a callback to be run as a hook during specific
events. These hooks are run before listeners attached with `On()`. The function
returns a function that can be called to remove the hook.
31 changes: 31 additions & 0 deletions mkdocs-website/docs/en/API/application_menu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
### RegisterContextMenu

API: `RegisterContextMenu(name string, menu *Menu)`

`RegisterContextMenu()` registers a context menu with a given name. This menu
can be used later in the application.

```go

// Create a new menu
ctxmenu := app.NewMenu()

// Register the menu as a context menu
app.RegisterContextMenu("MyContextMenu", ctxmenu)
```

### SetMenu

API: `SetMenu(menu *Menu)`

`SetMenu()` sets the menu for the application. On Mac, this will be the global
menu. For Windows and Linux, this will be the default menu for any new window
created.

```go
// Create a new menu
menu := app.NewMenu()

// Set the menu for the application
app.SetMenu(menu)
```
15 changes: 15 additions & 0 deletions mkdocs-website/docs/en/API/application_screens.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
### GetPrimaryScreen

API: `GetPrimaryScreen() (*Screen, error)`

`GetPrimaryScreen()` returns the primary screen of the system.

### GetScreens

API: `GetScreens() ([]*Screen, error)`

`GetScreens()` returns information about all screens attached to the system.

This is a brief summary of the exported methods in the provided `App` struct. Do
note that for more detailed functionality or considerations, refer to the actual
Go code or further internal documentation.
Loading

0 comments on commit c5bb4c7

Please sign in to comment.