GINO v7.0 Release Notes - 01 February 2007


Version 7.0 represents a major release and encompasses the following products:


GINO v7.0
GINOGRAF v7.0
GINOSURF v7.0
GINOMENU v7.0
GINOMENU-X v3.3e
GINOMENU Studio v7.0


Product Enhancements Database
Bug-Fix Database


Product Enhancements

PER Product Name Summary Version
1185 GNU Fortran (Linux) A GNU G95 implementation of GINO and all its libraries is now available on the Linux platform. 6.5a
1052 Standard Device Drivers An alternative nomination routine has been provided for the image, jpeg and png drivers in order to specify the required dots per inch (dpi) in the metafile. 7.0
1175 Device-Drivers A duplicate STDCALL interface is now provided for the MWIN and WOGL Window procedures in the CVF and IVF implementations of GINO. These are required to use cursor actions and types in VB, Delphi and .NET environments. 7.0
834 DXF - Autocad DXF Metafile A new 3D nomination routine has been added to the DXF driver to enable the creation of 3D DXF files containing polylines and facets. The facility is limited by the fact that DXF has no transformation facilities. 7.0
1217 WOGL - Windows OpenGL Driver XOR drawing mode had been added to 24bit RGBA mode where the GL_EXT_blend_logic_op extension is available in the OpenGL driver 7.0
1220 A new metafile creation nomination routine has been added to the gWogl driver to enable the creation of BMP, JPEG and PNG bitmap images of 3D shaded scenes. 7.0
1165 WMF - Windows Metafile A fixed list of 131 additional fonts have been added to the facilities of this driver. However, as the driver effectively operates offline, not all may be available at run-time. See also PER 574. 7.0
521 GINO Library Two routines have been added to display and convert zero filled integer values for mapping purposes (gDisplayIntegerZero and gConvertIntegerZero). 7.0
574 Three new routines have been added to enable the enquiry and selection of hardware and software fonts by name. All standard device drivers now have access to all available hardware fonts through this mechanism. 7.0
1008 Facilities have been added to import DXF files into GINO. These can either be drawn on the current output device or the entity data may be read element by element and used as required. 7.0
1073 A new routine gSetErrorFileName has been added to enable the direction of GINO error messages to a named file (in addition to the NFERTR setting in the configuration file). 7.0
1141 Routines, defined constants and optional arguments using the words: Dialogue, Centre, Colour and Grey are now provided with American spelling equivalents. No alternative is provided for structure elements with these words. 7.0
1163 The routine gSetCharSizePixel has been modified and three routines added to enable the setting and enquiry of character size in points and line width in device units, irrespective of the current units or viewport. 7.0
1169 The background fill properties of a font specification (gSetFontFillStyle) are now implemented using a separate polygon fill where not provided for by the hardware font. This enables consistency across all devices. 7.0
1177 GINO config, message and font files may now be placed in the system path as an alternative to using GINO environment variable. 7.0
1181 A new routine gPutImageFile has been added to generate standard bitmap disk files from image data held by Gino. 7.0
1186 Two routines have been added to set (and enquire) the current character/language set to be used for hardware character output. This will override the system character set and is available in the Windows environment only. 7.0
1194 Two additional real number display and conversion routines have been added :- gConvert/DisplayRealPower and gConvert/DisplayRealScientific. 7.0
1195 A new 2D ellipse drawing routine has been added to the GINO library - gDrawEllipse2D. 7.0
1228 A new system routine gKillSysCommand() has been added to terminated a process started by gExecuteSysCommand(), where it is running in parallel with the GINO application. 7.0
1233 GINOGRAF A new facility to draw colour shaded graphs has been added through the new routines ggSetColourScale() and ggDrawColourScale(). 7.0
239 GINOSURF Fault lines may now be defined within a triangulation network before contouring or surface drawing. The set of one of more polylines, with or without associated height data, is specified through the routine gsAddFaultLines(). 7.0
1099 Full surface 'cut-and-fill' operations can now be carried out by specifying site data and boundaries. The new function, gsGenerateCutandFillSurface() will return construction areas and volumes and prepare for the display of the intersected surface. 7.0
1129 New optional arguments have been added to the routine gsSetContourLevels() to allow the specification of pre and post-fix strings to annotation of contour heights. 7.0
1150 A routine has been added, gsSetApectRatioScalingSwitch(), to determine whether the aspect ratio of the original data be maintained when scaling to construct the triangulation network. The default is to normalize the data in both directions. 7.0
1170 A routine has been added to calculate the volume between two surface data sets stored in the GINOSURF workspace. The routine, gsReturnVolumeBetweenSurfaces() will work for gridded and/or triangulated data. 7.0
1174 The routine gImportDXFSurface() has been added to the GINO library to import polymesh surface data from a DXF file. The data returned is in a format ready to pass to gsImportTriangulationNetwork() ready for surface display. 7.0
1178 A new routine, gsGenerateContourDataSet, has been added to generate contour data from gridded data without any graphical output. The data is returned in the same form as gsReturnContourDataSet. 7.0
1188 A new routine gsReturnRangeInfo() has been added to allow users to enquire the appropriate limits, number of steps/contours and interval size for a given data range as used internally by GINOSURF for displaying axes and contours. 7.0
1201 A request to omit non-relevant parts of height-related wire-frame perspective surface plot was achieved by setting an appropriate line style for the contour level using the GINVISIBLE line type. 6.5
1213 Cross Sections may now be drawn directly from gridded or triangulated workspaces without the need to draw a contour map or surface first. Two routines have also been added to store 3D and 4D gridded data directly in the workspace. 7.0
1214 Contour and Cross-Section X-axis annotation has been slightly improved by centering each value on its tick mark rather than its position being based on the longest value string. 7.0
1216 A new option to the routine gsTrimNetworkBound() has been added such that the length of the base is tested for exclusion. The new option is GLENGTHBASE. 7.0
692 GINOMENU for Windows A new spinner widget has been added to the library. This can be attached to an existing widget, array grid cell or be free standing and has real value limits and increment. 7.0
1004 Access to widget NOTIFY messages not handled by GINOMENU is now available through the new escape callback mechanism. See PER 1230. 7.0
1096 A new flat style border type has been added to the panel and array grid widget types. 7.0
1098 For Windows XP users, documentation has been added to explain how to utilize the current XP theme and mouse-sensitive widgets with the appropriate initialization being carried out in the GINOMENU dll. 7.0
1136 The routine gmDrawWidget has been extended to allow the drawing of windows with this routine. The new optional argument gmGainFocus also operates on both windows and input widgets to make them active. 7.0
1155 An new optional argument, gmReadOnly, has been added to the text and value array grid creation routines which initializes the display state of all cells to GDISPLAY. 7.0
1157 The resizing of floating docking panes is now permitted in two directions by selecting one of the four corners of the widget. 6.5a
1158 A default filter of *.* has been set for the gmString argument to gmSetListEntry when adding files and/or directories. This provides a more intuitive use of this function, listing all files/directories unless otherwise specified. 7.0
1159 An additional display state for array grid cells has been added (GLABEL) to remove a cell from the internal tab list (See also PER 1160). 7.0
1160 A new optional property, gmTabList is provided to add or remove a widget from the tab list. For Array Grid widgets gmTabAction has been added to provided three modes of action for the TAB key within this widget. 7.0
1161 Two routines have been added to enable an enquiry and import of data from an internal bitmap resource (i.e.. Bitmap, icon or cursor). The data can then be used by the GINO routines gDrawPixelArea or gDrawCellArray. 7.0
1173 A new routine gmCheckCallback is provided to determine whether a specific callback is pending in the callback queue. 7.0
1179 A new routine, gmEnqTimerCallbacks, has been added to enable the current list of timer callbacks to be enquired. 7.0
1182 A request for the provision of a new 'initial display state' option for the GINOMENU Common Dialogue routines was deemed unnecessary in the light of the availability of the routine gSetTrackingPos() which could be used to set their position. NULL
1189 Two routines have been added to set and enquire the tab action of the key when pressed in an array grid. Four possible directions are now catered for with the default remaining GTABDOWN. 7.0
1190 Hardware clipping has been added to the gGuiwin driver to enable the partial clipping of characters on a graphics frame. 7.0
1191 A new option GRESET has been added to the routine gmFreezeRTFChanges which updates the text widget WITHOUT restoring the selected text saved at the start of the freeze. 7.0
1202 Two new optional arguments have been added to the widget properties for text and array grids. These are gmAxisGridW and gmAxisGridH, which allow the setting and enquiring of the title areas in grid units. 7.0
1203 A modification to the usage of array grids has been made such that the left/right arrow keys now move to the adjacent cell if all the cell's contents is currently selected. This improves the movement from cell to cell using the arrow keys. 7.0
1205 A new feature to the operation of single line editable widgets has been added such that the ESC key will restore the widgets contents to the last updated setting. 7.0
1210 Hyperlink facilities have been added to Rich Text editor widgets with automatic and/or manual assignment of font attributes and a new link callback to detect selections. 7.0
1215 A new GAPPEND option has been added to the gmSaveTextToFile routine to append widget contents to an existing file. 7.0
1227 In addition to text entries, value entry widgets can now be specified as children of graphics frames. 7.0
1230 An increased interface directly with the Windows API has been provided through a gmGetWidgetHandle() function and the ability to trap extra Windows messages through the gmDefineEscapeCallback() routine. 7.0
1232 Two new routines have been added to enquire and set the mode, position and dimensions of docking panes in line with those provided for tool bars. 7.0
1164 GINOMENU for X The non-multi-window version of GINOMENU-X has been modified to operate on devices with basic cursor input (including T4100 series emulators). 3.2d
1062 GINOMENU Studio A new project type - GLX-Windows has been added to enable GLX (OpenGL) graphics frames under X Windows. 7.0
1131 A new horizontal and/or vertical widget alignment facility is now available following the selection of multiple widgets on any form. 7.0
1133 The layout of the generated code for widget callbacks has been improved by utilizing the IF ... THEN. ELSE IF .. construct in all languages, as well as spacing out these code blocks for easier reading. 5.0b
1134 Including any of the compiler 'console' linker options in the Project Settings will ensure that a console window is available for the output of standard print statements. This can be useful for basic debugging or other purposes. 7.0
1135 The restructured Code Editor includes the facility to switch the current widget from within the editor allowing faster project development. 7.0
1142 The 'Code Indent Value' has been moved to Options-Preferences and now applies to all code in the callback blocks. 7.0
1143 A new 'Duplicate Widget' (Ctrl D) option has been added to improve the pasting of the current widget or group on to a form. 7.0
1144 With the transfer to panes, a new option has been added in the menu bar to quickly hide or show all the currently visible forms, so that access can be made to the Code Editor with ease. 7.0
1146 The Project Manager has been restructured to compose the Code Editor and Project Build panes, each of which may be displayed separately. This prevents the need to close the Project Manager after a successful build and run. 7.0
1147 Added "_entry" onto end of automatically generated variable name for menu entries for easier identification. 5.0a
1148 The title bar of forms has been changed not to be WYSIWYG as this allow user to reposition and resize forms at all times. 5.0a
1149 It is no longer possible to create new F77 projects in GINOMENU Studio, but existing F77 projects can still be updated and saved. 7.0
1171 Project compilation speed has been increased by placing form generation routines into global MSTUDIO module. 5.0a
1197 A new 'Print Errors' option has been added to the menu bar to enable the printing of compiler/linker errors. 7.0
1198 A new option for displaying the complete project source code in a read-only window is now provided. This can be used for searching and/or copying code into the main Code Editor window/pane. 7.0
1218 To aid debugging of GINOMENU projects, a console window is created (where standard I/O can be directed) when the linker switches dictate that a console application is required. 7.0

