[FR] [IT]
  [INFO] [ACQUIRE] [MAP] [RESOURCES]

Compiler


NEW FEATURES OF FutureBASIC 4

This document outlines the new features in FB4.

It's a Whole New FutureBASIC!!!
FutureBASIC 4 has been completely rewritten from the ground up and is now a fully native Mac OS X Development Environment. This new version of FutureBASIC includes all the great features of the previous version plus new features which will enhance your programming productivity and enjoyment. Add to that the stability and performance characteristics of a Mac OS X application, and you have a bullet proof, highly effective, and fun to use Macintosh application programming and development environment.

Putting on a new face
FutureBASIC 4 maintains the same functionality of earlier versions, but now implements the Aqua look and feel (when running under Mac OS X) and adds a number of new features to the mix. Hang in there with us while we describe what's been added and changed, and you'll be well on your way to using FutureBASIC 4 to its maximum capacity.


Press release:
Paris, 08/01/2004

[return to top]

System Requirements
FutureBASIC 4 runs natively under Mac OS X and Mac OS 9. It can do so because it was rewritten as a Carbon application. Carbon applications have the ability to run natively under both these operating systems provided certain conditions are met. Your Macintosh will need to meet the following minimum requirements to run FutureBASIC 4.

Mac OS X 10.1
PowerPC G3 processor or greater
minimum 128 MB of RAM
30 MB disk space.

Mac OS 9.1
PowerPC processor
minimum 24 MB of RAM
30 MB disk space.
CarbonLib 1.6 required


[return to top]

Editor

Menus

