AbsoftTools Plugin

July 2016

A plugin is available here which simplifies creation of Winteracter-based applications in the Absoft Tools development environment, as shipped with Absoft Pro Fortran. This has been developed by I.S.S. Ltd., with the kind assistance of Absoft® Corporation.

Versions of the plugin are available for each of Windows, Linux and Mac, supporting both 32-bit and 64-bit applications.

Once the plugin has been deployed, a Winteracter option becomes visible on the Libraries/Tools tab in the AbsoftTools Project Options dialog. Simply enable the appropriate checkbox to configure your project for use with Winteracter.

System Requirements

The following versions of Winteracter and Absoft Pro Fortran are required/recommended, depending on the host platform:

  • Windows : For best integration, Absoft Pro Fortran 16.0.2 is required, but the plugin can be used with earlier versions. The plugin can be used with Absoft-compatible versions of Winteracter 7.10 or later.
  • Linux and Mac : Absoft Pro Fortran 16.0.2 and X/Winteracter 10.10c are the minimum required versions.

Download

Three versions of the plugin are available to download, for each of the supported platforms:

Each plugin is a plain text XML file. The simplest way to download the plugin depends on your web browser. Firefox and Chrome users can simply click on the appropriate link(s) above and you should be prompted to save the file to disk. In Internet Explorer right-click on a link and select "Save Target As...". Similarly, Safari users should select "Download Linked File As..." from the right-click menu.

Deployment

To deploy the plugin, simply copy the downloaded XML file to the Absoft compiler's lib\atools\libraries sub-directory (Windows) or the lib/atools/libraries equivalent on Linux or Mac. Note that this may require adminsitrator or super-user access, depending on where the compiler is installed. For instance, a typical command line on the Mac would be:

  sudo cp winteracter_osx.xml /Applications/Absoft16.0/lib/atools/libraries

On Linux and Mac, note that it is important to ensure that the XML file has the same permissions as other files in the plugins directory. For example:

  sudo chmod 664 /Applications/Absoft16.0/lib/atools/libraries/winteracter_osx.xml

Using the Plugin

To create a new Winteracter-based project in AbsoftTools follow these steps:

  • Select Project > New Project.
  • Select Target and set/clear the 64-bit Code field, as required.
  • Select Libraries/Tools and scroll down to the Winteracter group. On Windows, simply enable the Winteracter - Fortran GUI Toolset option. On Linux or Mac select one of two such options, depending on whether your project uses OpenGL.
  • Make any other changes you require to the Project Options and hit OK.
  • Add your Fortran source code and resource (.rc) files to the project, via Project > Add File(s). If your resource file is configured to create your resource identifiers file as a Fortran module (typically, resid.f90) then add that to your project too. Alternatively, if your resource file is configured to create an include file instead (e.g. resid.inc), do not add this to the project, as it does not need to be compiled.
  • Selecting Build should then automatically locate all the files required to compile Winteracter-based Fortran source code and resource scripts. It should also automatically locate the required libraries.
  • In AbsoftTools 16.0.2 or later, opening the resource script should automatically invoke the Winteracter resource editor, with that file loaded, rather than simply opening the script in the built-in text editor.

Implementation Notes

In normal usage, the notes above on using the plugin should be sufficient. However, the following additional implementation notes may prove useful:

  • The plugin relies on the WINTER environment variable on all platforms. This is set automatically by the Winteracter installer on Windows, but assignment of this variable is the user's responsibility on Linux and Mac. The scope of such an assignment varies on Linux/Mac, depending on where it is located. This in turn interacts with the method used to invoke AbsoftTools. In other words, AbsoftTools may not be able to "see" the WINTER environment variable, particularly if it is run from a desktop shortcut or file manager. On the Mac, a reliable solution is to define WINTER in /etc/launchd.conf. Alternatively, set it in a login script such as .bash_profile or .bashrc and then run AbsoftTools from the command prompt, e.g. on the Mac, use the open $ABSOFT/AbsoftTools.app command.
  • Applications which rely on OpenGL are handled separately via a second checkbox on Linux and Mac. On Windows, all applications share the same option, including those which rely on OpenGL.
  • When compared to our own development environment, WiDE, the plugin provides weaker integration with Winteracter but closer integration with the compiler. WiDE features missing from the plugin include integration with our documentation, library error reporting, code generation, library call highlighting, argument name/type reporting and so on.
  • Opening a resource script from within AbsoftTools opens a new instance of the resource editor. Avoid repeating the open action before the first instance has been closed, otherwise the resource will be open in two separate instances of the editor. Note also that the opened instance of the resource editor functions independently of the AbsoftTools, so the latter does not know the state of the open resource when the Build option is selected. Unlike WiDE, AbsoftTools does not therefore prompt for a changed resource to be saved, when rebuilding the project.
  • As currently implemented, AbsoftTools assumes that all applications require an associated command window. Typically this is not the case with Winteracter-based applications. The unwanted command window opened by the Execute option is not specified by the Winteracter plugin and is outside of our control. The command window does not normally appear, when the project executable is invoked outside of AbsoftTools.
  • The plugin is designed to simplify integration of existing Winteracter-based source into AbsoftTools projects. Users of Winteracter 10.0 or later can use the standalone version of the application Wizard (wintwiz) to create a new set of project files. Simply add the resulting files to an AbsoftTools based project, as described above.

For more information email: