JenAva  for Window 95 & NT

User’s Guide

Introduction

Menus and ToolBar

Project

Database Support

Forms Builder

Menu Builder

Events Builder

CodeCinch


IDH_MAIN_INTRODUCTION
Introduction

Jenernet Corporation publishes the JenAva line of Java development tools for programmers and Internet content providers.  The JenAva product line has been designed and implemented in the format of intuitive generators that do not require extensive manual documentation. Both the novice and experienced developer will find that their reference questions will be solved by selecting context sensitive help which is available throughout the products.

The rapid growth in the use of web browsers and the Java programming language for the exchange, presentation, and distribution of information has prompted an increasing demand for rapid development tools and methods. The purpose behind JenAva’s intuitive design is to enable first time users to become immediately productive without facing a time-consuming learning curve.

What is JenAva?

JenAva's Features


Menus and ToolBar

Menu selections available are file, Object, View, window and help.

This is the project tool bar.

File Menu

Object Menu

View Menu

Window Menu

Help Menu


Database Support

Currently JenAva supports the JDBC 1.1c release with the ODBC bridge under the Java Development Kit (JDK) version 1.0.2 from Sun Microsystems.

Dictionary

Table


Forms Builder

A Form is a document developed on a WYSIWYG (What You See Is What You Get) basis within JenAva.  A Form may contain data from tables as well as objects.  Objects consist of fields, buttons, text, radio buttons, check boxes, list boxes, combo boxes, group boxes, lines, rectangles, circles, graphics, and animation.

Create a new form

Open a existing form

Edit a existing Form

Delete a form

Form Properities

Object ToolBar

Grid Setting


Code Cinch

Edit CodeCinch


Event Builder

The Event Builder provides the user with the ability to execute a list of commands based on real-time stepped conditions.  These are then known as Event Trees.

Root of the Tree  	Displays the name of the object being edited.

Predefine Conditions 	All event trees are based on predefined conditions supported by a particular object.

Predefined conditions supported are the following events:

Click

Selection Change

Initialize

Close

Double Click

Lost Focus

Vali Func

Event Tree  	Graphic depiction of the event tree.  Right clicking on nodes provides an editing menu.

Condition...  	Loads the condition builder dialog and inserts the finished condition after the currently selected node.

Conclusion...	Loads the conclusion builder dialog and inserts the finished conclusion after the currently selected node

Edit  	Edits the currently selected node.

Delete  	Deletes the currently selected node.

Condition Builder

User's Objects

Functions Builder

User's Value


Create  Menu
Create a  Menu

A menu consists of one or more pop-up menus (i.e., File) and each pop-up menu consists of one or more menu items (i.e., Open, Close).  Menu items are denoted as being shifted right of their related pop-up menu item.  You may shift menu items back and forth to reposition them in any desired fashion.  A validation is done at key points and before exiting the dialog to ensure no level is incomplete or has been skipped.


Edit a existing Menu
Edit an existing Menu

Enter the menu item information in the spaces provided.  The menu item is not actually added to the Menu until the Insert button is pressed.  To edit an item select an item from the menu item list and press the edit button.  The Insert button will change to an Update button.  Press the Update button when you are finished editing the menu item to update it back into the menu list.  The Update button will return to the Insert mode.


What is JenAva?

JenAva is a code generator for generating the source code necessary for projects, applications and applets targeted to be run on any Java enabled environment. The generator runs under Windows 95 or Windows NT and can generate both complex integrated systems as well as simple applets.  The entire development environment is based upon WYSIWYG (What You See Is What You Get), thus making application development swift and easy for both novices and seasoned application developers.


JenAva's Features

JenAva is a fully functional application code generator with the ability to generate full source code for Java enabled platforms rather than creating only skeleton code around which further source code must be written by the user.

JenAva’s Features...

•	eliminates the learning curve barrier normally faced by a user learning a new language

•	generates 32-bit applications

•	generates applications that can be run under a browser or stand-alone

•	includes multimedia support for sound and animation

•	supports user added classes and extensions

•	supports standard Java controls