Menus have been cleaned up and reorganized to provide a more logical layout. New menu commands have been added to access new functionality.
File Menu
The File menu has added two new items and deleted one old one.
  • Open Recent -- a hierarchical submenu lists projects and files previously opened in FutureBASIC. The number of projects and files shown can be set in Preferences.

  • Restore Environment -- restores the previously opened project and source code files with the previous window locations present when FutureBASIC was last quit.

  • Jump to... -- this item has been removed.

  • Quit -- when running under Mac OS X, the Quit menu is located under the Application menu. It remains available from the File menu when running under Mac OS 9.

    Edit Menu
    The following changes have been made to the Edit menu.
  • Delete -- replaces Clear but provides the same functionality.

  • Find Definition -- in addition to finding function definitions, this command also locates constant assignment statements and record definitions, and is much faster and more accurate than in earlier versions.

  • History -- provides a history of functions found with the Find Definition or Find Selection commands, the FutureBASICs Find/Change dialog, the command-clicking of a function, or by any other method which navigates to a function. Even clicking within a function will add it to the History menu. Use the History menu to quickly navigate to functions you've recently visited. This is a great time saving feature. History replaces the Previous Location and Next Location commands found in earlier versions of FB.

  • Remark -- replaces the Block Remark command but provides the same functionality.

  • Preferences -- when running under Mac OS X, the Preferences menu item is found under the Application menu. It remains in the Edit menu under Mac OS 9.

    Command Menu
    The Command menu has been reconfigured as follows:
  • Check Syntax -- replaces Trial Compile. Checks for errors that would prevent your code from being compiled and reports on errors found. When a project is open, "Syntax" is replaced with "YourProject.proj".

    The following menu items have been moved from the Command menu to the Tools menu:
  • Compile Info
  • File Header Info
  • Use Debugger
  • Use Profiler
  • Use Neither
    Project Menu
    The following changes were made to the Project menu.
    New Projects and Other Projects menu items have been combined into New Project.
  • Add This Window to Project replaces Add Window.

  • Add File to Project replaces Add File...

  • The New Project menu only list project types whose templates are available in FutureBASIC 4's Project Templates folder. Older project types (e.g. BASIC 88, Game Engine, Tech) are still available for use and are contained in the Other Projects folder inside the Project Templates folder.

    Tools Menu
    The Tools menu is a new menu providing access to FutureBASICs programming tools. The following commands are available from the Tools menu:

  • Toolbar/Show Toolbar/Hide Toolbar -- Shows or hides the Toolbar of the currently active Editor window.

  • Compile Info -- Displays compilation Info from the latest run of the FB Compiler.


  • File Header Info -- pastes your current FutureBASIC environment settings into the top of the active Editor window. When added, this information is read by the FB Compiler at compile time and used for the proper runtime settings for your program. File Header Info applies to single files only and is overridden by Project settings if the file is ever added to a project.


  • Use Debugger -- this items activates the Debugger on subsequent runs.

  • Use Profiler -- this option will profile your code on subsequent runs and provide you with a report when the run is completed.

  • Use Neither -- turns off Use Debugger or Use Profiler when selected and returns you to normal runs.

  • Scripts -- lists the current FB Scripts (contained in the Scripts folder of the FB Extensions folder) in a hierarchical menu. Selecting a script from the menu runs that script. See the Script section below for more information on creating and using Scripts.

    Window Menu
    The Windows Menu has been changed as follows:

    These item have been added to the Windows Menu:
  • Minimize -- In Mac OS X this item minimizes your current window by sending it to the dock. In Mac OS 9 this item is titled Collapse and provides window shade functionality to the current window.

  • Zoom -- toggles the current editing window between its current size and full screen.

  • Bring All to Front -- In Mac OS X, this command brings all FutureBASICS windows to the front. In Mac OS 9, the title is changed to Arrange, and arranges open windows in tile format.

    These items have been removed:
  • Tile
  • Stack
  • Exchange With Next
  • Send To Back
  • A listing of installed Plug Ins
    Help Menu
    The Help Menu provides new reference, search, and lookup features. See the FutureBASIC Help section of this guide for more information about the new help features.

    Editor Window

    Toolbar
    The Toolbar has changed as follows:
  • FN Button -- The FN (Function) button now includes Bookmarks (in bold) when functions are listed in unsorted mode.

  • Remarks Slider -- The Remarks Slider is invisible until the REM button is clicked. When clicked, the slider will show itself and allow the remarks indentation to be set. Releasing the mouse after moving the slider or clicking on the slider will hide the slider from view.
    The Editor window also includes a Toolbar button in Mac OS X which toggles the windows toolbar from visible to invisible. To toggle the toolbar in Mac OS 9, use the Hide Toolbar item in the Tools menu.
    Navigation
    The command-left arrow and command-right arrow key combinations no longer move the cursor to the ends of code lines due to changes to the Menu Manager.
    Source Code Graphics
    Graphics contained within the Editor window is not supported in FutureBASIC 4.

    Finding and Replacing Text

    The Find/Change Dialog in FutureBASIC 4 provides the following changes and functionality.

    The Find/Change dialog knows if you are working in a Project or single file only and presents the appropriate options.
  • File -- performing finds with the File option selected provides for searching the entire file, within the current function, or within the selected source (e.g. the current selection in the Editor).

  • Project -- performing finds with the Project option selected provides for searching of the entire project. The current project is identified in the dialog.

  • Other Places -- performing finds with the Other Places option selected provides for searching in the Header Files, All Files, Open Windows, User Libraries, and PG Libraries.

    In performing a find, when the searched for text is found, the Find button changes to Find Again allowing you to continue searching. Find Again can also be selected from the Edit menu.

    Error Window

    The Error Window functions in a similar manner as the previous version. In addition, the new window now provides a summary count of errors and warnings encountered during the last compile.

    Preferences

    FutureBASIC preferences have been rearranged to match the components of the IDE. Changes to preferences is described below.
    General Preferences
    The General Preferences pane presents options for setting general FutureBASIC environment settings.
    Font Preferences
    The Font Preferences pane works similarly to the previous version and provides the user with options for setting font, size, style, and text and background color in the Editor window. The Clone Font Styles button will set text attributes of all text types (e.g. Source Code, Keywords, Toolboxes, etc.) equal to those of the selected type.
    Editor Preferences
    The Editor Preferences pane provides options pertaining to the Editor window and toolbar buttons. The majority of theses options are unchanged from earlier versions of FutureBASIC.
    Compiler Preferences
    The Compiler Preferences pane options for the Compiler are generally unchanged form previous versions. The previous option to set the Default Application Name has been removed because the FB Compiler does this automatically.
    Debugger Preferences
    The Debugger Preferences pane provides options for the Debugger. These, again, are largely unchanged from the previous version of FutureBASIC. The option titles have been modified to be clearer, but provide the same functionality.

    The most significant change is found in the Include debugger labels option. The addition of debugging labels is dependent on the operating system used. The two options are:
  • OS 9 Macsbugs labels -- for adding FB information to Macsbug.
  • OS X Traceback labels -- the OS X version of Macsbug labels. With this option checked, you can view OS X crash logs in either the System Profiler or Console following a crash. This can help you identify where in your program the crash occurred.
    Advanced Preferences
    The Advanced Preferences pane provides advanced settings for variables, arrays, and strings.

    Two new FutureBASIC 4 options are provided in the Advanced panel:
  • Rebuild toolbox names table at init -- this option rebuilds the toolbox name table and ensures all newly added Toolbox calls, DEFs, and USR functions are properly recognized by the Editor and given your preferred font settings and colors.

  • Build with line start table -- this option is required by some tools. This option should not be turned on unless instructed otherwise by a tool vendor. Unless required by a tool, this option will do nothing useful, but will make your application much larger.

  • [return to top]

    Project Manager

    The Project Manager functions similar to the previous version. The file location icon, debugger, and folder disclosure triangle all act as they did before. The function popup still displays and navigates to the functions contained in each file as before. Files within a project are still rearranged using drag and drop just as in previous version.

    The FutureBASIC 4 Project Manager window now includes a new, extremely useful Toolbar with the following buttons and functionality.

  • Run -- Compiles the current project and launches a temporary application. The Compiler Info window provides a running status of the compile. If any compilation errors are encountered, the Errors Window will open detailing all errors and warnings.

  • Check -- Checks the current file or project for compile time errors and provides a status of the compile and count of errors and warnings.

  • Build -- Builds your application and places it in the directory of your project or source file. The application is not automatically launched.

  • Debug -- Invokes the FutureBASIC Debugger for debugging your code. After execution, the Project Manager will now have all your source code files marked with the Debug icon.

  • Profile -- Invokes the Profiler for the subsequent run. After quitting the Temp Application, the Profile Window opens and displays statistics about your applications functions.
  • Preferences -- Opens the FutureBASIC Preferences.

  • Get File Info -- Displays the File Info window detailing Finder information about the currently active file.

    The Project Manager also provides context sensitive menus to manipulate groups and locate files. Place the cursor over a folder or file in the Project Manager, hold down the Control key, and press the mouse button to access these menus.

  • [return to top]

    Compiler
    The Compiler is principally unchanged from the previous version and functions in a similar manner. However, in addition to providing the ability to compile Mac OS X native applications, the new Compiler itself is a Mac OS X native application.


    [return to top]

    Debugger
    The Debugger also functions unchanged from previous versions. The Debugger now sports an Aqua interface when running under Mac OS X.


    [return to top]

    Scripts
    Scripts have been completely redone. The new scripting functionality provides many methods to implement FutureBASIC functionality, from automatically executing FutureBASIC menus to pasting prewritten code segments into the Editor window.

    In previous versions, scripts were resources. Scripts are now simple text files written in XML. The XML contains tags understandable by FutureBASIC 4.

    For example, a script to paste your programs Main section handleevents and function vectors code (used in almost all FutureBASIC applications) is shown below. The script is titled Main Loop.xml and contains code typically used in this section of your code.

    In this script, text contained between the <print> and </print> tags gets pasted into the active Editor window. Add this script to the FB Extensions: Scripts folder and this script becomes available for use. Select Main Loop in the Scripts submenu and the code below gets pasted into your window saving you tons of typing and time.


    Scripts require a specific syntax and are built with headers, remarks, menu commands, and print commands. These elements have the following syntax:

    ItemExample
    Header:<?xml version="1.0" encoding="ASCII" standalone="yes"?>
    Remark:<!-- Description of what your script does -->
    Menu:<menu>Menu + Menu Item</menu>
    Print:<print>Text to be added to the Editor</print>

    Script actions take the form of menu execution or pasting of text into the Editor window. Two examples illustrate how these two scripts types are built.

    Menu Script (to execute the File Open Menu command):

    <?xml version="1.0" encoding="ASCII" standalone="yes"?>
    <!-- This simple script executes a menu option -->
    <menu>File+Open</menu>

    Print Script (to add code to an Editor window):

    <?xml version="1.0" encoding="ASCII" standalone="yes"?>
    <!-- This script adds a main section to your app -->
    <print>

    '~ Main

    on dialog fn doDialogEvent
    on menu fn doMenuEvent
    on mouse fn doMouseEvent

    do
    handleevents
    until gProgramEnds

    </print>

    [return to top]

    Plug Ins
    Plug ins are not currently implemented in FutureBASIC 4.


    [return to top]

    Help

    Online Reference

    Reference is built within and integrated into FutureBASIC. Reference provides the complete FutureBASIC Reference Manual at your fingertips. It allows for quick look up of keywords and keeps track of your progress through the material.

    You can display Reference by choosing Reference from the Help menu. To quickly find information about a FutureBASIC keyword, highlight it in the Editor and choose Look Up Selection in Reference from the Help menu. Reference will launch and take you to the pages describing the term. From there you can navigate to other areas using hyperlinks, history menu, forward and backward buttons, or the listing of keywords on the left.

    Online Search

    FutureBASIC 4 allows its users to also search Apples Online documentation for API information and explanations. Simply select a Toolbox call in an Editor window and choose Search Appleęs site from the Help menu. Your web browser will be launched and directed to search Appleęs developer site for the term. If successful, you will be presented with a list of relevant pages and links.

    Online Manuals

    As in the previous edition, FutureBASIC makes its manuals available to you by listing them under the Help menu. As before, just select a manual from the list, and FutureBASIC 4 will open it for you.

    One of the beautiful features of FutureBASIC 4 is its ability to launch any file placed within the Help system. Create your own manual or guide for that new FB Library you just completed and drop it into the FutureBASIC Help folder. Your guide will be listed along with the others and will open when selected from the menu.

    The FutureBASIC 4 manuals supplied with FutureBASIC 4 are all in pdf format and will launch with the default pdf viewer set in your system.

      © 2000 Pix&Mix  
      All Rights Reserved
    INFO  |  ACQUIRE  |  MAP  |  RESOURCES

      FutureBASIC is a registered trademark of Staz Software, Inc and is used with permission.