# IT - Integrated Toolkit™

Using the Program Editor |

The *IT - Integrated Toolkit provides an easy-to-use graphical program editor for PxPlus program development and maintenance. It can be used on the various Windows operating systems, as well as non-graphical systems (such as UNIX or Linux) using WindX.

In addition, the Web-based Ed+ program editor is easily accessible and provides much of the same functionality as the *IT - Integrated Toolkit.

The *IT program editor supports programs written with or without line numbers and offers several display-oriented options. Tools for adding and removing line numbers are also available. The editor is menu-driven with a tool bar and hot key access to the more common functions, as well as a program bar to move easily among open programs. Programs can be loaded and saved as program or text files.

Opening Non-Program Files

If the editor is asked to open a non-program file, it will try to open the appropriate PxPlus program if the file is one of the following types:

File Type | Program
A PxPlus data file | Opens the File Update Utility
A PxPlus report file (.pvr) | Opens the Report Designer
An HTML file (.htm,.html) | Opens the HTML Editor

If the non-program file is not one of these types, a message will indicate that the file type is invalid and ask if you want the operating system to try opening the file.

(The opening of non-program files based on file type was added in PxPlus 2023.)

## Function/Edit Keys

The *IT program editor can be controlled with either the mouse or the keyboard. The Function/Edit keys that are used within the editor are listed below, categorized according to functionality in the same order as the Function/Edit Keys window accessed from the Help > Edit keys menu.

#### Note:
In describing the functionality of the Function/Edit keys listed in the tables below:
- The term line is used to refer to one line (or row) in the *IT program listing, regardless of whether the Edited list option (Options menu) has been enabled.
- The term statement refers to the entire statement of code, which may consist of compound statements and/or take more than one line to display.

Navigation Keys | Description
RIGHT ARROW | Move one character to the right
LEFT ARROW | Move one character to the left
UP ARROW | Move up one line
DOWN ARROW | Move down one line
TAB | Move one tab stop to the right
SHIFT - TAB | Move one tab stop to the left
HOME | Move to the beginning of the line
HOME - HOME | Move to the beginning of the text
END | Move to the end of the line
Ctrl - HOME | Move to the beginning of the file
Ctrl - END | Move to the end of the file

#### Note:
RIGHT/LEFT/UP/DOWN ARROWS, PAGE UP/DOWN, END and HOME can also be used in conjunction with the SHIFT key to select text.

Editing Keys | Description
INSERT | Toggle between Insert/Overwrite mode
DELETE | Delete character at current position
BACKSPACE | Delete character to the left
Ctrl - DELETE | Delete to the end of the line
Ctrl - BACKSPACE | Delete to the start of the line
Ctrl - A | Select All
Ctrl - C | Copy
Ctrl - D | Duplicate current line
Ctrl - E | Delete statement
Ctrl - V | Paste text
Ctrl - W | Delete to the end of the statement
Ctrl - X | Cut selected text
Ctrl - Y | Redo last undo
Ctrl - Z | Undo last edit

Find/Replace Keys | Description
Ctrl - F | Find
F3 | Find again (next occurrence)
Ctrl - G | Go to statement number/label
Ctrl - R | Find and Replace text
Ctrl - DOWN ARROW | Find next statement
Ctrl - UP ARROW | Find prior statement
Ctrl - PAGE DOWN | Find next label/remark
Ctrl - PAGE UP | Find prior label/remark
Ctrl - RIGHT ARROW | Find next word
Ctrl - LEFT ARROW | Find prior word

Miscellaneous Keys | Description
Ctrl - F6 | Switch to next window
Ctrl - SHIFT - F6 | Switch to prior window
Ctrl - SHIFT - TAB | Switch to prior window
Ctrl - TAB | Switch to last window shown
Ctrl - N | New File
Ctrl - O | Open File
Ctrl - P | Print File
Ctrl - S | Save File
F1 | Online help
F2 | Insert Synopsis item name
F7 | Debug current program

Debug Keys | Description
F5 | Run
Ctrl - F5 | Pause
Shift - F5 | Halt/Terminate
F11 | Single Step
Shift - F11 | Multi Step
F10 | Step Over
Shift - F10 | Step Out
Ctrl - B | Insert Breakpoint
Ctrl - U | Erase Breakpoint
#### Note: These function keys refer to Debug functions and therefore will work only when the debugger control panel is open.

