Chapter 3. User Interface
Prev |  | Next

# Chapter 3. User Interface

## Main Window

Figure 3.1. Main Window

The main window provides a menu bar, the expression entry, the result display and a calculator keypad, history and conversion view (see the section called “Conversion”) which can be shown/hidden by clicking on Keypad, History and Conversion, respectively. When non-default options for the interpretation of expressions have been selected, the choice will be indicated in a small status area below the expression entry, to the right (click to change these choices).

## Expression Entry

The expression entry is the most important part of the Qalculate! user interface. The normal calculation procedure in Qalculate! is to type in a mathematical expression (e.g. “5 + 5”) and press Enter (or click =). The result (“10”) is then displayed below the expression entry in the result display.

The icon in the upper right corner of the expression entry changes function depending on the current status. While editing the expression an equals sign is shown. When the icon is clicked the expression will be calculated. If this results in an error or a warning, the corresponding icon will be displayed instead, and if this is clicked, or if the pointer is placed over it, the error/warning text will be shown. If no error or warning is triggered, activation of the icon will instead clear the expression entry. No icon is shown when the expression is empty.

Figure 3.2. Completion

Qalculate! helps out with the expression by giving a list of possible endings to words representing functions, variables and units. Titles, and countries for currencies, will also be searched, but any matches will be placed at the end of the list. The list will narrow with each letter typed. Select an item in the list and the name will be completed. If a function was selected, parenthesis will be added and the position moved for immediate entry of arguments. Completion can be configured from the context menu, or in more detail, from the preferences dialog.

As the expression is typed in, the area directly below the expression entry, to the left, will show useful information. By default the calculator's interpretation of the expression is shown (e.g. “5 × meter” for “5m”). The interpretation will be displayed in red (configurable) if there are errors in the expression or in blue for lesser errors (for example too many arguments in a function). If the last typed-in text represents a function and arguments are about to be entered, the function's name and its arguments will be displayed. The first argument in the information text is highlighted and includes information about its type and restrictions and when an argument has been entered, the next will be highlighted.

After execution of an expression, the whole expression will be marked. This normally means that if something new is entered, the old expression will be overwritten. If, however, an operator (+, −, ×, /, ^) is entered first, the old expression will instead be the target of action. The operator will then apply to the whole expression, which is put in parenthesis. This works on all marked ranges, meaning that this way an expression can conveniently be put in parenthesis. Functions set the selection as their first argument.

The Page Up and Page Down keys will access previously entered expressions. With focus in the expression entry, Page Up traverses backwards in the expression history and Page Down forward. The Up and Down can also be used for the same purpose when the completion list is not shown.

Although the expression entry can display multiple lines of text, the Enter key does not insert a line feed. New lines are automatically created when needed.

The expression entry also accepts commands, preceded be “/”. These commands are the same as in the command line program, qalc.

The font used for the expression entry can be selected in the preferences dialog (Edit → Preferences).

Right-click in the expression entry to open a context menu, with general text editing options as well as selection of parsing modes (including number base), and menu items which open dialogs for insertion of vectors, matrices, or dates.

## Result Display

The result of calculations is displayed in the open area below the expression entry. The font used for the result display can be selected in the preferences dialog (Edit → Preferences). Use of Unicode signs can be turned off in the same dialog. Otherwise Qalculate! will try to make the result as fancy as possible and print π for pi, √ for sqrt, € for euro, and so on. Information about customization of the mathematical result output is available in Chapter 5, Calculator Modes.

In front of the result an equals or approximately equals sign is shown. This indicates whether Qalculate! was able to calculate/display the result exact or only approximate, in the current mode.

The result display has a context menu, which pops up when clicking with the right button anywhere in the field. This menu provides a subset of the display alternatives from the mode menu (Table 3.7, “Mode Menu”) and some actions from the edit menu (Table 3.6, “Edit Menu”). See more info in Chapter 5, Calculator Modes.

If you hold the pointer over the result area a tooltip will show the text representation of the result. To make it more obvious what the result means, abbreviations and implicit multiplication are not used here, and excessive parentheses are shown.

