github.com/grzegorz-zur/bm@v0.0.0-20240312214136-6fc133e3e2c0/modes.go (about)

     1  package main
     2  
     3  // Modes holds single instances of each mode.
     4  type Modes struct {
     5  	// Mode is the active mode.
     6  	Mode
     7  	Command Mode
     8  	Input   Mode
     9  	Select  Mode
    10  	Switch  Mode
    11  }
    12  
    13  // SwitchMode switches active mode.
    14  func (modes *Modes) SwitchMode(mode Mode) {
    15  	if modes.Mode != nil {
    16  		modes.Mode.Hide()
    17  	}
    18  	modes.Mode = mode
    19  	modes.Mode.Show()
    20  }