Enhancements in MasterStudio 1.0.9 (January 3, 2007)
  1. By returning kTrue from method $mayAddPanel in a pane delegate, any regular pane can be opened into a separate window. This new powerful feature was implemented by creating a panel controller containing a placeholder for a single pane, which is opened stacked on top of, and with the same size as the parent window.

  2. Users can open a pane in a separate window by selecting "Open in New Window" from the context menu.
  3. Users can open a pane in a separate window by typing Command-O while the cursor is in that pane. This shortcut can be modified by changing public variable MoShortcutNewWindow, which is initialized by the class broker.
  4. Panels initially open stacked on top of the main window, but they will re-appear where they were last closed.
  5. Pane selectors (tabbed panes or icon arrays) can be opened in a new window only when using Omnis Studio 4.0 or higher (this feature requires a higher stack limit than available in Omnis Studio 3). This removes the nested sub panes from the parent window.
  6. Pane selectors now support dynamically adding and removing sub panes while they are already open. Method $removePane is now available, allowing an existing pane to be removed from the pane selector.
  7. On Windows, pane selectors and context menus now display the proper icons for the corresponding pane controllers.
  8. Pane selectors have two new accessor methods $currentPaneIndex and $selectedPaneController.
  9. Contains a work-around for an Apple bug in the Rosetta environment on Intel Macs running Mac OS 10.4.8.

Bugfixes in MasterStudio 1.0.9
  1. Bugfix: A notation error was raised during instantiation of a pane containing a checkbox. This caused problems during debugging of such windows.
  2. Bugfix: After entering data in a field of a pane and pressing the Return key before leaving the field, the modification was not handled properly.
  3. For improved compatibility with Omnis Studio 4.x, method $setPaneInfo was renamed into $setPaneInfoForLine.
  4. For improved compatibility with Omnis Studio 4.x, accessor $columns was renamed into $moColumns.
  5. Faulty +-signs in class MoDatabaseSequencesTable, causing incorrect database error handling when creating a sequence table, were replaced by *s.
  6. Method $dowork in class MoDatabaseTableSuperclass was corrected so it now properly tests whether a non-empty key was generated.
  7. Several methods in the root context were improved, so that it properly tests for the existence of a delegate object that is not a task.
  8. A bug was fixed in the list manager, where method $pasteColumnsFromList would overwrite (nullify) columns that were not contained in the return list.
  9. Solves a problem with the pane selector on Windows platforms where Control-Tab would jump two tabs ahead, instead of activating the next tab pane.
MasterStudio 1.0.9 Update Instructions

This version requires the following steps:

  1. Install main library classes:
    Copy the latest versions of MoContextRoot and MoClassBroker into your main library.
  2. Replace framework libraries:
    Replace the libraries in your old MasterObjects folder by the new ones.
  3. Update any calls to $columns:
    If you have code that directly calls the MasterStudio schema object (class MoSchema), you need to rename all occurrances of the keyword $columns into $moColumns throughout your libraries. Even though it is unlikely that you've used this method, it does not hurt to do this global "search and replace".
  4. From now on, pane selectors always order their panes (e.g. tabs or icons) by pane index. Also, you must use a unique pane index (a number between 1 and 15) for every pane in a pane selector. Please double-check that you use the proper pane indexes in your $initFrameset methods by doing a search throughout your libraries.
  5. The following is only needed if you use the new "Open in New Window" feature by returning kTrue from method $mayAddPanel in a pane delegate:
    • If you have have any subclasses of MoControllerPaneSuperclass that trap keyboard events in $controlResponder, make sure that they call the control responder in the superclass by using Quit method $cinst.$inherited at the end of the On evKey section. Otherwise, those panes cannot be opened in a panel by using the keyboard shortcut.
    • Update your own pane selector classes:
      If you have created your own subclasses of MoWindowPaneSelectorSuperclass (which is unlikely), you need to rename method $setPaneInfo into $setPaneInfoForLine throughout your libraries. Then, add Do inherited to the $setPaneInfoForLine method.

      Also, note that it is now possible to dynamically add and remove panes from a pane selector, even after it was already opened. This may change the "mapping" between the "tab number" or "icon array line" with the corresponding pane index, so you may need to update the event handler for your pane selector to properly handle this. To map the "line number" to the pane index, use the new iSelectorLineMapping list that is defined in MoWindowPaneSelectorSuperclass.
  6. To support users running Omnis 3.3.3, 4.0.3, or 4.1.1 in the Rosetta environment on Intel Macs, you should update your own applications so they call method MoManagerPlatform.$int() instead of the built-in int() Omnis function. This work-around is not needed with Omnis Studio 4.2 and higher.
Back to General Release Notes


Copyright © 2014 Master Object AB Terms of Use