| push_setmode | Function (ROM Call 0x323)

AMS 1.01 or higher | basfunc.h

void push_setmode (CESI ModeNameStringOrList, CESI SettingString);

Executes TI-Basic 'setMode' function.

push_setmode assumes that ModeNameStringOrList points to the tag of a string expression (usually to STR_TAG), or to a list expression (usually to LIST_TAG). If it points to a string, push_setmode sets the appropriate mode to the new string pointed to by SettingString (it should also point to the string tag), and pushes the previous setting string of that mode to the expression stack. Possible mode strings and settings strings are listed in the table below:

Mode name | Possible settings
"Graph" | "FUNCTION", "PARAMETRIC", "POLAR", "SEQUENCE", "3D", "DIFF EQUATIONS"
"Display Digits" | "FIX 0", "FIX 1", ..., "FIX 12", "FLOAT 1", "FLOAT 2", ..., "FLOAT 12"
"Angle" | "RADIAN", "DEGREE"
"Exponential Format" | "NORMAL", "SCIENTIFIC", "ENGINEERING"
"Complex Format" | "REAL", "RECTANGULAR", "POLAR"
"Vector Format" | "RECTANGULAR", "CYLINDRICAL", "SPHERICAL"
"Pretty Print" | "OFF", "ON"
"Split Screen" | "FULL", "TOP-BOTTOM", "LEFT-RIGHT"
"Split 1 App" | "Home", "Y=Editor", "Window Editor", "Graph", "Table", "Data/Matrix Editor", "Program Editor", "Text Editor", "Numeric Solver"
"Split 2 App" | "Home", "Y=Editor", "Window Editor", "Graph", "Table", "Data/Matrix Editor", "Program Editor", "Text Editor", "Numeric Solver"
"Number of Graphs" | "1", "2"
"Graph2" | "FUNCTION", "PARAMETRIC", "POLAR", "SEQUENCE", "3D", "DIFF EQUATIONS"
"Exact/Approx" | "AUTO", "EXACT", "APPROXIMATE"
"Base" | "DEC", "HEX", "BIN"

If ModeNameStringOrList points to a list, this list is assumed to contain pairs of keyword strings. push_setmode will then set them all at once (SettingString is ignored in this case). This is recommended for multiple mode changes.
Note: push_setmode may cause switching of the current application. See the events.h header file for more info.

Uses: push_END_TAG, push_LIST_TAG, push_zstr, MO_currentOptions, MO_digestOptions