wxMaxima
Loading...
Searching...
No Matches
Public Member Functions
MaximaResponseReader Class Reference

The Maxima-response handlers extracted from the wxMaxima god class. More...

#include <MaximaResponseReader.h>

Public Member Functions

 MaximaResponseReader (wxMaxima &wxm)
 
void ReadStatusBar (const wxXmlDocument &xmldoc)
 Handles a <statusbar> document: shows its text in wxMaxima's status bar.
 
void ReadWorksheetExport (const wxXmlDocument &xmldoc)
 Handles a <worksheetexport> document: exports the worksheet to a file.
 
void ReadManualTopicNames (const wxXmlDocument &xmldoc)
 Handles a <html-manual-keywords> document: opens the manual on the keyword(s) Maxima resolved a help request to.
 
void ReadMath (const wxXmlDocument &xml)
 Appends a new chunk of typeset math Maxima sent to the worksheet.
 
void ReadLoadSymbols (const wxXmlDocument &data)
 Hands a <wxxml-symbols> document (a new batch of auto-completable symbols) to the worksheet's autocompleter.
 
void ReadFirstPrompt (const wxString &data)
 Handles Maxima's very first prompt after startup (banner, PID, readiness).
 
void ReadMiscText (const wxString &data)
 Handles a chunk of plain (non-XML) text Maxima sent: classifies it as output/warning/error and appends it to the worksheet.
 
void ReadSuppressedOutput (const wxString &data)
 Handles output Maxima marked as suppressed; also the startup authentication handshake (the <wxxml-key> exchange).
 
void ReadAsciiMath (const wxString &data)
 Handles one complete <wxxml-asciimath>...</wxxml-asciimath> block: Maxima's stock ASCII-art 2D display, always rendered as one uniform monospace block instead of ReadMiscText()'s per-chunk font guess.
 
void ReadAsyncOutput (const wxString &data)
 Handles one complete <wxasync><id>...</id>...</wxasync> block: output from a background job, naming the cell it belongs to.
 
void ReadPrompt (const wxString &data)
 Handles a new input/question prompt: advances the evaluation queue or surfaces the question, and tracks Maxima's lisp/maxima mode.
 
void ReadStdErr ()
 Reads and reports whatever Maxima forwarded on its stdout/stderr streams (most prominently the gnuplot subprocess's diagnostics).
 
void ReadVariables (const wxXmlDocument &xmldoc)
 Handles a <variables> document: updates the variables sidebar, the table-synced menus and runs the per-variable action for each value Maxima advertised.
 
void ReadAddVariables (const wxXmlDocument &xmldoc)
 Handles a <watch_variables_add> document: adds the named variables to the variables-sidebar watch list.
 

Detailed Description

The Maxima-response handlers extracted from the wxMaxima god class.

Owned by value by the wxMaxima frame; MaximaProcessManager::MaximaEvent dispatches each incoming chunk to the matching handler here. Holds a reference back to that frame for the services the handlers need (the worksheet, the sidebars, the status bar, the configuration).

Member Function Documentation

◆ ReadAsyncOutput()

void MaximaResponseReader::ReadAsyncOutput ( const wxString &  data)

Handles one complete <wxasync><id>...</id>...</wxasync> block: output from a background job, naming the cell it belongs to.

Every other handler here appends to whatever cell is being evaluated right now, which is the correct answer for everything Maxima sends synchronously. It is the wrong answer – reliably, not occasionally – for a background job, whose output arrives long after its own cell stopped being current. See Doxygen/AsyncMaximaOutput.md.

◆ ReadWorksheetExport()

void MaximaResponseReader::ReadWorksheetExport ( const wxXmlDocument &  xmldoc)

Handles a <worksheetexport> document: exports the worksheet to a file.

The document is emitted by the wxworksheetto* Maxima commands and carries the export kind, the target file and the keyword options as child elements (<type>, <file>, <option name="...">). Currently type "html" is implemented.


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