updateDisplay :: ProofState -- ^ current global state
    -> Bool
    -- ^ set to 'True' if you want the 'ListBox' to be updated
    -> ListBox String
    -- ^ 'ListBox' displaying the status of all goals (see 'goalsView')
    -> ListBox String
    -- ^ 'ListBox' displaying possible morphism paths to prover logics
    -> Label
    -- ^ 'Label' displaying the status of the currently selected goal(s)
    -> IO ()
updateDisplay st updateLb goalsLb pathsLb statusLabel = do
    -- update goals listbox
    when updateLb
         (do
           (offScreen, _) <- view Vertical goalsLb
           populateGoalsListBox goalsLb (goalsView st)
           moveto Vertical goalsLb offScreen)
    setSelectedProver pathsLb st
    -- update status label
    let (color, label) = toGuiStatus st
    statusLabel # text label
    statusLabel # foreground (show color)
    return ()
updateDisplay :: ProofState -- ^ current global state
    -> Bool
    -- ^ set to 'True' if you want the 'ListBox' to be updated
    -> ListBox String
    -- ^ 'ListBox' displaying the status of all goals (see 'goalsView')
    -> ListBox String
    -- ^ 'ListBox' displaying possible morphism paths to prover logics
    -> Label
    -- ^ 'Label' displaying the status of the currently selected goal(s)
    -> IO ()
updateDisplay st updateLb goalsLb pathsLb statusLabel = do
    -- update goals listbox
    when updateLb
         (do
           (offScreen, _) <- view Vertical goalsLb
           populateGoalsListBox goalsLb (goalsView st)
           moveto Vertical goalsLb offScreen)
    setSelectedProver pathsLb st
    -- update status label
    let (color, label) = toGuiStatus st
    statusLabel # text label
    statusLabel # foreground (show color)
    return ()
updateDisplay st updateLb goalsLb pathsLb statusLabel = do
    -- update goals listbox
    when updateLb
         (do
           (offScreen, _) <- view Vertical goalsLb
           populateGoalsListBox goalsLb (goalsView st)
           moveto Vertical goalsLb offScreen)
    setSelectedProver pathsLb st
    -- update status label
    let (color, label) = toGuiStatus st
    statusLabel # text label
    statusLabel # foreground (show color)
    return ()