SIMPOL Documentation

Menus

These menus are located at the top of the application. Any menu when selected displays an options list. Each option performs a specific task.

File Menu

Table 4.8. File Menu Items
Menu ItemDescription
New Creates a new document. A list with the active language extensions is displayed. This list can be changed in the editor/settings menu entry.
Open Opens an existing document.
Close Closes the active document.
New Project Creates a new project.
Open Project Opens a project. If there is a project already active, it is closed before the new one is opened.
Close Project Closes the active project.
Save Project As... Allows user to save the active document with another name in another location.
Save All Saves all the open documents.
Print... Prints the active document.
Print Preview Displays how the active document would look like if it were printed.
Print Setup... Opens the Print dialog box. The print options can be changed there.
Recent Files Displays a list of the last files opened.
Recent Projects Displays a list of the last projects opened.
Exit Quits the application. Prompts to save any modified documents.

Edit Menu

Table 4.9. Edit Menu Items
Menu ItemDescription
Undo Undoes the last action.
Redo Redoes the previously undone action.
Cut Cuts the selection and puts it on the Clipboard.
Copy Copies the selection and puts it on the Clipboard.
Paste Inserts contents of the Clipboard.
Comment This menu option is only available if the active document is a SIMPOL source code document (*sma; or smu). It comments the lines selected in the active document. It prefixes the beginning of each line with a double slash string: "//".
Uncomment This menu option is only available if the active document is a SIMPOL source code document (*sma; or smu). It uncomments the lines selected in the active document. It removes the double slash comment prefix ("//") from the beginning of each line.
Find

Searches for a string in the active document.

The Find dialog box contains the following input boxes:

  1. Match whole word only: If it is checked, the Find what entry will have to match a whole word in the document text to be found.

  2. Match case: If this is checked, the search will be case sensitive.

  3. Regular Expression: If it is checked, the Find what entry will be treated as an standard regular expression.

The direction of the search can be "up" or "down". It can be changed using the appropriate radio buttons.

There is also the button "Mark All". If this is pressed, a bookmark will be added to each line that contains the search string.

Find In Files

Searches for a string in multiple files. This is a very powerful search tool that can find the search string in multiple files and folders.

The Find in Files dialog contains the following input boxes:

  1. Find what: Enter the search text here.

  2. In files/file types: Here you must enter the names of the target files you wish to be searched. The names of the files have to be separated by semicolons. The wildchar "*" can be used. Example: *sma;*smu

  3. In folder: Enter the name of the search folder here.

The Find in Files dialog box also contains the following check boxes:

  1. Match case: If this is checked, the search will be case sensitive.

  2. Regular Expression: If this is checked, the Find what entry will be treated as a standard regular expression.

  3. Look in subfolders: If this is checked, files in the subfolders of the target folder will also be included in the search.

  4. Look in project: If this is checked, the In files/file types and In folder values will be discarded and the search will only take place in the "sma", "smu" and "smz" files that belongs to the project.

Replace... It opens the Replace dialog box. It looks similar to the Find dialog box, but it has another entry to introduce the text that should replace the search text.
Insert Code Block

This is only active if the active document is a SIMPOL server page (smz). It inserts a new empty code block in the document before the line with the caret. A code block is a place to write SIMPOL language in a SIMPOL server page; see Example 4.5, “Code block limits”.


Example 4.5. Code block limits
<%'-------------------------- begin code --------------------------
'--------------------------  end code  --------------------------%>
       

View Menu

Table 4.10. View Menu Items
Menu ItemDescription
Standard Toolbar Shows the standard toolbar.
Edit Toolbar Shows the edit toolbar.
Debug Toolbar Shows the debug toolbar.
Status Bar Shows the status bar. The status bar is a thin bar at the bottom of the application frame. On the left, the bar displays small pieces of information when the mouse cursor is moved over a toolbar button, menu item, etc. On the right it displays the line and column where the caret is located in the active document.
Full Screen Expands the document editor to the whole screen.
Projectspace Adds the "Project Space" control bar to the application frame. Typically, the bar is located at the left of the application frame.
Output Adds the "Output" control bar to the application frame. Typically, the bar is located at the bottom of the application frame.
Call Stack Adds the "Call Stack" control bar to the application frame. Typically, the bar is located at the bottom of the application frame.
Variables Adds the "Variables" control bar to the application frame. Typically, the bar is located at the bottom of the application frame.