•	includes a 4GL user interface that provides intuitive WYSIWYG integrated development environment (IDE)

•	provides support for user defined code through CodeCinch

•	produces royalty free code with no required run-time license

•	generates object oriented and event driven code

•	includes on-line context sensitive help

•	permits user definable generation styles

•	includes Java Development Kit so there is nothing else to purchase

•	includes JDBC 1.1c support


Project

The project is the collection of all objects needed to generate an application in JenAva.  Major components of a project are displayed in the project window in the form of a project tree.  Clicking and double-clicking enables navigation of the project within the project tree.

Create a Project

Open an existing Project

Save current  Project


File Menu

Menu selections available under file are New, Open, Close, Save, Save As, System Setting, and Exit.

New [image] (Ctrl+N)

Select New to create a new project.

Open [image] (Ctrl+O)

Select Open to load an existing project (default extension .JenAva)

Close (Ctrl+C)

Select Close to close the current project.

Save [image] (Ctrl+S)

Select Save to save the current project to its defined path.

Save As...

Select Save As to save the current project to a name, directory, or path of choice

System setting

Select System Setting to set system options.

Exit (Ctrl+E)

Select Exit to close the current project and exit JenAva. The user will be prompted to save the project if modifications have been made since the last save.


Object Menu

Form	Select it to show Form Window.

Table	Select it to show Database Window.

Menu	Select it to show Menu Window.

CodeCinch	Select it to load CodeCinch edit Window.


View Menu

The menu selections available under view are Toolbar and status bar.

Toolbar	A user may either activate or deactivate the toolbar by clicking on the 	toolbar selection.

Tile


Window Menu

This selection gives the normal Windows 95/NT options of cascading window, tiling window, arranging icons or moving between windows.


Help Menu

This gives you normal index on help using Help and the About JenAva screens.


Dictionary

The data dictionary defines all the elements used by an application.  These elements are combined into data files.

Dictionary Name  	The name of the data dictionary.

Dictionary Description  	The description of the data dictionary.

Field	The name of the element.  It must be unique.

Description  	The element description.

Data Type  	Specifies the element data type.

Bytes  	The size of the element in bytes. This attribute 	depends on the data type.

Edit Mask 	Specifies the formatting rules for the element value.

Add  	Adds the element being edited to the element list.

Edit  	Edits the currently selected element.

Delete  	Deletes the currently selected element.

Data Type

Add a Field

Modify an existing field's Property

Delete a existing Field


Table

Create a new Table

Editing  a Existing Table

Delete a existing Table

Fields

Key


Data Type

The data type categorizes the element as one of the following:

A - Any Character

This type of element can hold any ASCII character including punctuation.  Use it whenever you need more than just letters and numbers.

Default Mask: “xxxxxxxx”

B - Numeric Literal

Numeric literal elements store numbers, number signs, and numeric punctuation like commas.  They function like numeric elements in computations, but are stored like character elements.

Default Mask: “99999999”

C - Alphabetic

This type of element holds only the characters A to Z and a to z.  No punctuation is allowed.  Use type A if you want to include punctuation marks.

Default Mask: “aaaaaaaa”

D - Double Precision Floating Point

Double precision floating point elements store decimal numbers up to 8 bytes long.  This allows positive or negative numbers up to 18 digits.

Default Mask: “z,zzz,zz9.99”

I - Short Integer

Short integer elements store non-decimal numbers up to two bytes long (between -32768 and 32767).

Default Mask: “zzzz9”

L - Long Integer

Long integer elements store non-decimal numbers up to four bytes long (between -2147483648 and 2147483647).

Default Mask: “zzzzzzzzz9”

M - Money

Money fields are pre-formatted in dollar format, with a dollar sign and decimal point.  They function like double precision floating point elements (type D) in all other respects.

Default Mask: “$zzz,zzz,zz9.99-”

N - Generic Numeric

This is the same as type D, Double Precision Floating Point.  Some people find N more mnemonic.

Default Mask: “z,zzz,zz9.99”

P - Alphanumeric

