|
AJAX Graphics
Server for JSP Servlets
New Look and Feel of
Graph Widgets
RollBack Scrolling Type
New Selection Type for
Tooltips
GLG Script Extensions
Font Rendering
Improvements for Windows Platforms
Java Applet Improvements
OpenGL Driver
New Features and Bug Fixes
New GLG Graphics Builder Features
Updated Look and
Feel of the Graphics Builder
Mouse Dragging
Support in the Color Palette
Configurable Color
Palette with Scrolling
Spinners for
Changing Attribute and Resource Values with the Mouse
New Ctrl-A Accelerator
DataGen Support for
Relative Paths
Label Layout
Negotiation and Automatic Decluttering
Text Box Line Width
Attribute
Enhanced Error
Handling Features
New Elevation Layer
Features
The GLG Graphics Server is a new addition to the GLG Toolkit family of products, and provides the server-side support for AJAX-based thin-client web applications.
With the GLG Graphics Server, a dynamic GLG drawing may be displayed in a web browser using only the industry-standard HTML and JavaScript, with no plugins or Java applets required on the client side. While the Java applet based rich-client approach provides superior interactivity, the AJAX-based approach may be used when only the HTML and Java script are allowed on the client.
The Graphics Server is a server-side component which renders the image in response to the image generation requests from the browser-based thin client. The image is referred to as "dynamic" since it reflects the current state of the dynamically changing data. The Graphics Server also handles user interaction requests, including object selection with the mouse and object tooltips, as well as clicking on buttons and toggles in the drawing. In conjunction with the JavaScript on the client side, it makes the image appear dynamic as it updates with real-time data and responds to user actions.
In the Java Server Pages (JSP) environment, the Graphics Server
is deployed as a Java Servlet and may be used with any compliant
Java2EE Application server.
Click here to
run online AJAX demos.
Click here for more information on
the GLG Graphics Server.
The look and
feel of all GLG graph widgets have been improved by adding
gradient rendering to the datasamples, markers and other elements
of the graphs. Shadows and transparency have been added where
appropriate as well.
Use the following links to see examples of the new graphs' look and feel:
AJAX Dashboard DemoClick here to view new 2D and 3D graph palettes.
A new graph scrolling type was introduced to decrease CPU requirements of the scrolling real-time graphs. The new scrolling type allows the graph to "roll-back" by a specified number of datasamples to free space for new data when the graph gets completely filled. A new RollBack attribute was added to the graphs to control the number of datasamples to "roll-back" when the graph gets completely filled.
Since the graph gets scrolled only when it gets completely filled, it will significantly reduce the CPU load compared with the scrolling graph that scrolls on every data update.
The RollBack resource may also be used to implement a graph which "wraps" until it gets completely filled with data and then starts scrolling. This behavior may be implemented by setting the graph's RollBack resource to 1.
The RollBack attribute of the graph's time axis labels should be set to a proper value to match the settings of the graph's RollBack. Refer to the RollBack Scrolling chapter of the GLG Widgets Reference Manual for more information.
A new GLG_TOOLTIP_SELECTION selection type has been added to the GlgCreateSelectionMessage method to query objects with a TooltipString resource at a given screen location. This selection type is used by the GLG Graphics Server to process tooltips in AJAX environment. It may also be used in a Trace callback in C/C++ and Java environments to determine if the mouse event will activate an object tooltip.
New commands were added to the GLG script to allow the script to traverse points of polygons, traverse elements of groups and viewports, load objects from a file, and add text box and rendering attributes to objects.
Performance of the rotated text rendering on Windows platform was greatly increased.
Handling of fonts with the DEFAULT_CHARSET on Windows was changed by using the codepage from current locale. This increased the usability of the default font table by automatically inheriting the current locale setting.
The invokeLater method was used in the GlgBean's start and stop methods to handle the applet's asynchronous life cycle. This change fixed Java exceptions when a running applet was destroyed in the middle of updating its graphics with new data.
The GLG Java demos and examples were changed to better handle asynchronous invocation of the applet's method by the web page's Java Script. The SendRequest method was added to handle Java Script invocations in a synchronous way.
The visual appearance of the
icons in the Graphics Builder was updated to use the gradients,
shadows, transparency and other new features to provide more
sophisticated look and feel.
Support for mouse dragging was added to the color and other palettes of the Graphics Builder for more convenience. By clicking in the color palette and dragging the mouse with the mouse button pressed, the user can experiment with the colors without a need for repeated clicking on the palette.
The mouse dragging support is also provided to the GlgPalette input handlers in all GLG applications via a new ValueChange action.
Support for scrolling
color palettes with a large number of colors has been added to the
Graphics Builder to make color selection more convenient.
When the number of colors in the Builder's color palette is increased by setting GlgDefaultColorFactor to the value greater than 3 in the glg_config file, the scrolling sliders of the color palette will be automatically activated. The number of color grades for each of the color palettes' hues may be changed by setting the GlgDefaultNumColorGrades parameter of the glg_config file.
Spinner
objects were added to the Graphics Builder interfaces to
facilitate changing the attribute or resource values with the
mouse. Each spinner provides two sets of buttons, one set for
increasing or decreasing the value by 1, and another for changing
the value by 10.
The SelectAll option with the Ctrl-A accelerator was added to the Graphics Builder to select all objects in the drawing. In conjunction with the Ctrl-Click grouping option and Ctrl-Shift-Click option for traversing hierarchies of groups and viewports, it allows for more convenient editing of large drawings.
Support for better handling of the relative paths was added to the data generator's -script and -datafile options. The options will now interpret relative path names relatively to the load path of the drawing, making it easier to associate animation scripts with the drawings. If the script is still not found, the data generator will search for the script file in the directories defined in the GLG_PATH search path.
A priority-based
label layout negotiation feature was added to the map server to
facilitate a better layout of intersecting labels and automatic
label decluttering depending on the zoom factor.
The label layout may be activated for the layer by specifying the LAYOUT TYPE parameter in the layer's LIF file. The label layout may be performed only for the labels in the layer or globally, for labels in all layers.
A priority value may be assigned to Labels of different types or labels in different layers to control the label priority. A LAYOUT MARGIN parameter of the LIF file may be used to specify a minimum gap between the labels.
A new LIF file parameter which specifies the line width of a text box has been added for increased control over the text box's rendering.
The ERROR FONT and DEFAULT FONT parameters were added to the SDF files to control the font used for error messages as well as the default font for all layers.
A new elevation mode option for displaying
elevation data as color images was added to the elevation layers
to facilitate testing and debugging.
Support for attribute maps was added to image layers to enable "dimming" elevation shaded relief effect for high zoom factors, to improve visual appearance.
An earth elevation shadow relief dataset was added to the map
data samples.