## Menu Options

These options are described in the order in which they appear on the menu bar: File, Edit, Options, Tools, View, Debug, Run, Windows, Version Control, Project and Help.

Several of the menu options are also available via the Tool Bar.

File | Description
New | Sets up an empty "Noname" program file.
Open | Loads an existing program or text file. You can choose a previously opened file by selecting it from the history list at the bottom of the File menu. The history list keeps track of the last nine files opened. The opening of non-program files, based on the file type, is also supported. See Opening Non-Program Files.
Find File | Locates a data or program file using current search rules. (Current file/program search rules are displayed for reference.) If the search is unable to locate the exact file name requested but does locate an object file with the same file name ending with .pvc, you are asked if you want to load the .pvc file. If the search is unable to locate the file name requested either with or without the .pvc extension, a message indicates that the file could not be located. The opening of non-program files, based on the file type, is also supported. See Opening Non-Program Files. (The search functionality to include files ending with .pvc was added to PxPlus 2017 Update 0002.)
Close | Closes the current program file. If you have made changes to the program without saving them, you will be asked if you want to save them.
Make library | Creates a new Program, NOMADS or Text Macros library.
Save | Saves the current program file in its original format (i.e. program or text). If the file has no name, the "Save as" logic is automatically invoked.
Save Version | Allows you to assign a version number to the current program file, along with a comment.
Save as | Allows you to name and save the current program file. A separate window displays for indicating whether the program is to be saved in program or text format. (When saving in text format, you can specify that the program is to be saved in edited list format by selecting the Format text files when saving option from the Options menu.)
Save all | Saves all the open programs. Any unnamed programs will invoke the "Save as" logic.
Properties | Displays the pathname and historical information about the current program file.
Print | Prints the current program. Print options are:
Attributes |
Edited list | Prints a formatted listing with indentations.
Suppress headings | Suppresses headings and form feeds.
Use colour | Prints the listing in colour.
Range | Prints a range of line numbers. If From is blank, the default is the beginning of the program. If To is blank, the default is the end of the program. The default is to print the entire program if both are blank.
Font Size | Prints the listings with Small, Regular or Large font size.
Print Setup | Sets up the printer options, paper size and orientation (Portrait or Landscape).
Exit | Closes the editor. If you have made changes to a program without saving them, you will be asked if you want to save them.

Edit | Description
Undo | Reverses a change.
Redo | Reverses the previous Undo operation.
Cut | Selects and removes a segment of code to the Clipboard. You can cut a segment of code from a single line of code or a block of entire lines. When the selection includes more than one line of code, the lines are selected in their entirety. To select a single line in its entirety, begin selection at the leftmost column of that line. There is a 32K limit on the amount of text that can be cut at one time.
Copy | Selects and copies a segment of code to the Clipboard. You can copy a segment of code from a single line of code or a block of entire lines. When the selection includes more than one line of code, the lines are selected in their entirety. To select a single line in its entirety, begin selection at the leftmost column of that line. There is a 32K limit on the amount of text that can be copied at one time.
Paste | Pastes code from the Clipboard into the current program. Partial lines are inserted at the cursor location. To insert a block of lines, place the cursor at the beginning of the line in front of which you wish to paste. Line numbers will be removed from/added to the clipped code to match the program that is receiving the pasted code. If renumbering is required to accommodate the pasted code, you will be advised of this and given the option to proceed or abort (unless the Auto Renumber option has been selected). #### Note: If special renumbering comments (e.g. 100 ! ^100) are included in the pasted lines, the renumbering comments will be overridden (i.e. changed to 100 ! ! ^100) in the paste process.
Delete | Selects and removes a segment of code.
Select All | Selects the entire program.
Find | Invokes the logic to find a text value in the program. Enter the text you want to search for and select the Match case option if the search is to be case sensitive. Select the Find Next or Find Prior button to search for the text.
Find Next | Finds the next occurrence of the specified Find value.
Find Previous | Finds the previous occurrence of the specified Find value.
Replace | Invokes the logic to find and replace the specified text value. Enter the text to be replaced and the replacement text value. Available options include finding the next and previous occurrences of the text to be replaced, as well as options for replacing a specific occurrence of that text or replacing all occurrences of that text. A Match case option is also available if the search is case sensitive.
Goto | Goes to a specified line of code in the program. Enter a statement number or line label into the Statement field of the Go to window. When the Show Labels/Functions option is selected, you can use the Statement drop box to select from the labels listed in alphabetical order. When the Show Remarks option is selected, the drop box shows a list of remark lines, excluding any lines containing only ! (exclamation mark). (Support to exclude lines containing only ! was added in PxPlus 2017 Update 0002.)
Next Error | Goes to the next line that has a coding error.
Previous Error | Goes to the previous line that has a coding error.