Alphanumeric elements store letters and numerals; they do not store punctuation marks.  You cannot use alphanumeric elements in numeric computations.

Default Mask: “xxxxxxxx”

R - Floating Point

Floating point elements store decimal numbers up to 4 bytes long.  They can hold numbers with up to 10 digits.

Default Mask: “z,zz9.99”

T - Date

Type T date elements are stored in the native date format for the file manager.  They are stored as 6 bytes character strings in the form MMDDYY.  You can modify the entry and display formats by changing the format mask.

Default Mask: “MM-DD-YY”

Field Mask Format


Add a Field

Field	The name of the element.  It must be unique.

Description	The element description.

Data Type	Specifies the element data type.

Bytes	The size of the element in bytes. This attribute depends on the data 	type.

Edit Mask	Specifies the formatting rules for the element value.

Field	 	The name of the element.  It must be unique.

Description  	The element description.

Data Type  	Specifies the element data type.

Bytes  	The size of the element in bytes. This attribute depends on the datatype.

Edit Mask 	Specifies the formatting rules for the element value.


Modify an existing Field's Property

Field	The name of the element.  It must be unique.

Description	The element description.

Data Type	Specifies the element data type.

Bytes	The size of the element in bytes. This attribute depends on the data 	type.

Edit Mask	Specifies the formatting rules for the element value.


Edit Mask
Mask Format

The format mask is the way in which the data for this particular element is represented. These are divided into character fields, numeric fields and date fields.

Character Fields

a 	Alphabetic and <Space>, mixed case

B 	Alphabetic and <Space>, lower case

C	Alphabetic, lower case

c	Alphanumeric, lower case

P	Alphanumeric and <Space>, upper case

p	Alphanumeric and <Space>, mixed case

Q	Alphanumeric and <Space>, lower case

V	Alphanumeric, punctuation, and <Space>, lower case

X	Alphanumeric, punctuation, and <Space>, upper case

x	Alphanumeric, punctuation, and <Space>, mixed case

Numeric Fields

9	Numerals including zero

Z or z	Numerals except leading and trailing zeros

8	Floating point, decimal entered by user

-	Negative sign if value is negative

(	Left parenthesis if value is negative

)	Right parenthesis if value is negative

,	Thousand separator

.	Decimal

$	Currency Symbol

Date Fields

DD	Day

MM	Month number

YY	Year number


New Object
Object ToolBar

Standard Objects may be selected for positioning on your form.  After selection each object is inserted on your form by way of drag and drop using the left mouse button.  These objects may be sized via mouse control and deposited on the screen in a WYSIWYG fashion.

New objects consist of:

field

Multilined StaticText

button

text

radio button

checkbox

listbox

combobox

groupbox

line

rectangle

circle

graphic

animation


Field

Creates a field on a drag and drop basis.

Tag ID	Specifies the Tag ID of the field.

Visible	Determines whether the field will be visible on the form.

Disabled	Determines whether the field will be disabled on the form.

Group	Determines whether the field will belong to a group.

Tab Stop	Determines whether the field is a tab stop on the parent form.

Read Only	Determines whether the field is read only (not allow input).

Event	Loads the Event Builder.

Type	Specifies the data type of the field.

Bytes	Specifies the size of the field in bytes.

Edit Mask	Specifies a format validation string.

Link	Assigns a database link to the current field.


Multiline Static Text

Tag ID  	Specifies the Tag ID of the field

Visible  	Determines whether the field will be visible on the form.

Group  	Determines whether the field will belong to a group

Disabled  	Determines whether the field will be disabled on the form.

Tab Stop  	Determines whether the field is a tab stop on the parent form.

Lock  	Lock the object, do not move it.

Event 	Loads the event builder

Multilined Text	To show the Multilined Static Text.


button

Creates a button on a drag and drop basis.

Tag ID  	Specifies the Tag ID of the button.

Caption  	Specifies the text that will appear on the button.

Visible  	Determines whether the field will be visible on the form.

Group  	Determines whether the field belongs to a group.

Disabled  	Determines whether the field will be disabled on the form.

Tab Stop  	Determines whether the field will be a tab stop.

Lock  	Lock the object, do not move it.

Graphical	Specifies whether or not to place an image on the button.

Sound	Specifies whether or not to place an Sound on the button.

Color  	Loads the color selection dialog


text
Static Text

Adds text fields on a drag and drop basis.

Tag ID  	Specifies the Tag ID of the text.

Caption  	Specifies the text that will be displayed.

Visible  	Determines whether the text will be visible on the form.

Group  	Determines whether the text will belong to a group.

Disabled  	Determines whether the text will be disabled on the form.

Lock  	Lock the object, do not move it.

Tab Stop 	Determines whether the text will be a tab stop.

Font	Loads the font selection dialog.

Horiz Align	Specifies the horizontal alignment of the text.

Vert Align	Specifies the vertical alignment of the text.

Border	Determines whether the text has a border.


Radio Button

Creates a radio button object on a drag and drop basis

Tag ID  	Specifies the Tag ID of the object.

Caption  	Specifies the text that will be displayed on the object.

Visible  	Determines whether the object will be visible on the form.

Group  	Determines whether the object will belong to a group.

Group Name 	The object will belong to a group’s name.

Disabled  	Determines whether the object will be disabled on the form.

Tab Stop 	Determines whether the object will be a tab stop.

Lock  	Lock the object, do not move it.

Event Tree  	Loads the Event Builder.


checkbox

Creates a check box button object on a drag and drop basis

Tag ID  	Specifies the Tag ID of the object.

Caption  	Specifies the text that will be displayed on the object.

Visible  	Determines whether the object will be visible on the form.

Group  	Determines whether the object will belong to a group.

Disabled  	Determines whether the object will be disabled on the form.

Tab Stop  	Determines whether the object will be a tab stop.

Lock  	Lock the object, do not move it.

Event Tree  	Loads the Event Builder.


List Box

Creates a list box on a drag and drop basis

Tag ID	Specifies the Tag ID of the object.

Caption	Specifies the text that will be displayed on the object.

Visible	Determines whether the object will be visible on the form.

Group	Determines whether the object will belong to a group.

Disabled	Determines whether the object will be disabled on the form.

Tab Stop	Determines whether the object will be a tab stop.

Lock  	Lock the object, do not move it.

Sort	Determines whether the contents of the list box will be sorted.

Horz Scroll	Determines whether the list box will have horizontal scrollbars.

Vert Scroll	Determines whether the list box will have vertical scrollbars.

Selection	Determines the type or list box.

List of Choices	Specifies the contents of the list box.  Use CTRL-ENTER to 	move to next line.

Event	Loads the Event Builder.


Combo Box

Tag ID	Specifies the Tag ID of the object.

Visible	Determines whether the object will be visible on the form.

Disabled	Determines whether the object will be disabled on the form.

Group	Determines whether the object will belong to a group.

Tab Stop	Determines whether the object will be a tab stop.

Lock	      Lock the object, do not move it.

Vert Scroll	Determines whether the Combo box will have vertical scrollbars.

List Entries	Specifies the contents of the Combo Box.  Use CTRL-ENTER to 	move to next line.

Event	Loads the Event Builder.


Group Box

Create a group on a drag and drop basis.

Tag ID  	Specifies the Tag ID of the object.

Caption 	Specifies the text that will be displayed on the object.

Visible 	Determines whether the object will be visible on the form.

Group  	Determines whether the object will belong to a group.

Disabled  	Determines whether the object will be disabled on the form.

Tab stop  	Determines whether the object will be a tab stop.

Lock  	Lock the object, do not move it.

Event Tree  	Loads the Event Builder.


Line

Create a line on a drag and drop basis.

Tag ID	Specifies the Tag ID of the line.

Visible  	Determines whether the line will be visible on the form.

Color  	Specifies the color of the line.

Lock  	Lock the object, do not move it.

Line Thickness  	Specifies the width of the line


Rectangle

Create a square or rectangle on a drag and drop basis

Tag ID  	Specifies the Tag ID of the object.

