wxMaxima
Loading...
Searching...
No Matches
Public Member Functions
Worksheet::OutputBatch Class Reference

Lays out the output of all lines appended in this scope once, at its end. More...

#include <Worksheet.h>

Public Member Functions

 OutputBatch (Worksheet *worksheet)
 
 OutputBatch (const OutputBatch &)=delete
 
OutputBatch & operator= (const OutputBatch &)=delete
 

Detailed Description

Lays out the output of all lines appended in this scope once, at its end.

InsertLine() lays out the whole output of the cell it appends to, so a command that prints thousands of lines one by one costs time quadratic in their number – 59 ms per line once 2000 lines were there, which, at the pace disp() in a loop prints, was enough to freeze wxMaxima (GH #2594). MaximaProcessManager opens one of these around each run of output items it hands to the worksheet. Nothing reads the layout of a cell while its output is still arriving, which is what makes deferring it safe; the scope ends before anything else Maxima sends (a prompt, a question) is handled. Scopes nest; only the outermost one lays out.


The documentation for this class was generated from the following file: