Release Notes: Zim 8.50 for Windows (build 3498) - February 2015

Release Notes: Zim 8.50 for Windows (build 3498) - February 2015

Dynamic Database Creation

  • New databases can only be created with ZimExplore. The utilities ziminit and ziminitw have been deprecated.
    • A database can be created while ZimServer is still running. The database will be automatically added to zimdb.zim and ZimServer will recognize it immediately without requiring a restart.
    • To complete the database creation process, connect to the new database using ZimQt Client and issue the following command: zomenable. This must be done before connecting to the database with ZimIDE.

Data Visualization

  • In both ZimIDE and ZimExplore it is possible to query and visualize data in a grid format.
    • In ZimIDE: In the Databases treeview, right-click on the object you and select Query Data. This is equivalent to the command list all.
    • In In ZimExplore: In the ZimServers treeview, click on the node of the database you wish to query and type the query in the entry field.

UI Enhancements

  • TabControl and TabPage are native widgets managed directly by the graphical interface, not requiring specific Zim code.
  • ComboBox and Manual/Autodrop ListBox: The height (the wdhhght property) of a ComboBox or Manual/Autodrop Listbox will be calculated differently from previous versions. This change will make the new Zim coordinate system compatible with all other modern graphical systems.

    Find all ffs wh ft='C' and wdgstyle='2'
    Ch all let wdghght=315

    Find all ffs wh ft='L' and wdgstyle='2'
    Ch all let wdghght=315

    Zomrecreate +t forms

    • To convert the height for these fields in existing databases, a small change is required, as shown:
    • This change occurs automatically during the process of migrating from Zim 7.x to Zim 8.50.
    • This change also occurs to all Form Fields in a Form when it is saved in ZimIDE.

New Widgets

  • The ProgressBar is used to present visual feedback during long tasks.
    • The ProgressBar field can be assigned a number from 0 to 100 to represent the completed percentage of the task:
    • Let form1.progressbar1=10 will present the progress bar in form1 as 10% full.
  • The Grid and its related new command: form set grid

    form set grid fgrid.grid_00000 from fset1 format fieldname formname wdgzorder dm

    • Columns can be added to the grid in ZimIDE by clicking on the “columns” property;
    • Columns are treated as fields within the grid. 
    • Types of fields supported within a grid are: EntryField, ComboBox, Picture, Button, and CheckBox. 
    • In-place data editing, and Picture/ComboBox fields are still in development. 
    • Displaying data without editing, which will probably cover 90% of the scenarios, is fully-implemented.
    • The syntax of the form set grid command is modeled after form set dynamic list:
    • This command above will populate Grid grid_0000 in form fgrid with the fields in Set fset1. The Grid columns obtained from fset1 will be fieldname, formname, wggzorder and dm.
  • The TreeView and the related new command set treeview
    • The TreeView must be populated from a data document (also referred to as a “document with fields” or “structured document”). 
    • The format of the data document is key to making this work. For example, the following command shows that the treeview1 will be populated from the data document menuset with reference to three fields: “label”, “parent” and “child”:

form set treeview fmain.treeview1 from menuset format \
field2 heading "label" \
field1 heading "parent" \
field2 heading "child"

  • In this case, the “parent” is obtained from the first column of the data document (field1) and both the "child" and the "label" from the second column of the data document (field2).
  • Top-most parent nodes are defined as both parent and child (e.g., “Scripts”, and “Samples” in menuset)
  • Here is the example data document menuset:

 

Scripts   Scripts 
Scripts    1001
Scripts    1002
1002    1003
Scripts    1004
1004    1005
1005    1007
Samples   Samples  
Samples   2002
Samples    2003
2003    2004

 

o And here is the resulting TreeView output:

 

Scripts
1001
1002
  1003
1004
  1005
   1007
Samples
2002
2003
  2004

ZimIDE Improvements

  • Program Editor: The document editor in ZimIDE is now equipped with Zim syntax highlighting and auto-complete.
  • Change Log: There a new Change Log pop-up dialog in ZimIDE that display the release notes whenever ZimIDE is updated.

ZimExplore Improvements

  • The ZimExplore’s User Interface has been improved and new functionality, such as data visualization and greater control of user and database connections, has been added to most of its modules

ZimQt Client and Mobile Application Development

  • ZimServer and ZimQt Client have been optimized to streamline communication between the server and the client and improve performance on mobile devices.
  • Existing Zim 8.x and New Zim 8.50 Applications can run on mobile devices with the same code as the desktop versions. The only changes required are interfaces. Cell phones and tablets have smaller screens and are controlled by touch displays. As such, forms and displays need to be adjusted to take advantage of these capabilities on mobile platforms.
  • Zim 7.x Applications can also run on mobile devices after they are migrated to Zim 8.50 and undergo the interface adaptation described above.
  • The Appearance of all Widgets has been enhanced to provide a uniform look and feel on all platforms;
  • Mobile Document Editing: Documents and programs can be edited on mobile platforms by calling the edit function from the ZimQt Client prompt;