Visible  	Determines whether the object will be visible on the form.

Lock  	Lock the object, do not move it.

Border  	Specifies that the rectangle will have a border.

Fill Color  	Specifies the color to fill the rectangle with.

Border Color  	Specifies the color of the rectangle border.

Clear 	Specifies  the background is transparent .

Filled	  	Specifies  the background is opaque.

Line Thickness  	Specifies the width of the border.


Circle

Creates a circle on a drag and drop basis.

Tag ID  	Specifies the Tag ID of the object.

Visible  	Determines whether the object will be visible on the form.

Lock  	Lock the object, do not move it.

Border  	Specifies that the circle will have a border.

Fill Color 	Specifies the color to fill the circle with.

Border Color  	Specifies the color of the circle border.

Clear 	Specifies  the background is transparent .

Filled	  	Specifies  the background is opaque.

Line Thickness  	Specifies the width of the border.


Graphic

Create a graphic on a drag and drop basis.

Tag ID  	Specifies the Tag ID of the object.

Visible  	Determines whether the object will be visible on the form.

Group  	Determines whether the object will belong to a group.

Disabled  	Determines whether the object will be disabled on the form.

Tab Stop  	Determines whether the object will be a tab stop.

Scale Image 	Determines whether the Image will be a Scale.

Graphic  	Specifies the graphic from the image library associated with the 	object.

Browse 	 	Browses the image library for an image.

Lock  	Lock the object, do not move it.

Event Tree  	Loads the Event Builder.


Animation

Create an animation on a drag and drop basis.

Tag ID  	Specifies the Tag ID of the object.

Visible  	Determines whether the object will be visible on the form.

Repeat  	Specifies whether the animation will loop or not.

Delay Between Frames	Specifies the time (in milliseconds) between frames.

Event 	Loads the Event Builder.

1.	Images In Loop  	Specifies all the images in the image loop.

Add  	Loads the image library and allows selection.

1.	Delete 	Removes the currently selected image from the image 	loop.

1.	Delete All  	Removes all images from the image loop


Create a new form

Select objects from the project menu.

Click on the New Form button or select the new form icon  [image] from the project toolbar.


Open a existing form

From the project tree and the Project window double click on the forms descriptor or the small plus box next to the forms icon.

A list of available Forms appears under the Project tree.

Double click on the form you wish to open.


Delete a form

Forms can be deleted from the Project Components dialog.


Form Properities
Form Properties

To obtain the Properties for a form, open the form and click on an open spot on the form or choose the Properties item under the Form menu.

Selecting Event tree will open the Event builder dialog box to prompt you to build the event tree.  Refer to Event Builder.

Upon completion of the selection of the background color and the event tree click on OK.   .

Tag ID  	Specifies the name of the form

Caption  	Specifies the text placed in the title bar of the form.

“Color”  	Specifies the color of the form background


Edit a existing Form
Edit an existing Form

Objects can be cut, copied,  pasted and deleted between forms by using the commands in the Edit menu.


Create a Project

In order to create and generate new applications or applets it is necessary to create a new project for each.  In order to create a new project the current open project if any needs to be saved and closed as multiple projects cannot be run simultaneously.  To create a new project click on new under the file menu.


Open an existing Project

Select the File / Open menu item from the main menu.


Save current  Project

Select the File / Save menu item from the main menu.


System Setting

Project Name	The name of the new Project.

System Setting Name	Setting system options.

Stand-Alone Application/Applet	Determines whether the Project will be Stand-Alone 	Application or Applet.

Multi-Threaded	Determines whether the Project will be Multi- 	Threaded.

System Output for Debug	Determines whether the Project can be debugged.

Import Data File	Determines whether the Project can Import data files.

Generated Code Path	All generated code and CodeCinch are placed in 	this directory.

Code Editor	Specifies the executable file used to view and edit 	the generated source code.

Runtime Virtual Machine	Specifies the supervisory Project used to run the 	generated  application (i.e., debugger, browser, etc.).

Browser

Compiler	Specifies the Compiler file.

