diff --git a/Doxygen-documentation/classWorksheet.html b/Doxygen-documentation/classWorksheet.html index edb92bf5e..755d7f5fa 100644 --- a/Doxygen-documentation/classWorksheet.html +++ b/Doxygen-documentation/classWorksheet.html @@ -1867,7 +1867,7 @@

Actually recalculate the worksheet.

-
Todo:
We check here if the recalc start is within the worksheet. Would it make more sense to store the recalculation start in a CellPointer that automagically zeroes itself if that isn't the case?
+
Todo:
We check here if the recalc start is within the worksheet. Would it make more sense to store the recalculation start in a CellPointer that automagically zeroes itself if that isn't the case?
@@ -2156,7 +2156,7 @@

Scrolls to a point on the worksheet.

-
Todo:
I have deactivated this assert for the release as it scares the users in a case we don't seem to have a problem. But we perhaps should try to find out why it is triggered.
+
Todo:
I have deactivated this assert for the release as it scares the users in a case we don't seem to have a problem. But we perhaps should try to find out why it is triggered.

Test case:

  • Create a code cell
  • Press the "hide all code cells" button.
  • diff --git a/Doxygen-documentation/classwxMaxima.html b/Doxygen-documentation/classwxMaxima.html index 4be9607c3..c9c77a98c 100644 --- a/Doxygen-documentation/classwxMaxima.html +++ b/Doxygen-documentation/classwxMaxima.html @@ -1672,7 +1672,7 @@

    Spawn the "configure" menu.

    -
    Todo:
    Inform maxima about the new default plot window size.
    +
    Todo:
    Inform maxima about the new default plot window size.
    @@ -2362,7 +2362,7 @@

    Todo:
    Set pngcairo to be the default terminal as soon as the mac platform supports it.
    +
    Todo:
    Set pngcairo to be the default terminal as soon as the mac platform supports it.
    diff --git a/Doxygen-documentation/md_NEWS.html b/Doxygen-documentation/md_NEWS.html index 254b95834..768ea922f 100644 --- a/Doxygen-documentation/md_NEWS.html +++ b/Doxygen-documentation/md_NEWS.html @@ -79,7 +79,7 @@
  • Correctly copy superscript when CopyAsMathML (#1945)
  • MathML export: Use a centered dot instead of *, if configured (#1946)
-

+

24.08.0

  • An advanced plotting tutorial
  • @@ -101,7 +101,7 @@

  • On MS Windows one can now choose between Gnuplot and wGnuplot (#1934)
  • Fixed the error message about dual manifest files on MSVC
-

+

24.05.0

  • Faster discarding of maths that is too long to read
  • @@ -129,14 +129,14 @@

  • On MSW wxWidgets >=3.2 now is mandatory for getting high-DPI support
  • A backward-search fix (#1913)
-

+

24.02.2

  • Set maxima's LANG variable, not wxMaxima's LANG (#1897)
  • Sped up the communication between maxima and wxMaxima
  • Sometimes newlines in misc text from maxima got lost (#1894)
-

+

24.02.1

  • wxMaxima now correctly installs its icons (#1892)
  • @@ -150,7 +150,7 @@

  • Ctrl+Alt+M now restarts maxima
  • Added a Maxima/Memory menu
-

+

24.02.0

  • Faster start-up
  • @@ -183,7 +183,7 @@

  • Fix crash when exporting a worksheet with animations to TeX
  • Resolved a crash on closing a window (#1889)
-

+

23.12.0

  • Input text selection was cleared when right-clicking on it (#1845)
  • @@ -201,7 +201,7 @@

  • Hidden cells weren't restored from wxm files (#1855)
  • diff() no longer causes spurious multiplication dots (#1825)
-

+

23.11.0

  • Correctly draw the bracket of the cell under the cursor (#1811)
  • @@ -220,7 +220,7 @@

  • Resolved many warnings from several static analysis tools
  • Fine-tuning of the "undo" function
-

+

23.10.0

  • A big rewrite to make the static analysis tools happy
  • @@ -239,7 +239,7 @@

  • Better error messages for bitmaps
  • Many additional bug fixes
-

+

23.08.0

  • Better print scaling
  • @@ -248,7 +248,7 @@

  • Resolved many warnings from cppcheck
  • A RegEx search
-

+

23.07.0

  • Printing: Made the page margins configurable (#1787)
  • @@ -264,7 +264,7 @@

  • The cursor no more disappears (#1788)
  • Updated italian translation
-

+

23.05.1

  • Updated the Russian and Italian translation.
  • @@ -275,7 +275,7 @@

  • Always revise the decision what to display as 2D equation on window width changes
  • 2D display of integrals had zero size (#1780)
-

+

23.05.0

  • Got rid of some compiler and cppcheck warnings
  • @@ -290,7 +290,7 @@

  • new wxMaxima processes now get more of the command-line args of the parent process
  • wxMaxima no more tries to install its own fonts.
-

+

23.04.1

  • More config dialogue tweaks
  • @@ -301,7 +301,7 @@

  • Be aware that the MSW port recycles unused window IDs.
  • The load() command now again works with symbols as package names.
-

+

23.04.0

  • Made the GUI more responsive for functions with much output
  • @@ -316,7 +316,7 @@

  • Resolved several asserts
  • Resolved a few small bugs in the autosave logic
-

+

23.03.0

  • Make sure all bitmaps are valid on High-DPI MacOs (#1749)
  • @@ -328,7 +328,7 @@

  • Completely rewrote the dockable-sidebars-stuff
  • Many files are now build on demand, not at configure time
-

+

23.02.0

  • Fix XML generation of wxmx documents (#1556)
  • @@ -340,7 +340,7 @@

  • A separate style for operators (#1002)
  • A nicer ChangeLog
-

+

22.12.0

  • A cleaner status bar with double-click actions
  • @@ -356,12 +356,12 @@

  • Faster saving of .wxmx files
  • Better toolbar bitmap handling
-

+

22.11.1

  • Repaired zooming the worksheet
-

+

22.11.0

  • Resolved an ID collision (#1726)
  • @@ -375,7 +375,7 @@

  • Many windows build improvements
  • Resolved a crash on restarting maxima
-

+

22.09.0

  • Support for wxWidgets 3.1.7
  • @@ -404,7 +404,7 @@

  • Better unicode handling (#1691)
  • Many additional bugfixes
-

+

22.05.0:

  • Updated the Ukrainian translation
  • @@ -427,7 +427,7 @@

  • The Cygwin build works again
  • Support for wxWidgets 3.1.6
-

+

22.04.0:

  • A Russian translation update from Olesya Gerasimenko
  • @@ -435,7 +435,7 @@

  • Resolved a bug in parenthesis matching (#1649)
  • Faster startup logic
-

+

22.03.0:

  • Add an compile option "WXM_INCLUDE_FONTS", which allows to specify, if additional fonts should be included. Current default: YES; use -DWXM_INCLUDE_FONTS=NO when calling CMake to disable that. Including fonts caused some issues on MacOS. (#1580)
  • @@ -456,7 +456,7 @@

  • Merging cells per keyboard shortcut works again (#1626)
  • Symbols buttons whose symbols the GUI font lacks are now hidden
-

+

21.11.0:

  • Allow seeing all files in the file save dialog. (#1557)
  • @@ -475,17 +475,17 @@

  • Handle power events (#1607)
  • Fix ugly buttons in the sidebars with recent wxWidgets
-

+

21.05.2:

  • The integral signs disappeared or were misplaced on some MS Windows computers
-

+

21.05.1:

  • Resolved a segfault on printing that could be triggered on some computers
-

+

21.05.0:

  • Long numbers now can be broken into lines
  • @@ -497,7 +497,7 @@

  • Changed the font for the PDF manuals to free Google Noto fonts. Now all PDF manuals can be created without missing characters (before cyrillic, chinese and greek characters were missing).
  • Solved a crash when printing.
-

+

21.04.0

  • Fix visualization after "Evaluate all cells (Ctrl+Shift+R)" (bug #1512).
  • @@ -512,7 +512,7 @@

  • Many external build scripts are now replaced by C++ and CMake commands.
  • A menu entry for when to invoke the debugger.
-

+

21.02.0

  • A Spanish translation update by cyphra
  • @@ -524,14 +524,14 @@

  • Made the time between autosaves configurable.
  • Fixed an issue with reproducible builds.
-

+

21.01.0

  • Chinese translation updates by 刘荣.
  • A Russian translation update by OlesyaGerasimenko
  • Many small bugfixes including a crash on loading files with images.
-

+

Changes in older wxMaxima versions you can find here

https://github.com/wxMaxima-developers/wxmaxima/blob/Version-21.02.0/NEWS.md

diff --git a/Doxygen-documentation/md_info_wxmaxima.html b/Doxygen-documentation/md_info_wxmaxima.html index 104de6e1e..2df21b5d4 100644 --- a/Doxygen-documentation/md_info_wxmaxima.html +++ b/Doxygen-documentation/md_info_wxmaxima.html @@ -75,26 +75,26 @@

WxMaxima is a graphical user interface (GUI) for the Maxima computer algebra system (CAS). WxMaxima allows one to use all of Maxima_’s functions. In addition, it provides convenient wizards for accessing the most commonly used features. This manual describes some of the features that make wxMaxima one of the most popular GUIs for _Maxima.

wxMaxima logo


-

+

Introduction to wxMaxima

-

+

<em>Maxima</em> and wxMaxima

In the open-source domain, big systems are normally split into smaller projects that are easier to handle for small groups of developers. For example a CD burner program will consist of a command-line tool that actually burns the CD and a graphical user interface that allows users to implement it without having to learn about all the command line switches and in fact without using the command line at all. One advantage of this approach is that the developing work that was invested into the command-line program can be shared by many programs: The same CD-burner command-line program can be used as a “send-to-CD”-plug-in for a file manager application, for the “burn to CD” function of a music player and as the CD writer for a DVD backup tool. Another advantage is that splitting one big task into smaller parts allows the developers to provide several user interfaces for the same program.

A computer algebra system (CAS) like Maxima fits into this framework. A CAS can provide the logic behind an arbitrary precision calculator application or it can do automatic transforms of formulas in the background of a bigger system (e.g., Sage). Alternatively, it can be used directly as a free-standing system. Maxima can be accessed via a command line. Often, however, an interface like wxMaxima proves a more efficient way to access the software, especially for newcomers.

-

+

<em>Maxima</em>

Maxima is a full-featured computer algebra system (CAS). A CAS is a program that can solve mathematical problems by rearranging formulas and finding a formula that solves the problem as opposed to just outputting the numeric value of the result. In other words, Maxima can serve as a calculator that gives numerical representations of variables, and it can also provide analytical solutions. Furthermore, it offers a range of numerical methods of analysis for equations or systems of equations that cannot be solved analytically.

Maxima screenshot, command line

Extensive documentation for Maxima is available in the internet. Part of this documentation is also available in wxMaxima’s help menu. Pressing the Help key (on most systems the F1 key) causes _wxMaxima_’s context-sensitive help feature to automatically jump to _Maxima_’s manual page for the command at the cursor.

-

+

WxMaxima

WxMaxima is a graphical user interface that provides the full functionality and flexibility of Maxima. WxMaxima offers users a graphical display and many features that make working with Maxima easier. For example wxMaxima allows one to export any cell’s contents (or, if that is needed, any part of a formula, as well) as text, as LaTeX or as MathML specification at a simple right-click. Indeed, an entire workbook can be exported, either as a HTML file or as a LaTeX file. Documentation for wxMaxima, including workbooks to illustrate aspects of its use, is online at the wxMaxima help site, as well as via the help menu.

wxMaxima window

The calculations that are entered in wxMaxima are performed by the Maxima command-line tool in the background.

-

+

Workbook basics

Much of wxMaxima is self-explaining, but some details require attention. This site contains a number of workbooks that address various aspects of wxMaxima. Working through some of these (particularly the "10 minute _(wx)Maxima_ tutorial") will increase one’s familiarity with both the content of Maxima and the use of wxMaxima to interact with Maxima. This manual concentrates on describing aspects of wxMaxima that are not likely to be self-evident and that might not be covered in the online material.

-

+

The workbook approach

One of the very few things that are not standard in wxMaxima is that it organizes the data for Maxima into cells that are evaluated (which means: sent to Maxima) only when the user requests this. When a cell is evaluated, all commands in that cell, and only that cell, are evaluated as a batch. (The preceding statement is not quite accurate: One can select a set of adjacent cells and evaluate them together. Also, one can instruct Maxima to evaluate all cells in a workbook in one pass.) _WxMaxima_’s approach to submitting commands for execution might feel unfamiliar at the first sight. It does, however, drastically ease work with big documents (where the user does not want every change to automatically trigger a full re-evaluation of the whole document). Also, this approach is very handy for debugging.

If text is typed into wxMaxima it automatically creates a new worksheet cell. The type of this cell can be selected in the toolbar. If a code cell is created the cell can be sent to Maxima, which causes the result of the calculation to be displayed below the code. A pair of such commands is shown below.

@@ -103,7 +103,7 @@

Besides the input cells wxMaxima allows for text cells for documentation, image cells, title cells, chapter cells and section cells. Every cell has its own undo buffer so debugging by changing the values of several cells and then gradually reverting the unneeded changes is rather easy. Furthermore the worksheet itself has a global undo buffer that can undo cell edits, adds and deletes.

The figure below shows different cell types (title cells, section cells, subsection cells, text cells, input/output cells and image cells).

Example of different wxMaxima cells

-

+

Cells

The worksheet is organized in cells. WxMaxima knows the following cell types:

    @@ -117,7 +117,7 @@

    The default behavior of wxMaxima when text is entered is to automatically create a math cell. Cells of other types can be created using the Cell menu, using the hot keys shown in the menu or using the drop-down list in the toolbar. Once the non-math cell is created, whatever is typed into the file is interpreted as text.

    A (C-style) comment text can be part of a math cell as follows: /* This comment will be ignored by Maxima */

    "`/*`" marks the start of the comment, "`*/`" the end.

    -

    +

    Horizontal and vertical cursors

    If the user tries to select a complete sentence, a word processor will try to extend the selection to automatically begin and end with a word boundary. Likewise, if more than one cell is selected, wxMaxima will extend the selection to whole cells.

    What isn’t standard is that wxMaxima provides drag-and-drop flexibility by defining two types of cursors. WxMaxima will switch between them automatically when needed:

    @@ -130,15 +130,15 @@

    You might want to create a different cell type (using the "Cell" menu), maybe a title cell or text cell, which describes, what will be done, when you start creating your worksheet.

    If you navigate between the different cells, you will also see the (blinking) horizontal cursor, where you can insert a cell into your worksheet (either a math cell, by just start typing your formula - or a different cell type using the menu).

    (blinking) horizontal cursor between cells

    -

    +

    Sending cells to Maxima

    The command in a code cell is executed once by pressing CTRL+ENTER, SHIFT+ENTER or the ENTER key on the keypad. The wxMaxima default is to enter commands when either CTRL+ENTER or SHIFT+ENTER is entered, but wxMaxima can be configured to execute commands in response to ENTER.

    -

    +

    Command autocompletion

    WxMaxima contains an autocompletion feature that is triggered via the menu (Cell/Complete Word) or alternatively by pressing the key combination CTRL+SPACE. The autocompletion is context-sensitive. For example, if activated within a unit specification for ezUnits it will offer a list of applicable units.

    ezUnits

    Besides completing a file name, a unit name, or the current command or variable name, the autocompletion is able to show a template for most of the commands indicating the type (and meaning) of the parameters this program expects. To activate this feature press SHIFT+CTRL+SPACE or select the respective menu item (Cell/Show Template).

    -

    +

    Greek characters

    Computers traditionally stored characters in 8-bit values. This allows for a maximum of 256 different characters. All letters, numbers, and control symbols (end of transmission, end of string, lines and edges for drawing rectangles for menus etc.) of nearly any given language can fit within that limit.

    For most countries, the codepage of 256 characters that has been chosen does not include things like Greek letters, though, that are frequently used in mathematics. To overcome this type of limitation Unicode has been invented: An encoding that makes English text work like normal, but to use much more than 256 characters.

    @@ -294,19 +294,19 @@

    ESC61ESC therefore results in an a.

    Please note that most of these symbols (notable exceptions are the logic symbols) do not have a special meaning in Maxima and therefore will be interpreted as ordinary characters. If Maxima is compiled using a Lisp that doesn’t support Unicode characters they might cause an error message.

    It may be the case that e.g. Greek characters or mathematical symbols are not included in the selected font, then they can not be displayed. To solve that problem, select other fonts (using: Edit -> Configure -> Style).

    -

    +

    Unicode replacement

    wxMaxima will replace several Unicode characters with their respective Maxima expressions, e.g. "²" with "^2", "³" with "^3", the square root sign with the function sqrt(), the (mathematical) Sigma sign (which is not the same Unicode character as the corresponding Greek letter) with sum(), etc.

    -

    +

    Side Panes

    Shortcuts to the most important Maxima commands, things like a table of contents, windows with debug messages or a history of the last issued commands can be accessed using the side panes. They can be enabled using the "View" menu. They all can be moved to other locations inside or outside the wxMaxima window. Other useful panes is the one that allows to input Greek letters using the mouse.

    Example of different side panes

    In the "table of contents" side pane, one can increase or decrease a heading by just clicking on the heading with the right mouse button and select the next higher or lower heading type.

    Increase or decrease headings in the TOC side pane

    -

    +

    MathML output

    Several word processors and similar programs either recognize MathML input and automatically insert it as an editable 2D equation - or (like LibreOffice) have an equation editor that offers an “import MathML from clipboard” feature. Others support RTF maths. WxMaxima, therefore, offers several entries in the right-click menu.

    -

    +

    Markdown support

    WxMaxima offers a set of standard Markdown conventions that don’t collide with mathematical notation. One of these elements is bullet lists.

    Ordinary text
    @@ -325,7 +325,7 @@

    _WxMaxima_’s TeX and HTML output will also recognize => and replace it by the corresponding Unicode sign:

    cogito => sum.

    Other symbols the HTML and TeX export will recognize are <= and >= for comparisons, a double-pointed double arrow (<=>), single-headed arrows (<->, -> and <-) and +/- as the respective sign. For TeX output also << and >> are recognized.

    -

    +

    Hotkeys

    Most hotkeys can be found in the text of the respective menus. Since they are actually taken from the menu text and thus can be customized by the translations of wxMaxima to match the needs of users of the local keyboard, we do not document them here. A few hotkeys or hotkey aliases, though, are not documented in the menus:

      @@ -333,23 +333,23 @@

    • CTRL+TAB or CTRL+SHIFT+TAB triggers the auto-completion mechanism.
    • SHIFT+SPACE inserts a non-breaking space.
    -

    +

    Raw TeX in the TeX export

    If a text cell begins with TeX: the TeX export contains the literal text that follows the TeX: marker. Using this feature allows the entry of TeX markup within the wxMaxima workbook.

    -

    +

    File Formats

    The material that is developed in a wxMaxima session can be stored for later use in any of three ways:

    -

    +

    .mac

    .mac files are ordinary text files that contain Maxima commands. They can be read using _Maxima_’s batch() or load() command or _wxMaxima_’s File/Batch File menu entry.

    One example is shown below. Quadratic.mac defines a function and afterward generates a plot with wxdraw2d(). Afterward the contents of the file Quadratic.mac are printed and newly defined function f() is evaluated.

    Loading a file with `batch()`

    Attention: Although the file Quadratic.mac has a usual Maxima extension (.mac), it can only be read by wxMaxima, since the command wxdraw2d() is a wxMaxima-extension to Maxima.

    You can be use .mac files for writing your own library of macros. But since they don’t contain enough structural information they cannot be read back as a wxMaxima session.

    -

    +

    .wxm

    .wxm files contain the worksheet except for Maxima_’s output. On Maxima versions >5.38 they can be read using _Maxima_’s load() function just as .mac files can be. With this plain-text format, it sometimes is unavoidable that worksheets that use new features are not downwards-compatible with older versions of _wxMaxima.

    -

    +

    File format of wxm files

    This is just a plain text file (you can open it with a text editor), containing the cell contents as some special Maxima comments.

    It starts with the following comment:

    @@ -375,10 +375,10 @@

    /* [wxMaxima: fold start ] */
    ...
    /* [wxMaxima: fold end ] */
    -

    +

.wxmx

This XML-based file format saves the complete worksheet including things like the zoom factor and the watchlist. It is the preferred file format.

-

+

Configuration options

For some common configuration variables wxMaxima offers two ways of configuring:

    @@ -386,10 +386,10 @@

  • Also, the values for most configuration variables can be changed for the current session only by overwriting their values from the worksheet, as shown below.

wxMaxima configuration 1

-

+

Default animation framerate

The animation framerate that is used for new animations is kept in the variable wxanimate_framerate. The initial value this variable will contain in a new worksheet can be changed using the configuration dialogue.

-

+

Default plot size for new <em>maxima</em> sessions

After the next start, plots embedded into the worksheet will be created with this size if the value of wxplot_size isn’t changed by maxima.

In order to set the plot size of a single graph only use the following notation can be used that sets a variable’s value for one command only:

@@ -399,14 +399,14 @@

x,-5,5
)
), wxplot_size=[480,480]$
-

+

Match parenthesis in text controls

This option enables two things:

  • If an opening parenthesis, bracket, or double quote is entered wxMaxima will insert a closing one after it.
  • If text is selected if any of these keys is pressed the selected text will be put between the matched signs.
-

+

Don’t save the worksheet automatically

If this option is set, the file where the worksheet is will be overwritten only the request of the user. In case of a crash/power loss/... a recent backup copy is still made available in the temp directory, though.

If this option isn’t set wxMaxima behaves more like a modern cellphone app:

@@ -414,15 +414,15 @@

  • Files are saved automatically on exit
  • And the file will automatically be saved every 3 minutes.
  • -

    +

    Where is the configuration saved?

    If you are using Unix/Linux, the configuration information will be saved in a file .wxMaxima in your home directory (if you are using wxWidgets < 3.1.1), or .config/wxMaxima.conf ((XDG-Standard) if wxWidgets >= 3.1.1 is used). You can retrieve the wxWidgets version from the command wxbuild_info(); or by using the menu option Help->About. wxWidgets is the cross-platform GUI library, which is the base for wxMaxima (therefore the wx in the name). (Since the filename starts with a dot, .wxMaxima or .config will be hidden).

    If you are using Windows, the configuration will be stored in the registry. You will find the entries for wxMaxima at the following position in the registry: HKEY_CURRENT_USER\Software\wxMaxima


    -

    +

    Extensions to <em>Maxima</em>

    WxMaxima is primarily a graphical user interface for Maxima. As such, its main purpose is to pass along commands to Maxima and to report the results of executing those commands. In some cases, however, wxMaxima adds functionality to Maxima. WxMaxima_’s ability to generate reports by exporting a workbook’s contents to HTML and LaTeX files has been mentioned. This section considers some ways that _wxMaxima enhances the inclusion of graphics in a session.

    -

    +

    Subscripted variables

    wxsubscripts specifies, if (and how) wxMaxima will autosubscript variable names:

    If it is false, the functionality is off, wxMaxima will not autosubscript part of variable names after an underscore.

    @@ -435,7 +435,7 @@

    How variables are autosubscripted using wxsubscripts

    If the variable name doesn’t match these requirements, it can still be declared as "to be subscripted" using the command wxdeclare_subscript(variable_name); or wxdeclare_subscript([variable_name1,variable_name2,...]); Declaring a variable as subscripted can be reverted using the following command: wxdeclare_subscript(variable_name,false);

    You can use the menu "View->Autosubscript" to set these values.

    -

    +

    User feedback in the status bar

    Long-running commands can provide user feedback in the status bar. This user feedback is replaced by any new feedback that is placed there (allowing to use it as a progress indicator) and is deleted as soon as the current command sent to Maxima is finished. It is safe to use wxstatusbar() even in libraries that might be used with plain Maxima (as opposed to wxMaxima): If wxMaxima isn’t present the wxstatusbar() command will just be left unevaluated.

    for i:1 thru 10 do (
    @@ -446,10 +446,10 @@

    /* program execution (here: for 3 seconds) */
    ?sleep(3)
    )$
    -

    +

    Plotting

    Plotting (having fundamentally to do with graphics) is a place where a graphical user interface will have to provide some extensions to the original program.

    -

    +

    Embedding a plot into the worksheet

    Maxima normally instructs the external program Gnuplot to open a separate window for every diagram it creates. Since many times it is convenient to embed graphs into the worksheet instead wxMaxima provides its own set of plot functions that don’t differ from the corresponding maxima functions save in their name: They are all prefixed by a “wx”.

    The following plotting functions have wx-counterparts:

    @@ -480,7 +480,7 @@

    wxboxplot() boxplot

    If a wxm-file is read by (console) Maxima, these functions are ignored (and printed as output, as other unknown functions in Maxima).

    -

    +

    Making embedded plots bigger or smaller

    As noted above, the configure dialog provides a way to change the default size plots created which sets the starting value of wxplot_size. The plotting routines of wxMaxima respect this variable that specifies the size of a plot in pixels. It can always be queried or used to set the size of the following plots:

    wxplot_size:[1200,800]$
    @@ -498,16 +498,16 @@

    )
    ),wxplot_size=[1600,800]$

    Setting the size of embedded plot with wxplot_size works for embedded plots using e.g. wxplot, wxdraw, wxcontour_plot and wximplicit_plot commands and for embedded animations with with_slider_draw and wxanimate commands.

    -

    +

    Better quality plots

    Gnuplot doesn’t seem to provide a portable way of determining whether it supports the high-quality bitmap output that the Cairo library provides. On systems where Gnuplot is compiled to use this library the pngCairo option from the configuration menu (that can be overridden by the variable wxplot_pngcairo) enables support for antialiasing and additional line styles. If wxplot_pngCairo is set without Gnuplot supporting this the result will be error messages instead of graphics.

    -

    +

    Opening embedded plots in interactive <em>Gnuplot</em> windows

    If a plot was generated using the wxdraw-type commands (wxplot2d and wxplot3d isn’t supported by this feature) and the file size of the underlying Gnuplot project isn’t way too high wxMaxima offers a right-click menu that allows to open the plot in an interactive Gnuplot window.

    -

    +

    Opening Gnuplot’s command console in <tt>plot</tt> windows

    On MS Windows, there are two Gnuplot programs, gnuplot.exe and wgnuplot.exe. You can configure, which command should be used using the configuration menu. wgnuplot.exe offers the possibility to open a console window, where gnuplot commands can be entered into, gnuplot.exe does not offer this possibility. Unfortunately, wgnuplot.exe causes Gnuplot to "steal" the keyboard focus for a short time every time a plot is prepared.

    -

    +

    Embedding animations into the spreadsheet

    3D diagrams tend to make it hard to read quantitative data. A viable alternative might be to assign the 3rd parameter to the mouse wheel. The with_slider_draw command is a version of wxdraw2d that does prepare multiple plots and allows to switch between them by moving the slider on top of the screen. WxMaxima allows to export this animation as an animated gif.

    The first two arguments for with_slider_draw are the name of the variable that is stepped between the plots and a list of the values of these variable. The arguments that follow are the ordinary arguments for wxdraw2d:

    @@ -576,7 +576,7 @@

    x,0,10
    )
    )$
    -

    +

    Opening multiple plots in contemporaneous windows

    While not being provided by wxMaxima this feature of Maxima (on setups that support it) sometimes comes in handily. The following example comes from a post from Mario Rodriguez to the Maxima mailing list:

    load(draw);
    @@ -598,57 +598,57 @@

    key="cos (x)",grid=[2,2],
    explicit(cos(x),x,0,2*%pi))
    );
    -

    +

    The "Plot using draw" side pane

    The "Plot using draw" sidebar hides a simple code generator that allows generating scenes that make use of some of the flexibility of the draw package maxima comes with.

    -

    +

    2D

    Generates the skeleton of a draw() command that draws a 2D scene. This scene later has to be filled with commands that generate the scene’s contents, for example by using the buttons in the rows below the "2D" button.

    One helpful feature of the 2D button is that it allows to set up the scene as an animation in which a variable (by default it is t) has a different value in each frame: Often a moving 2D plot allows easier interpretation than the same data in a non-moving 3D one.

    -

    +

    3D

    Generates the skeleton of a draw() command that draws a 3D scene. If neither a 2D nor a 3D scene is set up, all of the other buttons set up a 2D scene that contains the command the button generates.

    -

    +

    Expression

    Appends a standard plot of an expression like sin(x), x*sin(x) or x^2+2*x-4 to the draw() command the cursor currently is in. If there is no draw command a 2D scene with the plot is generated. Each scene can be filled with any number of plots.

    -

    +

    Implicit plot

    Tries to find all points an expression like y=sin(x), y*sin(x)=3 or x^2+y^2=4 is true at and plots the resulting curve in the draw() command the cursor currently is in. If there is no draw command a 2D scene with the plot is generated.

    -

    +

    Parametric plot

    Steps a variable from a lower limit to an upper limit and uses two expressions like t*sin(t) and t*cos(t) for generating the x, y (and in 3D plots also z) coordinates of a curve that is put into the current draw command.

    -

    +

    Points

    Draws many points that can optionally be joined. The coordinates of the points are taken from a list of lists, a 2D array or one list or array for each axis.

    -

    +

    Diagram title

    Draws a title on the upper end of the diagram,

    -

    +

    Axis

    Sets up the axis.

    -

    +

    Contour

    (Only for 3D plots): Adds contour lines similar to the ones one can find in a map of a mountain to the plot commands that follow in the current draw() command and/or to the ground plane of the diagram. Alternatively, this wizard allows skipping drawing the curves entirely only showing the contour plot.

    -

    +

    Plot name

    Adds a legend entry showing the next plot’s name to the legend of the diagram. An empty name disables generating legend entries for the following plots.

    -

    +

    Line colour

    Sets the line colour for the following plots the current draw command contains.

    -

    +

    Fill colour

    Sets the fill colour for the following plots the current draw command contains.

    -

    +

    Grid

    Pops up a wizard that allows to set up grid lines.

    -

    +

    Accuracy

    Allows to select an adequate point in the speed vs. accuracy tradeoff that is part of any plot program.

    -

    +

    Embedding graphics

    If the .wxmx file format is being used embedding files in a wxMaxima project can be done as easily as per drag-and-drop. But sometimes (for example if an image’s contents might change later on in a session) it is better to tell the file to load the image on evaluation:

    show_image("man.png");
    -

    +

    Startup files

    The config dialogue of wxMaxima offers to edit two files with commands that are executed on startup:

      @@ -657,7 +657,7 @@

    For example, if Gnuplot is installed in /opt (maybe on MacOS), you can add gnuplot_command:"/opt/local/bin/gnuplot"$ (or /opt/gnuplot/bin/gnuplot or any other path) to these files.

    These files are in the Maxima user directory (usually USERPROFILE%/maxima in Windows, $HOME/.maxima otherwise). The location can be found out with the command: maxima_userdir;

    -

    +

    Special variables wx...

    • wxsubscripts tells Maxima if it should convert variable names that contain an underscore (R_150 or the like) into subscripted variables. See wxdeclare_subscript for details which variable names are automatically converted.
    • @@ -671,7 +671,7 @@

    • wxmaximaversion: Returns the version number of _wxMaxima.
    • wxwidgetsversion: Returns the wxWidgets version wxMaxima is using.
    -

    +

    Pretty-printing 2D output

    The function table_form() displays a 2D list in a form that is more readable than the output from _Maxima_’s default output routine. The input is a list of one or more lists. Like the "print" command, this command displays output even when ended with a dollar sign. Ending the command with a semicolon results in the same table along with a "done" statement.

    table_form(
    @@ -684,17 +684,17 @@

    A third table example

    Also, because a matrix is a list of lists, matrices can be converted to tables in a similar fashion.

    Another table_form example

    -

    +

    Bug reporting

    WxMaxima provides a few functions that gather bug reporting information about the current system:

    • wxbuild_info() gathers information about the currently running version of wxMaxima
    • wxbug_report() tells how and where to file bugs
    -

    +

    Marking output being drawn in red

    Maxima_’s box() command causes _wxMaxima to print its argument with a red foreground, if the second argument to the command is the text highlight.

    -

    +

    Help menu

    WxMaxima’s help menu provides access to the Maxima and wxMaxima manual, tips, some example worksheets and in command line Maxima included demos (the demo() command).

    Please notice, that the demos write:

    @@ -702,19 +702,19 @@

    That is valid for command-line Maxima, however in wxMaxima by default it is necessary to continue the demonstration with: CTRL+ENTER

    (That can be configured in the Configure->Worksheet->"Hotkeys for sending commands to Maxima" menu.)


    -

    +

    Troubleshooting

    -

    +

    Cannot connect to <em>Maxima</em>

    Since Maxima (the program that does the actual mathematics) and wxMaxima (providing the easy-to-use user interface) are separate programs that communicate by the means of a local network connection. Therefore the most probable cause is that this connection is somehow not working. For example, a firewall could be set up in a way that it doesn’t just prevent unauthorized connections from the internet (and perhaps intercept some connections to the internet, too), but also blocks inter-process-communication inside the same computer. Note that since Maxima is being run by a Lisp processor the process communication that is blocked does not necessarily have to be named "maxima". Common names of the program that opens the network connection would be sbcl, gcl, ccl, lisp.exe, or similar names.

    On Unix computers another possible reason would be that the loopback network that provides network connections between two programs in the same computer isn’t properly configured.

    -

    +

    How to save data from a broken .wxmx file

    Internally most modern XML-based formats are ordinary zip files. WxMaxima doesn’t turn on compression, so the contents of .wxmx files can be viewed in any text editor.

    If the zip signature at the end of the file is still intact after renaming a broken .wxmx file to .zip most operating systems will provide a way to extract any portion of the information that is stored inside it. This can be done when there is a need of recovering the original image files from a text processor document. If the zip signature isn’t intact that does not need to be the end of the world: If wxMaxima during saving detected that something went wrong there will be a .wxmx~ file whose contents might help.

    And even if there isn’t such a file: The .wxmx file is a container format and the XML portion is stored uncompressed. It it is possible to rename the .wxmx file to a .txt file and to use a text editor to recover the XML portion of the file’s contents (it starts with <?xml version="1.0" encoding="UTF-8"?> and ends with </wxMaximaDocument>. Before and after that text you will see some unreadable binary contents in the text editor).

    If a text file containing only these contents (e.g. copy and paste this text into a new file) is saved as a file ending in .xml, wxMaxima will know how to recover the text from the document.

    -

    +

    I want some debug info to be displayed on the screen before my command has finished

    Normally wxMaxima waits for the whole 2D formula to be transferred before it begins to typeset. This saves time for making many attempts to typeset a only partially completed equation. There is a disp command, though, that will provide debug output immediately and without waiting for the current Maxima command to finish:

    for i:1 thru 10 do (
    @@ -725,7 +725,7 @@

    ?sleep(3)
    )$

    Alternatively one can look for the wxstatusbar() command above.

    -

    +

    Plotting only shows a closed empty envelope with an error message

    This means that wxMaxima could not read the file Maxima that was supposed to instruct Gnuplot to create.

    Possible reasons for this error are:

    @@ -735,10 +735,10 @@

  • Gnuplot was instructed to use the pngCairo library that provides antialiasing and additional line styles, but it was not compiled to support this possibility. Solution: Uncheck the "Use the Cairo terminal for the plot" checkbox in the configuration dialog and don’t set wxplot_pngcairo to true from Maxima.
  • Gnuplot didn’t output a valid .png file.
  • -

    +

    Plotting an animation results in “error: undefined variable”

    The value of the slider variable by default is only substituted into the expression that is to be plotted if it is visible there. Using a subst command that substitutes the slider variable into the equation to plot resolves this problem. At the end of section Embedding animations into the spreadsheet, you can see an example.

    -

    +

    I lost cell content and undo doesn’t remember

    There are separate undo functions for cell operations and for changes inside of cells so chances are low that this ever happens. If it does there are several methods to recover data:

      @@ -748,43 +748,43 @@

    • If nothing else helps Maxima contains a replay feature:
    playback();
    -

    +

    <em>WxMaxima</em> starts up with the message “Maxima process terminated.”

    One possible reason is that Maxima cannot be found in the location that is set in the “Maxima” tab of wxMaxima_’s configuration dialog and therefore won’t run at all. Setting the path to a working _Maxima binary should fix this problem.

    -

    +

    Maxima is forever calculating and not responding to input

    It is theoretically possible that wxMaxima doesn’t realize that Maxima has finished calculating and therefore never gets informed it can send new data to Maxima. If this is the case “Trigger evaluation” might resynchronize the two programs.

    -

    +

    My SBCL-based <em>Maxima</em> runs out of memory

    The Lisp compiler SBCL by default comes with a memory limit that allows it to run even on low-end computers. When compiling a big software package like Lapack or dealing with extremely big lists of equations this limit might be too low. In order to extend the limits, SBCL can be provided with the command line parameter --dynamic-space-size that tells SBCL how many megabytes it should reserve. A 32bit Windows-SBCL can reserve up to 999 Megabytes. A 64-bit SBCL version running on Windows can be instructed to use more than the about 1280 Megabytes compiling Lapack needs.

    One way to provide Maxima (and thus SBCL) with command line parameters is the "Additional parameters for Maxima" field of _wxMaxima_’s configuration dialogue.

    sbcl memory

    -

    +

    Input sometimes is sluggish/ignoring keys on Ubuntu

    Installing the package ibus-gtk should resolve this issue. See (https://bugs.launchpad.net/ubuntu/+source/wxwidgets3.0/+bug/1421558) for details.

    -

    +

    <em>WxMaxima</em> halts when <em>Maxima</em> processes Greek characters or Umlauts

    If your Maxima is based on SBCL the following lines have to be added to your .sbclrc:

    (setf sb-impl::*default-external-format* :utf-8)

    The folder where this file has to be placed is system- and installation-specific. But any SBCL-based Maxima that already has evaluated a cell in the current session will happily tell where it can be found after getting the following command:

    :lisp (sb-impl::userinit-pathname)
    -

    +

    Note concerning Wayland (recent Linux/BSD distributions)

    There seem to be issues with the Wayland Display Server and wxWidgets. WxMaxima may be affected, e.g. that sidebars are not moveable.

    You can either disable Wayland and use X11 instead (globally) or just tell, that wxMaxima should use the X Window System by setting: GDK_BACKEND=x11

    E.g. start wxMaxima with:

    GDK_BACKEND=x11 wxmaxima

    -

    +

    The manual browser

    -

    +

    Why is the integrated manual browser not offered on my Windows PC?

    Either wxWidgets wasn’t compiled with support for Microsoft’s webview2 or Microsoft’s webview2 isn’t installed.

    -

    +

    Why is the external manual browser not working on my Linux box?

    The HTML browser might be a snap, flatpack or appimage version. All of these typically cannot access files that are installed on your local system. Another reason might be that maxima or wxMaxima is installed as a snap, flatpack or something else that doesn’t give the host system access to its contents. A third reason might be that the maxima HTML manual isn’t installed and the online one cannot be accessed.

    -

    +

    Plotting

    -

    +

    Can I make <em>wxMaxima</em> output both image files and embedded plots at once?

    The worksheet embeds .png files. WxMaxima allows the user to specify where they should be generated:

    wxdraw2d(
    @@ -813,14 +813,14 @@

    pngdraw2d("Test",
    explicit(sin(x),x,1,10)
    );
    -

    +

    Can I set the aspect ratio of a plot?

    Not directly using Maxima. But there are Gnuplot commands for it:

    wxdraw2d(
    proportional_axis=xy,
    explicit(sin(x),x,1,10)
    ),wxplot_size=[1000,1000];
    -

    +

    After upgrading to MacOS 13.1 plot and/or draw commands output error messages like

    1 HIToolbox 0x00007ff80cd91726 _ZN15MenuBarInstance22EnsureAutoShowObserverEv + 102
    2 HIToolbox 0x00007ff80cd912b8 _ZN15MenuBarInstance14EnableAutoShowEv + 52
    @@ -828,33 +828,33 @@

    ...

    This might be an issue with the operating system. Disable the hiding of the menu bar (SystemSettings => Desktop & Dock => Menu Bar) might solve the issue. See wxMaxima issue #1746 for more information.


    -

    +

    FAQ

    -

    +

    Is there a way to make more text fit on a LaTeX page?

    Yes. Use the LaTeX package "geometry" to specify the size of the borders.

    You can add the following line to the LaTeX preamble (for example by using the respective field in the config dialogue ("Export"->"Additional lines for the TeX preamble"), to set borders of 1cm):

    \usepackage[left=1cm,right=1cm,top=1cm,bottom=1cm]{geometry}
    -

    +

    Is there a dark mode?

    If wxWidgets is new enough, wxMaxima will automatically be in dark mode if the rest of the operating system is. The worksheet itself is by default equipped with a bright background. But it can be configured otherwise. Alternatively, there is a View/Invert worksheet brightness menu entry that allows to quickly convert the worksheet from dark to bright and vice versa.

    -

    +

    <em>WxMaxima</em> sometimes hangs for several seconds once in the first minute

    WxMaxima delegates some big tasks like parsing Maxima_’s >1000-page-manual to background tasks, which normally goes totally unnoticed. At the moment the result of such a task is needed, though, it is possible that _wxMaxima needs to wait a couple of seconds before it can continue its work.

    -

    +

    Especially when testing new locale settings, a message box "locale ’xx_YY’ can not be set" occurs

    Locale warning

    (The same problem can occur with other applications too). The translations seem okay after you click on ’OK’. WxMaxima does not only use its own translations but the translations of the wxWidgets framework too.

    These locales maybe not present in the system. On Ubuntu/Debian systems they can be generated using: dpkg-reconfigure locales

    -

    +

    How can I use symbols for real numbers, natural numbers (ℝ, ℕ), etc.?

    You can find these symbols in the Unicode sidebar (search for ’double-struck capital’). But the selected font must also support these symbols. If they do not display properly, select another font.

    -

    +

    How can a Maxima script determine, if it is running under wxMaxima or command line Maxima?

    If wxMaxima is used, the Maxima variable maxima_frontend is set to wxmaxima. The Maxima variable maxima_frontend_version contains the wxMaxima version in this case.

    If no frontend is used (you are using command line Maxima), these variables are false.


    -

    +

    Command-line arguments

    Usually you can start programs with a graphical user interface just by clicking on a desktop icon or desktop menu entry. WxMaxima - if started from the command line - still provides some command-line switches, though.

      @@ -876,7 +876,7 @@

    Instead of a minus, some operating systems might use a dash in front of the command-line switches.


    -

    +

    About the program, contributing to wxMaxima

    wxMaxima is mainly developed using the programming language C++ using the wxWidgets framework, as build system we use CMake, a small part is written in Lisp. You can contribute to wxMaxima, join the wxMaxima project at https://github.com/wxMaxima-developers/wxmaxima, if you have knowledge of these programming languages and want to help and contribute to the open source project wxMaxima.

    But not only programmers are necessary! You can also contribute to wxMaxima, if you help to improve the documentation, find and report bugs (and maybe bugfixes), suggest new features, help to translate wxMaxima or the manual to your language (read the README.md in the locale subdirectory how wxMaxima and the manual can be translated).

    diff --git a/Doxygen-documentation/md_locales_README.html b/Doxygen-documentation/md_locales_README.html index ff945e233..a6c800cc1 100644 --- a/Doxygen-documentation/md_locales_README.html +++ b/Doxygen-documentation/md_locales_README.html @@ -78,7 +78,7 @@
  • wxMaxima itself
  • wxMaxima's manual
  • -

    +

    Translating wxMaxima to a new language

    In order to translate wxMaxima to a entirely new language two things have to be done:

      @@ -87,7 +87,7 @@

    • For Linux desktop integration additionally data/io.github.wxmaxima_developers.wxMaxima.desktop needs to be equipped with a translation.

    WxMaxima also uses translations of the wxWidgets framework (e.g. for standard dialogs).

    -

    +

    Improving an existing translation

    In order to improve an existing translation just edit the according .po file. Any help is always welcome.

    diff --git a/Doxygen-documentation/md_locales_manual_README.html b/Doxygen-documentation/md_locales_manual_README.html index 10ad4b5f4..af0b9d3e6 100644 --- a/Doxygen-documentation/md_locales_manual_README.html +++ b/Doxygen-documentation/md_locales_manual_README.html @@ -72,16 +72,16 @@
    The Translation of the manual
    -

    +

    Translating the manual to a new language

    In order to translate the manual to a entirely new language it is sufficient to equip wxmaxima.md.pot with the translations and to give the resulting file a name in the format <language>.po.

    -

    +

    Improving an existing translation

    In order to improve an existing translation just edit the according .po file. Any help is always welcome.

    -

    +

    Specialities of the manual

    po4a offers to translate the characters that contain the formatting hints for the markdown parser, too. If you remove them or exchange them by something completely different the formatting will change, too.

    -

    +

    Why not to translate the manual file directly

    Translating a text file is more convenient than translating a .po file. But manually keeping the translation of a text file in sync with the original if the original changes is a complicated task.

    Translating .po files is a more complicated than translating the original text. But po4a keeps track about which paragraphs have already been translated or need to be translated which makes maintaining the translation easier.

    diff --git a/Doxygen-documentation/md_locales_wxMaxima_README.html b/Doxygen-documentation/md_locales_wxMaxima_README.html index 22a759183..311052ba3 100644 --- a/Doxygen-documentation/md_locales_wxMaxima_README.html +++ b/Doxygen-documentation/md_locales_wxMaxima_README.html @@ -72,13 +72,13 @@
    The Translation of the program itself
    -

    +

    Translating the program to a new language

    In order to translate the manual to a entirely new language it is sufficient to equip wxMaxima.pot with the translations and to give the resulting file a name in the format <language>.po.

    -

    +

    Improving an existing translation

    In order to improve an existing translation just edit the according .po file. Any help is always welcome.

    -

    +

    Specialities of translating the program

    • i, li and s are placeholders for integers, long integers and strings
    • diff --git a/Doxygen-documentation/todo.html b/Doxygen-documentation/todo.html index 2a31f4816..6594adb92 100644 --- a/Doxygen-documentation/todo.html +++ b/Doxygen-documentation/todo.html @@ -104,15 +104,15 @@
      Global Worksheet::FindIncremental (const wxString &str, bool down, bool ignoreCase)
      Keep a list of positions the last few letters were found at?
      Global Worksheet::RecalculateIfNeeded (bool timeout=false)
      -
      We check here if the recalc start is within the worksheet. Would it make more sense to store the recalculation start in a CellPointer that automagically zeroes itself if that isn't the case?
      +
      We check here if the recalc start is within the worksheet. Would it make more sense to store the recalculation start in a CellPointer that automagically zeroes itself if that isn't the case?
      Global Worksheet::ShowPoint (wxPoint point)
      -
      I have deactivated this assert for the release as it scares the users in a case we don't seem to have a problem. But we perhaps should try to find out why it is triggered.
      +
      I have deactivated this assert for the release as it scares the users in a case we don't seem to have a problem. But we perhaps should try to find out why it is triggered.
      Global Worksheet::SimpleMathConfigurationIterator::input
      : It is const, so it cannot be modified!?!
      Global wxMaxima::EditInputMenu (wxCommandEvent &event)
      -
      Inform maxima about the new default plot window size.
      +
      Inform maxima about the new default plot window size.
      Global wxMaxima::SetupVariables ()
      -
      Set pngcairo to be the default terminal as soon as the mac platform supports it.
      +
      Set pngcairo to be the default terminal as soon as the mac platform supports it.

    diff --git a/Doxygen-documentation/wxMaxima_8h_source.html b/Doxygen-documentation/wxMaxima_8h_source.html index a1372ab67..9c03048b4 100644 --- a/Doxygen-documentation/wxMaxima_8h_source.html +++ b/Doxygen-documentation/wxMaxima_8h_source.html @@ -647,175 +647,175 @@
    LogPane * m_logPane
    The panel the log and debug messages will appear on.
    Definition: wxMaximaFrame.h:333
    A version number that can be compared using "<" and ">".
    Definition: wxMaxima.h:151
    Definition: wxMaxima.h:65
    -
    void PlotMenu(wxCommandEvent &event)
    Processes "Plot menu" cloicks.
    Definition: wxMaxima.cpp:9084
    -
    void OnIdle(wxIdleEvent &event)
    The idle task that refreshes the gui (worksheet, menus, title line,...)
    Definition: wxMaxima.cpp:5070
    -
    void VariableActionAutoconfVersion(const wxString &value)
    Called if maxima tells us the maxima version as defined by autoconf.
    Definition: wxMaxima.cpp:3499
    +
    void PlotMenu(wxCommandEvent &event)
    Processes "Plot menu" cloicks.
    Definition: wxMaxima.cpp:9092
    +
    void OnIdle(wxIdleEvent &event)
    The idle task that refreshes the gui (worksheet, menus, title line,...)
    Definition: wxMaxima.cpp:5078
    +
    void VariableActionAutoconfVersion(const wxString &value)
    Called if maxima tells us the maxima version as defined by autoconf.
    Definition: wxMaxima.cpp:3507
    int m_port
    The port the actual maxima process (not its wrapper script) runs at.
    Definition: wxMaxima.h:735
    -
    bool AutoSave()
    Save the project in a temp file.
    Definition: wxMaxima.cpp:6025
    +
    bool AutoSave()
    Save the project in a temp file.
    Definition: wxMaxima.cpp:6033
    bool m_dispReadOut
    what is displayed in statusbar
    Definition: wxMaxima.h:769
    -
    void FileMenu(wxCommandEvent &event)
    Processes "file menu" clicks.
    Definition: wxMaxima.cpp:6071
    +
    void FileMenu(wxCommandEvent &event)
    Processes "file menu" clicks.
    Definition: wxMaxima.cpp:6079
    bool m_scheduleUpdateToc
    True = schedule an update of the table of contents.
    Definition: wxMaxima.h:750
    -
    void VariableActionGentranlang(const wxString &value)
    Called if maxima tells us the value of the maxima variable gentranlang.
    Definition: wxMaxima.cpp:3439
    -
    bool SaveFile(bool forceSave=false)
    Saves the current file.
    Definition: wxMaxima.cpp:5678
    -
    void VariableActionDisplay2d_Unicode(const wxString &value)
    Called if maxima tells us the value of the maxima variable display2d_unicode.
    Definition: wxMaxima.cpp:3432
    -
    void ShowTip(bool force)
    Definition: wxMaxima.cpp:4890
    -
    void VariableActionUserDir(const wxString &value)
    Called if maxima tells us where the user files lie.
    Definition: wxMaxima.cpp:3426
    -
    void ReadMiscText(const wxString &data)
    Reads text that isn't enclosed between xml tags.
    Definition: wxMaxima.cpp:3154
    -
    void ReadMath(const wxXmlDocument &xml)
    Reads the math cell's contents from Maxima.
    Definition: wxMaxima.cpp:3300
    +
    void VariableActionGentranlang(const wxString &value)
    Called if maxima tells us the value of the maxima variable gentranlang.
    Definition: wxMaxima.cpp:3447
    +
    bool SaveFile(bool forceSave=false)
    Saves the current file.
    Definition: wxMaxima.cpp:5686
    +
    void VariableActionDisplay2d_Unicode(const wxString &value)
    Called if maxima tells us the value of the maxima variable display2d_unicode.
    Definition: wxMaxima.cpp:3440
    +
    void ShowTip(bool force)
    Definition: wxMaxima.cpp:4898
    +
    void VariableActionUserDir(const wxString &value)
    Called if maxima tells us where the user files lie.
    Definition: wxMaxima.cpp:3434
    +
    void ReadMiscText(const wxString &data)
    Reads text that isn't enclosed between xml tags.
    Definition: wxMaxima.cpp:3162
    +
    void ReadMath(const wxXmlDocument &xml)
    Reads the math cell's contents from Maxima.
    Definition: wxMaxima.cpp:3308
    static wxRegEx m_xmlOpeningTag
    Looks if this opening tag is actually complete.
    Definition: wxMaxima.h:261
    -
    void EquationsMenu(wxCommandEvent &event)
    Processes "equations menu" clicks.
    Definition: wxMaxima.cpp:7722
    -
    void VariableActionDomain(const wxString &value)
    Called if maxima tells us the value of the maxima variable domain
    Definition: wxMaxima.cpp:3826
    +
    void EquationsMenu(wxCommandEvent &event)
    Processes "equations menu" clicks.
    Definition: wxMaxima.cpp:7730
    +
    void VariableActionDomain(const wxString &value)
    Called if maxima tells us the value of the maxima variable domain
    Definition: wxMaxima.cpp:3834
    static wxString m_promptPrefix
    The marker for the start of a input prompt.
    Definition: wxMaxima.h:741
    -
    void OnMinimize(wxIconizeEvent &event)
    Called when this window is minimized.
    Definition: wxMaxima.cpp:11231
    +
    void OnMinimize(wxIconizeEvent &event)
    Called when this window is minimized.
    Definition: wxMaxima.cpp:11239
    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:169
    -
    void VariableActionAltDisplay2D(const wxString &value)
    Called if maxima tells us if it currently outputs XML.
    Definition: wxMaxima.cpp:3858
    -
    void ShowWxMaximaHelp()
    Show the help for wxMaxima.
    Definition: wxMaxima.cpp:4949
    -
    TextCell * ConsoleAppend(wxString s, CellType type)
    append maxima output to console
    Definition: wxMaxima.cpp:2059
    -
    void ChangeCellStyle(wxCommandEvent &event)
    Is triggered when the textstyle drop-down box's value is changed.
    Definition: wxMaxima.cpp:11238
    +
    void VariableActionAltDisplay2D(const wxString &value)
    Called if maxima tells us if it currently outputs XML.
    Definition: wxMaxima.cpp:3866
    +
    void ShowWxMaximaHelp()
    Show the help for wxMaxima.
    Definition: wxMaxima.cpp:4957
    +
    TextCell * ConsoleAppend(wxString s, CellType type)
    append maxima output to console
    Definition: wxMaxima.cpp:2067
    +
    void ChangeCellStyle(wxCommandEvent &event)
    Is triggered when the textstyle drop-down box's value is changed.
    Definition: wxMaxima.cpp:11246
    static wxString ExtraMaximaArgs()
    Which additional maxima arguments did we get from the command line?
    Definition: wxMaxima.h:88
    bool m_isActive
    Is this window active?
    Definition: wxMaxima.h:267
    -
    void VariableActionOpSubst(const wxString &value)
    Called if maxima tells us the value of the maxima variable opsubst.
    Definition: wxMaxima.cpp:3448
    -
    void MaximaEvent(wxThreadEvent &event)
    Maxima sends or receives data, or disconnects.
    Definition: wxMaxima.cpp:2406
    -
    wxString ReadPotentiallyUnclosedTag(wxStringTokenizer &lines, wxString firstLine)
    Reads a potentially unclosed XML tag and closes it.
    Definition: wxMaxima.cpp:4296
    -
    void OnReplace(wxFindDialogEvent &event)
    Is triggered when the "Replace" button in the search dialog is pressed.
    Definition: wxMaxima.cpp:6697
    -
    int SaveDocumentP()
    Tries or offers to save the document.
    Definition: wxMaxima.cpp:11177
    -
    void VariableActionDisplay2D(const wxString &value)
    Called if maxima tells us the value of the maxima variable display2d
    Definition: wxMaxima.cpp:3835
    +
    void VariableActionOpSubst(const wxString &value)
    Called if maxima tells us the value of the maxima variable opsubst.
    Definition: wxMaxima.cpp:3456
    +
    void MaximaEvent(wxThreadEvent &event)
    Maxima sends or receives data, or disconnects.
    Definition: wxMaxima.cpp:2414
    +
    wxString ReadPotentiallyUnclosedTag(wxStringTokenizer &lines, wxString firstLine)
    Reads a potentially unclosed XML tag and closes it.
    Definition: wxMaxima.cpp:4304
    +
    void OnReplace(wxFindDialogEvent &event)
    Is triggered when the "Replace" button in the search dialog is pressed.
    Definition: wxMaxima.cpp:6705
    +
    int SaveDocumentP()
    Tries or offers to save the document.
    Definition: wxMaxima.cpp:11185
    +
    void VariableActionDisplay2D(const wxString &value)
    Called if maxima tells us the value of the maxima variable display2d
    Definition: wxMaxima.cpp:3843
    void ReadMaximaIPC(const wxString &data)
    Reads autocompletion templates we get on definition of a function or variable.
    Definition: wxMaxima.h:530
    -
    void AddDrawParameter(wxString cmd, int dimensionsOfNewDrawCommand=2)
    Add a parameter to a draw command.
    Definition: wxMaxima.cpp:8239
    -
    void ShowHelp(const wxString &keyword)
    Try to determine if help is needed for maxima or wxMaxima and show this help.
    Definition: wxMaxima.cpp:5030
    -
    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={})
    Invoke our standard wizard that generates maxima commands.
    Definition: wxMaxima.cpp:9386
    -
    void MaximaMenu(wxCommandEvent &event)
    Processes "maxima menu" clicks.
    Definition: wxMaxima.cpp:6879
    +
    void AddDrawParameter(wxString cmd, int dimensionsOfNewDrawCommand=2)
    Add a parameter to a draw command.
    Definition: wxMaxima.cpp:8247
    +
    void ShowHelp(const wxString &keyword)
    Try to determine if help is needed for maxima or wxMaxima and show this help.
    Definition: wxMaxima.cpp:5038
    +
    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={})
    Invoke our standard wizard that generates maxima commands.
    Definition: wxMaxima.cpp:9394
    +
    void MaximaMenu(wxCommandEvent &event)
    Processes "maxima menu" clicks.
    Definition: wxMaxima.cpp:6887
    static void ExtraMaximaArgs(const wxString &args)
    Additional maxima arguments from the command line.
    Definition: wxMaxima.h:86
    void EvalOnStartup(bool eval)
    Do we want to evaluate the document on startup?
    Definition: wxMaxima.h:113
    static void ExitOnError()
    Exit if we encounter an error.
    Definition: wxMaxima.h:75
    -
    void PrintMenu(wxCommandEvent &event)
    Definition: wxMaxima.cpp:5298
    -
    void OnUpdateTOCEvent(wxCommandEvent &event)
    Is called when something requests an update of the table of contents.
    Definition: wxMaxima.cpp:5672
    -
    void UpdateMenus()
    Enables and disables the Right menu buttons.
    Definition: wxMaxima.cpp:5337
    -
    void LaunchHelpBrowser(wxString uri)
    Launches the help browser on the uri passed as an argument.
    Definition: wxMaxima.cpp:4906
    +
    void PrintMenu(wxCommandEvent &event)
    Definition: wxMaxima.cpp:5306
    +
    void OnUpdateTOCEvent(wxCommandEvent &event)
    Is called when something requests an update of the table of contents.
    Definition: wxMaxima.cpp:5680
    +
    void UpdateMenus()
    Enables and disables the Right menu buttons.
    Definition: wxMaxima.cpp:5345
    +
    void LaunchHelpBrowser(wxString uri)
    Launches the help browser on the uri passed as an argument.
    Definition: wxMaxima.cpp:4914
    wxInputStream * m_maximaStdout
    The stdout of the maxima process.
    Definition: wxMaxima.h:731
    -
    void VarReadEvent(wxCommandEvent &event)
    Trigger reading all variables from Maxima that are shown in the Variables sidebar.
    Definition: wxMaxima.cpp:10325
    -
    void GnuplotCommandName(wxString gnuplot)
    Sets gnuplot's command name and tries to determine gnuplot's path.
    Definition: wxMaxima.cpp:3529
    -
    void VariableActionAutoconfHost(const wxString &value)
    Called if maxima tells us the maxima build host as defined by autoconf.
    Definition: wxMaxima.cpp:3504
    +
    void VarReadEvent(wxCommandEvent &event)
    Trigger reading all variables from Maxima that are shown in the Variables sidebar.
    Definition: wxMaxima.cpp:10333
    +
    void GnuplotCommandName(wxString gnuplot)
    Sets gnuplot's command name and tries to determine gnuplot's path.
    Definition: wxMaxima.cpp:3537
    +
    void VariableActionAutoconfHost(const wxString &value)
    Called if maxima tells us the maxima build host as defined by autoconf.
    Definition: wxMaxima.cpp:3512
    static bool GetEnableIPC()
    Do we allow maxima to click buttons in wxMaxima?
    Definition: wxMaxima.h:84
    -
    void ReadSuppressedOutput(const wxString &data)
    Read (and discard) suppressed output.
    Definition: wxMaxima.cpp:3316
    +
    void ReadSuppressedOutput(const wxString &data)
    Read (and discard) suppressed output.
    Definition: wxMaxima.cpp:3324
    std::unique_ptr< wxSocketServer, ServerDeleter > m_server
    The server maxima connects to as client.
    Definition: wxMaxima.h:727
    -
    void OnMaximaConnect()
    Is called if maxima connects to wxMaxima.
    Definition: wxMaxima.cpp:2503
    +
    void OnMaximaConnect()
    Is called if maxima connects to wxMaxima.
    Definition: wxMaxima.cpp:2511
    wxTimer m_maximaStdoutPollTimer
    A timer that polls for output from the maxima process.
    Definition: wxMaxima.h:109
    -
    void VariableActionWxLoadFileName(const wxString &value)
    Called if maxima tells us the name of a package that was loaded.
    Definition: wxMaxima.cpp:3714
    -
    void OnFollow(wxCommandEvent &event)
    Called when the "Scroll to currently evaluated" button is pressed.
    Definition: wxMaxima.cpp:11058
    -
    void NetworkDClick(wxCommandEvent &ev)
    Issued on double click on the network status.
    Definition: wxMaxima.cpp:11022
    +
    void VariableActionWxLoadFileName(const wxString &value)
    Called if maxima tells us the name of a package that was loaded.
    Definition: wxMaxima.cpp:3722
    +
    void OnFollow(wxCommandEvent &event)
    Called when the "Scroll to currently evaluated" button is pressed.
    Definition: wxMaxima.cpp:11066
    +
    void NetworkDClick(wxCommandEvent &ev)
    Issued on double click on the network status.
    Definition: wxMaxima.cpp:11030
    bool DocumentSaved()
    Does this document need saving?
    Definition: wxMaxima.h:139
    -
    void EditMenu(wxCommandEvent &event)
    Processes "Edit menu" clicks.
    Definition: wxMaxima.cpp:6261
    +
    void EditMenu(wxCommandEvent &event)
    Processes "Edit menu" clicks.
    Definition: wxMaxima.cpp:6269
    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:166
    -
    TextCell * DoRawConsoleAppend(wxString s, CellType type, AppendOpt opts={})
    Append one or more lines of ordinary unicode text to the console.
    Definition: wxMaxima.cpp:2183
    -
    long long GetMaximaCpuTime()
    How much CPU time has maxima used till now? Used by GetMaximaCPUPercentage.
    Definition: wxMaxima.cpp:5912
    -
    void ReplaceSuggestion(wxCommandEvent &event)
    Processes clicks on suggestions.
    Definition: wxMaxima.cpp:10663
    -
    void SetCWD(wxString file)
    Set the current working directory file I/O from maxima is relative to.
    Definition: wxMaxima.cpp:4125
    +
    TextCell * DoRawConsoleAppend(wxString s, CellType type, AppendOpt opts={})
    Append one or more lines of ordinary unicode text to the console.
    Definition: wxMaxima.cpp:2191
    +
    long long GetMaximaCpuTime()
    How much CPU time has maxima used till now? Used by GetMaximaCPUPercentage.
    Definition: wxMaxima.cpp:5920
    +
    void ReplaceSuggestion(wxCommandEvent &event)
    Processes clicks on suggestions.
    Definition: wxMaxima.cpp:10671
    +
    void SetCWD(wxString file)
    Set the current working directory file I/O from maxima is relative to.
    Definition: wxMaxima.cpp:4133
    static wxRegEx m_xmlOpeningTagName
    Finds the name of an opening tag.
    Definition: wxMaxima.h:259
    -
    void EditInputMenu(wxCommandEvent &event)
    Spawn the "configure" menu.
    Definition: wxMaxima.cpp:10302
    +
    void EditInputMenu(wxCommandEvent &event)
    Spawn the "configure" menu.
    Definition: wxMaxima.cpp:10310
    void LoadImage(const wxString &file)
    Load an image from a file into the worksheet.
    Definition: wxMaxima.h:143
    static void EnableIPC()
    Allow maxima to click buttons in wxMaxima.
    Definition: wxMaxima.h:82
    -
    void UpdateToolBar()
    Enables and disables the Right toolbar buttons.
    Definition: wxMaxima.cpp:5405
    -
    void HistoryDClick(wxCommandEvent &event)
    Issued on double click on a history item.
    Definition: wxMaxima.cpp:11038
    -
    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:1778
    -
    void VariableActionTempDir(const wxString &value)
    Called if maxima tells us where the temp files lie.
    Definition: wxMaxima.cpp:3473
    -
    wxString GetCommand(bool params=true)
    returns the command to start maxima
    Definition: wxMaxima.cpp:4841
    +
    void UpdateToolBar()
    Enables and disables the Right toolbar buttons.
    Definition: wxMaxima.cpp:5413
    +
    void HistoryDClick(wxCommandEvent &event)
    Issued on double click on a history item.
    Definition: wxMaxima.cpp:11046
    +
    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:1786
    +
    void VariableActionTempDir(const wxString &value)
    Called if maxima tells us where the temp files lie.
    Definition: wxMaxima.cpp:3481
    +
    wxString GetCommand(bool params=true)
    returns the command to start maxima
    Definition: wxMaxima.cpp:4849
    static wxString m_mathPrefix1
    A marker for the start of maths.
    Definition: wxMaxima.h:737
    -
    void VariableActionNumer(const wxString &value)
    Called if maxima tells us the value of the maxima variable numer.
    Definition: wxMaxima.cpp:3758
    -
    bool OpenFile(const wxString &file, const wxString &command={})
    Open a file.
    Definition: wxMaxima.cpp:5539
    -
    void OnFind(wxFindDialogEvent &event)
    Is triggered when the "Find" button in the search dialog is pressed.
    Definition: wxMaxima.cpp:6672
    -
    void OnSymbolAdd(wxCommandEvent &event)
    Sends a new char to the symbols sidebar.
    Definition: wxMaxima.cpp:6746
    -
    void VariableActionDebugmode(const wxString &value)
    Called if maxima tells us the value of the maxima variable debugmode.
    Definition: wxMaxima.cpp:3484
    +
    void VariableActionNumer(const wxString &value)
    Called if maxima tells us the value of the maxima variable numer.
    Definition: wxMaxima.cpp:3766
    +
    bool OpenFile(const wxString &file, const wxString &command={})
    Open a file.
    Definition: wxMaxima.cpp:5547
    +
    void OnFind(wxFindDialogEvent &event)
    Is triggered when the "Find" button in the search dialog is pressed.
    Definition: wxMaxima.cpp:6680
    +
    void OnSymbolAdd(wxCommandEvent &event)
    Sends a new char to the symbols sidebar.
    Definition: wxMaxima.cpp:6754
    +
    void VariableActionDebugmode(const wxString &value)
    Called if maxima tells us the value of the maxima variable debugmode.
    Definition: wxMaxima.cpp:3492
    wxInputStream * m_maximaStderr
    The stderr of the maxima process.
    Definition: wxMaxima.h:733
    -
    void VariableActionStringdisp(const wxString &value)
    Called if maxima tells us the value of the maxima variable stringdisp
    Definition: wxMaxima.cpp:3748
    -
    bool OpenMACFile(const wxString &file, Worksheet *document, bool clearDocument=true)
    Opens a .mac file or a .out file from Xmaxima.
    Definition: wxMaxima.cpp:4171
    -
    bool OpenWXMXFile(const wxString &file, Worksheet *document, bool clearDocument=true)
    Opens a wxmx file.
    Definition: wxMaxima.cpp:4330
    -
    void KillMaxima(bool logMessage=true)
    kills the maxima process
    Definition: wxMaxima.cpp:2846
    -
    void VarAddAllEvent(wxCommandEvent &event)
    Trigger adding all variables to the variables sidebar.
    Definition: wxMaxima.cpp:10316
    -
    void VariableActionSinnpiflag(const wxString &value)
    Called if maxima tells us the value of the maxima variable sinnpiflag.
    Definition: wxMaxima.cpp:3420
    -
    void ListMenu(wxCommandEvent &event)
    Processes "list menu" clicks.
    Definition: wxMaxima.cpp:8432
    -
    void ReadStdErr()
    Polls the stderr and stdout of maxima for input.
    Definition: wxMaxima.cpp:5777
    -
    void ReadAddVariables(const wxXmlDocument &xmldoc)
    Reads the "add variable to watch list" tag maxima can send us.
    Definition: wxMaxima.cpp:3930
    +
    void VariableActionStringdisp(const wxString &value)
    Called if maxima tells us the value of the maxima variable stringdisp
    Definition: wxMaxima.cpp:3756
    +
    bool OpenMACFile(const wxString &file, Worksheet *document, bool clearDocument=true)
    Opens a .mac file or a .out file from Xmaxima.
    Definition: wxMaxima.cpp:4179
    +
    bool OpenWXMXFile(const wxString &file, Worksheet *document, bool clearDocument=true)
    Opens a wxmx file.
    Definition: wxMaxima.cpp:4338
    +
    void KillMaxima(bool logMessage=true)
    kills the maxima process
    Definition: wxMaxima.cpp:2854
    +
    void VarAddAllEvent(wxCommandEvent &event)
    Trigger adding all variables to the variables sidebar.
    Definition: wxMaxima.cpp:10324
    +
    void VariableActionSinnpiflag(const wxString &value)
    Called if maxima tells us the value of the maxima variable sinnpiflag.
    Definition: wxMaxima.cpp:3428
    +
    void ListMenu(wxCommandEvent &event)
    Processes "list menu" clicks.
    Definition: wxMaxima.cpp:8440
    +
    void ReadStdErr()
    Polls the stderr and stdout of maxima for input.
    Definition: wxMaxima.cpp:5785
    +
    void ReadAddVariables(const wxXmlDocument &xmldoc)
    Reads the "add variable to watch list" tag maxima can send us.
    Definition: wxMaxima.cpp:3938
    static bool GetExitOnError()
    Do we exit if we encounter an error?
    Definition: wxMaxima.h:77
    -
    void PropertiesMenu(wxCommandEvent &event)
    Processes "Variable/Function props menu" clicks.
    Definition: wxMaxima.cpp:6756
    -
    void VariableActionMaximaDemodir(const wxString &value)
    Called if maxima tells us the maxima demo dir.
    Definition: wxMaxima.cpp:3698
    -
    void VariableActionLogexpand(const wxString &value)
    Called if maxima tells us the value of the maxima variable logexpand.
    Definition: wxMaxima.cpp:3455
    -
    void VariableActionAlgebraic(const wxString &value)
    Called if maxima tells us the value of the maxima variable algebraic
    Definition: wxMaxima.cpp:3768
    -
    void VariableActionMaximaSharedir(const wxString &value)
    Called if maxima tells us the maxima share dir.
    Definition: wxMaxima.cpp:3687
    -
    void TriggerEvaluation()
    Try to evaluate the next command for maxima that is in the evaluation queue.
    Definition: wxMaxima.cpp:10495
    -
    void OnTimerEvent(wxTimerEvent &event)
    Is triggered when a timer this class is responsible for requires.
    Definition: wxMaxima.cpp:5992
    -
    void PassKeyboardFocus()
    Forwards the keyboard focus to a text control that might need it.
    Definition: wxMaxima.cpp:11219
    -
    void ReadPrompt(const wxString &data)
    Reads the input prompt from Maxima.
    Definition: wxMaxima.cpp:4001
    -
    double GetMaximaCPUPercentage()
    How much CPU horsepower is maxima using currently?
    Definition: wxMaxima.cpp:5964
    -
    void NumericalMenu(wxCommandEvent &event)
    Processes "Numerical menu" clicks.
    Definition: wxMaxima.cpp:9146
    +
    void PropertiesMenu(wxCommandEvent &event)
    Processes "Variable/Function props menu" clicks.
    Definition: wxMaxima.cpp:6764
    +
    void VariableActionMaximaDemodir(const wxString &value)
    Called if maxima tells us the maxima demo dir.
    Definition: wxMaxima.cpp:3706
    +
    void VariableActionLogexpand(const wxString &value)
    Called if maxima tells us the value of the maxima variable logexpand.
    Definition: wxMaxima.cpp:3463
    +
    void VariableActionAlgebraic(const wxString &value)
    Called if maxima tells us the value of the maxima variable algebraic
    Definition: wxMaxima.cpp:3776
    +
    void VariableActionMaximaSharedir(const wxString &value)
    Called if maxima tells us the maxima share dir.
    Definition: wxMaxima.cpp:3695
    +
    void TriggerEvaluation()
    Try to evaluate the next command for maxima that is in the evaluation queue.
    Definition: wxMaxima.cpp:10503
    +
    void OnTimerEvent(wxTimerEvent &event)
    Is triggered when a timer this class is responsible for requires.
    Definition: wxMaxima.cpp:6000
    +
    void PassKeyboardFocus()
    Forwards the keyboard focus to a text control that might need it.
    Definition: wxMaxima.cpp:11227
    +
    void ReadPrompt(const wxString &data)
    Reads the input prompt from Maxima.
    Definition: wxMaxima.cpp:4009
    +
    double GetMaximaCPUPercentage()
    How much CPU horsepower is maxima using currently?
    Definition: wxMaxima.cpp:5972
    +
    void NumericalMenu(wxCommandEvent &event)
    Processes "Numerical menu" clicks.
    Definition: wxMaxima.cpp:9154
    bool m_closing
    Did we tell maxima to close?
    Definition: wxMaxima.h:779
    -
    void SendMaxima(wxString s, bool addToHistory=false)
    Definition: wxMaxima.cpp:2315
    -
    void ResetTitle(bool saved, bool force=false)
    Update the title.
    Definition: wxMaxima.cpp:10908
    -
    void ReadVariables(const wxXmlDocument &xmldoc)
    Reads the variable values maxima advertises to us.
    Definition: wxMaxima.cpp:3350
    +
    void SendMaxima(wxString s, bool addToHistory=false)
    Definition: wxMaxima.cpp:2323
    +
    void ResetTitle(bool saved, bool force=false)
    Update the title.
    Definition: wxMaxima.cpp:10916
    +
    void ReadVariables(const wxXmlDocument &xmldoc)
    Reads the variable values maxima advertises to us.
    Definition: wxMaxima.cpp:3358
    void OnJumpToError(wxCommandEvent &event)
    Called when the "Scroll to last error" button is pressed.
    -
    void VariableActionMaximaInfodir(const wxString &value)
    Called if maxima tells us the maxima info dir.
    Definition: wxMaxima.cpp:3508
    +
    void VariableActionMaximaInfodir(const wxString &value)
    Called if maxima tells us the maxima info dir.
    Definition: wxMaxima.cpp:3516
    wxString m_maximaTempDir
    The directory with maxima's temp files.
    Definition: wxMaxima.h:781
    -
    void OnReplaceAll(wxFindDialogEvent &event)
    Is triggered when the "Replace All" button in the search dialog is pressed.
    Definition: wxMaxima.cpp:6726
    -
    void DrawMenu(wxCommandEvent &event)
    Processes "draw menu" clicks.
    Definition: wxMaxima.cpp:8266
    -
    void VariableActionEngineeringFormat(const wxString &value)
    Called if maxima tells us the value of the maxima variable engineering_format_floats
    Definition: wxMaxima.cpp:3786
    -
    void VariableActionLispVersion(const wxString &value)
    Called if maxima tells us the lisp version.
    Definition: wxMaxima.cpp:3710
    -
    bool OpenXML(const wxString &file, Worksheet *document)
    Opens a content.xml file that has been extracted from a broken .wxmx file.
    Definition: wxMaxima.cpp:4641
    -
    void SimplifyMenu(wxCommandEvent &event)
    Processes "Simplify menu" clicks.
    Definition: wxMaxima.cpp:8632
    -
    void Interrupt(wxCommandEvent &event)
    Interrupt button and hotkey presses Make the menu item, toolbars and panes visible that should be vis...
    Definition: wxMaxima.cpp:2718
    +
    void OnReplaceAll(wxFindDialogEvent &event)
    Is triggered when the "Replace All" button in the search dialog is pressed.
    Definition: wxMaxima.cpp:6734
    +
    void DrawMenu(wxCommandEvent &event)
    Processes "draw menu" clicks.
    Definition: wxMaxima.cpp:8274
    +
    void VariableActionEngineeringFormat(const wxString &value)
    Called if maxima tells us the value of the maxima variable engineering_format_floats
    Definition: wxMaxima.cpp:3794
    +
    void VariableActionLispVersion(const wxString &value)
    Called if maxima tells us the lisp version.
    Definition: wxMaxima.cpp:3718
    +
    bool OpenXML(const wxString &file, Worksheet *document)
    Opens a content.xml file that has been extracted from a broken .wxmx file.
    Definition: wxMaxima.cpp:4649
    +
    void SimplifyMenu(wxCommandEvent &event)
    Processes "Simplify menu" clicks.
    Definition: wxMaxima.cpp:8640
    +
    void Interrupt(wxCommandEvent &event)
    Interrupt button and hotkey presses Make the menu item, toolbars and panes visible that should be vis...
    Definition: wxMaxima.cpp:2726
    wxProcess * m_gnuplotProcess
    The gnuplot process info.
    Definition: wxMaxima.h:263
    -
    void OnFocus(wxFocusEvent &event)
    Called when this window is focussed or defocussed.
    Definition: wxMaxima.cpp:11213
    -
    void VariableActionMaximaHtmldir(const wxString &value)
    Called if maxima tells us the maxima html dir.
    Definition: wxMaxima.cpp:3515
    -
    void ReadManualTopicNames(const wxXmlDocument &xmldoc)
    Read a manual topic name so we can jump to the right documentation page.
    Definition: wxMaxima.cpp:3250
    +
    void OnFocus(wxFocusEvent &event)
    Called when this window is focussed or defocussed.
    Definition: wxMaxima.cpp:11221
    +
    void VariableActionMaximaHtmldir(const wxString &value)
    Called if maxima tells us the maxima html dir.
    Definition: wxMaxima.cpp:3523
    +
    void ReadManualTopicNames(const wxXmlDocument &xmldoc)
    Read a manual topic name so we can jump to the right documentation page.
    Definition: wxMaxima.cpp:3258
    TimerIDs
    An enum of individual IDs for all timers this class handles.
    Definition: wxMaxima.h:92
    @ KEYBOARD_INACTIVITY_TIMER_ID
    The keyboard was inactive long enough that we can attempt an auto-save.
    Definition: wxMaxima.h:94
    @ AUTO_SAVE_TIMER_ID
    The time between two auto-saves has elapsed.
    Definition: wxMaxima.h:96
    @ MAXIMA_STDOUT_POLL_ID
    We look if we got new data from maxima's stdout.
    Definition: wxMaxima.h:98
    -
    bool StartServer()
    starts the server
    Definition: wxMaxima.cpp:2536
    +
    bool StartServer()
    starts the server
    Definition: wxMaxima.cpp:2544
    long m_commandIndex
    The Char the current command starts at in the current WorkingGroup.
    Definition: wxMaxima.h:788
    -
    void VariableActionSinnpiflagUndefined()
    Called if maxima tells us that the maxima variable sinnpiflag is undefined.
    Definition: wxMaxima.cpp:3424
    -
    bool CheckWXMXVersion(const wxString &docversion)
    Complains if the version string from the XML file indicates too low a maxima version.
    Definition: wxMaxima.cpp:4619
    -
    void OnClose(wxCloseEvent &event)
    close wxMaxima window
    Definition: wxMaxima.cpp:9718
    -
    void VariableActionHtmlHelp(const wxString &value)
    Called if maxima tells us the value of the maxima variable output_format_for_help.
    Definition: wxMaxima.cpp:3796
    -
    void VariableActionOperators(const wxString &value)
    Called if maxima sends us the list of known operators.
    Definition: wxMaxima.cpp:3881
    -
    void VariableActionLmxChar(const wxString &value)
    Called if maxima tells us the value of the maxima variable lmxchar
    Definition: wxMaxima.cpp:3732
    -
    void MaximaDClick(wxCommandEvent &ev)
    Issued on double click on the Maxima status icon.
    Definition: wxMaxima.cpp:11028
    -
    bool SaveNecessary()
    Does this file contain anything worth saving?
    Definition: wxMaxima.cpp:10287
    +
    void VariableActionSinnpiflagUndefined()
    Called if maxima tells us that the maxima variable sinnpiflag is undefined.
    Definition: wxMaxima.cpp:3432
    +
    bool CheckWXMXVersion(const wxString &docversion)
    Complains if the version string from the XML file indicates too low a maxima version.
    Definition: wxMaxima.cpp:4627
    +
    void OnClose(wxCloseEvent &event)
    close wxMaxima window
    Definition: wxMaxima.cpp:9726
    +
    void VariableActionHtmlHelp(const wxString &value)
    Called if maxima tells us the value of the maxima variable output_format_for_help.
    Definition: wxMaxima.cpp:3804
    +
    void VariableActionOperators(const wxString &value)
    Called if maxima sends us the list of known operators.
    Definition: wxMaxima.cpp:3889
    +
    void VariableActionLmxChar(const wxString &value)
    Called if maxima tells us the value of the maxima variable lmxchar
    Definition: wxMaxima.cpp:3740
    +
    void MaximaDClick(wxCommandEvent &ev)
    Issued on double click on the Maxima status icon.
    Definition: wxMaxima.cpp:11036
    +
    bool SaveNecessary()
    Does this file contain anything worth saving?
    Definition: wxMaxima.cpp:10295
    wxProcess * m_gnuplotTerminalQueryProcess
    Info about the gnuplot process we start for querying the terminals it supports.
    Definition: wxMaxima.h:265
    -
    void StripLispComments(wxString &s)
    Remove empty statements.
    Definition: wxMaxima.cpp:2300
    -
    void MenuCommand(const wxString &cmd)
    Inserts command cmd into the worksheet.
    Definition: wxMaxima.cpp:5282
    -
    void ReadStatusBar(const wxXmlDocument &xmldoc)
    Reads the output of wxstatusbar() commands.
    Definition: wxMaxima.cpp:3229
    +
    void StripLispComments(wxString &s)
    Remove empty statements.
    Definition: wxMaxima.cpp:2308
    +
    void MenuCommand(const wxString &cmd)
    Inserts command cmd into the worksheet.
    Definition: wxMaxima.cpp:5290
    +
    void ReadStatusBar(const wxXmlDocument &xmldoc)
    Reads the output of wxstatusbar() commands.
    Definition: wxMaxima.cpp:3237
    static const wxString m_promptSuffix
    The marker for the end of a input prompt.
    Definition: wxMaxima.h:744
    -
    bool OpenWXMFile(const wxString &file, Worksheet *document, bool clearDocument=true)
    Opens a wxm file.
    Definition: wxMaxima.cpp:4232
    -
    bool QueryVariableValue()
    Query the value of a new maxima variable.
    Definition: wxMaxima.cpp:3962
    -
    void StatusMsgDClick(wxCommandEvent &ev)
    Issued on double click on the status message in the status bar.
    Definition: wxMaxima.cpp:11032
    -
    void ShowMaximaHelp(wxString={})
    Show the help for Maxima.
    Definition: wxMaxima.cpp:5037
    -
    void HelpMenu(wxCommandEvent &event)
    Processes "Help menu" clicks.
    Definition: wxMaxima.cpp:9435
    +
    bool OpenWXMFile(const wxString &file, Worksheet *document, bool clearDocument=true)
    Opens a wxm file.
    Definition: wxMaxima.cpp:4240
    +
    bool QueryVariableValue()
    Query the value of a new maxima variable.
    Definition: wxMaxima.cpp:3970
    +
    void StatusMsgDClick(wxCommandEvent &ev)
    Issued on double click on the status message in the status bar.
    Definition: wxMaxima.cpp:11040
    +
    void ShowMaximaHelp(wxString={})
    Show the help for Maxima.
    Definition: wxMaxima.cpp:5045
    +
    void HelpMenu(wxCommandEvent &event)
    Processes "Help menu" clicks.
    Definition: wxMaxima.cpp:9443
    wxString GetCWD()
    Get the current working directory file I/O from maxima is relative to.
    Definition: wxMaxima.h:705
    -
    std::unique_ptr< GroupCell > CreateTreeFromXMLNode(wxXmlNode *xmlcells, const wxString &wxmxfilename={})
    Loads a wxmx description.
    Definition: wxMaxima.cpp:4706
    -
    void VariableActionShowtime(const wxString &value)
    Called if maxima tells us the value of the maxima variable showtime
    Definition: wxMaxima.cpp:3777
    -
    void ShowPane(wxCommandEvent &event)
    Toggle the visibility of a pane.
    Definition: wxMaxima.cpp:10996
    -
    void ShowMaximaHelpWithoutAnchor()
    Show the help for Maxima (without handling of anchors).
    Definition: wxMaxima.cpp:4988
    -
    void ReadFirstPrompt(const wxString &data)
    Determines the process id of maxima from its initial output.
    Definition: wxMaxima.cpp:3092
    -
    long long GetTotalCpuTime()
    How much CPU time has been used by the system until now? Used by GetMaximaCPUPercentage.
    Definition: wxMaxima.cpp:5877
    -
    bool StartMaxima(bool force=false)
    starts maxima (uses getCommand) or restarts it if needed
    Definition: wxMaxima.cpp:2597
    +
    std::unique_ptr< GroupCell > CreateTreeFromXMLNode(wxXmlNode *xmlcells, const wxString &wxmxfilename={})
    Loads a wxmx description.
    Definition: wxMaxima.cpp:4714
    +
    void VariableActionShowtime(const wxString &value)
    Called if maxima tells us the value of the maxima variable showtime
    Definition: wxMaxima.cpp:3785
    +
    void ShowPane(wxCommandEvent &event)
    Toggle the visibility of a pane.
    Definition: wxMaxima.cpp:11004
    +
    void ShowMaximaHelpWithoutAnchor()
    Show the help for Maxima (without handling of anchors).
    Definition: wxMaxima.cpp:4996
    +
    void ReadFirstPrompt(const wxString &data)
    Determines the process id of maxima from its initial output.
    Definition: wxMaxima.cpp:3100
    +
    long long GetTotalCpuTime()
    How much CPU time has been used by the system until now? Used by GetMaximaCPUPercentage.
    Definition: wxMaxima.cpp:5885
    +
    bool StartMaxima(bool force=false)
    starts maxima (uses getCommand) or restarts it if needed
    Definition: wxMaxima.cpp:2605
    void ExitAfterEval(bool exitaftereval)
    Do we want to exit the program after evaluation?
    Definition: wxMaxima.h:119
    -
    void VariableActionAutoplay(const wxString &value)
    Called if maxima tells us the value of the maxima variable wxanimate_autoplay
    Definition: wxMaxima.cpp:3817
    -
    void VariableActionWxSubscripts(const wxString &value)
    Called if maxima tells us the value of the maxima variable wxsubscripts
    Definition: wxMaxima.cpp:3721
    +
    void VariableActionAutoplay(const wxString &value)
    Called if maxima tells us the value of the maxima variable wxanimate_autoplay
    Definition: wxMaxima.cpp:3825
    +
    void VariableActionWxSubscripts(const wxString &value)
    Called if maxima tells us the value of the maxima variable wxsubscripts
    Definition: wxMaxima.cpp:3729
    wxString m_gnuplotcommand
    Maxima's idea about gnuplot's location.
    Definition: wxMaxima.h:786
    -
    void ServerEvent(wxSocketEvent &event)
    Server event: Maxima connects.
    Definition: wxMaxima.cpp:2491
    +
    void ServerEvent(wxSocketEvent &event)
    Server event: Maxima connects.
    Definition: wxMaxima.cpp:2499
    static wxString m_mathPrefix2
    A marker for the start of maths.
    Definition: wxMaxima.h:739
    -
    void MatrixMenu(wxCommandEvent &event)
    Processes "algebra menu" clicks.
    Definition: wxMaxima.cpp:7942
    -
    void SetupVariables()
    Setup maxima's variables.
    Definition: wxMaxima.cpp:4740
    -
    void OnDemoFileMenu(wxCommandEvent &ev)
    Is called when a demo file menu is clicked.
    Definition: wxMaxima.cpp:1831
    -
    void UpdateSlider()
    Updates the slider to show the right frame.
    Definition: wxMaxima.cpp:10968
    -
    void TableOfContentsSelection(wxListEvent &event)
    Issued on double click on a table of contents item.
    Definition: wxMaxima.cpp:11044
    -
    void VariableActionLispName(const wxString &value)
    Called if maxima tells us the lisp name.
    Definition: wxMaxima.cpp:3706
    +
    void MatrixMenu(wxCommandEvent &event)
    Processes "algebra menu" clicks.
    Definition: wxMaxima.cpp:7950
    +
    void SetupVariables()
    Setup maxima's variables.
    Definition: wxMaxima.cpp:4748
    +
    void OnDemoFileMenu(wxCommandEvent &ev)
    Is called when a demo file menu is clicked.
    Definition: wxMaxima.cpp:1839
    +
    void UpdateSlider()
    Updates the slider to show the right frame.
    Definition: wxMaxima.cpp:10976
    +
    void TableOfContentsSelection(wxListEvent &event)
    Issued on double click on a table of contents item.
    Definition: wxMaxima.cpp:11052
    +
    void VariableActionLispName(const wxString &value)
    Called if maxima tells us the lisp name.
    Definition: wxMaxima.cpp:3714
    void ConfigChanged()
    Is called on start and whenever the configuration changes.
    Definition: wxMaxima.cpp:138
    -
    void EvaluateEvent(wxCommandEvent &event)
    Handle the evaluation event.
    Definition: wxMaxima.cpp:10337
    +
    void EvaluateEvent(wxCommandEvent &event)
    Handle the evaluation event.
    Definition: wxMaxima.cpp:10345
    static wxString m_firstPrompt
    The first prompt maxima will output.
    Definition: wxMaxima.h:768
    -
    void CalculusMenu(wxCommandEvent &event)
    event handling for menus
    Definition: wxMaxima.cpp:8891
    -
    bool SaveOnClose()
    Try to save the file before closing it - or return false.
    Definition: wxMaxima.cpp:9674
    -
    void VariableActionGnuplotCommand(const wxString &value)
    Called if maxima tells us the value of the maxima variable gnuplot
    Definition: wxMaxima.cpp:3643
    +
    void CalculusMenu(wxCommandEvent &event)
    event handling for menus
    Definition: wxMaxima.cpp:8899
    +
    bool SaveOnClose()
    Try to save the file before closing it - or return false.
    Definition: wxMaxima.cpp:9682
    +
    void VariableActionGnuplotCommand(const wxString &value)
    Called if maxima tells us the value of the maxima variable gnuplot
    Definition: wxMaxima.cpp:3651
    The Right Way to delete a wxSocketServer.
    Definition: wxMaxima.h:716
    This file declares the class wxMaximaFrame.