Options | Description
Edited list | Displays the program in a formatted manner with indentation. Code may be entered with or without formatting but will be redisplayed with the formatting. If you are entering formatted code, lines which are to be continued must end with a semi-colon (;) or backslash (\). Example: 00140 IF LANG$="" \ THEN LET LANG$=LCS(ENV("LANG")); IF LANG$="" \ THEN LET LANG$="en"
List from top after Goto | Select this option when you want the Goto function (Edit menu) to display the specified "go to" statement number or line label as the starting line at the top of the program display. If you subsequently resize the *IT - Integrated Toolkit dialogue while the "go to" line is at the top of the display, the position of the "go to" line will not change and will remain at the top.
Default to INSERT mode | Select this option to set Insert mode, rather than Overwrite mode, as the default when the *IT program editor is launched. (By default, this option is not selected.) When selected, the bottom message bar changes from OVR to INS. If the Save settings option (on the Options menu) is also checked, the INS mode will persist the next time *IT is launched. (The Default to INSERT mode option was added in PxPlus 2020.)
Disallow line number references | Selecting this option sets the 'NN' system parameter to On, which does not allow statements to reference line numbers. New lines of code that reference line numbers are flagged with Error 85: Program does not support line numbers.
Auto bracket | Select this option if you want the editor to automatically generate closing quotes and brackets when the corresponding opening quotes/brackets are entered in Insert mode. Enter ", (, [ or { and the editor will generate ", ), ] or }.
Auto renumber | By default, any time that renumbering is required to insert new code, the editor will prompt you to allow or abort the renumber. Select this option to bypass the prompt and automatically allow the editor to renumber the code. #### Note: Whenever code is renumbered, it is renumbered from the point in the program where the renumbering is required to the end; the entire program is not renumbered.)
Use lower case directives | Displays the code with lowercase directives.
Use lower case variables | Displays the code with lowercase variables.
Use mixed case variables | Displays the code with mixed case variables. #### Note: This option is only available if the 'MC' parameter is turned On.
Suppress LET directive | Displays the code without LET directives.
Suppress function help | Hides the "function" help window so that it does not pop up when you are entering a function on a new line.
Colour | Sets the foreground/background colours, tips colour, as well as the syntax colour scheme (i.e. Search Results, Variables, Literals, Remarks, etc.). Select the Colored syntax check box to display listings in colour. If not selected, the listings will be displayed with no colour, except for lines with errors, which are displayed in red. To change the colours, click on the button for the element you want to change to cycle through the colours available for that element. A sample preview of each selected colour displays next to the button. For example, clicking the Foreground button repeatedly changes the text in the sample preview to a different colour each time until you have cycled through the colour range and are returned to the original colour. To restore the original default colours, select the Reset button. To save and apply the colour selections, click OK. Click Cancel to close the window without saving changes.
Font | Sets the fixed font type and/or size. Choosing this option displays the Font Selection dialogue for either selecting a different size of the same font currently used or selecting a completely different fixed font and size. This is useful when the preference is to display a font that is just easier to read or that clearly differentiates between the number 0 (zero) and the letter O.
Fixed Fonts | A different font and/or font size can be selected from the drop boxes.
Sample Text | Provides a preview of sample text with the new font selections applied.
OK | If Save Settings on the Options menu has been selected (as indicated by the check mark), clicking OK will save the font selections to the pvxedit.ini file for future *IT sessions. If the Save Settings option has not been selected, clicking OK will apply the font selections to the current *IT session only so that when the current *IT session is closed and a new session is started, the new font selections will no longer be applicable.
Use Ctrl-CR to break lines | Breaks a line using <Ctrl+Enter> keystrokes. A simple <Enter> places the cursor at the beginning of the next line. If this option is not selected, the default is to break a line with a simple <Enter>.
Format text files when saving | Saves a text file with edited list format. The default is to save a text file with no format.
Auto-update Version on OPEN | Automatically updates the program when it is opened (if you are connected to the PxPlus Version Control System).
Save settings | Saves your current Options settings for the next editor session. These settings are saved to the appropriate project-related files. By default, this option is On (as indicated by a check mark). (The ability to save settings by project was added in PxPlus 2023.)

Tools | Description
Add line numbers | Adds line numbers to a program that does not currently have line numbers. If the program contains numbering comments (e.g. ! ^100), the program will be renumbered to reflect these comments.
Strip line numbers | Strips line numbers from a program that currently has line numbers. All line number references will be replaced with statement labels or *same or *next logical statement labels where applicable. You are prompted for a label prefix that will be used for the base label name for any labels that must be generated.
Renumber | Renumbers the program. The default is to renumber the whole program starting with line number 10. You can indicate different increments and ranges of lines to be renumbered.
Change line number | Changes the line number of the current line of code. If the new line number is already used, you are asked if you want to overwrite the old line. If the new line number is out of sequence, the line will be moved to put it in proper order. #### Note: Any references to the original line number are not resolved to the new one. (Maximum line number is 64900.)
Duplicate line | Creates a duplicate of the selected line.
Compare programs | Invokes the Program Compare Utility window that is used to compare different versions of a program to detect any differences.

View | Description
Normal | Removes the region to the left of the program edit/display region to provide more space for displaying and editing the current program.
Program Synopsis | Displays a list to the left of the program edit/display region that includes Statement Labels and Variables for easier navigation and manipulation of the current program.
Projects | Displays a list of projects to the left of the program edit/display region.
Program library | Opens the Program Library window that lists the program libraries for viewing and accessing. Click the Query button to locate a program library to open.
NOMADS Object library | Opens the NOMADS Object Library window that lists the contents (i.e. panel layouts, queries, etc.) for the last referenced Library. To specify a different Library Path, click the Query button or use the drop box to select a previously specified path. The drop box lists the last nine NOMADS libraries that were accessed. To edit an object in the NOMADS Object List, you can either double click on the object to launch the NOMADS editor, or right click on the object and select Open/Edit panel from the popup menu.
Text macro library | Opens the Text Macro Library window. Click the Query button to locate a Text Library (*.txtlib) to open or select a previously specified Text Library from the drop box.

Debug | Description
Debug current program | Initiates the debugging process for the current application program.
New process | Launches a new debugging process and presents the option of specifying a program command line and the Start-in Directory.
Connect to process | Connects to an existing PxPlus process on the system that shares the same ICON/INI file.
Disconnect from process | Disconnects from an existing PxPlus process (if previously connected using the Connect to process option).
Terminate process | Ends any process in the system. (On UNIX, this is restricted to 'root' or the same User ID.) You will be prompted to confirm the termination of the selected process.
Run | Executes the application code in real time.
Pause | Pauses execution of the application code.
Halt | Stops execution of the application code.
Single Step | Allows the application to step through the next instruction.
Multi Step | Allows the application to continuously step through the code until another debug option is selected.
Step Over | Executes the next directive and if a GOSUB, CALL or other such directive, stops only once the directive completes.
Step out | Resumes execution of the process until the current GOSUB, CALL or other stacked logic is completed.
Insert Breakpoint | Adds a stopping point where you want the debugging process to halt automatically.
Erase Breakpoint | Deletes a breakpoint.

