dialog

package module
v0.0.0-...-af3bc34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2022 License: ISC Imports: 4 Imported by: 4

Documentation

Overview

Package dialog provides a simple cross-platform common dialog API. Eg. to prompt the user with a yes/no dialog:

if dialog.MsgDlg("%s", "Do you want to continue?").YesNo() {
    // user pressed Yes
}

The general usage pattern is to call one of the toplevel *Dlg functions which return a *Builder structure. From here you can optionally call configuration functions (eg. Title) to customise the dialog, before using a launcher function to run the dialog.

Index

Constants

This section is empty.

Variables

View Source
var Cancelled = ErrCancelled

Cancelled refers to ErrCancelled. Deprecated: Use ErrCancelled instead.

View Source
var ErrCancelled = errors.New("Cancelled")

ErrCancelled is an error returned when a user cancels/closes a dialog.

Functions

func Init

func Init()

Types

type DirectoryBuilder

type DirectoryBuilder struct {
	Dlg
	StartDir string
}

DirectoryBuilder is used for directory browse dialogs.

func Directory

func Directory() *DirectoryBuilder

Directory initialises a DirectoryBuilder using the default configuration.

func (*DirectoryBuilder) Browse

func (b *DirectoryBuilder) Browse() (string, error)

Browse spawns the directory selection dialog using the configured settings, asking the user to select a single folder. Returns ErrCancelled as the error if the user cancels or closes the dialog.

func (*DirectoryBuilder) SetStartDir

func (b *DirectoryBuilder) SetStartDir(dir string) *DirectoryBuilder

StartDir specifies the initial directory to be used for the dialog.

func (*DirectoryBuilder) Title

func (b *DirectoryBuilder) Title(title string) *DirectoryBuilder

Title specifies the title to be used for the dialog.

type Dlg

type Dlg struct {
	Title string
}

Dlg is the common type for dialogs.

type FileBuilder

type FileBuilder struct {
	Dlg
	StartDir     string
	Filters      []FileFilter
	InitFilename string
}

FileBuilder is used for creating file browsing dialogs.

func File

func File() *FileBuilder

File initialises a FileBuilder using the default configuration.

func (*FileBuilder) Filter

func (b *FileBuilder) Filter(desc string, extensions ...string) *FileBuilder

Filter adds a category of files to the types allowed by the dialog. Multiple calls to Filter are cumulative - any of the provided categories will be allowed. By default all files can be selected.

The special extension '*' allows all files to be selected when the Filter is active.

func (*FileBuilder) Load

func (b *FileBuilder) Load() (string, error)

Load spawns the file selection dialog using the configured settings, asking the user to select a single file. Returns ErrCancelled as the error if the user cancels or closes the dialog.

func (*FileBuilder) Save

func (b *FileBuilder) Save() (string, error)

Save spawns the file selection dialog using the configured settings, asking the user for a filename to save as. If the chosen file exists, the user is prompted whether they want to overwrite the file. Returns ErrCancelled as the error if the user cancels/closes the dialog, or selects not to overwrite the file.

func (*FileBuilder) SetInitFilename

func (b *FileBuilder) SetInitFilename(initFilename string) *FileBuilder

func (*FileBuilder) SetStartDir

func (b *FileBuilder) SetStartDir(startDir string) *FileBuilder

SetStartDir specifies the initial directory of the dialog.

func (*FileBuilder) Title

func (b *FileBuilder) Title(title string) *FileBuilder

Title specifies the title to be used for the dialog.

type FileFilter

type FileFilter struct {
	Desc       string
	Extensions []string
}

FileFilter represents a category of files (eg. audio files, spreadsheets).

type MsgBuilder

type MsgBuilder struct {
	Dlg
	Msg string
}

MsgBuilder is used for creating message boxes.

func Message

func Message(format string, args ...interface{}) *MsgBuilder

Message initialises a MsgBuilder with the provided message.

func (*MsgBuilder) Error

func (b *MsgBuilder) Error()

Error spawns the message dialog with an error icon and single button, "Ok".

func (*MsgBuilder) Info

func (b *MsgBuilder) Info()

Info spawns the message dialog with an information icon and single button, "Ok".

func (*MsgBuilder) Title

func (b *MsgBuilder) Title(title string) *MsgBuilder

Title specifies what the title of the message dialog will be.

func (*MsgBuilder) YesNo

func (b *MsgBuilder) YesNo() bool

YesNo spawns the message dialog with two buttons, "Yes" and "No". Returns true iff the user selected "Yes".

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL