processRemainingEvents handles the remaining events in the events pool. Returns true if all processed events were content-only.
()
| 788 | // processRemainingEvents handles the remaining events in the events pool. |
| 789 | // Returns true if all processed events were content-only. |
| 790 | func (g *Gui) processRemainingEvents() (bool, error) { |
| 791 | contentOnly := true |
| 792 | for { |
| 793 | select { |
| 794 | case ev := <-g.gEvents: |
| 795 | contentOnly = false |
| 796 | if err := g.handleError(g.handleEvent(&ev)); err != nil { |
| 797 | return false, err |
| 798 | } |
| 799 | case ev := <-g.userEvents: |
| 800 | contentOnly = ev.contentOnly && contentOnly |
| 801 | err := g.handleError(ev.f(g)) |
| 802 | ev.task.Done() |
| 803 | if err != nil { |
| 804 | return false, err |
| 805 | } |
| 806 | default: |
| 807 | return contentOnly, nil |
| 808 | } |
| 809 | } |
| 810 | } |
| 811 | |
| 812 | // handleEvent handles an event, based on its type (key-press, error, |
| 813 | // etc.) |