Compiler Flag	Specifies the Compiler Flag.


Condition Builder

IF | ELSE IF | ELSE	Select the Object’s condition.

LValue	Specifies the Object’s condition left value.

Operator	Specifies the Object’s condition operator.

RValue	Specifies the Object’s condition right value.

Object	Load the Object Window.

Function	Load the Function Window.

User Value	Load the User Value Window.

Note:	  A condition cannot be attached to an Event until a Function is defined.


Menu Builder

Name	Specifies the name of the menu item.  This value is used by the 	generator.

Caption	Specifies the text to be displayed in the menu.

Separator	Determines whether a menu item is a horizontal separator.

Pop-up	Determines whether a menu item is a pop-up menu.

Inactive	Determines whether a menu item is initially disabled.

Checked	Determines whether a menu item is initially checked.

Grayed	Determines whether a menu item is initially disabled and grayed.

Delete	Deletes the currently selected menu item.

Event Tree	Loads the Event Builder.

Create  Menu

Edit an existing Menu

Event Builder


User's Objects

Object Type	To show Object that can be selected.

Validation 	To show the Object type.


User's Funtions

Functions	Show all function to be selected.

Funnction Syntax	Show user’s selected’s function Syntax.

Object	Load  the Object Dialog.

User Value	Load the User Value.

<<	To clear the selected Function.


User's Values

Enter Value Here 	Show Value style.


Create a new Table

Select the table button from the vertical tool bar  [image] .

In the dialog box under Name select the data dictionary that you wish to utilize for this Table.  Enter the Table name in the Description column. This is the name used to refer to this Table within JenAva. The Table name must be a valid file name and it must not duplicate any existing Table names.

Click OK  [image] .The Table definition dialog box pops up.  Select Add to chose the data dictionary upon which this Table will be based.  Select the data elements from each data dictionary that you wish to apply to this particular Table.  Each data element will be added to the Table list.

Upon completion of all the element entries for this Table click OK.


Editing  a Existing Table

Select the Objects/Tables item under the Project menu or double click on the Table in the project dialog tree window  [image] .  The Table dialog box will pop up.  Select the name of the data dictionary.

Click OK [image] .  The Table definition dialog box will pop up and allow for modifications.


Delete a existing Table

Tables can be deleted from the Project Components dialog.

All fields must first be removed from the table to ensure referential integrity within the project.


Fields

A field is an element from a data dictionary that may be added to the table definition.

Key

Adding a Field

Editing a existing Field

Delete a existing Field


Key

Table definitions within JenAva must have at least one Key-type.  Key-types are the fields used by the file managers to identify individual records within a file (i.e. the file manager finds a data record by looking up the value for a Key-type within an index).

No key 	(N)

Default. Not a key field. It cannot be used for searching or sorting.

Duplicate key 	(D)

A duplicate key allows two records in a file to have the same value in a key field. Duplicate keys are suitable for information such as last names.  JenAva does not limit the number of duplicate keys your data file can have.

Unique key	(U)

Unique keys do not allow for duplication of data.  Good types of data to use as unique keys are non duplicating pieces of information such as account numbers of drivers license numbers.  JenAva does not limit the number of unique keys your data file can have however your data manager may set certain limits.


Add a Field

Select add in the table definition.

The data dictionary box will pop up containing the list of elements.

Select the element you wish to add.

Click on OK.

The element is automatically added to the table definition as a Field within the data

definition.


Editing a existing Field

Select the Field by positioning the cursor on the Field you wish to edit.

The Field is then highlighted.

Click on Edit to edit this Field in your table definition.

The Field is then placed in the edit area of the table definition.

Position the cursor at the item you wish to edit and key in the new changes.

On completion, click on Update and the Field will now retain your changes.


Delete a existing Field

Select the Field by positioning the cursor on the Field you wish to delete.

The Field is then highlighted.

Click on Delete to cut this Field from your table definition.


Grid Setting

Show Grid	Determines whether the Form will be show grid.

Width	Determines that the Form Grid’ Width space.

Height	Determines that the Form Grid’ Height space.