Project Menu

Table 4.11. Project Menu Items
Menu ItemDescription
Build Builds the active project. Will only compile files modified since the last build.
Rebuild All Rebuilds the whole active project. This causes all the files of the project to be compiled.
Execute Executes the active project. If any files belonging to the project have been modified since the last build, the project will be rebuilt before being executed. The execution result will be displayed in the output window.
Stop building Stops the current build.
Stop executing Stops the currently executing program.
Refresh documents Reloads all the documents opened in the editor.
Settings Opens the Project Settings dialog box.

Debug Menu

Table 4.12. Debug Menu Items
Menu ItemDescription
Start debugging Starts debugging the SIMPOL project. The debugger is launched and the execution is stopped just before the first line in the "main" function code.
Stop debugging Stops debugging the SIMPOL project.
Continue thread execution Continues the execution of the thread that is the focus of the debugger.
Break thread execution Breaks the execution of the thread that is the focus of the debugger. The debugger displays the source code line for the current instruction.
Show Next Statement Displays the statement that will be executed next.
Step Into Runs the next statement. If the next statement is a function call, and the source code for the called function is available, the debugger will stop just before the execution of the first statement in the called function.
Step Over Runs next statement.
Step Out Runs the program to the end of the current function and steps out to the caller function. Execution will break upon return to the caller.
Run to Cursor Runs the program to the line containing the cursor.
Insert/Remove Breakpoint Inserts or removes a breakpoint at the source code line containing the cursor.
Set Next Statement Changes the execution pointer to another position. The new position is always the beginning of a code line in the function that is being executed.
Thread Manager Opens the Thread Manager dialog box. This option is only available when debugging a program.
Breakpoint Manager Opens the Breakpoint Manager dialog box.
Watch Opens the Watch Window dialog box. This option is only available when debugging a program.
Profile Opens the Profile dialog box. This option is only available when debugging a program.

Document Menu

Table 4.13. Document Menu Items
Menu ItemDescription
Compile File Compiles the active document file if it is a SIMPOL source code file, or a SIMPOL server page file.
Execute File Executes the byte-code file associated with the active document if it is a SIMPOL source code file. The execution will produce an error if the file doesn't have a "main" function.
Command Line...

Opens a dialog box for the user to add parameters. These parameters will be passed to the "main" function when we execute a SIMPOL file using the Execute File option. The parameters are separated by one or more whitespaces. If a parameter contains whitespaces, it should come between a pair of double or single quotes.

Example:

function main prototype: main(string s, string s2)
command line: "hi  bye" 123
          
DOS Newline This means that the lines in the file are separated by "\r\n". It can be changed to Unix or Mac style.
Unix Newline This means that the lines in the file are separated by "\n". It can be changed to DOS or Mac style.
Mac Newline This means that the lines in the file are separated by "\r". It can be changed to DOS or Unix style.
Unicode format This is option is designed to allow the user to change the ASCII/Unicode format of a file. If it is checked it means that the file content is unicode, if it is not checked then the content is ASCII. Unicode files have a byte order mark at the beginning of the file and each character is stored in two bytes. ASCII files do not have a byte order mark, and each character is stored in a single byte.
Trim Trailing White Spaces on Lines Removes all the whitespaces and tabulator characters at the end of each line in the active document.
HTML Viewer Launches the HTML viewer. This option is only available when the active document is an HTML file or a SIMPOL server page.

Window Menu

