Title: Oracle Developer2000 2
1Oracle Developer/2000(2)
- Camille Salinesi
- CRI (bur. C1406)
- Université Paris 1 - Sorbonne
- Centre Pierre Mendes France
- 90, rue de Tolbiac 75013 Paris France
- camille_at_univ-paris1.fr
2Programme
- Détails d IHM pour la création d applications
avec Developer/2000 - Modifier l apparence et le comportement des
blocks de données - Créer des blocks de contrôle
- Les différents types d éléments
- Textes
- LOVs
- Éléments de saisie supplémentaires
- Éléments non modifiables
- Fenêtres et canevas
- Non couvert
- Editeurs
- Arbres
- Menus
-
3Les deux types de blocks
- Blocks de données
- sont associés aux tables de la base de donnée
- Blocks de contrôle
- ne sont pas associés à une base de données
- ne contient initialement pas d élément (car il
n y a pas d association a faire avec une
colonne de table) - ne sont pas automatiquement mis à jour, à moins
que vous ne le programmiez vous-même
4Modifier lapparence et le comportement des blocks
- Wizard réentrants
- sélectionner le block de données
- lancer le wizard (data block wizard ou layout
wizard) et réaliser les modifications en suivant
un plan prédéfini - Layout Editor
- invoquer l éditeur de présentation et réaliser
les modifications manuellement - Palette de propriétés des Blocks
- ouvrir la palette de propriété des blocks de
données à partir du navigateur d objets (ou à
partir du menu de Form Buidler
Tools/PropertyPalette) pour modifier le
comportement du bloque de données lors de
l exécution de l application - Palette de propriétés des cadres (Frame)
- ouvrir la palette de propriété du cadre (Frame
property palette) associé et modifier les
propriétés individuelles pour changer
l arrangement des éléments du block de données
5Palette de propriétés
- Barre d outils
- Recherche
- Colonne nom de propriété
- cercle valeur par défaut
- carré la valeur a été changée
- flèche la valeur est héritée
- flèche avec croix la valeur est héritée et a
été surchargée - Colonne valeur de propriété
- champs texte
- liste pop-up (ex oui/non)
- LOV
- bouton (pour rentrer dans les détails des
propriétés complexes)
6Définir simultanément les propriétés de
plusieurs objets
Intersection/
Union
7Copier les propriétés d un objet à l autre
- Sélectionner les attributs à copier dans la
palette de propriétés (utiliser la touche CTRL) - Utiliser la fonction Copier de la la palette
de propriétés - Sélectionner dans le navigateur d objet le (ou
les) objet(s) sur le(s)quel(s) vous désirez
reproduire les propriétés, - Ouvrez la palette de propriété et utiliser sa
fonction Coller - Il est possible de copier/coller les propriétés
entre objets de différents types Lorsqu une
propriété n est pas applicable, elle est ignorée
lors du coller - Une liste de propriétés et les valeurs associées
peuvent être sauvegardées sous la forme de classe
de propriétés ( Property Class ) et
réutilisées ultérieurement. Les classes de
propriétés sont-elles-mêmes de objets de Form
Builder
8Propriétés des blocks de données
- Général
- Navigation
- Enregistrement (Record)
- Base de données (Database)
- Bdd avancée (Advanced Database)
- Ascenseur (Scrollbar)
- Police et couleur (Font and Color)
- Mode caractère (Character Mode)
- International
9Comportement ( Navigation )des blocks de
données (1)
- Block de données / Palette de propriétés /
Attribut navigation - Navigation style (Style de navigation)
- par défaut, lorsque l on arrive au dernier item
d un block, on retourne au premier l attribut
navigation style permet de changer cela - same record (par défaut)
- change record (change de tuple quand on arrive à
la fin du tuple courant) - change data block
- Previous data block (Block de donnée précédent)
- Next data block (Block de donnée suivant)
- par défaut, chaque block de donnée a une position
dans la hiérarchie des objets. C est cette
position qui est normalement utilisée. Les
attributs next/previous permettent de changer
cela de manière explicite et persistante
10Comportement des blocks de données (2)
ORDERS
Commande
Previous Navigation
Data Block
Element
Same
Record
Next
Record
Next Navigation
Data Block
11Propriétés base de données ( Database )des
blocks de données (1)
- Type de block Database Data Block Yes
(synchronisé avec la bd) / No (aucune synchro) - Contrôle des opérations de requête, insertion,
mise à jour, et suppression sur le block de
donnée - Query/Insert/update/Delete Allowed Yes/No
- Enforce Primary Key Yes / No (vérification de
l unicité des tuples avant mise à jour de la
table correspondante si Yes, alors au moins un
item du block doit être identifié comme clé
primaire (attribut primary key )) - Enforce Column Security Yes / No (si oui, les
mises à jour du data block ne peuvent être faites
que si l utilisateur a l autorisation
équivalente au niveau bd) - Identifier la source de données du block
- Query Data Source Type None, Table, Procédure,
Transactional Trigger, FROM query - Query Data Source Name, Query Data Source Column
- Ordre de présentation par défaut ORDER BY
Clause - Contrôle de la durée maximale des requêtes
- Update Changed Columns Only Yes / No
- Maximum Query Time / (Query Array Size / Number
of Records buffered au niveau Records)
12Propriétés base de données des blocks de données
(2)
Tuples buffurisés
Tuples Atteints
Affichage du Block
SELECT .... WHERE Clause ORDER BY Clause
Source de données
13Propriétés des tuples ( Records ) des blocks
de données
- Number of Records Displayed lt number of Records
Buffered - 3 - Record Orientation Horizontal / Vertical
- Single Record Yes (pour les blocks de contrôle
contenant une valeur calculée) / No (pour les
blocks de données) - Query All Records Yes (nécessaire pour
supporter les champs calculés)
Présentation verticale
Présentation horizontale
14Attributs visuels ( Visual Attribute
Group )des blocks de données
- police, couleur, et patterns définis pour des
objets dans des formulaires ou de menus - les attributs visuels peuvent eux-mêmes être
définis comme des objets nommés - chaque objet d interface peut dériver ses
attributs visuels d un objet attribut visuel
nommé (à l aide de l attribut Visual
Attribute Group ) - les attributs visuels partiels sont des objets
attribut visuels qui ne définissent les valeurs
que de certains attributs (par ex, seulement la
police et la couleur)
15Propriétés de présentation des éléments des
blocks de données (frame properties)
- Chaque block de donnée est associé à un cadre
( frame ), le cadre décrit les propriétés de
présentation des éléments du block de données - Update layout
- automatically la présentation peut être
modifiée si l on déplace ou redimensionne le
cadre, ou si l on modifie n importe quelle
propriété de présentation - manually la présentation ne peut être modifiée
qu avec le layout wizard ou le layout editor - locked la présentation ne peut pas être
modifiée du tout - Layout style formulaire ou tabulaire
- Distance between records distance entre les
tuples dans l unité de mesure spécifiée au
niveau du module de formulaire (attribut
Coordinate System valeurs Real pixel ou
Character taille d un car. dans la police par
défaut) - X/Y position coordonnées
- Width/Height largeur, hauteur
16Pause
17Les différents types d éléments
- Textes les éléments textuels sont ceux utilisés
par défaut pour retrouver, insérer, modifier et
supprimer des données dans la base de donnée - LOVs
- Éditeurs
- Éléments de saisie supplémentaires
- case à cocher
- liste d éléments
- groupes radio
- Éléments non modifiables
- Arbres
- Fenêtres et canevas
18Créer un élément textuel
Sélection du block
Sélection du canevas
19Propriétés générales des éléments textuels
- General type de l élément
- Physique position, taille, visibilité, rendu,
bordure du texte, ascenseur, etc. - Records nombre d éléments affichés, distance
entre les éléments, etc - Font and color
- Initial Value constante, variable
système/globale, paramètre, élément du formulaire
(ex ORDER.ID), séquence (SEQUENCE.S_ORD_ID.NEXT
VAL) - Prompt propriétés du label associé à l élément
textuel (police, alignement, attachement,
décalage, etc) - Data property permet de synchroniser le contenu
avec celui d un autre élément - data type determine quel type de valeur peut
être insérée - copy value from item indique le block et
l élément à utiliser comme source de valeur lors
d une relation interblock (automatique dans une
relation maître-détail) utiliser le format nom
de block.nom d élément l entrée de valeurs
par l utilisateur doit être interdite (Enavled
No) - synchronize with item nom de l élément du même
block avec lequel le texte est synchronisé (i.e.
dont il dérive sa valeur)
20Synchronisation d un élément textuel avec un
autre élément
- Item type Description
- Number of item displayed 1
21Propriétés fonctionnelles spécifiques des
éléments textuels
- Enabled détermine si l élément peut être
modifié (si No, l élément est grisé) - Justification type de justification de la
valeur dans l élément - Multi-line les éléments textuels ne peuvent
être mulit lignes que s ils représentent une
colonne de table de type VARCHAR2 - Wrap Style identifie la manière dont un texte
mulitiligne s étend d une ligne à la suivante
(None, Character, ou Word) - Case Restriction force les caractères à être de
type maj/min (Upper, Lower, Mixt) - Conceal Data identifie s il les caractères
tapés sont visibles à l utilisateur - Keep Cursor Position
- Automatic Skip fait sauter le curseur à
l élément suivant quand l élément courant est
plein - Popup Menu spécifie le menu popup du module de
formulaire courant qu il faudra afficher pour
l élément
22Propriétés fonctionnelles des textes
EnabledNo
Case Restriction Upper
Commande
IdCom
Date Com
100
31-aug-1992
Justification Start
Date Envoi
Type Payement
10-sep-1992
CREDIT
Justification Right
Élément
Id Product Id Price Shipped
Item Total
10011 135 500
67,500.00
1
2
10013 380 400
152,000.00
23Créer une aide pour la remplir les éléments
textuels
Help Property / Hint
24Différentes manières de supporter la modification
d un élément textuel
- Par saisie directe, comme cela était présenté
jusqu ici - A l aide de listes de valeurs parmi lesquelles
l utilisateur fera un choix - A l aide d un éditeur qui s ouvre comme un
fenêtre indépendante
25Les LOVs (List of Values)
- Les LOVs sont des objets de modules de
formulaires qui s ouvrent dans des fenêtres
indépendantes lorsqu ils sont activés lors de
l exécution - Le contenu d une LOVpeut être calculé
dynamiquement pour refléter les changements des
données sources - On peut faire invoquer des LOVs à partir de
n importe quel élément textuel - La même LOV peut être utilisée pour supporter
plusieurs éléments différents - le contenu d une LOV peut réutiliser des données
déjà calculées dans le formulaire au lieu de
re-déclencher un calcul à chaque appel
26Principe d exécution des LOVs
Text Item
Text Item
LOV
LOV
Record Group
Record Group
Record Group basé sur des données statiques
Record Group basé sur une requête
OR
SQL
Base de données
27Exemple de LOV
Customers LOV
name
id
phone
city
Customers Record Group
s_customer table
SELECT name, id, phone, city FROM
s_customer ORDER BY name
28Créer une LOV
- Sélectionner le nud LOVs dans le navigateur
d objets - Cliquer sur l icône Créer
- Éviter les requêtes dont les résultats sont trop
grands - Utiliser les clauses GROUP BY et ORDER BY pour la
présentation - Définir l élément utilisateur plus tard, ou
utiliser la clause optionnelle INTO
29Propriétés des LOVs
(X,Y)
Width
LOV
Automatic Select
Height
Column Mapping
Filter Before Display
?
Automatic Skip
Return Items
Automatic Display
30LOVs multi-colonnes
customer.name
customer.id
customer.phone
customer.city
Phone City
809-352689 San Pedro De 1-415-555-6281 San
Francisco
91-1031 New Delhi
52-404562 Nogales
Customers LOV
Hidden Columns
name
id
phone
city
Customers Record Group
s_customer table
SELECT name, id, phone, city FROM
s_customer ORDER BY name
31Propriétés Column Mapping
- Colmun names
- permet de sélectionner l une des colonnes
générées par la LOV - Return Item
- spécifie le nom de l élément de formulaire a
auquel la colonne choisie doit être affectée
(notation pointée nomDeBlock.NomItem) - Display Witdh
- largeur de la colonne lors de l affichage de la
LOV - Column title
- en-tête de la colonne dans la présentation de la
LOV - Note
- pour associer une LOV avec un élément textuel,
sélectionner l élément dans le navigateur
d objet, puis positionner la propriété List
of Values en identifiant la LOV associée
32Autres éléments pour entrer des valeurs
- Cases à cocher, Listes, Groupes de boutons radio
- Permettent d insérer, de mettre à jour, de
supprimer, et de lancer de requêtes dans des
tables
33Exemple de case à cocher
34Propriétés des cases à cocher
- Data Type
- Label
- Access Key
- Value When Checked
- Value When Unchecked
- Check Box Mapping of Other Values
- Mouse Navigate
35Listes de valeurs prédéfinies
Poplist
- Elements in List
- List Elements (permet d entrer les éléments de
la liste tels qu ils apparaissent à
l exécution) - List Item Value (permet de spécifier la valeur
qui correspond en fait à chaque valeur affichée) - List Style
- Mapping of Other Values
- Mouse Navigate
Excellent
Tlist
Excellent
Good
Poor
Combo Box
Excellent
36Exemple de création de liste prédéfinie
37Groupes de boutons radio
- Créer le groupe de boutons, puis les boutons
- Propriétés des groupes de boutons
- Data Type
- Mapping of Other Values
- Mouse Navigate
- Propriétés des boutons
- Access Key
- Label
- Radio Button Value
38Créer un groupe de boutons ou un bouton
39Éléments non modifiables
- Éléments d affichage
- Images
- Sons
- Boutons
- Champs calculés
- Ces éléments ne peuvent être chargés par requête,
ni être édités, sélectionnés ou modifiés
40Exemple élément d affichage
Mettre la propriété DATABASE à no