Professional Documents
Culture Documents
Design
Module Development
Module Integration
Testing
Unit testing System testing Packaging the integrated modules into an installable format
Deployment
Breaks project down into independent modules that are easier to work with and debug Keeps size of .fmx files smaller Makes it easier for application to be worked on by project teams
Splash screen
Introduces application
Switchboard
Pull-down menus
Switchboard
Variables that can be referenced by any open form Remain in memory even after form in which they are created is closed Character variables, with maximum length of 255 characters Syntax for creating and assigning a value:
:GLOBAL.variable_name := value;
In an integrated database application, the main form calls other application module files A global path variable references a text string that stores the complete folder path to all application module files If application location is changed, only the global path variable needs to be changed
10
11
User starts application, and splash screen appears briefly Then, main form window displays switchboard and pull-down menus
12
Canvases
Windows
13
Dialog windows
Modal: user must close window before working in another window Appear in a separate window frame Do not display pull-down menus
14
Create an image item on the splash canvas Create a PRE-FORM trigger to load the splash art file into the image item when the form starts using the READ_IMAGE_FILE procedure
full path location to splash art file file image type
15
Form Timers
Created programmatically to control time-based form events When you create a timer, you specify the duration until the timer expires When the timer expires, the form WHEN-TIMER-EXPIRED trigger fires
16
timer name
17
18
19
Template Forms
Generic forms that include objects that will be used on all application forms
20
Create template form and store it in a central location When developers make a new form, they start with the template form, save it using a different filename, and then add specific items
21
22
23
To apply a Visual Attribute Group to a form item, open the item Property Palette and select the Visual Attribute Group
25
CALL_FORM
Opens a child form and immediately switches the focus to the child form
OPEN_FORM
Opens a child form with the option of not immediately switching focus to the child form Opens a child form and closes the parent form
NEW_FORM
26
Parameters:
Form_specification: full path and filename to new forms .fmx file, or form module name as specified in Object Navigator Display: specifies whether the calling form is hidden by the called form
HIDE: hides calling form NO_HIDE: calling form is not hidden, and user can multi-task between the two forms
27
Parameters (continued):
Switch_menu: specifies whether the child form inherits the calling forms pull-down menus
NO_REPLACE - menus are inherited by called form DO_REPLACE - menus are not inherited by called form; called form displays its own menus
28
Full path to child forms .fmx file Parent form will be hidden
29
Parameters:
Activate_mode: specifies whether the application focus switches to the child form
ACTIVATE: focus switches NO_ACTIVATE: focus remains on parent form
Session_mode: specifies whether the child form uses the same database session as the parent form
NO_SESSION: child form shares parent forms session SESSION: child form opens new session
30
Parameters:
Rollback_mode: specifies whether uncommitted transactions in the parent form are committed or rolled back when the parent form is closed
TO_SAVEPOINT: uncommitted transactions are rolled back to the last savepoint NO_ROLLBACK: uncommitted transactions are not rolled back FULL_ROLLBACK: all uncommitted transactions are rolled back
31
GO_FORM
NEXT_FORM
PREVIOUS_FORM
32
Parameter:
Form_identifier: form ID or form specification
Form_ID: unique ID given to form when it is opened; Can be retrieved using FIND_FORM procedure Form specification: form name, as specified in the Object Navigator
33
34
CLOSE_FORM
EXIT_FORM
Closes the current form, and provides options for committing or rolling back the uncommitted transactions
35
Parameter:
Form_identifier: form ID or form specification
Form_ID: unique ID given to form when it is opened; Can be retrieved using FIND_FORM procedure Form specification: form name, as specified in Object Navigator
36
Parameters:
Commit_mode
ASK_COMMIT: ask user whether to commit DO_COMMIT: automatically commits all transactions NO_COMMIT: discards uncommitted transactions
WHEN-WINDOW-CLOSED Triggers
Form-level trigger Fires when user clicks the Close button on a form window title bar Code syntax: EXIT_FORM;
38
Project Builder
Developer utility to help project developers organize and manage individual form, report, and graphic files in an integrated database application
Provides a central access point for all project files Allows developers to selectively recompile project files Aids in deploying the finished project
39
Project definitions, including title and folder where project files are stored Project default database connection User information (author name, comments) References to files that are included in the project
40
Launcher
41
Launcher
Secondary toolbar to access other Developer utilities Shows Project Builder and project components
42
Global registry
User registry
Connections
Projects
Project Properties
44
46
47
Examples: file name, file type Examples: directory, author, database connection
48
Inherited properties
49
Add and delete project files Access and modify project files in their underlying Developer utility Create and assign database connections to projects Create subprojects Build (compile) project files
50
To add a new file to a project, select the project in the Project Navigator, and click the Add Files to Project button To remove a file from a project, select the file, and then click the Delete button
51
To start a specific Developer utility with no file loaded, click the appropriate button on the Launcher toolbar
Form Builder
Report Builder
Graphics Builder
Procedure Builder
Query Builder
52
To start a specific Developer utility with a specific file loaded, click the icon beside the document file
53
Select the Connections node, and then click the Create button Open the new connection Property Palette, and specify the connection information
55
Subprojects
Large projects can be divided into subprojects that are easier to manage
Creating a Subproject
Make sure that no project is currently selected, and then start the Project Wizard Select the Create a sub-project under an existing project option button, and then click Next
57
Creating a Subproject
Select the parent project and click Next Specify the rest of the project properties
58
To save development time, only build files when the associated input files have changed
59
60
Delivering a Project
Generate scripts for installing the project using the Oracle Installer
61
Project files can be prepared for delivery using the Delivery Wizard Delivery Wizard Pages
Project setup: specifies project name and whether project is a new project or a patch for an existing project Staging area: specifies the staging area location Files: specifies the project files to be delivered Subdirectories: specifies the folder to which the files will be delivered Finish: summarizes the delivery information
62
Project Navigator toolbar Pages that appear in wizards Default project information for all projects Project Navigator display Launcher toolbar
To open the Preferences dialog box, click Tools on the menu bar, and then click Preferences
63
Form Menus
Pull-down menus
Allow users to click a top-level choice on the menu bar, and display related selections
Menu toolbars
Pop-up menus
Pull-Down Menus
Menu modules are separate modules built in Form Builder
Design file: .mmb extension Compiled file: .mmx extension
65
Pull-Down Menus
A menu module can contain multiple menu items Menu items are sets of menu selections that appear on the menu bar
Menu module
Menu item
66
Menu item
Parent menu items Menu handle Individual menu Child menu items
67
Select the Menus node in the Object Navigator, and click the Create button to create a new menu module Double-click the Menu Module icon beside the new menu module to open the Menu Editor
68
Change the first item label Click the Create Right button create new parent menu items Click the Create Down button create new child menu items
to
to
69
Specifies whether item is visible or hidden Allows you to implement menu security based on database roles
70
Plain
Regular menu item Specifies a property that is enabled or disabled Specifies a selection in a group of related selections, of which only one can be selected Separator bar Predefined menu types
71
Check
Radio
Separator
Magic
72
Access Keys
Access key: key user can press to activate a pulldown menu selection
Parent menu items: press access key plus Alt Child menu items: press access key alone
By default, child forms display their parent forms custom menus To display an alternate menu, specify DO_REPLACE in the CALL_FORM procedure:
75
Menu Toolbars
Display iconic buttons that appear horizontally or vertically on a form toolbar Have equivalent pull-down menu selections
Horizontal toolbar
76
Open the Property Palette of the corresponding menu item, and change the items Visible in Horizontal or Vertical Menu Toolbar property to Yes
77
Pop-up Menus
Context-sensitive menus that appear when the user right-clicks when the pointer is on a specific form item Associated with a specific form Exist as top-level form objects
78
Create a new Pop-up Menu object in the Object Navigator Specify the menu code trigger associated with the pop-up menu Attach the pop-up menu to one or more form items
79
Menu Security
Allowing certain users to use a pull-down menu module Allowing certain users to user specific pulldown menu selections
81
Steps:
Enable the security function in the module Specify the database roles that can access the menu module Specify the database roles that can access specific menu items
82
83
Open the menu module Property Palette, and specify the roles in the Menu Module Roles dialog box
84
Open the menu item Property Palette, click the Item Roles property, and select the desired roles in the Menu Item Roles dialog box
85
You can use the SET_MENU_ITEM_PROPERTY procedure to change menu item properties at runtime
86
Syntax:
Parameters:
Menu_specification: either the menu ID or menu item name Property_name: name of property being set Value: new property value
87