Post on 09-Jan-2016
description
Adding data visualization to windows applications with codejock
Peter BraggCare Data Systems
www.donorflex.com
Why you should never tell your boss what your presentation is about!
Peter BraggCare Data Systems Limited
www.donorflex.com
Agenda
• Theory Codejock Chart Pro sigCjChart Class
• Practical sigCjChart demo
• Dashboards Do codejock components provide a viable solution?
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
• Part of Toolkit Pro• Appeared v15.0.1• Charting Component• Illustration tool
NOT a reporting component NOT a business intelligence tool
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Codejock Xtreme Chart Pro
Comprises of over 75 classes:• Appearance• Axis• Border • Content• Global Settings• Diagram• Element
• Fill Style• Font• Legend• Line Style• Marker• Number Format• Palette
• Series• Series Label• Series Point• Series Style• Title• Tooltip• Chart Control
Codejock Xtreme Chart Pro
Comprises of over 75 classes:• Appearance (1)• Axis (12)• Border (1)• Content (1)• Global Settings (1)• Diagram (5)• Element (1)
• Fill Style (1)• Font (1)• Legend (1)• Line Style (1)• Marker (1)• Number Format (1)• Palette (1)
• Series (2)• Series Label (8)• Series Point (2)• Series Style (29)• Title (2)• Tooltip (1)• Chart Control (1)
Codejock Xtreme Chart ProWhat is a diagram?
A diagram is an area within a chart control in which you will place a chart or charts.
The control may contain any number of diagrams.
A chart control object would typically contain just one diagram.
The first image (top right) shows a chart with two diagrams.
The second image (bottom right) shows a chart with three diagrams.
Codejock Xtreme Chart ProWhat is a series?
In essence a series is a chart within a diagram.
Multiple series within the same diagram allow you to overlay different charts on top of each other.
The image shows a bar chart, a spline chart, and area chart and a point chart all within a single diagram.
The chart comprises of one diagram and four series.
Codejock Xtreme Chart Pro
A B C D0
1
2
3
4
5
Series (bar)
Chart Control
Diagram (2D) Diagram (Pie)
Codejock Xtreme Chart ProChart Control
Diagram (2D) Diagram (Pie)
A B C D0
1
2
3
4
5
Series (bar)Series (line)
1st Qtr2nd Qtr3rd Qtr4th Qtr
Series (pie)
sigCjChart Class
sigCjChart Class2007 Synergy
(Miami)
2008 EDUC (Copenhagen)
2009 Synergy (New Orleans)
2010 EDUC (Seefeld)
2011 Synergy (Orlando)
2012 EDUC (Baiona)
2013 Synergy (Nashville)
sigCj Class Library conceptualised. Alcohol blamed.
Library revealed.
Report Control & Calendar added. Training given. Forum created.
Presentation. Snow. Too much snow. Don’t like snow.
Time off for good behaviour. Met a spaceman.
sigCjChart Class first revealed.
Alcohol required! Please.
Xtreme Chart Pro released with v15.0.1
sigCjChart Class
Design Objectives: Model should be as simple as possible. 75 classes is too many! Be dynamic, where possible, wherever appropriate. Make no assumptions as to where data is coming from.
Minimum Requirements: Visual DataFlex 15.1 or higher (RefClass(), RefProc(), etc.) Codejock 15.2 or higher (3D classes removed)
sigCjChart Class
How to handle Diagrams and Series? One Diagram Class One Series Class? Model with methods or objects?
How to handle all the chart options?
Number of design time objects
Num
ber
of
pro
pert
ies
per
obje
ctsigCjChart Class
sigCjChart ClassChart Control
Diagram (2D) Diagram (Pie)
A B C D0
1
2
3
4
5
Series (bar)Series (line)
1st Qtr2nd Qtr3rd Qtr4th Qtr
Series (pie)
sigCjChart ClassChart Control Object
Diagram Object Diagram Object
Series Object – Bar Style
Series Object – Line Style
Series Object – Pie Style
sigCjChart Class
oSigCJChart
oDiagramXY
oSeriesBar
oSeriesLine
oDiagramPie
oSeriesPie
cSigCjChart
cSigCjDiagram
cSigCJSeries
sigCjChart Class
Build
Populate
Refresh/Reload
cSigCjChart cSigCjDiagram (1..n)
cSigCjSeries (1..n)
Build
Populate
Refresh/Reload
sigCjChart Class
cSigCjChart cSigCjDiagram (1..n)
cSigCjSeries (1..n)
OnAddChartData (cSigCjSeries) AddPoint (Tooltip, X value, Y value x4)
Build
Populate
Refresh/Reload
sigCjChart Class
cSigCjChart cSigCjDiagram (1..n)
cSigCjSeries (1..n)
OnAddChartData (cSigCjSeries) AddPoint (Tooltip, X value, Y value x4)
ReloadSeriesPoints (cSigCjSeries) ReloadAllSeriesPoints (cSigCjChart/cSigCjDiagram) RefreshSeriesPoints/RefreshAllSeriesPoints
sigCjChart ClasscSigCjAxis
cSigCjAxisConstantLine
cSigCjAxisStrip
Demonstration: Build a Chart
Demonstration: Build a Chart
Dashboards
Dashboards
donorflex dashboard considerations: Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
Dashboards
Possible solutions: Dynamic AI Crystal Reports Own bespoke solution.
Codejock...?
Dashboards
Dashboard using codejock? Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
Dashboards
Dashboard using codejock? Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
Dashboards
Dashboard using codejock? Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
Dashboards
Dashboard using codejock? Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
Dashboards
Dashboard using codejock? Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
Dashboards
Dashboard using codejock? Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
Dashboards
Dashboard using codejock? Should not require specialist skills Should be intuitive and easy to configure Should provide the headlines/an overview Does not need to offer extensive drill down capability Needs to incorporate ‘web’ news/’other’ Should add value but NOT add cost.
But here’s the thing...
Why you should never tell your boss what your presentation is about!
Questions?