To copy the result, either select Edit → Copy Result, press Ctrl+Alt+C, or copy the text from the history window.

## Keypad

The keypad provides access to a simple traditional number pad and as well as more advanced functionality.

Figure 3.3. Keypad

Click on the padlock icon to enable/disable persistent keypad, which makes it possible to display the keypad and the history simultaneously (the keypad view will be independent of the other views).

The top buttons (from left to right) switches between the general keypad and the programming keypad (affects the buttons on the left side, see Table 3.3, “Programming Keypad”), switches between exact and approximate calculation, changes rational number form, selects display mode and selects number base in result (see Chapter 5, Calculator Modes).

The buttons below are separated in two areas. The buttons on the right inserts basic numbers and operators, while most of the buttons to the left inserts or applies mathematical functions to the expression. All buttons on the left is paired with buttons, with downward arrows, that opens a menu with related functionality (generally more mathematical functions).

Most of buttons to the right will do something different depending on which button on the pointing device (mouse) that is clicked (for details see the table below; all actions are displayed as tooltips when holding the pointer over a button). Button press and hold on a button (for approximately half a second) will generally perform the same action as right-click. Right-click or long press on the buttons to the left will open the associated menu.

Selected/marked text in the expression entry is handled in different ways depending on the type of keypad button used. Numbers, variables and units will replace the selected text.

Operators will be placed after any selected text (except bitwise and logical NOT which is placed in front of the selection), which is put in parentheses. This, together with the fact that recently calculated expressions are automatically selected in the entry, means that if you click 5, 9, +, 2, =, × and 2 in order, the result expression is “(59 + 2) × 2”. In RPN mode the operators acts on the top two registers in the stack.

The mathematical functions accessed using keypad buttons (and menus) behave differently depending on the current edited expression. If the cursor is at the end of the expression and there is no operator or parenthesis immediately to left of the cursor (at the end of expression), the whole expression is used as function argument and the expression is immediately calculated using the function (if you type “5 + 2” and then click sin, “sin(5 + 2)” will be calculated). If text in the expression is selected, the selection will be used as the function argument. If the whole expression was selected the resulting expression will immediately be calculated. Functions that requires more than one argument do not follow these rules and in many cases opens a separate dialog for argument input. In RPN mode the function will always be applied to the register(s) at the top of stack, if the current expression is empty and there are enough registers for functions that require more one argument.

All actions and labels of the buttons on the right can be customized using Edit → Customize Keypad Buttons (it is also possible to add additional columns of buttons). The default buttons, and associated actions, are listed below.

Table 3.1. Right Keypad