Bug fixes

PUR Product Name Summary Version
1585 Salford FTN95 (Win32) A compiler error occurred when using IMPLICIT NONE and the SURF_F90 module with this compiler due to two undeclared variables. These have now been correctly defined within the module. 6.5a
1296 WOGL - Windows OpenGL Driver Problems with refreshing, repainting etc on OpenGL graphics frames within GINOMENU have been solved by carrying out all double buffering actions within the driver, rather than using graphics hardware operations. 7.0
1616 MWIN - Microsoft Windows Driver The routine gMwinao failed to work properly when a window handle (rather than a bitmap handle) was supplied in its arguments. This has been fixed. 6.5a
1623 Character codes > 127 were not being displayed correctly on non ANSI machines. Assigning the system default character set has corrected this problem. 6.5b
1588 IMAGE - Windows Bitmap Driver Using the Linux GNU (F77) implementation of this driver, resulted in previous output being retained on second and subsequent nominations. This has been solved by clearing the internal COMMON blocks used for the picture image. 6.5a
1628 GUIWIN - GINOMENU Windows GUI Driver A problem with polylines appearing dotted when drawn in XOR mode has been fixed. 6.5b
1622 PNG - Portable Network Graphics Driver Due to a limitation in the driver, files with height larger than 1281 pixels could not be read in. This has been fixed and there is now no limit as to the size of PNG file that can be input using gGetImageFile() (assuming enough memory is available). 6.5b
1335 GINO Library The routine gEnqPicturePos(POSPIC) did not always return the correct co-ordinates when using hardware viewing in the gWogl driver. This has been solved by enquiring of the driver the current drawing position. 6.5a
1584 The clipping of a closed, hollow polygon failed under some circumstances due to numerical rounding problems. This has now been solved. 6.5a
1589 A problem with software characters within a segment being drawn with an incorrect line thickness has been fixed. 6.5a
1602 Warning message 131(Window/Mask limits outside device or viewport) is no longer generated as this does not warrant user attention when it may be specifically required (e.g. by GINOMENU expose events). 6.5a
1613 The use of XOR pen type for the manipulation of segments is now operational again. 6.5a
1614 Problems drawing a clipped cell array have been fixed 6.5a
1619 An adjustment has been made when drawing cell arrays (gDrawCellArray) where the current viewport has a non-zero origin such that the image is now drawn in the correct position. 6.5a
1621 A compiler bug in the DVF compiler gave rise to incorrect polygon boundary clipping under certain circumstances. The bug has been circumnavigated by a code change in GINO. 6.5a
1636 A problem using marked segments and drawing in XOR mode has been fixed. 7.0
1638 A problem with the software segment chain which showed itself when using gEnqSegHit after deleting and recreating segments has been fixed. 7.0
1603 GINO Basic (VB) Interface An incorrect definition of the GWORKSPACE structure in this and the Delphi interface caused an application to crash or have unpredictable results when using it. The structure now is defined correctly in line with the F90 equivalent. 6.5a
1559 GINO.NET Interface Problems using gMwinp in a .NET environment were found to be due to an attempt to use the MWIN driver to both print and refresh the screen simultaneously. A new 'printing' example project has been prepared to show correct usage of the driver. 6.5b
1593 GINOSURF A problem with gaps appearing in contours drawn on a triangulated network was found to be due to rounding errors with very small triangles. This has been fixed. 7.0
1597 Problems with views of contoured surfaces around the 180 and 270 degree positions have been fixed. 6.5a
1634 A problem encountered when drawing contours on a triangulated data set with no external start point has been fixed. Previously GINOSURF hung looking for a start point. 7.0
1440 GINOMENU for Windows A user attempted to use the new gmUsableWidth and gmUsableLength optionals to obtain these dimensions prior to opening the printer dialogue but found them to be unset. Unfortunately these options are only available after opening the printer. 6.5
1574 The page selection toggle has been enabled (and catered for) when using gmPrintTextWidget. The selection toggle has been disabled as this is not active at the present time. 6.5a
1582 Improvements have been made to the routines gmSetTextArray(TARSET) and gmSetValueArray(VALSET) such that delays updating the grid when a cell is active have been removed. 6.5a
1583 A problem under Windows XP, where processor intensive loops fail to update the screen, can be solved by calling gmFlushCallbackQueue after updating the required widgets. 6.5
1586 A problem with widgets being repositioned and resized when using gmSetWidgetInfo was found to be as a result of GINOMENU having been switched into grid mode prior to the call, in which case all co-ordinates were rounded to the nearest grid position. 6.5
1587 A problem where print using 'Best Quality' (600dpi) was producing varying thickness lines when using gmPrinterControl, was found to be due to the setting of a line thickness of 0.1 units at various places in the application. 6.5
1594 Using the routine gmSetWidgetFontAttribs caused some text widgets to randomly use the symbol font, due to an unassigned setting of 'charset'. This has been fixed. 6.5a
1595 Due to a fix (PUR 1548) introduced at version 6.5, a problem was created whereby multiple graphics frames were exposed incorrectly. The previous fix had been rescinded correcting the new problem. 6.5a
1599 Inconsistencies in the use of gmAddArrayColumn and gmAddArrayRow between this and the previous release have been resolved. Using row=nrows+1 is now permitted again to add a row at the end of an array grid. 6.5a
1606 Inserting entries into combo boxes with a description width or icon using gmSetListEntry with GINSERT and gmEntry=0 now correctly adds the entries to the end of the list. 6.5a
1607 Whilst there is no limitation on the length of bubble help messages assigned to a widget, the tool tip display procedure maintained a limit of 254 characters per line. This has been increased to 32766. 6.5a
1609 Memory utilization for array grids, which was increased at version 6.5 to cater for font attributes, has been reduced in this patch by coding a more efficient method of storing the font face for each cell. 6.5a
1610 The setting of the background colour for text entries which are children of graphics frames has been fixed. 6.5a
1611 Where a radio box contains hidden entries, clicking on a toggle does not now make the hidden entry visible. 6.5a
1612 It is now possible to modify the gmImage property of a widget using gmSetWidgetProp. 6.5a
1615 A partially visible cell can now be selected in an array grid with an automatic scroll taking place so that the cell becomes completely visible. 6.5a
1618 Image data could contain incorrect/unitialized values when reading 2 and 4 colour bmp files using gGetImageFile. This has been corrected. 6.5a
1620 The correct dimensions of a child MDI window are now returned when using gmEnqWidgetProp after resizing the window. 6.5a
1625 When using the routine gmFreezeRTFChanges and the option GOFF, the currently selected text at the time of freezing the widget was not being restored. This has been fixed. 6.5b
1626 Further to PUR 1568, array grid cells are now unselected when moving to another editable widget, but left selected when moving to any other widget. In addition only one array grid displays selected cells at any one time. 6.5b
1629 A quit callback was not generated when closing a window with quit mode equal to GREMOVE. The callback is now generated correctly. 6.5b
1631 The action of a right mouse click on an array grid has been improved. If the cell is outside the selected area, it becomes selected and is immediately available for copy/cut/paste actions. 7.0
1633 Changes made to Rich Edit Text widgets using gmReplaceText could not be undone using the gmTextUndoAction, This has been fixed. 6.5b
1637 The margin dimensions passed in the routine gmSetPageSetupAttribs were interpreted incorrectly resulting in erroneous interpretation of the page width in a Rich Edit text widget. Units have been changed to twips and documented accordingly. 7.0
1639 Updated find and replace strings are now correctly returned by gmFindTextDialogue and gmReplaceTextDialogue as well as activating TAB and CR keys within these modal controls. 7.0
1640 The routine gmPrintTextWidget failed to work on Table Boxes, but has now been fixed to print this class of widget 7.0
1641 List Boxes have been added to the list of widgets into which the TAB control character will move into and make active. It can be removed from the list using the gmTabList property. 7.0
1645 The selected filter in the File Browser is now correctly returned as documented. The string includes wildcard extension and description, if supplied. 7.0
1646 A crash when inserting a new entry into a list box at the first location has been fixed. 7.0
1600 GINOMENU for X Changes have been made to cater for restricted event reports from Pericom's Teemtalk T4207 emulator. 3.2e
1601 Current active widget reset if deleted or parent window removed from screen. 3.3d
1476 GINOMENU Studio The default upper limit (valmax) of new value entries has been changed to 0.0, the same as the lower limit (valmin). This has the effect of switching off limit checking by the gmEnqValueSetting() routine unless these limits are set by the user. 5.0a
1590 The declaration of internal variables has been moved in the generated code to allow assignments and routine calls to be added at the end of the local variable code block without restriction. 5.0a
1592 Selecting text with greater than 255 characters and then opening the Find/Replace dialogue caused Studio to crash. New checks have been added to Studio and MENU. 5.0a
1596 The font size selector in the Code Editor dialogue is now working and inconsistencies in the point size of the first line, when entering text for the first time, have been resolved. 5.0a
1598 External resources have their pathname correctly converted ('\' to '\\') for use by RC compiler and within C projects. 5.0a
1604 A problem with adding/selecting text or value arrays when an editable combo box existed in the same project has been resolved. 5.0a
1605 Setting an initially active widget generated incorrect code using the widget's ID rather than its variable name. This has been corrected. 5.0a
1608 Changes have been made to the Code editor to improve the display of the code assist bubble and access to the associated help files via the F1 key can now be made irrespective of the current text position on a line containing a GINO library routine. 5.0b
1624 As a result of changes to fix PUR 1598, a problem arose in the checking of duplicate user defined icons when generating the project's resource file. This has now been fixed. 5.0b
1635 When copying a combo or list box from one form to another, the contents were lost, or a crash occurred (when dragging). This has been fixed. 7.0

Page 1 of 1