wxMaxima
Loading...
Searching...
No Matches
Functions
wxMaxima.cpp File Reference

This file defines the contents of the class wxMaxima that contains most of the program's logic. More...

#include "MaximaTokenizer.h"
#include "MaximaMenuSync.h"
#include "BTextCtrl.h"
#include <wx/notifmsg.h>
#include <functional>
#include <unordered_map>
#include <utility>
#include <vector>
#include <time.h>
#include <algorithm>
#include <wx/zipstrm.h>
#include "wizards/ActualValuesStorageWiz.h"
#include "cells/AnimationCell.h"
#include "wizards/BC2Wiz.h"
#include "cells/CellList.h"
#include "dialogs/ConfigDialogue.h"
#include "dialogs/MaximaNotStartingDialog.h"
#include "dialogs/AboutDialog.h"
#include "wizards/CsvWiz.h"
#include "wizards/DrawWiz.h"
#include "cells/EditorCell.h"
#include "wizards/Gen1Wiz.h"
#include "wizards/Gen2Wiz.h"
#include "wizards/Gen3Wiz.h"
#include "wizards/Gen4Wiz.h"
#include "wizards/Gen5Wiz.h"
#include "wizards/GenWiz.h"
#include "cells/ImgCell.h"
#include "wizards/IntegrateWiz.h"
#include "cells/LabelCell.h"
#include "dialogs/LicenseDialog.h"
#include "dialogs/ChangeLogDialog.h"
#include "wizards/LimitWiz.h"
#include "wizards/ListSortWiz.h"
#include "wizards/MatWiz.h"
#include "dialogs/MaxSizeChooser.h"
#include "Maxima.h"
#include "MaximaVariableUpdates.h"
#include "wizards/Plot2dWiz.h"
#include "wizards/Plot3dWiz.h"
#include "wizards/PlotFormatWiz.h"
#include "graphical_io/Printout.h"
#include "dialogs/ResolutionChooser.h"
#include "wizards/SeriesWiz.h"
#include "StringUtils.h"
#include "wizards/SubstituteWiz.h"
#include "wizards/SumWiz.h"
#include "wizards/SystemWiz.h"
#include "dialogs/TipOfTheDay.h"
#include "dialogs/DiffFrame.h"
#include "wxMaximaOSDescription.h"
#include "Version.h"
#include "BuildConfig.h"
#include "WXMformat.h"
#include "WXMXformat.h"
#include "wxMathml.h"
#include "wxMaxima.h"
#include <wx/app.h>
#include <wx/apptrait.h>
#include <wx/stdpaths.h>
#include <wx/base64.h>
#include <wx/buffer.h>
#include <wx/artprov.h>
#include <wx/clipbrd.h>
#include <wx/colordlg.h>
#include <wx/dir.h>
#include <wx/dynlib.h>
#include <wx/filedlg.h>
#include <wx/filefn.h>
#include <wx/filename.h>
#include <wx/log.h>
#include <wx/mimetype.h>
#include <wx/msgdlg.h>
#include <wx/mstream.h>
#include <wx/textfile.h>
#include <wx/tokenzr.h>
#include <wx/uri.h>
#include <wx/utils.h>
#include <wx/wupdlock.h>
#include <wx/windowptr.h>
#include <wx/wfstream.h>
#include <wx/zstream.h>
#include <wx/persist/toplevel.h>
#include <wx/sckstrm.h>
#include <wx/txtstrm.h>
#include "main.h"
#include <list>
#include <memory>
#include <wx/sstream.h>
#include <wx/url.h>
#include "Configuration.h"
#include <csignal>
#include <cstring>
#include <sys/types.h>
#include <unistd.h>

Functions

 wxDECLARE_APP (MyApp)
 
wxString ApplyAppearanceToApp (Configuration::Appearance appearance, bool logImmediately)
 Apply the chosen light/dark appearance to the native application chrome (menus, toolbars, sidebars, dialogs) via wxApp::SetAppearance(). This call itself is never deferred – only whether it logs its result immediately is (see logImmediately below); the appearance change has to happen synchronously, before the first top-level window is created.
 

Detailed Description

This file defines the contents of the class wxMaxima that contains most of the program's logic.

The worksheet is defined in the class Worksheet instead and everything surrounding it in wxMaximaFrame.

Function Documentation

◆ ApplyAppearanceToApp()

wxString ApplyAppearanceToApp ( Configuration::Appearance  appearance,
bool  logImmediately = true 
)

Apply the chosen light/dark appearance to the native application chrome (menus, toolbars, sidebars, dialogs) via wxApp::SetAppearance(). This call itself is never deferred – only whether it logs its result immediately is (see logImmediately below); the appearance change has to happen synchronously, before the first top-level window is created.

No-op before wxWidgets 3.3. On Windows the native chrome only picks up the appearance when this is called during startup, before the first top-level window is created – so it must run early in MyApp::OnInit() and not only from wxMaxima::ConfigChanged() at runtime.

Returns a plain description of the result, suitable for wxLogMessage(), or an empty string if there's nothing to report. If logImmediately is true (the default), also logs it via wxLogMessage() before returning – pass false when called before any custom log target has been installed yet (as MyApp::OnInit() must, since it runs before m_logWindow exists), since wxLogMessage() with no custom target falls back to wx's own wxLogGui, which pops up a modal dialog for every message. The caller is then responsible for logging the returned message itself, once a real log target exists.