## Welcome to the Help Documentation

This is the user guide for nscalc, the following sections will quide you through the various components of the application

for a more indepth guide to things like installation and contributing see the README.md from the github page

#### Jump to a Section ↓

- User Interface and Design
- Inputs Methods
- Other Dialogs
- Advanced Usage
- Extending nscalc

### The UI

One of the goals of nscalc if for a simple, and practicle user inter (UI) one of the few ui elements that may need explaining is the View -> Loaded Functions menu. what it does it it programatically displays the functions, and constants (like tan, and sin, or pi, and e).

#### special buttons

there are several button, particularly at the bottom of the calculator. the buttons are labeled by », «, and ←

←is used for deleting the right-most character from the current equation.

The «, and » are for loading the previous inputs to the calculator. for instance if you were to mistype a command, and it returns and error, you can use the « to bring it back and fix it, or if you go too far back, you can come back forward with »

#### The File Menu

Under the File menu, there are currently three actions, or options to click the actions are Help, Exit, and Update, and they will be covered by the following paragraphs

##### Help

This action opens this document in a new browser tab, and is pretty self explanatory.

##### Exit

Again, pretty self explanatory, this action exits the program peacefully

##### Update

This action opens a dialog, or popup that displays text saying that it is attempting to update, and a loading gif. When it is done downloading the update, it will exit peacefully, leaving the calculator open. To see the effect of the update, just restart the calculator

### Input Methods

nscalc has two distinct methods for entering equations into the calculator. The first is clicking the buttons in the UI (the graphics) The second method is to type characters using the keyboard. I have worked to make these input methods work seemlessly together

### Other Dialogs

If you have gotten to this point, you probably have found the File -> Help menu. If you did not know already, that opened up this dialog or secondary window. there are others though, and they have some unique functionalities that will be documented in this section of the documentation.

#### View -> Loaded Functions

This menu option opens up a dialog with only one feature, a list of functions. these functions can be used to perform specific mathematic operations and if you click on them, it will copy the function into your current equation.

### Advanced Usage

This section of the article explains advanced topics such as large numbers, and ratios that are listed below.

- very large numbers
- ratios

Large Numbers

This section covers unreasonably large numbers, for example, the mass of the earth 5.9722×10²⁴ kg. This number would not fit into a normal python Integer so there are ways around that. nscalc uses E notation for such numbers, which you can learn about here. The function for this is in nscalc is called `enotation`, and it takes a number inside of quotes like this -> enotation('5.9722e24')

Ratios

*-* Not Yet Implemented

### Extending nscalc

* waring * for advanced users only, use at your own risk. this will also require a previous knowledge of the python programming language, but is otherwise intended to be straight-forward enough for one to learn just enough of the language and still be able to write extensions.

If you do not know python and would like to learn, visit the official webiste at their website

#### Creating a new extension

All extensions in nscalc are stored in the extensions folder inside of the nscalc source code. If you cannot find it, then post a problem on the github, and i will add a way to help you

Now that you are in the extensions folder, create a new python file inside of it. the name of this file will be the name of your extension

#### Add code to your extension

in the extensions folder, there will be 2 files before you even get there, they are `__init__.py` (do not touch this one), and examples.py. in your favorite text editor/ide, open example.py, and the python file that you created.

If you look inside the examples file, it is pretty simple, as I tried to make extending nscalc simple, and all you have to do is define a function as you would normally * note * try to make sure that the function name you are using does not already exist, as it can override other functions, or be overriden by pre-existing functions.

#### Using your extension

Now you can restart nscalc, and under the View -> Loaded Functions dialog find your extension. If it is not there, or something has gone wrong, please try re-reading, and troubleshooting, and afterwards wether you find an answer or not post a problem, and/or a solution under the github page.