Button | Left-click (button 1) | Right-click (button 3) or long press | Middle-click (button 2)
--- | --- | --- | ---
= | Calculates the current expression | MR (memory recall) | MS (memory store)
ANS | Variable for last calculated value (dynamic) | answer() function (fixed) | -
DEL | Delete | Backspace | M− (memory minus)
AC | Clears the expression | MC (memory clear) | -
+ | Addition operator | M+ (memory plus) | Bitwise AND operator (&)
− | Subtraction operator | Negate | Bitwise OR operator (|)
× | Multiplication operator. | Bitwise exclusive OR operator (XOR) | -
/ | Division operator. | Reciprocal (inv() function) | -
xy | Exponentiation operator (^) | Square root function (√) | -
0 | 0 | ⁰ (^0) | ° (degree)
1 | 1 | ¹ (^1) | Reciprocal (inv() function)
2 | 2 | ² (^2) | ½ (1/2)
3 | 3 | ³ (^3) | ⅓ (1/3)
4 | 4 | ⁴ (^4) | ¼ (1/4)
5 | 5 | ⁵ (^5) | ⅕ (1/5)
6 | 6 | ⁶ (^6) | ⅙ (1/6)
7 | 7 | ⁷ (^7) | ⅐ (1/7)
8 | 8 | ⁸ (^8) | ⅛ (1/8)
9 | 9 | ⁹ (^9) | ⅑ (1/9)
. or , | Decimal point | Blank space | New line
EXP | E or e (shorthand for 10x) | Exponential function | exp10() function
) | Right parenthesis. | Right bracket (]) for vectors and matrices | -
( | Left parenthesis. | Left bracket ([) for vectors and matrices | -
(x) | Smart parentheses | [] around selection | -
, or ; | Argument/vector separator | Blank space | New line
± | Interval/uncertainty operator | Uncertainty function (relative error) | Interval function
% | Percent (or modulus operator) | Per mille | -
Left and right arrows | Move cursor one character | Move cursor to beginning or end | -
Up and down arrows | Cycle through expression history | - | -

DEL deletes one character to the right or, if the cursor is at the end of the expression, to the left of the cursor (right-click always deletes the character to the left of the cursor). Long press on the button will continuously delete.

EXP inserts the shorthand notation (E or e) for ten raised to the power of x. This only applies to digits (“2E6” equals “2 × 10^6”, “xEy ≠ x × 10^y”). If whole or part of the current expression is selected, “×10^” will instead be inserted after the wrapped selection. If current input base is not 10, than the selected number base will be used as base (e.g. “×16^” for hexadecimal input).

ANS inserts the first answer variable. This variable always contains the last calculated result. This will be updated after each calculation (unlike when using the answer() function with a positive argument).

The “(x)” button (Ctrl+() places opening and closing parentheses around the selected text in the expression entry. If no text is selected either the expression to the right of the cursor (if the cursor is at the beginning of the expression or if there is an operator or left parenthesis to the left of the cursor) or to the left of the cursor is put inside parentheses. If the expression is empty, as well as in some other cases (to avoid broken expression), empty parentheses are inserted.

The arrow buttons works a bit differently than the other. The direction of the action will depend on which half of the button that is pressed (the right side of the button, with the arrow pointing to the right, will move the insert cursor when step forward). Long press on the button will continuously move the cursor (or continuously cycle through the expression history).

The characters used as decimal point and argument separator varies between different locales. The argument separator is used for separation of arguments to functions that takes more than one argument.

Below follows a list of the buttons on the left side (including their menus and associated actions), from left the right, top to bottom.

Table 3.2. Left Keypad

Button | Action | Menu
--- | --- | ---
STO | Stores the current result in a variable. See the section called “Variable creation/editing” | A list of created variables. Left click to insert the variable. Right click for the option to edit or delete the variable, or store the current result in the variable.
f(x) | Creates a new function. See the section called “Function creation/editing”. | Created and recently used (accessed from this menu, the menubar or the function manager) functions. The last item opens the function manager.
0xff | Opens the convert number bases dialog. | Bitwise operators
a(x)b | Factorizes the result (or the current expression). | Expansion of polynomials and expansion of partial fractions, integration and differentiation
x! | Factorial (e.g. “5!=factorial(5)=5×4×3×2×1=120”) | Other factorial functions and functions related to combinatorics
ln | Natural logarithm function | Other logarithmic functions
√ | Square root function | Other root functions
e | The base of natural logarithms | Exponential and complex exponential functions
mod | Modulus operator/function | rem(), abs(), gcd() and lcm() functions
x̄ | Statistical mean function | A selection of statistical functions, and rand() for random number generation
Σ | Summation function | Π, for() and if() functions
π | Archimedes' constant (pi) | Pythagoras, Euler's and golden ratio constants, and recently used variables/constants (accessed from this menu, the menubar or the variable manager) and/or a selection of physical constants. The last item opens the variable manager.
sin | Sine function | sinh(), asin() and asinh() functions, and angle unit selection
cos | Cosine function | cosh(), acos() and acosh() functions, and angle unit selection
tan | Tangent function | tanh(), atan() and atanh() functions, and angle unit selection
i | Imaginary unit (i2 = −1) i | Complex number functions
z | Unknown variable z | Assumptions for the z variable
y | Unknown variable y | Assumptions for the y variable
x | Unknown variable x | Assumptions for the x variable
x = | Equals operator (primarily used in equations) | Equation solving related functions, and replacement of unknowns in the current result
u | Opens the unit manager | Recently used units and/or a selection of common units, and a selection of prefixes
kg | Most recently used unit from the associated menu, or kilogram | All SI base units and SI derived units with special names and symbols, plus litre
€ (or local currency) | Most recently used unit from the associated menu, or euro/local currency | All current currency units (excludes currencies replaced by euro)
x ➞ | Convert to operator (selection is unselected). The expression before right arrow or “to” (or the previous result if the expressions begins with “to”) is converted to the unit expression after “to”. See the section called “The “to” (and “where”) operators”. | Convert to base units, optimal unit, or optimal prefix. Below is a list of appropriate units (with common units appended) to convert the current result to. If the result does not include any units options to convert the result to different number bases, fraction and factors appear. The current expression (if modified) is calculated when the menu is opened.

Figure 3.4. Programming keypad

The buttons on the left side can be replaced (using the top left button or Ctrl+P) by a set of buttons for quick access to functions particularly useful for programmers. In place of the menus over the keypad, the current result will be shown in binary, octal, decimal and hexadecimal number bases. The buttons are listed below, from left to right, top to bottom.

Table 3.3. Programming Keypad

Button | Left-click | Right-click or long press
--- | --- | ---
BIN | Switches to binary number base for expressions and result display. | Toggles binary number base for result display on/off.
OCT | Switches to octal number base for expressions and result display. | Toggles octal number base for result display on/off.
DEC | Switches to decimal number base for expressions and result display. | Toggles decimal number base for result display on/off.
HEX | Switches to hexadecimal number base for expressions and result display. | Toggles hexadecimal number base for result display on/off.
2→ | Toggles two's complement representation on/off for input of negative numbers. | -
→2 | Toggles two's complement representation on/off for display of negative numbers. | -
A | Hexadecimal digit | -
B | Hexadecimal digit | -
C | Hexadecimal digit | -
D | Hexadecimal digit | -
E | Hexadecimal digit | -
F | Hexadecimal digit | -
AND | Bitwise AND operator (&) | Logical AND operator (&&)
OR | Bitwise OR operator (|) | Logical OR operator (||)
XOR | Bitwise exclusive OR operator (xor) | -
NOT | Bitwise NOT operator (~) | Logical NOT operator (!)
<< | Bitwise left shift operator | -
>> | Bitwise right shift operator | -
cmp | Bitwise complement (NOT) function (specify bit width and signedness) | -
rot | Bitwise rotation function | -
mod | Modulus operator | Remainder operator
div | Integer division operator | -
int | Integer part function (“int(-5.2) = -5”) | -
frac | Fractional part function (“frac(-5.2) = -0.2”) | -
x-1 | Reciprocal (1/x) function | -
|x| | Absolute value function (“abs(-5) = 5”) | -
√ | Square root function | Cube root function
ln | Natural logarithm function | -
log2 | Base-2 logarithm function | Base-10 logarithm function
exp | Exponential function (ex) | Base-2 exponential function (2x)
x! | Factorial (e.g. “5!=factorial(5)=5×4×3×2×1=120”) | -
a×b | (Integer) factorizes the result (or the current expression). | -
fp | Opens a window for conversion between decimal values and floating point formats. | -
a→1 | code() function (returns numeric code of Unicode character) | char() function (for conversion of numeric code to Unicode character)
u→d | Function for conversion of Unix timestamp to date and time | Function for conversion of date and time to Unix timestamp
STO | Stores the current result in a variable. See the section called “Variable creation/editing” | Opens a menu with a list of created variables. Left click to insert the variable. Right click for the option to edit or delete the variable, or store the current result in the variable.

## Calculation History

The history view provides access to previous calculation results (50 rows are reloaded on restart). Previous expressions and results, as well as errors and warnings, are listed. The text of one or multiple entries can be copied to the clipboard using the Copy button to the right of the list.

Figure 3.5. Calculation History

Double click an item in the history list or use the Value or the Text button to paste the selected value or expression into the expression entry. The Value button inserts the actual value, using the answer() and expression() functions (for results and parsed expressions, respectively) with the current history index (indicated in the left column of the list), as argument, instead of the text (which might be inexact and is not guaranteed to be parsed correctly). This is not possible for the history entries of previous sessions. When an item is double clicked the actual value is used for results, but the text for expressions, allowing editing of the expression.

To the right of the list are also buttons for mathematical operations. These act on the selected history items (the + will calculate the sum of the selected values, while the − will calculated the difference between the first, uppermost, selected value and the rest, in order). If no value is marked the sign for the operator will be inserted into the expression entry (as the buttons on the keypad). If only one item is selected the buttons also use the current expression (the + button will append “+ [value]” to the current expression). The square root button will however only act on single values. When persistent keypad is active, the corresponding buttons on the right side of the keypad provide the same functionality.

Additional actions are available in the context menu of the history list. This includes options to copy the full text of one or multiple entries, search the history, delete or move entries, to clear the whole list, and to bookmark and/or protect entries from deletion when the list becomes too long or is cleared.

## Minimal Window

It is possible to minimize the footprint of the calculator window using File → Minimal Window or Ctrl+Space. This will hide everything but the expression entry and the equals button. The window is expanded to reveal to result, but the result display stays hidden while empty. Restore the window using the keyboard shortcut or the icon in lower right corner of the expression entry.

Figure 3.6. Minimal Window

## Menu Bar

The menus in the menu bar provides access to most of the functionality of Qalculate!. Their contents are listed and described below.

Table 3.4. File Menu

Menu Item | Description
--- | ---
New | Submenu for creation of new objects. See Table 3.5, “New Menu”.
Import CSV File... | Opens a dialog for import of a data file as a matrix or vectors.
Export CSV File... | Opens a dialog for export of a matrix or vector to a data file.
Store Result... (Ctrl+S) | Stores the current result as a variable. See the section called “Variable creation/editing”.
Save Result Image... | Saves the result display to a PNG image.
Save Definitions | Saves all user definitions (variables, functions and units).
Update Exchange Rates | Downloads current exchange rates from the Internet.
Plot Functions/Data | Opens the plot dialog. See Chapter 10, Plotting.
Convert Number Bases (Ctrl+B) | Opens the number bases converter. See the section called “Convert Number Bases Dialog”.
Floating Point Conversion (IEEE 754) | Opens a window for conversion between decimal values and floating point formats.
Calendar Conversion | Opens a window for conversion of dates between different calendars.
Percentage Calculation Tool | Opens a window for quick and easy percentage calculation.
Periodic Table | Shows a periodic table, with property values which can be inserted in the expression, in a new window.
Minimal Window (Ctrl+Space) | Hides everything but the expression entry, the result (when not empty), and the equals button.
Quit (Ctrl+Q) | Exits Qalculate!

Table 3.5. New Menu

Menu Item | Description
--- | ---
Variable | Opens the variable edit dialog for creation of a new variable.
Matrix | Opens a dialog for entry of a new matrix variable.
Vector | Opens a dialog for entry of a new vector variable.
Unknown Variable | Opens the variable edit dialog for creation of a new unknown variable.
Function | Opens the function edit dialog for creation of a new function.
Data Set | Opens the data set edit dialog for creation of a new data set.
Unit | Opens the unit edit dialog for creation of a new unit.

Table 3.6. Edit Menu

Menu Item | Description
--- | ---
Variables (Ctrl+M) | Opens the variable manager. See the section called “Variable/Function/Unit Managers”.
Functions (Ctrl+F) | Opens the function manager. See the section called “Variable/Function/Unit Managers”.
Units (Ctrl+U) | Opens the unit manager. See the section called “Variable/Function/Unit Managers”.
Data Sets | Opens the data set manager.
Factorize | Factorizes the current result. For multivariate rational polynomials, only square free factorization is fully supported.
Expand | Expands the current result.
Expand Partial Fractions | Applies partial fraction decomposition to the current result.
Set Unknowns... | Opens a dialog where the values of unknown variables in the result can be set and the result recalculated.
Convert To Unit | Submenu with units. Select a unit to convert the current result.
Set Prefix | Submenu for choice of unit prefix in current result.
Convert To Unit Expression (Ctrl+T) | Opens the convert to unit view for conversion of result to custom unit expression. See the section called “Conversion”.
Convert To Base Units | Splits up unit(s) in the current result into base units.
Convert To Optimal Unit | Tries to convert the units in the current result to as few units and exponents as possible. Only SI units are used for the conversion, but if no improvement is achieved, the original units are kept. Currencies are converted to the local currency, unless deactivated in the preferences dialog.
Convert To Optimal SI Unit | Tries to convert the units in the current result to as few units and exponents as possible. Non-SI units are not kept, even if the number of units increases, and the automatic alternative is prioritized. Currencies are converted to the local currency, unless deactivated in the preferences dialog.
Insert Date | Opens a dialog for date selection (for insertion in the current expression).
Insert Matrix | Opens a dialog where you can create a matrix in a spreadsheet-like table and insert into the expression entry. If selected expression text is a matrix, then the matrix is edited.
Insert Vector | Opens a dialog where you can create a vector in a spreadsheet-like table and insert into the expression entry. If selected expression text is a vector, then the vector is edited.
Copy Result (Ctrl+Alt+C) | Copies the current result to the clipboard.
Copy Result as Unformatted ASCII | Copies the current result with formatting removed and Unicode symbols replaced with corresponding ASCII characters.
Keyboard Shortcuts | Opens a dialog for editing key bindings.
Customize Keypad Buttons | Opens a dialog for customizing the labels and actions for the keypad buttons on the right side, and optionally adding additional columns of buttons.
Preferences | Opens the preferences dialog, which controls settings for visual appearance and start/exit actions.
Open Settings Folders | Opens the folder(s) containing the configuration files in the default file manager.

Table 3.7. Mode Menu

Menu Item | Description
--- | ---
Number Base | Submenu with a list of number bases (binary, octal, decimal, duodecimal, hexadecimal, sexagesimal, time format, and other bases, and roman numerals) to select for result display, and a menu item (Ctrl+B) for opening a dialog to switch number bases in expression (input) and result (output).
Numerical Display | Submenu which selects numerical display mode. See Chapter 5, Calculator Modes.
Rational Number Form | Submenu which switches between display of rational numbers as fractions or decimal numbers. See Chapter 5, Calculator Modes.
Interval Display | Submenu with options that determines how intervals and results with associated uncertainty are shown. The adaptive option is the same as significant digits display unless an interval has been explicitly specified in the expression.
Unit Display | Submenu which controls the display of units and prefixes. See Chapter 5, Calculator Modes.
Abbreviate Names | Toggles on/off use of abbreviation for unit, prefix, variable and function names in result display.
Enabled Objects | Submenu which enables/disables variables, functions, units and unknowns (will not affect defined unknown variables and quoted unknowns), calculation of variables (if calculation of variables is not on, all variables will be treated as unknown), and units in variables for physical constants. Here you can also disable complex and infinite results.
Approximation | Submenu which switches between different approximation modes.
Interval Calculation | Submenu for selection of algorithm for interval calculation / uncertainty propagation.
Angle Unit | Submenu which sets the default angle unit for trigonometric functions.
Assumptions | Submenu which changes default assumptions for unknown variables.
Algebraic Mode | Submenu with options to automatically expand or factorize the final result. In this menu, the option toggle on/off use of the assumption that unknown denominators not are zero is also found. This alternative makes it possible to avoid the situation where expressions such as “(x-1)/(x-1)” can not be further simplified because the denominator might be zero (if x equals 1).
Parsing Mode | Submenu with options to control how expressions are parsed (read/interpreted). There are three main modes to choose from. In addition the “read precision” option enables/disables interpretation of input numbers with decimals as approximations with a precision equal to the number of digits (after preceding zeroes), and “limit implicit multiplication” limits the use of implicit multiplication for parsing and display of expressions. For more information see the section called “Implicit Multiplication and Parsing Modes”. Additionally RPN and chain syntax modes can be selected.
Precision | Opens a dialog to change precision in calculations.
Decimals | Opens a dialog to change displayed number of decimals.
Calculate As You Type | When activated the current expression will be continuously calculated on each single change.
Chain Mode | (De)activates chain mode. In chain mode the expression are, when operators are entered, transformed to mimic the behavior of traditional simple calculators in immediate execution mode. The result is equivalent to that of the chain syntax (see the section called “Implicit Multiplication and Parsing Modes”). The result is updated each time an operator is entered.
RPN Mode (Ctrl+R) | (De)activates the Reverse Polish Notation stack (not RPN syntax). For details see the section called “The RPN Mode”
Meta Modes | Provides a list of available meta modes for loading and menu items to save and delete modes.
Save Default Mode | Saves the current calculator mode as the startup default.

Table 3.8. Functions Menu

Menu Item | Description
--- | ---
(Recent functions list) | Select a function to open the insert function dialog.
(Function list) | Select a function to open the insert function dialog.

Table 3.9. Variables Menu

Menu Item | Description
--- | ---
(Recent variables list) | Select a variable to insert it into the expression entry.
(Variable list) | Select a variable to insert it into the expression entry.

Table 3.10. Units Menu

Menu Item | Description
--- | ---
(Recent units list) | Select a unit to insert it into the expression entry.
(Unit list) | Select a unit to insert it into the expression entry.

Table 3.11. Help Menu

Menu Item | Description
--- | ---
Contents (F1) | Opens this help.
Report a Bug | Opens the web interface for creation of bug reports.
Check for Updates | Checks if a new version of Qalculate! is available.
About | Info about Qalculate!

## Variable/Function/Unit Managers

The variables, functions, and units windows provide a structural way of working with variables, functions and units (collectively referred to as objects). The windows for the three different objects are essentially similar. They can be opened from the edit menu, or using Ctrl+M, Ctrl+F and Ctrl+U for variables, functions and units respectively.

Figure 3.7. Variable Manager

To the left is a category tree and beside that is a list of all objects in the selected category, including all subcategories. Objects without a category are put under “Uncategorized”. Objects created by the user can also be found under the category “User variables”, “User functions”, and “User units”, shown at the top of the list. Deactivated objects are only found in the “Inactive” top category. Below the categories and objects lists, a description of the selected object is shown.

The buttons on the right work on the selected object in the list. New opens a dialog for creation of a new object, while Edit opens the same dialog to edit the selected unit. Delete removes the object and (De)activate toggles recognition in expressions on/off. Insert in the variables and units windows adds the object to the current expression, while Calculate in the functions window opens a dialog for entering arguments and provides options for insertion of the function or direct calculation. The unit manager provide an additional button for conversion of the current result, the variable manager a button for export to a data file, and the function manager a button for applying functions with a single argument directly to the current expression.

Figure 3.8. Function Manager

The function manager has a description box at the bottom, which shows the syntax, description and arguments of the selected function.

Figure 3.9. Unit Manager

The unit manager has an area for quick conversion between units. This converts between the selected unit in the list and the selected unit in the menu. Both the menu and the list filters the units as you type. Units are converted by specification of a quantity, in the entry next to the unit to convert from, followed by Enter.

For more information about variables, functions and units, see Chapter 7, Variables, Chapter 8, Functions and Chapter 9, Units.

## Convert Number Bases Dialog

The number bases dialog, accessible from the File Menu, is an efficient and convenient tool for conversion between binary, octal, decimal, duodecimal, hexadecimal and Roman numbers. This dialog contains entries for each number base. When a number is typed in any of the entries, the others are automatically updated to display the current number in their format. Numbers, or expressions, entered follow the same rules as expressions in the main expression entry.

Figure 3.10. Convert Number Bases Dialog

Prev |  | Next
Chapter 2. Differences in the “new” Qt user interface | Home | Chapter 4. Expressions