|
wxMaxima
|
The checks the troubleshooting dialog runs (GH #2559), their results, and the pure helpers that interpret what the checks found. More...
#include <wx/string.h>#include <cstddef>#include <vector>Go to the source code of this file.
Data Structures | |
| struct | wxm::TroubleshootingResult |
| The result of one check. More... | |
Enumerations | |
| enum class | wxm::TroubleshootingCheck { maximaFound , server , maximaStarts , maximaConnects , firstPrompt , authentication , wxMathML , loadPackage , loadDraw , tempDir , gnuplotFound , gnuplotPng , gnuplotPngCairo , maximaStops , maximaHtmlManual , maximaInfoManual , wxMaximaHtmlManual , helpKnowsManual , helpSidebar , externalBrowser , translations , bidiText , svgText , aiSidebar , count } |
| One thing the troubleshooting dialog checks. The order is the display order. More... | |
| enum class | wxm::TroubleshootingStatus { pending , running , ok , info , warning , failed , skipped } |
| What a check found. More... | |
| enum class | wxm::TroubleshootingSection { maxima , plots , help , userInterface , count } |
| The groups the dialog shows the checks in, one page each. More... | |
Functions | |
| std::vector< TroubleshootingCheck > | wxm::AllTroubleshootingChecks () |
| All checks, in the order they are shown. | |
| wxString | wxm::TroubleshootingCheckTitle (TroubleshootingCheck check) |
| The (translated) one-line name of a check. | |
| wxString | wxm::TroubleshootingStatusName (TroubleshootingStatus status) |
| The (translated) word the dialog shows for a status. | |
| wxString | wxm::TroubleshootingStatusSymbol (TroubleshootingStatus status) |
| The Unicode symbol the dialog shows in front of a status. | |
| std::vector< TroubleshootingSection > | wxm::AllTroubleshootingSections () |
| All sections, in the order they are shown. | |
| TroubleshootingSection | wxm::TroubleshootingSectionOf (TroubleshootingCheck check) |
| The section a check is shown in. | |
| wxString | wxm::TroubleshootingSectionTitle (TroubleshootingSection section) |
| The (translated) name of a section. | |
| TroubleshootingStatus | wxm::TroubleshootingSummaryStatus (const std::vector< TroubleshootingStatus > &statuses) |
| The status that sums up a section. | |
| wxString | wxm::TroubleshootingReport (const std::vector< TroubleshootingResult > &results) |
| The report the dialog copies to the clipboard, to be pasted into a bug report. | |
| wxString | wxm::TroubleshootingProbeValue (const wxString &text, const wxString &key, bool *found) |
| The value a probe query printed, as "wxprobe-<key>=<value>" on a line of its own. | |
| bool | wxm::PathHasQuote (const wxString &path) |
| True if a path contains a character draw can't cope with in its temp dir (GH #1106) | |
| bool | wxm::IsPngData (const unsigned char *data, std::size_t size) |
True if data starts with the signature every PNG file starts with. | |
| wxString | wxm::GnuplotSingleQuoted (const wxString &path) |
| A path as a single-quoted gnuplot string: gnuplot doubles a quote inside one. | |
| bool | wxm::GnuplotLacksTerminal (const wxString &gnuplotErrors) |
| True if gnuplot's error output says that it doesn't know a terminal. | |
The checks the troubleshooting dialog runs (GH #2559), their results, and the pure helpers that interpret what the checks found.
Nothing here starts a process or opens a window, so all of it can be tested directly; the checks themselves are run by TroubleshootingRunner (the ones that need Maxima or gnuplot) and by TroubleshootingDialog (the ones that only ask wxWidgets).
|
strong |
One thing the troubleshooting dialog checks. The order is the display order.
| Enumerator | |
|---|---|
| maximaFound | The configured Maxima program exists. |
| server | We can open the local server Maxima connects to. |
| maximaStarts | The Maxima program can be run and stays alive. |
| maximaConnects | Maxima connects to our server. |
| firstPrompt | Maxima sends its first prompt. |
| authentication | |
| wxMathML | |
| loadPackage | Maxima can load a package from its share directory. |
| loadDraw | |
| tempDir | Maxima's temp directory is usable for plots. |
| gnuplotFound | The gnuplot program exists. |
| gnuplotPng | gnuplot can draw a png file |
| gnuplotPngCairo | gnuplot can draw a pngcairo file (nicer plots) |
| maximaStops | |
| maximaHtmlManual | Maxima's HTML manual exists. |
| maximaInfoManual | Maxima's info manual (used by ? and describe()) |
| wxMaximaHtmlManual | wxMaxima's own HTML manual exists |
| helpKnowsManual | |
| helpSidebar | The integrated help browser can be offered. |
| externalBrowser | Something can open the manual in a web browser. |
| translations | The translation of wxMaxima's texts was found. |
| bidiText | libfribidi handles lines mixing both text directions |
| svgText | wxWidgets' SVG renderer draws text (scalable plots) |
| aiSidebar | The AI chat sidebar can be offered. |
| count | Not a check: the number of checks. |
|
strong |
The groups the dialog shows the checks in, one page each.
Like the configuration dialog's pages, these are what the user thinks about rather than the order the checks run in.
| Enumerator | |
|---|---|
| maxima | Starting and talking to Maxima. |
| plots | Packages, the temp directory, gnuplot and SVG. |
| help | The manuals and where help is shown. |
| userInterface | Translations and the AI sidebar (not "interface": a macro on MSW) |
| count | Not a section: the number of sections. |
|
strong |
| wxString wxm::TroubleshootingProbeValue | ( | const wxString & | text, |
| const wxString & | key, | ||
| bool * | found | ||
| ) |
The value a probe query printed, as "wxprobe-<key>=<value>" on a line of its own.
The Maxima the troubleshooting dialog starts answers each query by printing such a line among whatever else it prints (load() messages, the output of wxMathML.lisp, ...). Only a complete line counts: a value whose line end hasn't arrived yet may still be incomplete.
| text | Everything Maxima has sent so far |
| key | The key the query printed |
| found | Set to whether a complete line with that key was there |
| wxString wxm::TroubleshootingReport | ( | const std::vector< TroubleshootingResult > & | results | ) |
The report the dialog copies to the clipboard, to be pasted into a bug report.
One block per check: its status, its title, and the details and hint indented below it. The status words are not translated, so that whoever reads the bug report can tell what failed whatever language it was made in.
| wxString wxm::TroubleshootingStatusSymbol | ( | TroubleshootingStatus | status | ) |
The Unicode symbol the dialog shows in front of a status.
A check mark for ok and a cross for failed, so that the result can be seen at a glance; the dialog colours them.
| wxm::TroubleshootingStatus wxm::TroubleshootingSummaryStatus | ( | const std::vector< TroubleshootingStatus > & | statuses | ) |
The status that sums up a section.
The most important of its checks' statuses: a failure before a warning, before a check that still runs, ... before ok. So a section is only ok once all its checks are, and a failure shows on its page even while other checks still run.