Data Access User Manual
Rogue Wave Views Data Access Common Framework
Introducing Data Access
What is Data Access?
Libraries
Editors
Supported Databases
Distribution Structure
Data Access Basics
Overview
Rogue Wave Views Interface
IlvDisplay
IlvApplication
Containers
Gadgets
Callbacks
Data Access Concepts
Values
Database Connection
Tables
Data Sources
Data-Source-Aware Gadgets
Formats
Masks
Integrating with Rogue Wave Views Advanced Graphics
Tables
Introduction to Tables
One-Tier and Two-Tier Tables
The Role of a Table Object
Schemas
Schema Properties
Defining the Schema of a Table Object
Managing Rows in a Table
Basic Techniques
Techniques for Two-Tier Tables
Error Catching
Changing Error Messages
Table Hook
Copying and Serializing Table Objects
Specialized Table Subclasses
IliSQLTable
IliMemoryTable
IliStringsTable
IliMapTable
Subclassing IliTable
Guidelines
Subclassing Example
Directory Class Example
Persistence
Table Properties
Scoped Properties
Property-Aware Gadgets
Data Sources and Gadgets
Data Sources
Creating a Data Source Gadget
Connecting Data-Source-Aware Gadgets
The Scope of a Data Source
Managing Rows in a Data Source
Customizing a Data Source
Error Handling
The Repository
Data-Source-Aware Gadgets
Interface to Data-Source-Aware Gadgets
IliTableGadget
IliDbField
IliEntryField
IliTableComboBox
IliDbText
IliDbToggle
IliToggleSelector
IliDbNavigator
IliDbTimer
IliHTMLReporter
IliXML
IliDbPicture
IliDbOptionMenu
IliDbStringList
IliDbTreeGadget
IliChartGraphic
IliDbGrapher
IliDbGantt
Global Callbacks
Handling Values in Data Access
The IliValue Class
Constructing a Value Object
Null Value
Data Types
Checking the Data Type of an Object
Converting a Data Access Data Type to a C++ Type
Formatting an IliValue Object
Structured Types
Hints and Tips for Using Data Access
Working with DbFields in Data Access
The Style of a DbField
Creating a Form Using the Forms Assistant
Foreign Tables
Specifying a Foreign Table in Rogue Wave Views Studio
Using a Foreign Table to Convert Values
Using a Foreign Table to Constrain Values
Using the Forms Assistant with Foreign Tables
Setting the Table Look
Column Geometry
Read-Only Settings
Fixed Columns
Troubleshooting
Avoiding Common Names in Foreign Tables
Matching Types with a Foreign Table
Data Access and SQL
SQL Tables
Introduction
Structural Definition
Creating the Definition Using Rogue Wave Views Studio
Creating the Definition in C++
A Shortcut C++ Definition
The SQL Session of an SQL Table
Run-Time Options
Concurrency Control
Auto-Commit Mode
Fetch Policy
Auto-Refresh Mode
Inserting-Nulls Mode
Dynamic-SQL Mode
Bound Variables Mode
Cursor Buffering
Auto-Row Locking Mode
Parameters
Transaction Manager
Structured Types
Asynchronous Mode
SQL Data Sources
Query Mode
Parameters
Defining a Parameter
Defining a Parameter That Accepts User Input
Working with an SQL Data Source
Defining Columns
Forcing the Name of a Column
The Table Primary Key
Connecting to a Database
SQL Sessions and Cursor Objects
Creating a Session
Connecting to a Database System
Cursors
Database Drivers
The Connect Dialog Box
Registered Sessions
Rogue Wave Views Data Access Gadgets
Rogue Wave Views Studio Data Access Gadgets
The Palettes Panel
Data Access and SQL Gadgets
Charts, Grapher and Gantt Chart Gadgets
SQL Tables
Notebook Pages Common to Data Access Gadgets Inspectors
General Notebook Page
Callbacks Notebook Page
Dialog Boxes Common to Data Access Gadgets Inspectors
Font Chooser Dialog Box
Color Chooser Dialog Box
File Chooser Dialog Box
Data Source Gadgets Reference
IliSQLDataSource
IliSQLDataSource Inspector Panel
IliSQLDataSource Menus
General Elements
SELECT Section Notebook Pages
Dialog Boxes
IliMemoryDataSource
IliMemoryDataSource Inspector Panel
Display Gadgets Reference
IliTableGadget
Table Gadget Inspector Panel
IliDbField
DbField Inspector Panel
IliEntryField
Entry Field Inspector Panel
IliTableComboBox
Table Combo Box Inspector Panel
IliDbText
DbText Inspector Panel
IliDbToggle
DbToggle Inspector Panel
IliToggleSelector
ToggleSelector Inspector Panel
IliDbNavigator
DbNavigator Inspector Panel
IliDbTimer
DbTimer Inspector Panel
IliHTMLReporter
HTMLReporter Inspector Panel
IliXML
XML Inspector Panel
IliDbPicture
DbPicture Inspector Panel
IliDbOptionMenu
DbOptionMenu Inspector Panel
IliDbStringList
DbStringList Inspector Panel
IliDbTreeGadget
DbTreeGadget Inspector Panel
IliChartGraphic
ChartGraphic Inspector Panel
IliDbGrapher
DbGrapher Inspector Panel
IliDbGantt
DbGantt Inspector Panel
Utility Classes
The IliString Class
The IliDecimal Class
The IliDate Class
The IliFormat Class
The IliInputMask Class
Format Syntax
String Formats
Number Formats
Date Formats
Literal Characters
Mask Syntax
Placeholders
Predefined Masks
Error Messages
Data Access Getting Started
Overview
What is Data Access
Architecture
External Environment
Internal Components
Connections
SQL Session: Communication Channel Between the Application and the DBMS
Mapping the Data Source Table to Database Tables
Connecting Display Gadgets to a Data Source
Data Access Window
Main Window
Palettes Panel
General Procedures
How to Create an Application
How to Create Panels
How to Integrate Panels into an Application
How to Create a New Instance of a Panel Class
How to Generate an Application
How to Edit an Application
Introduction
What You Are Going To Do
Procedures for Creating the employdb Application
Setting Up the Database
Launching Data Access
Creating the employdb Application
Creating the Application File
Defining a Named SQL Session
Saving and Opening Windows
Saving a Window for the First Time
Saving an Edited Window
Opening a Saved Window
Database Features
What You Are Going To Do
Defining the EMP_DS SQL Data Source
Additional Information About Using the SQL Tables Palette
Connecting a Table Gadget to the EMP_DS Data Source
Additional Information about Editing Tables
Using Selection and Display Criteria
Additional Information about Selection Criteria
Saving the Window
Defining the STATUS_MDS Memory Data Source
Connecting a Table Gadget to the STATUS_MDS Data Source
Mapping Cells Between Data Sources
Defining the DEPT_DS SQL Data Source
Connecting a Table Gadget to the DEPT_DS Data Source
Mapping and Formatting the Cells
Defining a Form
How to Define a Form
Additional Information about Forms
Using Parameters to Link Data Sources
Designing Windows
Aligning Objects
Using Resources
Checking the Focus Chain
Setting the Size of the Window
Setting the Background of the Window
Setting Attachments
Testing Attachments
Adding the Employee Window to the Application
Additional Features
Creating the Employee Manager Window
What You Are Going To Do
Defining the EMPMGR_DS SQL Data Source
Connecting a Table Gadget to the EMPMGR_DS Data Source
Joining Two Tables
Additional Information about Table Joins
Using Query Mode
Additional Information about Query Mode
Finishing the Employee Manager Window
Saving the Employee Manager Window
Adding the Employee Manager Window to the Application
Creating the Department Maximum Salary Window
What You Are Going To Do
Defining the DEPTMAXSAL_DS SQL Data Source
Specifying Selection Criteria Operations
Connecting a Table Gadget to the DEPTMAXSAL_DS Data Source
Saving the Department Maximum Salary Window
Using Predefined Callbacks
Additional Information About Using Rogue Wave Script Callbacks
Finishing the Department Maximum Salary Window
Saving the Department Maximum Salary Window
Adding the Department Maximum Salary Window to the Application
Creating the Control Window
What You Are Going To Do
Adding a Menu Bar to the Window
Creating the File Pop-up Menu
Attaching the File Pop-up Menu to the File Menu Item
Creating and Attaching the Panels Pop-up Menu
Finishing the Control Window
Saving the Control Window
Adding the Control Window to the Application
Using the Browser
Testing the Application
Generating the Application
Summary
Nested Tables
What You Are Going To Do
Setting Up the Database
Defining the PRODUCT_DS SQL Data Source
Defining the PARTS_DS SQL Data Source
Creating the Product Window
Saving the Product Window
Setting Up Data Access
Data Access Installation and Configuration
Installation Directories
Data Access and the Packages
System Name
System Environments
Setting Up Rogue Wave Views Views, Rogue Wave Views DB Link, and Data Access on UNIX
Setting Up Rogue Wave Views and Data Access on Windows XP and Vista
Setting Up the Rogue Wave Views DB Link Initialization File on Windows
Setting Up Database-Specific Variables
Format Syntax
String Formats
Number Formats
Date Formats
Literal Characters
SQL Schema Editor
Using the SQL Schema Editor
Creating the Tutorial Database Schema
Other Features
Charts
Using Charts with Rogue Wave Views Studio
Introducing Charts in Rogue Wave Views Studio
Launching Rogue Wave Views Studio with the Charts Extension
A Quick Look at the Interface
Creating a Chart Object
Using the Chart Inspector
Chart Inspector Icons
General Page
Data Sets Page
Displayers Page
Projection Page
Scales Page
Layout Page
Miscellaneous Page
Callbacks Page
Using the Chart Legend Inspector
Customizing Charts
Example 1: Charting Temperatures and Pressures of the Week
Defining Several Independent Ordinate Scales
Defining a Grid Associated with a Scale
Defining a Related Ordinate Scale
Creating a Stacked or a Side-by-Side Representation
Example 2: Charting Analytic Functions
Using a Data Set Defined by a Script Function
Using Logarithmic Scales
Connecting a Legend to a Chart
Using Polar Charts
Example 1: Representing Values Expressed in Radians
Case 1: Applying a Transformation
Case 2: Setting a Starting Angle and a Range
Example 2: Representing Time Values
Creating the Polar Chart
Defining the Data Set
Defining the Displayer
Customizing the Projection
Customizing the Abscissa Scale
Customizing the Ordinate Scale
Using the Charts Library
Introducing the Charts Library
Main Features of the Charts Library
Global Chart Characteristics
Data Features
Graphical Representations of Data
Scale Features
Decorations
Interactors
Feature Illustrations
Chart Basics
What is a Chart?
General Architecture of the Charts Library
Data Classes
Chart Classes
Basic Steps for Creating a Chart
Creating a Simple Cartesian Chart
Creating a Simple Polar Chart
Additional Ways to Customize a Chart
How Charts Work in Rogue Wave Views
Components of a Chart Object
Component Classes of the Charts Library
Using the Component Classes in an IlvChartGraphic Object
How Displayer Objects Draw the Graphical Display
Data Handling
Handling Data Storage
Types of Data Sets
Adding Data Sets to Be Displayed by a Chart
Sharing Data Among Charts
Modifying Data and Updating Charts
Types of Modifications
Updating Charts Automatically
Using Listeners to Catch Data Changes
Chart Layout
Computing the Chart Layout
Setting General Properties of a Chart Layout Object
Getting and Setting the Chart Layout Object of a Chart
Data Display
Drawing the Graphical Representations of Data
Using Single Displayers
Scatter Displayer
Polyline Displayer
Polygon Displayer
Step Displayer
Stair Displayer
Bar Displayer
3D Bar Displayer
High-Low Displayer
High-Low Bar Displayer
Pie Displayer
Using Composite Displayers
Marked Polyline Displayer
High-Low Open-Close Displayer
Stacked Displayers
Side-by-Side Displayers
Adding a Displayer to a Chart
Examples
Customizing Data Display
Adding Graphic Information to a Data Point
Defining How the Palettes are Applied for the Data Display
Projecting Out-of-Bounds Data Points
Scales Display
Drawing the Scales of a Chart
Setting General Properties
Using Single Scale Displayers
Setting General Properties
Predefined Single Scale Displayers
Using Scale Steps Updaters to Compute Scales Graduations
Adding a Scale Displayer in a Chart
Advanced Features for Customizing Scales
Changing the Orientation of the Scales
Defining the Minimum and Maximum Data Values Represented by a Scale
Applying a Transformation to the Data Values Represented by a Scale
Decorations Display
Displaying a Legend
Setting General Properties
Adding a Legend to a Chart
Displaying a Grid
Setting General Properties
Adding a Grid Displayer to a Scale
Displaying a Cursor
Setting General Properties
Adding a Cursor to a Scale
Interacting with Charts
Using the Chart Interactors
Zoom Interactor
Scroll Interactor
Pan Interactor
Crosshair Interactor
Drag-Point Interactor
Highlight-Data-Point Interactor
Information-View Interactor
Select-Data-Points Interactor
Setting an Interactor on a Chart Object
Example
Using Charts to Display Real-Time Data
Automatic Scroll Modes
Using Automatic Scroll Modes to Display Real-Time Data
Scroll Example
Improving Performance When Adding Data Points to a Chart
Releasing the Automatic Update
The IlvXMLChartData Class
Introducing the IlvXMLChartData Class
Tags Definition
data
series
valuesList
valueOperator
property
Customizing Value and Date List Processing
Graph Layout
Introducing the Graph Layout Package
What is the Graph Layout Package of Rogue Wave Views?
Features of Rogue Wave Views Graph Layout
Rogue Wave Views Graph Layout in User Interface Applications
Basic Concepts
Graph Layout: A Brief Introduction
What is a Good Layout?
Methods for Using Layout Algorithms
Graph Layout in Rogue Wave Views
The Base Class: IlvGraphLayout
Basic Operations with IlvGraphLayout
Instantiating a Subclass of IlvGraphLayout
Attaching a Grapher
Performing a Layout
Detaching a Grapher
Layout Parameters in IlvGraphLayout
Allowed Time
Animation
Layout Region
Preserve Fixed Links
Preserve Fixed Nodes
Random Generator Seed Value
Use Default Parameters
Getting Started with Graph Layout
Basic Steps for Using Layout Algorithms: A Summary
Sample Application
Launching Rogue Wave Views Studio with the Graph Layout Extension
A Quick Look at the Interface
Layout Algorithms
Determining the Appropriate Layout Algorithm
Generic Parameters Support
Layout Characteristics
Tree Layout
Samples
What Types of Graphs?
Application Domains
Features
Limitations
Brief Description of the Algorithm
Code Sample
Parameters
Generic Parameters
Specific Parameters (All Tree Layout Modes)
Free Layout Mode
Level Layout Mode
Radial Layout Mode
Tip-Over Layout Modes
For Experts: Further Tips and Tricks
Hierarchical Layout
Samples
What Types of Graphs?
Application Domains
Features
Limitations
Brief Description of the Algorithm
Code Sample
Parameters
Generic Parameters
Specific Parameters
Sequences of Graph Layout
Orthogonal Link Layout
Samples
What Types of Graphs?
Application Domains
Features
Limitations
Brief Description of the Algorithm
Code Sample
Parameters
Generic Parameters
Specific Parameters
Random Layout
Sample
What Types of Graphs?
Features
Limitations
Brief Description of the Algorithm
Code Sample
Parameters
Generic Parameters
Specific Parameters
Bus Layout
Sample
What Types of Graphs?
Application Domains
Features
Brief Description of the Algorithm
Code Sample
Parameters
Generic Parameters
Specific Parameters
Using Advanced Features
Using a Layout Report
Layout Report Classes
Creating a Layout Report
Reading a Layout Report
Information Stored in a Layout Report
Using Layout Event Listeners
Using the Graph Model
The Graph Model Concept
The IlvGraphModel Class
Using the IlvGrapherAdapter
Laying Out a Non-Views Grapher
Using the Filtering Features to Lay Out a Part of an IlvGrapher
Filtering by Layers
Filtering by Graphic Objects
Laying Out Graphs with Nonzoomable Graphic Objects
A Special Case: Nonzoomable Graphic Objects
Reference Transformers
How a Reference Transformer is Used
Reference Views
Specifying a Reference Transformer
Defining a New Type of Layout
Questions and Answers about Using the Layout Algorithms
Maps
Rogue Wave Views Mapsの概要
Rogue Wave Views Maps とは
マップ・ビルダー
クラス・ライブラリー
Rogue Wave Views Maps のインストール
Rogue Wave Views Maps のスタートアップ
例で使用するデータ
地図の作成
Rogue Wave Viewsマップ・ビルダーの実行
沿岸線情報が含まれるファイルのロード
Rogue Wave Views マップ・ビルダーのツールバーを使用する
道路を地図に読み込む
町の読み込み
大きな町を地図に読み込む
レイヤーの編集
ファイルの保存
ロード・オン・デマンドで地図を作成する
基本構造マップと CADRG ファイルのロード
Oracle Spatial で地図を作成する
Oracle Spatial データベースのレイヤーの作成
マップ・ビルダーによる Oracle Spatial レイヤーの表示
ロード・オン・デマンドで Oracle Spatial レイヤーを表示する
情報の永続性をテストする
Rogue Wave Views リーダー・フレームワーク
地図作成用のクラス:概要
地図機能
地図機能のジオメトリー
地図機能のアトリビュート
アトリビュートをグラフィック・オブジェクトに付加する
レンダラー
レンダラーの概要
色付き線のレンダラーを作成する
レンダラーの永続化
既存レンダラーの拡張
機能イテレーター
IlvMapFeatureIterator の概要
新しいリーダーの作成
ターゲット投影図法を選択する
地図を Rogue Wave Views へロードする
Rogue Wave Views 形式の地図をロードする
マップ・ローダー
縮尺フィルター
ロード・オン・デマンドの使用
ロード・オン・デマンドの機能
タイリング・グリッドの構造とサイズ
タイリング・グリッドの構造
タイリング・グリッドのサイズ
タイル・ステータスの表示
ロード・オン・デマンドの制御
可視性フィルターを使って、ロード・オン・デマンドを制御する
API を介してタイルをロードする
エラーおよびロード・オン・デマンド・イベントの管理
タイルのキャッシュ処理
タイル・レイヤーの保存
新しいキャッシュ・アルゴリズムを記述する
新しいデータ・ソースにロード・オン・デマンドを実装する
定義済みリーダー
形状ファイル・リーダー
形状ファイル形式の概要
形状ファイル形式を読み込むためのクラス
形状ファイルのロード・オン・デマンド
DTED ファイル・リーダー
DTED 形式の概要
DTED 形式を読み込むためのクラス
デジタル地形モデルのグラフィカル・レンダリング
CADRG ファイル・リーダー
CADRG 形式を読み込むためのクラス
イメージ・ファイル・リーダー
IlvImageReader クラス
IlvImageTileLoader クラス
例
IlvImageLayer クラス
GeoTIFF リーダー
GeoTIFF 形式
IlvGeoTIFFReader クラス
IlvGeoTIFFTileLoader クラス
IlvGeoTIFFLayer クラス
IlvGeoTIFFTiler クラス
Oracle Spatial 機能
リレーショナル・モデル・クラス
オブジェクト・モデル・クラス
S57 マップ・リーダー
S57 形式を読み込むためのクラス
スタイル、色およびアイコンの設定
地図投影図法
地図投影図法の概要
円筒図法
円錐図法
方位図法
正積図法または正角図法
投影データ:例
サンプル・コード一式
サンプル・アプリケーションの実行
投影図法宣言を含める
Main 関数
投影図法の初期化
投影データの作成
データの投影
投影結果の出力
逆投影の計算
地理座標の印刷
サンプル・コード一式
投影メソッドとパラメーター
順関数と逆関数
投影図法パラメーター
ユーティリティー
楕円
楕円の概要
投影図法に楕円を関連付ける
新しい楕円の定義
定義済みの楕円
単位コンバーター
単位コンバーターの直接使用
投影図法でコンバーターを使用する
単位コンバーターの定義
定義済み単位コンバーターの使用
測地原点が異なる座標間の変換
測地系の水平移動
測地系と投影図法
インポートした地図の上にグラフィック・オブジェクトを追加する
サンプル・コード一式
サンプル・アプリケーションの実行
Sample クラス、Main 関数、コンストラクターの定義
地図情報の取得
都市の追加
マウス位置の表示
新しい投影図法の作成
手順 1:新しい投影図法の定義
クラス宣言
投影図法の定義
順投影を書く
逆投影を書く
手順 2:新しい投影図法の定義
新規パラメーターの定義
新規エラー・コードの定義
新規クラスの宣言
投影図法の定義
エラー・コードの初期化
新規パラメーターと新規エラー・コードの使用
新規パラメーターの入出力関数を書く
手順 3:新しい投影図法の定義
アクセサー・サポートの追加
地図データ
推奨無料ソース
Data Access User Manual
地図データ
NEWFEATURES