Table 4.14. Window Menu Items
Menu ItemDescription
New Window This is only available when there is at least one active document. It creates a duplicate copy of the currently opened window.
Cascade This is only available when there is at least one active document. It arranges the windows in the editor frame as overlapping tiles.
Tile This is only available when there is at least one active document. It arranges the windows in the editor frame as non-overlapping tiles.
Arrange Icons This is only available when there is at least one active document. It arranges icons at the bottom of the window.
Close All Closes all open documents.

Tools Menu

Table 4.15. Tool Menu Items
Menu ItemDescription
Project Report

This is only available if there is an active project open. It opens a dialog box where there are five options to generate documentation from the active project. The options are as follows:

Project summary in TEXT format

Creates a text document briefely describing the active project. It contains the project file paths, the project settings and the project functions and types prototypes.

Project summary in HTML format

Same as the first option but in HTML format.

Project description in XML format

Creates a XML document with all the active project information.

Project library information in HTML format

Creates a HTML document describing the functions and types that belong to the active project.

SIMPOL library information in HTML format

Creates a HTML document describing the functions and types that belong to the SIMPOL internal library.

Projects Report

Opens a dialog box to generate documentation for multiple projects. There are two entries in the dialog box. One to enter an input folder. The projects report process will make a report per each project found in this folder or in any subfolders within the input folder. The second entry is the output folder. This is the place where the process will leave all the reports. All the reports are HTML files and an "index.html" file is created with the report list. A report for the SIMPOL internal library is also created. A "logfile.txt" is created with the incidences that happen in the process. Any report contains all the function and type information of each project. The powerful issue is that the process creates a HTML link in every library, function, type, method, property, parameter, tag, etc., so from any report we can go to another report were the description is located. The process also adds the code lines just above a function or type declaration that start with a double slash mark ("//" SIMPOL comment mark).

In the example below, the file "MyFile.sma" contains these two functions:

// This function returns a string
// The string is "Hello"
function f1()
end "Hello"

// This function returns a string
// The string is "Bye"
function f2()
end "Bye"
           

In the documentation generated for the function f1 we will find this piece of text: 'This function returns a string. The string is "Hello" '.

And in the documentation generated for f2 we will find the equivalent piece of text: 'This function returns a string. The string is "Bye" '.

Call Graph This is only available if there is an active project. It opens the Call Analyzer dialog box. The dialog box shows a tree diagram of the calls among functions in the project. In this case the parent function calls the child function. .
Caller Graph This is only available if there is an active project. It opens the Call Analyzer dialog box. The dialog box shows a tree diagram of the calls among functions in the project. In this case the child function calls the parent function. .
Check Project File This is only available if there is no active project. It opens the Check Project File dialog box.
Open file as binary

Opens a dialog box that allows the user to open a file as binary. This means that a document will be created with the data of the file selected. This document contains two lines for each 32 bytes read in the file. The first line shows the value of each byte in hexadecimal format, and the second shows the ASCII translation of each byte. The address of the byte in the file is shown on the left side of the first line, so it is easy to follow the binary representation.

The document created will have a "bin" file extension and the appropiate color coding syntax. This makes it very easy to read the document.

The searching function becomes quite a powerful tool in the binary document. If the "Find" menu option is pressed, a modified Find dialog box opens to search the information in this type of document.

This dialog box has a "Find what" entry to enter the search text. Any text entered will be translated into ASCII, and searched for in the document. There is a "Unicode" checkbox which, when checked, will instruct the application to translate the search text into unicode before searching the document, i.e. it will allow two bytes per character rather than one. In such a case, the rightmost byte is zero. There is also a "Match case" checkbox. If this is checked, the search will only return results where the case exactly matches that of the search text. Users can also use regular expressions to find information in the binary file by checking the "Regular expression" checkbox.

Options Opens the Application Options dialog box.

Help Menu

Table 4.16. Help Menu Items
Menu ItemDescription
About SIMPOL IDE... Displays program information, version number and copyright.
Keyboard Map... Shows the application keyboard map.