Ambiencia Products  
Galaxy 3.0
Galaxy 4.0
Technical Description
  More Information  

For more information about the products, please contact us at

Galaxy 3.0 Overview
Building Galaxy Projects with Microsoft Developer Studio
Help System
The options required to build Galaxy executables from the Microsoft Developer Studio are provided in Galaxy 3.0. You can also use the project files in the samples directories for reference.
The Galaxy help system has been substantially rewritten. Help now supports HTML documents and display on third-party web browsers, among other improvements.
ActiveX Integration
Microsoft Windows Enhancements
With Galaxy 3.0, applications running on a Windows platform can now take advantage of many features offered by Microsoft's distributed object technology. A new kind of Galaxy dialog item which will enable the inclusion of ActiveX components within Galaxy dialogs is introduced. This dialog item, the voleControlSite, acts as an ActiveX control container. Through a new Visual Resource Builders editor, users can embed ActiveX controls in a Galaxy dialog, set properties using the standard OLE Property Pages, and indicate control events which should generate notification. In addition, for any control, a separate code generation utility builds a complete set of C stub functions or C++ class definitions which extend the base control site class and allow easy invocation of the control's methods plus receiving of control events. The Galaxy Clipboard Manager has been enhanced to make use of the OLE clipboard protocol in order to take advantage of the rich data typing provided by OLE. The changes to the Clipboard Manager will enhance clipboard functionality, which currently only allows cut and paste of text. The Clipboard Manager includes built-in support for transfer of bitmaps, plus the extensibility to handle other types of data through additional Galaxy API.
Galaxy 3.0 now supports building different types of modules for Windows. Previously, Galaxy only supported graphical applications; now it is possible to use Galaxy to build Win32 console applications and dynamic-link libraries (DLLs). Galaxy 3.0 now uses the native Windows menu bar support instead of drawing menus with Galaxy-specific code. This opens the door to OLE applications which alter the menu bar, and also addresses some long-standing problems with menu traversal into and out of the "system" menu. Any Galaxy Dialog Item can now specify colors and fonts to inherit from the Windows settings. Previously, the standard Galaxy items and subclasses of them tracked colors and fonts, but did not allow customization for implementing new items. Also, the improved system will produce the correct results when using a Windows look-and-feel on another platform, or a non-Windows look-and-feel on a Windows platform. These changes allow Galaxy applications to dynamically change in response to Control Panel changes. Support for the Windows 95 look and feel has been added to Galaxy 3.0. Support for new Windows 95 user interface components, including toolbar, tooltips, treeview, dockers, and status line components has also been added to Galaxy 3.0.
Forms and Fields
Multiple Threading
Galaxy 3.0 uses database aware components to create associations between the user interface and the database. These components save development time by automatically implementing all of the database communication for the programmer. The programmer uses the components to interpret the data according to their needs. Database aware components are implemented via Galaxy's Forms and Fields. Forms and Fields are a set of classes that provide the developer with a framework for associating database queries with custom dialog items. This provides the developer with an intuitive method to build custom components. A developer can establish items that directly connect to the database and automatically update data as it is modified in the user interface.
Galaxy 3.0 is now threadsafe and supports threads on all thread-capable platforms.
Visual Resource Builder Enhancements
The Visual Resource Builder in Galaxy 3.0 incorporates a new user interface that simplifies the creating and editing of resources. New resource editors and functionality have been added to the Visual Resource Builder to accommodate new interface items. These new editors include treelist, toolbar, formats, database aware items, and Active X. Another new feature of the resource editor in Galaxy 3.0 is dynamic extensibility. Through the use of the new vmodule manager, the Visual Resource Builder can recognize and load DLLs or shared libraries at run time. This allows for new capabilities to be added to the resource editor in the future through the simple addition of new loadable libraries.
The Module class allows a process to dynamically load an object code module, search for named symbols within the module, and transfer control to entry points in the module.
Data Formats
Communications Enhancements
Galaxy 3.0 provides sophisticated formatting for numbers, strings, and dates. It does this by interpreting arbitrary input strings as type-specific values. This is accomplished by allowing an arbitrary number of patterns to be introduced. Each pattern represents one possible form of the textual input. One such pattern is considered the output pattern and is used to create a string form of a typed value. A Format can be used for validation in that an attempt to parse an input string will fail if the string does not match any of the set of patterns that a Format holds. There are Format subclasses for each of the most common data types supported by modern relational databases: date/time, long integer, unsigned integer, double, and boolean.
Galaxy 3.0 introduces a new Communications API to replace the old vcommChannel/vcommAddress abstraction. The old vcomm API is still available but has not been modified for thread safety and has been completely deprecated. The new Communications API presents communications as operations on vclass objects rather than abstract drivers, making it easier modify existing classes and add new classes. The new architecture supports both stream and datagram communication abstractions, without inhibiting either. Locations can now be specified using standard Universal Resource Locator (URL) syntax. Communications objects can now be used in both asynchronous and fully synchronous modes. Sending and receiving data can occur from multiple concurrent threads without application-level locking. The new communications manager makes extensive use of attributes, which can be modified and extended to fit specific application needs. TCP, UDP, and shared memory transports are supported on all platforms except VMS under the new communications API. Many other platform-specific classes are also included:
UNIX pipes
OS/2 named pipes
Macintosh OpenTransport.
Drawing Enhancements
In Galaxy 3.0 an object oriented drawing API has been added to the existing drawing API. The original, stack based, API is still functional and supported, but will be deprecated in a future release. The principal classes in the new object oriented API are: Drawing Context, Drawing Path, and Pen. The Drawing Context represents a display device and provides methods to do basic rendering and coordinate system manipulation. The Drawing Path is an abstract collection of segments and subpaths that can be rendered on any Drawing Context. The Pen class encapsulates color, line width and other rendering attributes. New methods have been added to Galaxy GUI objects to support the object oriented drawing API.
Iterator allows iterator types to be designed as classed objects. The main new use of these iterator types is the building of complete child object iterators for user-interface objects.
Apple Macintosh Enhancements
The Process class allows Galaxy applications to more efficiently launch new processes
Support for the Macintosh 3D Gray Scale interface has been added to Galaxy 3.0; it has been made the default look-and-feel. The older 2D monochrome look-and-feel is still available. Macintosh Toolbox code is used to draw user interface items where possible. A special flag will be provided to allow application subclasses to make use of native drawing. Floating palette windows are supported using the standard floating window style.
IBM OS/2 Enhancements
UNIX Enhancements
Clipboard and printing support has been greatly improved in Galaxy 3.0 on the OS/2 ports. Drawing performance has been greatly improved. Galaxy 3.0 can now take advantage of hardware accelerated video boards. Display of dithered colors has been improved, buttons are now properly positioned, and control images are retrieved from the window system instead of from a Galaxy resource file.
The Print Manager will supply default Page Setup and Print Job Confirmation dialogs for UNIX versions of Galaxy.
Untitled Document

Copyright © 2004 Ambiencia - All Rights Reserved | About Ambiencia | Terms of Use | Privacy Statement