Visit Gigasoft's Web Site
 ProEssentials v9 Help

Chapter 2: .NET Charting and Graphing Overview

 

This chapter provides a complete .NET Charting overview of the ProEssentials product. It includes info for Winforms, WPF and WebForm interfaces for use with Visual Studio.NET.  

 

Developers will use the Winforms or WPF interfaces when creating stand-alone client side EXEs.  Developers will use the WebForm interfaces within ASP.NET web applications.

 

WinForms assembly "Gigasoft.ProEssentials.Dll" and
WPF assembly "Gigasoft.ProEssentialsWpf.Dll" offers namespaces:

Gigasoft.ProEssentials.Pego

Graph

Gigasoft.ProEssentials.Pesgo

Scientific Graph

Gigasoft.ProEssentials.Pe3do

3D Scientific Graph

Gigasoft.ProEssentials.Pepco

Pie Chart

Gigasoft.ProEssentials.Pepso

Polar / Smith / Rose

Gigasoft.ProEssentials.Enums

Enumerations

 

WPF vs WinForm Development

The WPF interfaces have a WPF specific property RenderSizeXdpi.This controls if a non-96 dpi system compensates for dpi by multiplying RenderSize by dpi factor. True by default, font sizes and line thicknesses will not scale on non-96dpi systems. Instead, image sharpness is maintained rather than allowing lines and text to become fuzzy. You may prefer to change this setting to False if you prefer the chart to become fuzzy if the system has larger than normal fonts, possibly to match other fuzzy graphics within the app.

 

WebForm assembly "Gigasoft.ProEssentialsWeb.Dll" offers namespaces:

Gigasoft.ProEssentials.PegoWeb

Graph

Gigasoft.ProEssentials.PesgoWeb

Scientific Graph

Gigasoft.ProEssentials.Pe3doWeb

3D Scientific Graph

Gigasoft.ProEssentials.PepcoWeb

Pie Chart

Gigasoft.ProEssentials.PepsoWeb

Polar / Smith / Rose

Gigasoft.ProEssentials.Enums

Enumerations

 

ProEssentials installs 3 sets of assemblies providing options for building and deploying your applications. These assemblies are found in 3 folders,
DotNetAnyCpu
x64/DotNet64
DotNet32

Each folder also contains a readme file.

Our DotNetAnyCpu assemblies are larger in size as these embed our native DLL within the assembly. Upon execution of your EXE, PEGRPG.DLL will be unpacked in same location as assembly and your EXE.

Our DotNet64 assemblies require the project Platform Target to be set to x64 and PEGRP64G.DLL be distributed with your EXE. And our DotNet32 assemblies require the project Platform Target to be set to x86 and PEGRP32G.DLL be distributed with your EXE. These assemblies are smaller and decouple our native DLL which clarifies the run time requirements.

 

It's recommended you keep this help system open while working with ProEssentials to quicken access to reference materials.  Please note we've taken these steps to aid in your current development: there's embedded XML help/intellisense;  (most everything ProEssentials starts with "Pe"); and we've chosen an object model API which is primarily oriented as nested properties and does not force a large understanding of .NET ideologies to be immediately productive.

 

Please refer to the ReadMe files, Demo, and Example Projects for additional .NET resources.

 

Object Model

Intellisense technology will automatically pop up help as needed while you're programming. Our .NET interfaces use nested properties that break up our 1000+ features among 12 main categories. When Intellisense pops up for auto-code completion, you'll see ProEssentials features starting with letters "Pe". This groups them within Intellisense's list box for easier navigation.

 

The categories are as follows:

 

PeString Titles, Labels, and other string type properties.
PeData Includes properties defining the quantity, attributes, and data-access related features.
PeLegend Includes properties related to legend, colors, line types, points types, location.
PeFont Includes all font related properties.
PeColor Includes all color related properties.
PePlot Another large nested property including other nested properties to control plotting method access and plotting options. Generally includes everything related to how data is rendered into graphics.
PeGrid A large nested property including other nested properties to control grid options and grid configuration. Grid configurations deal with quantity and frequency of grid lines. Grid options deal with how grid lines are optionally rendered.
PeAnnotation Includes other nested properties dealing with graph, line, axis, and table annotations.
PeConfigure Includes properties controlling visual or functional features global in nature.
PeUserInterface Includes other nested properties related to menus, dialogs, scrollbars, cursors, and availability of user interface features.
PeSpecial Includes rarely used features.
PeTable Unique to the Graph object, includes table related times.
PeFunction Includes all methods to initialize, reset, export and perform other tasks.

 

Also grouped within Intellisense's list box are our events that also start with "Pe".

 

Within the property reference material, at the top of each property topic, you'll see a table with various property attributes.  For example, the property FontSize has such an entry.

 

Scope

All ProEssentials Objects.

Type

Int32

Default

PEFS_MEDIUM

.NET

PeFont.FontSize

Ocx|Vcl

FontSize

DLL

PEP_nFONTSIZE

 

If developing with either WPF, WinForms or WebForms, you'll refer to this property via the .NET row heading.

 

.NET

PeFont.FontSize

 

For a control named Pego1, to programmatically control the FontSize property within code, you'll write...

 

Pego1.PeFont.Fontsize = Gigasoft.ProEssentials.Enums.FontSize.Large

 

It is recommended that the namespace: Gigasoft.ProEssentials.Enums be included at the top of your source code files utilizing ProEssentials. In VB.NET, use the Imports keyword, and within C#, use the using keyword. For example:

Imports Gigasoft.ProEssentials.Enums
or
using
Gigasoft.ProEssentials.Enums;

 

 

Designer Notes

The WinForm interfaces support adapting to changes in the parent form's font and background color. They are designed so that the grid number text size matches that of the other standard controls such as TextBox, Radio Button, and Labels. As long as you don't explicitly change the font and background color, you will be able to change the form's font size and backcolor and all controls on the form will adapt to match. This feature required that we defaulted the properties PeFont.SizeGlobalCntl to .85 and PeFont.Fixed = True. Note that the default form text size of 8 points is fairly small. You may want to increase it to 9 or 10 points depending on your needs. This feature results in a clean looking user interface where the charting control appears to be a true sibling of the other standard controls.

 

 

WebForm vs WinForm Development

The WebForm and WinForm interfaces are very similar, but they do differ in a few events and properties.  This is best outlined within the ASP.NET walkthrough content.  Generally, the only events available have to do with adding imagemap details.  Also, there's a few additional properties to control how content is dynamically rendered.  The WinForm interfaces have many properties related to user interface characteristics.  The WebForms contain these properties only in the event you are rending an ActiveX binary state to be streamed to the browser.  This allows a ProEssentials ActiveX control to be instantiated with the specific user interface desired. Event processing is still handled via ActiveX event processing as described in the ASP Readme file installed with the product.  ProEssentials only supports rending images and ActiveX content via binary streaming.  This is the only mechanism that supports WebFarms efficiently. Passing viewstate back and forth is not good web design for complex objects containing lots of data.  If our competition supports this feature, they also warn against using it as it's not recommended. Due to the high inefficiency, we don't offer a feature to pass viewstate back and forth.