34#include "BuildConfig.h"
37#include "WXMXformat.h"
38#include "Configuration.h"
51#include <wx/process.h>
54#include <wx/txtstrm.h>
55#include <wx/sckstrm.h>
59#include <wx/debugrpt.h>
65#include <unordered_map>
68#define MAXIMAPOLLMSECS 2000
78 wxMaxima(wxWindow *parent,
int id,
const wxString &title,
79 const wxString &filename = wxEmptyString,
80 const wxString &initialWorksheetContents = wxEmptyString,
81 const wxPoint pos = wxDefaultPosition,
const wxSize size = wxDefaultSize);
84 wxString EscapeFilenameForShell(wxString name);
110 static void RepairFileAssociations();
137#ifdef wxHAS_POWER_EVENTS
138 void OnPowerEvent(wxPowerEvent &event);
165 m_evalOnStartup = eval;
189 {
return m_fileSaved; }
193 { GetWorksheet()->
OpenHCaret(file, GC_TYPE_IMAGE); }
200 long Major()
const {
return m_major;}
201 long Minor()
const {
return m_minor;}
202 long Patchlevel()
const {
return m_patchlevel;}
207 long m_patchlevel = -1;
212 {maxima_command_line_filename = filename;}
243 static int GetExitCode(){
return m_exitCode;}
247 static wxString maxima_command_line_filename;
249 bool m_maximaAuthenticated =
false;
251 bool m_discardAllData =
false;
253 wxString m_maximaAuthString;
258 static bool m_exitOnError;
262 bool m_exitOnErrorArmed =
true;
264 static wxString m_extraMaximaArgs;
266 std::vector<wxString> m_varNamesToQuery;
269 bool m_openInitialFileError =
false;
271 wxString EscapeForLisp(wxString str);
273 long long m_maximaJiffies_old = 0;
275 long long m_cpuTotalJiffies_old = 0;
278 wxString m_configCommands;
280 static wxRegEx m_gnuplotErrorRegex;
282 wxString m_oldFindString;
284 int m_oldFindFlags = 0;
286 bool m_hasEvaluatedCells =
false;
288 long m_outputCellsFromCurrentCommand = 0;
290 long m_maxOutputCellsPerCommand = 0;
297 int m_unsuccessfulConnectionAttempts = 11;
301 bool m_evalOnStartup =
false;
303 bool m_exitAfterEval =
false;
305 bool m_ready =
false;
311 wxString GetUnmatchedParenthesisState(wxString text, std::size_t &index);
313 wxMemoryBuffer m_uncompletedChars;
318 const wxString &description,
const wxString &description_tooltip,
319 const wxString &commandRule,
320 wxString label1, wxString defaultval1, wxString tooltip1 = {},
321 wxString label2 = {}, wxString defaultval2 = {}, wxString tooltip2 = {},
322 wxString label3 = {}, wxString defaultval3 = {}, wxString tooltip3 = {},
323 wxString label4 = {}, wxString defaultval4 = {}, wxString tooltip4 = {},
324 wxString label5 = {}, wxString defaultval5 = {}, wxString tooltip5 = {},
325 wxString label6 = {}, wxString defaultval6 = {}, wxString tooltip6 = {},
326 wxString label7 = {}, wxString defaultval7 = {}, wxString tooltip7 = {},
327 wxString label8 = {}, wxString defaultval8 = {}, wxString tooltip8 = {},
328 wxString label9 = {}, wxString defaultval9 = {}, wxString tooltip9 = {},
329 wxString label10 = {}, wxString defaultval10 = {}, wxString tooltip10 = {}
366 void OnFocus(wxFocusEvent &event);
379 void OnFollow(wxCommandEvent &event);
380 void OnWizardAbort(wxCommandEvent &event);
381 void OnWizardOK(wxCommandEvent &event);
382 void OnWizardInsert(wxCommandEvent &event);
383 void OnWizardHelpButton(wxCommandEvent &event);
400 void ShowHelp(
const wxString &keyword);
402 void CheckForUpdates(
bool reportUpToDate =
false);
404 void OnRecentDocument(wxCommandEvent &event);
405 void OnRecentPackage (wxCommandEvent &event);
406 void OnUnsavedDocument(wxCommandEvent &event);
408 void OnChar(wxKeyEvent &event);
409 void OnKeyDown(wxKeyEvent &event);
437 void OnIdle(wxIdleEvent &event);
438 bool m_dataFromMaximaIs =
false;
460 const wxString &documentclass,
461 const wxString &documentclassOptions,
462 bool embedWorksheet);
465 void RegisterWxmxDiffTool();
475 void ShowPane(wxCommandEvent &event);
483 void OnFind(wxFindDialogEvent &event);
486 void OnReplace(wxFindDialogEvent &event);
512 void SliderEvent(wxScrollEvent &event);
521#ifdef WXM_USE_AI_TOOLS
524 void AiStatusClick(wxMouseEvent &ev);
527 void AiStatusDClick(wxMouseEvent &ev);
530 void AiStatusRightClick(wxMouseEvent &ev);
539 void OnInspectorEvent(wxCommandEvent &ev);
541 void DumpProcessOutput();
544 void TryUpdateInspector();
546 bool UpdateDrawPane();
548 wxString ExtractFirstExpression(
const wxString &entry);
550 wxString GetDefaultEntry();
552 void OnClose(wxCloseEvent &event);
556 void ReadMaximaIPC(
const wxString &data){m_ipc.
ReadInputData(data);}
558 wxString m_maximaVariable_display2d;
559 wxString m_maximaVariable_altdisplay2d;
560 wxString m_maximaVariable_engineeringFormat;
561 bool m_readMaximaVariables =
false;
562 bool m_updateAutocompletion =
true;
593 void ResetTitle(
bool saved,
bool force =
false);
596 std::unique_ptr<GroupCell>
CreateTreeFromXMLNode(wxXmlNode *xmlcells,
const wxString &wxmxfilename = {});
611 void SetCWD(wxString file);
619 std::unique_ptr<Maxima> m_client;
633 void operator()(wxSocketServer* server)
const {
643 std::unique_ptr<wxSocketServer, ServerDeleter>
m_server;
645 wxProcess *m_maximaProcess =
nullptr;
675 void QuestionAnswered(){
if(GetWorksheet()) GetWorksheet()->
QuestionAnswered();}
685 wxWindowIDRef m_gnuplot_process_id;
686 wxWindowIDRef m_maxima_process_id;
687 wxString m_lastPrompt;
688 wxString m_firstPromptBuffer;
690 std::unique_ptr<wxPrintData> m_printData;
698 wxString m_maximaHtmlDir;
699 bool m_fileSaved =
true;
700 static int m_exitCode;
708 wxString m_gnuplotcommand_commandline;
710 long m_commandIndex = -1;
712 static wxRegEx m_funRegEx;
713 static wxRegEx m_varRegEx;
714 static wxRegEx m_blankStatementRegEx;
715 static wxRegEx m_sbclCompilationRegEx;
717 bool m_maximaBusy =
true;
718 bool m_maximaError =
false;
720 wxString m_fileToOpen;
721 bool m_fourierLoaded =
false;
723#if wxUSE_DRAG_AND_DROP
725 friend class MyDropTarget;
763 wxTimer m_autoSaveTimer;
770 wxTimer m_fastResponseTimer;
773 void StartAutoSaveTimer();
822 bool logImmediately =
true);
824#if wxUSE_DRAG_AND_DROP
827class MyApp :
public wxApp
830 virtual bool OnInit()
override;
831 virtual int OnRun()
override;
832 virtual int OnExit()
override;
847#if wxUSE_ON_FATAL_EXCEPTION && wxUSE_DEBUGREPORT
848 void OnFatalException ()
override;
861 void OnAssertFailure(
const wxChar *file,
int line,
const wxChar *
func,
862 const wxChar *cond,
const wxChar *msg)
override;
876 static void NewWindow(
const wxString &file = {},
bool evalOnStartup =
false,
bool exitAfterEval =
false,
unsigned char *wxmData =
nullptr, std::size_t wxmLen = 0);
878 void OnFileMenu(wxCommandEvent &ev);
893 void DisableConsoleQuickEdit();
895 void RestoreConsoleMode();
899 void MacNewFile()
override;
900 void MacOpenFile(
const wxString &file)
override;
904 static wxLogWindow *m_logWindow;
913 static std::unique_ptr<wxLogChain> m_logChain;
914 static std::vector<wxProcess *> m_wxMaximaProcesses;
916#if wxUSE_ON_FATAL_EXCEPTION && wxUSE_DEBUGREPORT
917 void GenerateDebugReport(wxDebugReport::Context ctx);
920 std::unique_ptr<wxLocale> m_locale;
921 std::unique_ptr<wxTranslations> m_translations;
924 unsigned long m_consoleModeToRestore = 0;
926 bool m_consoleModeChanged =
false;
929 wxString m_configFileName;
931 static bool m_allWindowsInOneProcess;
932 std::unique_ptr<Configuration> m_configuration;
935class MyDropTarget :
public wxFileDropTarget
938 explicit MyDropTarget(
wxMaxima *wxmax)
941 bool OnDropFiles(wxCoord x, wxCoord y,
const wxArrayString &files);
This file declares the class DirStructure.
The header file for the xml cell parser.
The menu/toolbar command handlers wxMaxima binds to the "insert a Maxima command" menu and button eve...
Drives the evaluation of the worksheet: it pulls cells off the evaluation queue, sends their commands...
Loads and saves worksheet files (.wxmx, .wxm, .mac/.out, .xml) for wxMaxima.
Declares MaximaInterruptChannel, the connection wxMaxima interrupts Maxima through.
Appends Maxima's (and wxMaxima's own) output to the worksheet.
The wxMaxima-side owner of the Maxima process and its control socket.
The handlers that turn a chunk of data Maxima sent into a change to wxMaxima's state and worksheet.
Appearance
How wxMaxima chooses between the light and the dark style set.
Definition: Configuration.h:1119
An object that represents the directory structure wxMaxima is installed in.
Definition: Dirstructure.h:58
Definition: FindReplacePane.h:51
This class handles parsing the xml representation of a cell tree.
Definition: MathParser.h:55
The menu-command handlers extracted from the wxMaxima god class.
Definition: MaximaCommandMenus.h:49
The evaluation-queue driver / command protocol extracted from wxMaxima.
Definition: MaximaEvaluator.h:51
The worksheet file loaders/savers extracted from the wxMaxima god class.
Definition: MaximaFileIO.h:49
Handles the "<ipc>" tag from Maxima.
Definition: MaximaIPC.h:41
void ReadInputData(const wxString &data)
Reads the interprocess communications tag, used in test scripts, etc.
Definition: MaximaIPC.cpp:90
Definition: MaximaOutputAppender.h:43
The Maxima process/socket lifecycle extracted from the wxMaxima god class.
Definition: MaximaProcessManager.h:55
The Maxima-response handlers extracted from the wxMaxima god class.
Definition: MaximaResponseReader.h:58
Interface to the Maxima process.
Definition: Maxima.h:63
Definition: test_ImgCell.cpp:232
void OpenHCaret(const wxString &txt={})
Place the cursor into a new cell where the horizontal cursor is.
Definition: Worksheet.h:1762
void QuestionAnswered()
Mark the current question from maxima as "answered"..
Definition: Worksheet.cpp:3317
The frame containing the menu and the sidebars.
Definition: wxMaximaFrame.h:75
A version number that can be compared using "<" and ">".
Definition: wxMaxima.h:197
Definition: wxMaxima.h:76
void OnIdle(wxIdleEvent &event)
The idle task that refreshes the gui (worksheet, menus, title line,...)
Definition: wxMaxima.cpp:1940
void StatusMsgDClick(wxMouseEvent &ev)
Issued on double click on the status message in the status bar.
Definition: wxMaxima.cpp:3509
int m_port
The port the actual maxima process (not its wrapper script) runs at.
Definition: wxMaxima.h:659
wxOutputStream * m_maximaStdin
The stdin of the maxima process. Normally unused (commands go over the socket), but sbcl's low-level ...
Definition: wxMaxima.h:653
bool m_dispReadOut
what is displayed in statusbar
Definition: wxMaxima.h:684
bool m_scheduleUpdateToc
True = schedule an update of the table of contents.
Definition: wxMaxima.h:674
void ShowTip(bool force)
Definition: wxMaxima.cpp:1698
static wxRegEx m_xmlOpeningTag
Looks if this opening tag is actually complete.
Definition: wxMaxima.h:334
bool IsInteractive() const
Is this an interactive session (as opposed to a batch run that will exit)?
Definition: wxMaxima.h:179
static wxString m_promptPrefix
The marker for the start of a input prompt.
Definition: wxMaxima.h:665
void OnMinimize(wxIconizeEvent &event)
Called when this window is minimized.
Definition: wxMaxima.cpp:3800
static const wxString Get_Maxima_Commandline_Filename()
The maxima command, if we use the –maxima=<str> command. If empty we use the configured path,...
Definition: wxMaxima.h:214
void ChangeCellStyle(wxCommandEvent &event)
Is triggered when the textstyle drop-down box's value is changed.
Definition: wxMaxima.cpp:3839
static wxString ExtraMaximaArgs()
Which additional maxima arguments did we get from the command line?
Definition: wxMaxima.h:122
bool m_isActive
Is this window active?
Definition: wxMaxima.h:364
void NetworkDClick(wxMouseEvent &ev)
Issued on double click on the network status.
Definition: wxMaxima.cpp:3501
void OnReplace(wxFindDialogEvent &event)
Is triggered when the "Replace" button in the search dialog is pressed.
Definition: wxMaxima.cpp:2879
int SaveDocumentP()
Tries or offers to save the document.
Definition: wxMaxima.cpp:3742
void AddDrawParameter(wxString cmd, int dimensionsOfNewDrawCommand=2)
Add a parameter to a draw command.
Definition: wxMaxima.cpp:2951
void ShowHelp(const wxString &keyword)
Try to determine if help is needed for maxima or wxMaxima and show this help.
Definition: wxMaxima.cpp:1891
static void ExtraMaximaArgs(const wxString &args)
Additional maxima arguments from the command line.
Definition: wxMaxima.h:120
void EvalOnStartup(bool eval)
Do we want to evaluate the document on startup?
Definition: wxMaxima.h:163
static void ExitOnError()
Exit if we encounter an error.
Definition: wxMaxima.h:86
void OnUpdateTOCEvent(wxCommandEvent &event)
Is called when something requests an update of the table of contents.
Definition: wxMaxima.cpp:2610
void UpdateMenus()
Enables and disables the Right menu buttons.
Definition: wxMaxima.cpp:2393
void LaunchHelpBrowser(wxString uri)
Launches the help browser on the uri passed as an argument.
Definition: wxMaxima.cpp:1714
wxInputStream * m_maximaStdout
The stdout of the maxima process.
Definition: wxMaxima.h:647
void VarReadEvent(wxCommandEvent &event)
Spawn the "configure" menu.
Definition: wxMaxima.cpp:3268
static bool GetEnableIPC()
Do we allow maxima to click buttons in wxMaxima?
Definition: wxMaxima.h:118
std::unique_ptr< wxSocketServer, ServerDeleter > m_server
The server maxima connects to as client.
Definition: wxMaxima.h:643
wxTimer m_maximaStdoutPollTimer
A timer that polls for output from the maxima process.
Definition: wxMaxima.h:145
void OnFollow(wxCommandEvent &event)
Called when the "Scroll to currently evaluated" button is pressed.
Definition: wxMaxima.cpp:3598
bool DocumentSaved()
Does this document need saving?
Definition: wxMaxima.h:188
void CommandWiz(const wxString &title, const wxString &description, const wxString &description_tooltip, const wxString &commandRule, wxString label1, wxString defaultval1, wxString tooltip1={}, wxString label2={}, wxString defaultval2={}, wxString tooltip2={}, wxString label3={}, wxString defaultval3={}, wxString tooltip3={}, wxString label4={}, wxString defaultval4={}, wxString tooltip4={}, wxString label5={}, wxString defaultval5={}, wxString tooltip5={}, wxString label6={}, wxString defaultval6={}, wxString tooltip6={}, wxString label7={}, wxString defaultval7={}, wxString tooltip7={}, wxString label8={}, wxString defaultval8={}, wxString tooltip8={}, wxString label9={}, wxString defaultval9={}, wxString tooltip9={}, wxString label10={}, wxString defaultval10={}, wxString tooltip10={})
Invoke our standard wizard that generates maxima commands.
Definition: wxMaxima.cpp:2985
static void Set_Maxima_Commandline_Filename(const wxString &filename)
Use this maxima command (from a command line option) instead of the configured path.
Definition: wxMaxima.h:211
long long GetMaximaCpuTime()
How much CPU time has maxima used till now? Used by GetMaximaCPUPercentage.
Definition: wxMaxima.cpp:2654
void ReplaceSuggestion(wxCommandEvent &event)
Processes clicks on suggestions Make the menu item, toolbars and panes visible that should be visible...
Definition: wxMaxima.cpp:3380
void SetCWD(wxString file)
Set the current working directory file I/O from maxima is relative to.
Definition: wxMaxima.cpp:1543
static wxRegEx m_xmlOpeningTagName
Finds the name of an opening tag.
Definition: wxMaxima.h:332
void LoadImage(const wxString &file)
Load an image from a file into the worksheet.
Definition: wxMaxima.h:192
static void EnableIPC()
Allow maxima to click buttons in wxMaxima.
Definition: wxMaxima.h:116
void UpdateToolBar()
Enables and disables the Right toolbar buttons.
Definition: wxMaxima.cpp:2462
void ExportWorksheetToHtml(const wxString &filename, const wxString &flavor, bool embedWxmx)
Export the current worksheet to an HTML file (driven by wxworksheettohtml).
Definition: wxMaxima.cpp:2300
void HistoryDClick(wxCommandEvent &event)
Issued on double click on a history item.
Definition: wxMaxima.cpp:3575
void OnNewDemoFiles(wxCommandEvent &event)
Is called when we get a new list of demo files Is called when we get a new list of demo files.
Definition: wxMaxima.cpp:1205
wxString GetCommand(bool params=true)
returns the command to start maxima
Definition: wxMaxima.cpp:1644
static wxString m_mathPrefix1
A marker for the start of maths.
Definition: wxMaxima.h:661
void OnFind(wxFindDialogEvent &event)
Is triggered when the "Find" button in the search dialog is pressed.
Definition: wxMaxima.cpp:2850
void OnSymbolAdd(wxCommandEvent &event)
Sends a new char to the symbols sidebar.
Definition: wxMaxima.cpp:2936
wxInputStream * m_maximaStderr
The stderr of the maxima process.
Definition: wxMaxima.h:649
void ShowWxMaximaHelp(const wxString &anchor=wxEmptyString)
Show the help for wxMaxima.
Definition: wxMaxima.cpp:1798
bool ExitOnErrorArmed() const
Is THIS worksheet still set to exit on a Maxima error?
Definition: wxMaxima.h:99
void OnTextFormat(wxCommandEvent &event)
A character formatting button of the toolbar (bold, ...) was pressed.
Definition: wxMaxima.cpp:3807
bool m_maximaConnectWatchdogWarningShown
Have we already shown the "Maxima hasn't connected" warning this run?
Definition: wxMaxima.h:159
void VarAddAllEvent(wxCommandEvent &event)
Trigger adding all variables to the variables sidebar.
Definition: wxMaxima.cpp:3259
static bool GetExitOnError()
Do we exit if we encounter an error?
Definition: wxMaxima.h:88
ExitCode
Dedicated exit codes for a –batch/–exit-on-error run that aborted (GH #2276): every reason used to sh...
Definition: wxMaxima.h:226
@ EXIT_FILE_OPEN_FAILED
The file named on the command line could not be opened.
Definition: wxMaxima.h:233
@ EXIT_MAXIMA_ERROR
A cell reported a Maxima error and –exit-on-error is active.
Definition: wxMaxima.h:228
@ EXIT_UNANSWERED_QUESTION
Maxima asked an interactive question with no scripted answer available ("Halts on questions",...
Definition: wxMaxima.h:231
@ EXIT_FILE_SAVE_FAILED
Saving the worksheet (on exit, or a –batch run's own final save) failed.
Definition: wxMaxima.h:236
@ EXIT_IMAGE_LOAD_FAILED
An embedded image's data could not be loaded at all (GH #2178).
Definition: wxMaxima.h:238
@ EXIT_IMAGE_DECODE_FAILED
An embedded image failed to decode/render (GH #2178, –debug only).
Definition: wxMaxima.h:240
void OnTimerEvent(wxTimerEvent &event)
Is triggered when a timer this class is responsible for requires.
Definition: wxMaxima.cpp:2747
void PassKeyboardFocus()
Forwards the keyboard focus to a text control that might need it.
Definition: wxMaxima.cpp:3788
double GetMaximaCPUPercentage()
How much CPU horsepower is maxima using currently?
Definition: wxMaxima.cpp:2719
bool m_closing
Did we tell maxima to close?
Definition: wxMaxima.h:695
void ResetTitle(bool saved, bool force=false)
Update the title.
Definition: wxMaxima.cpp:3392
void OnJumpToError(wxCommandEvent &event)
Called when the "Scroll to last error" button is pressed.
wxString m_maximaTempDir
The directory with maxima's temp files.
Definition: wxMaxima.h:697
void OnReplaceAll(wxFindDialogEvent &event)
Is triggered when the "Replace All" button in the search dialog is pressed.
Definition: wxMaxima.cpp:2912
void MaximaDClick(wxMouseEvent &ev)
Issued on double click on the Maxima status icon.
Definition: wxMaxima.cpp:3505
wxProcess * m_gnuplotProcess
The gnuplot process info.
Definition: wxMaxima.h:336
void OnFocus(wxFocusEvent &event)
Called when this window is focussed or defocussed.
Definition: wxMaxima.cpp:3782
TimerIDs
An enum of individual IDs for all timers this class handles.
Definition: wxMaxima.h:126
@ KEYBOARD_INACTIVITY_TIMER_ID
The keyboard was inactive long enough that we can attempt an auto-save.
Definition: wxMaxima.h:128
@ AUTO_SAVE_TIMER_ID
The time between two auto-saves has elapsed.
Definition: wxMaxima.h:130
@ MAXIMA_CONNECT_WATCHDOG_ID
Maxima's process was started; has it connected back to us by now?
Definition: wxMaxima.h:134
@ MAXIMA_STDOUT_POLL_ID
We look if we got new data from maxima's stdout.
Definition: wxMaxima.h:132
void OnClose(wxCloseEvent &event)
close wxMaxima window
Definition: wxMaxima.cpp:3164
bool SaveNecessary()
Does this file contain anything worth saving?
Definition: wxMaxima.cpp:3243
wxProcess * m_gnuplotTerminalQueryProcess
Info about the gnuplot process we start for querying the terminals it supports.
Definition: wxMaxima.h:338
void StripLispComments(wxString &s)
Remove empty statements.
Definition: wxMaxima.cpp:1492
void MenuCommand(const wxString &cmd)
Inserts command cmd into the worksheet.
Definition: wxMaxima.cpp:2272
bool m_inLDB
True while sbcl is stopped in its low-level debugger (LDB). Set from the LDB banner on the process's ...
Definition: wxMaxima.h:657
static const wxString m_promptSuffix
The marker for the end of a input prompt.
Definition: wxMaxima.h:668
void ShowMaximaHelp(wxString={})
Show the help for Maxima.
Definition: wxMaxima.cpp:1907
wxString m_gnuplotProbedCommand
The gnuplot command whose terminal support we already probed.
Definition: wxMaxima.h:362
std::unique_ptr< MaximaInterruptChannel > m_interruptChannel
The second connection Maxima's Lisp opens so we can interrupt it.
Definition: wxMaxima.h:626
wxString GetCWD()
Get the current working directory file I/O from maxima is relative to.
Definition: wxMaxima.h:614
std::unique_ptr< GroupCell > CreateTreeFromXMLNode(wxXmlNode *xmlcells, const wxString &wxmxfilename={})
Loads a wxmx description.
Definition: wxMaxima.cpp:1601
void ShowPane(wxCommandEvent &event)
Toggle the visibility of a pane.
Definition: wxMaxima.cpp:3475
void ShowMaximaHelpWithoutAnchor()
Show the help for Maxima (without handling of anchors).
Definition: wxMaxima.cpp:1849
long long GetTotalCpuTime()
How much CPU time has been used by the system until now? Used by GetMaximaCPUPercentage.
Definition: wxMaxima.cpp:2619
void ExitAfterEval(bool exitaftereval)
Do we want to exit the program after evaluation?
Definition: wxMaxima.cpp:1617
wxProcess * m_gnuplotPopoutCheckProcess
A second, hidden, headless gnuplot invocation of the same "Pop out interactively" script,...
Definition: wxMaxima.h:350
wxString m_gnuplotcommand
Maxima's idea about gnuplot's location.
Definition: wxMaxima.h:702
static wxString m_mathPrefix2
A marker for the start of maths.
Definition: wxMaxima.h:663
void UpdateSlider()
Updates the slider to show the right frame.
Definition: wxMaxima.cpp:3447
void TableOfContentsSelection(wxListEvent &event)
Issued on double click on a table of contents item.
Definition: wxMaxima.cpp:3581
void ConfigChanged()
Is called on start and whenever the configuration changes.
Definition: wxMaxima.cpp:229
wxTimer m_maximaConnectWatchdogTimer
Fires once, a few seconds after Maxima's process is started.
Definition: wxMaxima.h:157
wxString m_gnuplotPopoutCheckFile
The temp file m_gnuplotPopoutCheckProcess reads its script from; removed once OnGnuplotPopoutCheckClo...
Definition: wxMaxima.h:353
static wxString m_firstPrompt
The first prompt maxima will output.
Definition: wxMaxima.h:683
bool SaveOnClose()
Try to save the file before closing it - or return false.
Definition: wxMaxima.cpp:3130
void ExportWorksheetToTex(const wxString &filename, const wxString &documentclass, const wxString &documentclassOptions, bool embedWorksheet)
Export the current worksheet to a LaTeX file (driven by wxworksheettotex).
Definition: wxMaxima.cpp:2347
void func()
function in group 1
Definition: group.cpp:13
The Right Way to delete a wxSocketServer.
Definition: wxMaxima.h:632
This file declares the class wxMaximaFrame.
wxString ApplyAppearanceToApp(Configuration::Appearance appearance, bool logImmediately=true)
Apply the chosen light/dark appearance to the native application chrome (menus, toolbars,...
Definition: wxMaxima.cpp:174