Run | Description
PxPlus | Opens the PxPlus command window.
PxPlus Program | Runs the current program.
Program Setup | Displays the Program Launch Setup window for entering the Lead Program, Argument List and System Parameters.
Panel | Invokes the panel specified using the Panel Setup option. If no panel was specified, the Panel Launch Setup window is invoked for specifying a Library and Panel.
Panel Setup | Displays the Panel Launch Setup window for specifying a Library and Panel.
Nomads | Launches the NOMADS Session Manager.
Utilities | Invokes the System Utilities window.
HTML Editor | Invokes the HTML Editor window. (The HTML Editor menu option was added in PxPlus 2023.)
Report Designer | Invokes the Report Designer window. (The Report Designer menu option was added in PxPlus 2023.)
Run | Allows you to select a program to run.

Windows | Description
| You can make a different program current by selecting it from the list of open program files.

Version Control | Description
TortoiseSVN Setup | Sets up TortoiseSVN. See PxPlus Version Control System Using TortoiseSVN.
TortoiseSVN Commit | Invokes the TortoiseSVN Commit procedure to commit the modified files in the current directory to the repository. Selections are Current program, All open programs, Program or File, and Directory. See Committing Changes.
TortoiseSVN Update | Invokes the TortoiseSVN Update procedure to update files in the current directory. Selections are Program or File and Directory. See Updating Your Files.

Project | Description
Create New Project | Launches the Create Project dialogue for entering a new project for the current working directory. Click the Query button to select a different working directory.
Add to Project | Launches the Add to Project dialogue for adding the current task to an existing project selected from the Project drop box. To manage all the tasks within a project, see Project Maintenance. For information on adding tasks to a project from other locations, see Adding Tasks to Projects from Other Locations.

Help | Description
Using Integrated Toolkit | Displays the PxPlus Help for *IT - Integrated Toolkit.
Edit keys | Displays a list of standard function and editing keys used by the editor. See Function/Edit Keys.
About | Displays information about the current *IT - Integrated Toolkit.

## Tool Bar Options

The tool bar options are listed below. The tool bar provides convenient access to many of the functions that are also available as Menu Options.

Tool Bar Option | Description
New Program | Sets up an empty "Noname" program file.
Load Program | Opens an existing program or text file. The opening of non-program files, based on the file type, is also supported. See Opening Non-Program Files.
Save Program | Saves the current program file in its original format (i.e. program or text). If the file has no name, the "Save as" logic is automatically invoked.
Undo | Reverses a change.
Redo | Reverses the previous Undo operation.
Print Program | Prints the current program.
Cut text | Cut text to the Clipboard.
Copy text | Copy text to the Clipboard.
Paste text | Paste text from the Clipboard.
Find previous | Finds the previous occurrence of the specified Find value.
Find text | Invokes the logic to find a text value in the program.
Find next | Finds the next occurrence of the specified Find value.
Goto | Goes to a specified line of code in the program. Enter a statement number or line label into the Statement field of the Go to window.
Toggle to previous GoTo | Switches between the last Goto value and the Goto value specified just before that.
Next Error | Goes to the next line that has a coding error.
Prior Error | Goes to the previous line that has a coding error.
Launch PxPlus | Opens the PxPlus command window.
Launch a PxPlus program | Launches the currently selected PxPlus program.
Process a panel | Displays the Panel Launch Setup window for entering the Library and Panel to be processed.
Launch Nomads | Opens the NOMADS Session Manager.
Launch Utilities | Launches the System Utilities window.
Run other programs | Displays another window for entering or selecting the program to be run.
Debug current program | Open the PxPlus Command window.
Commit current program to TortoiseSVN | Commits the current program to the TortoiseSVN repository. See Committing Changes.
Commit all open programs to TortoiseSVN | Commits all open programs to the TortoiseSVN repository. See Committing Changes.

## Simultaneous Editing

A single user may have the same file opened multiple times in one edit session. The Graphical Editor keeps track of the last version saved, and displays a warning message if a previous version is being saved over the latest version.

If a user attempts to open a file currently being edited by another user, a warning message is presented. If the second user continues and opens the file, neither user can save the file until one relinquishes control by closing the file.

## Passwords

When loading a password-protected program, a Password Required dialogue is presented for entering the password. If the password is correct, the program is loaded, and the password is used to set the current common password (i.e. PASSWORD *,"password"). This allows subsequent programs sharing the same password to be loaded without having to re-enter the password. You can also set a common password prior to invoking the editor.