Améliorations des contrôles d'interface (Version 8.00)
(→Grille (TfwOutgrid)) |
(→Paneau wizard (TPanelWizard)) |
||
(32 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
− | {{ | + | {{Version800}} |
__TOC__ | __TOC__ | ||
+ | |||
+ | ===Ecran=== | ||
+ | '''Paramètre OpenBookmark et OpenFilter''' | ||
+ | |||
+ | Lorsqu'un écran est ouvert avec un positionnement sur un object (url=frm://form/OID), l'écran ajoute les paramètres OpenBookmark et OpenFilter à la liste des paramètres. | ||
+ | |||
+ | Ces paramètres peuvent être utilisés dans les filtres de l'écran, par exemple, %ArgFilter = %OpenBookMark | ||
===Contrôle de saisie (TEdit)=== | ===Contrôle de saisie (TEdit)=== | ||
− | ''' | + | '''Contrôle de la liste de valeur (Items) par le métier''' |
La liste des éléments utilisés lorsque le champs est de type btnDropDownList (propriété Items du contrôle) peut être alimentée par le métier via une méthode Get<FieldName>ValueList ou <FieldName> est le nom de l'attribut auquel est rattaché le contrôle. | La liste des éléments utilisés lorsque le champs est de type btnDropDownList (propriété Items du contrôle) peut être alimentée par le métier via une méthode Get<FieldName>ValueList ou <FieldName> est le nom de l'attribut auquel est rattaché le contrôle. | ||
Ligne 43 : | Ligne 50 : | ||
begin | begin | ||
// May prevent the accept of an attribute | // May prevent the accept of an attribute | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | '''Contrôle de la liste de valeur (Items) par le métier''' | ||
+ | |||
+ | La liste des éléments utilisés lorsque le champs est de type chaîne (propriété Items de la colonne) peut être alimentée par le métier via une méthode Get<FieldName>ValueList ou <FieldName> est le nom de l'attribut auquel est rattaché le contrôle. | ||
+ | |||
+ | La signature de cette méthode doit être : | ||
+ | |||
+ | <source lang='delphi'> | ||
+ | procedure TmyClass.Get<FieldName>ValueList(ls:TStrings); | ||
+ | begin | ||
+ | // Fill the ls parameter with the authorized items | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | '''Contrôle des couleurs de la ligne de grille''' | ||
+ | |||
+ | La couleur de la ligne d'une grille associée à un objet métier peuvent être controllées : | ||
+ | |||
+ | 1: par la méthode GetLineStatus | ||
+ | |||
+ | <source lang='delphi'> | ||
+ | function TmyClass.GetLineStatus:Integer; | ||
+ | begin | ||
+ | // return the status of the grid line | ||
+ | if someCondition | ||
+ | then Return := MSGSTATUS_ERROR | ||
+ | else Return := MSGSTATUS_SUCCESS; | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | La valeur de retour est une valeur de [[Type_de_message_(enum)|l'énumération message status]] | ||
+ | |||
+ | Cette méthode est compatible Desktop / Web. | ||
+ | |||
+ | 2: par les méthodes BackGrounColor et FontColor : | ||
+ | |||
+ | <source lang='delphi'> | ||
+ | function TmyClass.BackGroundColor:Integer; | ||
+ | begin | ||
+ | // return the background color of the grid line | ||
+ | if someCondition | ||
+ | then Return := clRed | ||
+ | else Return := clDefault; | ||
+ | end; | ||
+ | |||
+ | function TmyClass.FontColor:Integer; | ||
+ | begin | ||
+ | // return the font color of the grid line | ||
+ | if someCondition | ||
+ | then Return := clWhite | ||
+ | else Return := clDefault; | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | Les constantes suivantes sont définies : | ||
+ | |||
+ | <pre> | ||
+ | AddConst('clDefault',clDefault); | ||
+ | AddConst('clBlack',clBlack); | ||
+ | AddConst('clGreen',_rgb(65,169,64)); | ||
+ | AddConst('clGray',clGray); | ||
+ | AddConst('clRed',_rgb(220,0,0)); | ||
+ | AddConst('clBlue',_rgb(0,0,220)); | ||
+ | AddConst('clWhite',clWhite); | ||
+ | AddConst('clMaroon',clMaroon); | ||
+ | AddConst('clNavy',clNavy); | ||
+ | AddConst('clOlive',clOlive); | ||
+ | AddConst('clPurple',clPurple); | ||
+ | AddConst('clSilver',clSilver); | ||
+ | AddConst('clTeal',clTeal); | ||
+ | AddConst('clYellow',_rgb(255,221,79)); | ||
+ | AddConst('clLtGray',_rgb(214,214,214)); | ||
+ | AddConst('clDkGray',_rgb(133,133,133)); | ||
+ | AddConst('clLime',clLime); | ||
+ | AddConst('clFuchsia',_rgb(205,0,88)); | ||
+ | AddConst('clAqua',clAqua); | ||
+ | AddConst('clAzul',_rgb(0,75,135)); | ||
+ | AddConst('clSlate',_rgb(23,114,134)); | ||
+ | AddConst('clOrange',_rgb(255, 123, 0)); | ||
+ | AddConst('clBrillantGreen',_rgb(0,220,0)); | ||
+ | </pre> | ||
+ | |||
+ | Cette méthode n'est pas compatible Web. | ||
+ | |||
+ | '''Contrôle de la visibilité des lignes de grille''' | ||
+ | |||
+ | La visibilité d'une la ligne de grille associée à un objet métier peut être controllée par la méthode GetLineVisible : | ||
+ | |||
+ | <source lang='delphi'> | ||
+ | function TmyClass.GetLineVisible:boolean; | ||
+ | begin | ||
+ | // return the visibility of the grid line | ||
+ | Result := someCondition | ||
end; | end; | ||
</source> | </source> | ||
Ligne 54 : | Ligne 156 : | ||
La propriété AutoNext sur une page du panelWizard permet de passer automatiquement à la page suivante quand la condition de navigation (FieldNext) le permet. | La propriété AutoNext sur une page du panelWizard permet de passer automatiquement à la page suivante quand la condition de navigation (FieldNext) le permet. | ||
+ | |||
+ | '''Entrée et sortie de page''' | ||
+ | |||
+ | Les méthodes OnBeforeEnterPage et OnAfterEnterPage peuvent être appelées lorsque le wizard navigue sur une page. | ||
+ | |||
+ | <source lang="delphi"> | ||
+ | function TmyClass.OnBeforeEnterPage(indx:Integer):boolean; | ||
+ | begin | ||
+ | // Called before entering the page | ||
+ | // Return true to process or false to cancel entering page | ||
+ | Return := True; | ||
+ | end; | ||
+ | |||
+ | procedure TmyClass.OnAfterEnterPage(indx:Integer); | ||
+ | begin | ||
+ | // Called after entering the page | ||
+ | end; | ||
+ | </source> | ||
===Panneau dialogue de sélection de classe (TPanelSelectClass) === | ===Panneau dialogue de sélection de classe (TPanelSelectClass) === | ||
Ligne 68 : | Ligne 188 : | ||
'''Type de données ivkTag sur un paramètre entier''' | '''Type de données ivkTag sur un paramètre entier''' | ||
− | Ce type de paramètre (associé à un type numérique entier) permet de passer la valeur de la proriété Tag du contrôle ayant déclenché l'invoker. Par exemple si le contrôle est déclenché par un ensemble de boutons vous pouvez définir la valeur de Tag de chaque bouton et passer la valeur du bouton ayant déclenché l'invoker à la méthode invoquée. | + | Ce type de paramètre (associé à un type numérique entier) permet de passer la valeur de la proriété Tag du contrôle ayant déclenché l'invoker. |
+ | |||
+ | Par exemple si le contrôle est déclenché par un ensemble de boutons, vous pouvez définir la valeur de Tag de chaque bouton et passer la valeur de Tag du bouton ayant déclenché l'invoker à la méthode invoquée. | ||
+ | |||
+ | Ceci permet de simuler le comportement d'un radio groupe par un ensemble de boutons. | ||
+ | |||
+ | ===Interface de progression=== | ||
+ | '''ProgressMessageEx()''' | ||
+ | |||
+ | Cette [[ProgressMessageEx (ihm)|méthode]] permet de typer les messages de progression et de bénéficier d'un affichage enrichi. | ||
+ | |||
+ | '''ProgressEvent()''' | ||
+ | |||
+ | Cette [[ProgressEvent (ihm)|méthode]] permet de contrôler la barre de progression et un indicateur de progression. | ||
+ | |||
+ | ===Item de menu (TdbMenuItem)=== | ||
+ | '''Méthode OnClickMethod''' | ||
+ | |||
+ | Cette méthode est exécutée quand l'utilisateur clique sur l'élément de menu, ce qui évite d'utiliser un invoker lorsque la méthode n'a pas de paramètre. | ||
+ | |||
+ | <source lang='delphi'> | ||
+ | procedure TmyClass.OnMenuItemClick(); | ||
+ | begin | ||
+ | // Called when the use click the menu item | ||
+ | end; | ||
+ | </source> | ||
+ | |||
+ | ===Navigateur=== | ||
+ | '''Evènement OnCloseParentForm''' | ||
+ | |||
+ | Cet évènement est déclenché quand le navigateur ferme l'écran dans le cas de dialogue modal. | ||
+ | |||
+ | Il peut être utilisé par un invoker pour exécuter une méthode lorsque l'utilisateur ferme l'écran par le bouton '''Fermer'''. | ||
+ | |||
+ | ===Combobox de sélection de classe=== | ||
+ | '''Ajout de la propriété Stereotype''' | ||
+ | |||
+ | Cette propriété permet de sélectionner une classe d'un stéréotype. | ||
+ | |||
+ | ===Contrôleur de propriété=== | ||
+ | Ce [[TPropertyController_(Contrôle)|composant]] permet de modifier des propriétés des composants visuels en fonction de valeur métiers. | ||
+ | |||
+ | Par exemple, vous souhaitez rendre visible ou invisible un contrôle en fonction d'un attribut de la classe. | ||
+ | |||
+ | ===Classe des paramètres globaux=== | ||
+ | Cette [[TGlobalParameters (class)|classe]] expose les [[Paramètres globaux|paramètres globaux]]. Elle peut être utilisé conjointement avec le [[TPropertyController (Contrôle)|contrôleur de propriété]]. | ||
+ | |||
+ | Par exemple, vous souhaitez masquer ou afficher des contrôles suvant que l'Application est utilisée en Web ou en Desktop. | ||
+ | |||
+ | ===Propriété formLink=== | ||
+ | La propriété EnabledPackage peut être utilisée comme une expression, par exemple Enabledpackage="begin Result := GlbIsProtected; end;" | ||
+ | |||
+ | ===DataSet=== | ||
+ | |||
+ | Pseudo champs utilisable sur les ensembles de données : | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Champs | ||
+ | !Valeur | ||
+ | |- | ||
+ | |ResultCount | ||
+ | |Nombre d'enregistrements dans le jeu de résultat | ||
+ | |- | ||
+ | |RecordCount | ||
+ | |Nombre d'enregistrements dans la fenêtrede résultat | ||
+ | |- | ||
+ | |TopPosition | ||
+ | |Position du premier enregistrement dans le jeu de résultat | ||
+ | |} | ||
+ | |||
+ | ===Onglet de TreeBook=== | ||
+ | |||
+ | Titre d'onglet | ||
+ | [[image:treebook_booksheet_subtitle.png]] | ||
+ | [[Category:Interface utilisateur]] | ||
[[Category:Version800]] | [[Category:Version800]] | ||
− |
Version actuelle en date du 9 avril 2019 à 16:12
Ecran
Paramètre OpenBookmark et OpenFilter
Lorsqu'un écran est ouvert avec un positionnement sur un object (url=frm://form/OID), l'écran ajoute les paramètres OpenBookmark et OpenFilter à la liste des paramètres.
Ces paramètres peuvent être utilisés dans les filtres de l'écran, par exemple, %ArgFilter = %OpenBookMark
Contrôle de saisie (TEdit)
Contrôle de la liste de valeur (Items) par le métier
La liste des éléments utilisés lorsque le champs est de type btnDropDownList (propriété Items du contrôle) peut être alimentée par le métier via une méthode Get<FieldName>ValueList ou <FieldName> est le nom de l'attribut auquel est rattaché le contrôle.
La signature de cette méthode doit être :
procedure TmyClass.Get<FieldName>ValueList(ls:TStrings); begin // Fill the ls parameter with the authorized items end;
Grille (TfwOutgrid)
Type de colonne attribut de classe
Ce type de colonne permet de sélectionner un attribut d'une classe.
L'éditeur de propriété associé à ce type de colonne peut être contrôlé dynamiquement par le métier via un ensemble de méthode :
function TmyClass.SelectClassName:string; begin // Must return the className of the attribute selection end; function TmyClass.SelectAttribute:string; begin // Must return the current value of the attribute end; procedure TmyClass.OnPropertyEvent(const iPath:string; const iPropName:string; var Accept:boolean); begin // May prevent the display of a property end; procedure TmyClass.OnExpandEvent(const iPath:string; const iPropName:string; var Accept:boolean); begin // May prevent the expand of a role attribute end; procedure TmyClass.OnAcceptEvent(const iPath:string; const iPropName:string; var Accept:boolean); begin // May prevent the accept of an attribute end;
Contrôle de la liste de valeur (Items) par le métier
La liste des éléments utilisés lorsque le champs est de type chaîne (propriété Items de la colonne) peut être alimentée par le métier via une méthode Get<FieldName>ValueList ou <FieldName> est le nom de l'attribut auquel est rattaché le contrôle.
La signature de cette méthode doit être :
procedure TmyClass.Get<FieldName>ValueList(ls:TStrings); begin // Fill the ls parameter with the authorized items end;
Contrôle des couleurs de la ligne de grille
La couleur de la ligne d'une grille associée à un objet métier peuvent être controllées :
1: par la méthode GetLineStatus
function TmyClass.GetLineStatus:Integer; begin // return the status of the grid line if someCondition then Return := MSGSTATUS_ERROR else Return := MSGSTATUS_SUCCESS; end;
La valeur de retour est une valeur de l'énumération message status
Cette méthode est compatible Desktop / Web.
2: par les méthodes BackGrounColor et FontColor :
function TmyClass.BackGroundColor:Integer; begin // return the background color of the grid line if someCondition then Return := clRed else Return := clDefault; end; function TmyClass.FontColor:Integer; begin // return the font color of the grid line if someCondition then Return := clWhite else Return := clDefault; end;
Les constantes suivantes sont définies :
AddConst('clDefault',clDefault); AddConst('clBlack',clBlack); AddConst('clGreen',_rgb(65,169,64)); AddConst('clGray',clGray); AddConst('clRed',_rgb(220,0,0)); AddConst('clBlue',_rgb(0,0,220)); AddConst('clWhite',clWhite); AddConst('clMaroon',clMaroon); AddConst('clNavy',clNavy); AddConst('clOlive',clOlive); AddConst('clPurple',clPurple); AddConst('clSilver',clSilver); AddConst('clTeal',clTeal); AddConst('clYellow',_rgb(255,221,79)); AddConst('clLtGray',_rgb(214,214,214)); AddConst('clDkGray',_rgb(133,133,133)); AddConst('clLime',clLime); AddConst('clFuchsia',_rgb(205,0,88)); AddConst('clAqua',clAqua); AddConst('clAzul',_rgb(0,75,135)); AddConst('clSlate',_rgb(23,114,134)); AddConst('clOrange',_rgb(255, 123, 0)); AddConst('clBrillantGreen',_rgb(0,220,0));
Cette méthode n'est pas compatible Web.
Contrôle de la visibilité des lignes de grille
La visibilité d'une la ligne de grille associée à un objet métier peut être controllée par la méthode GetLineVisible :
function TmyClass.GetLineVisible:boolean; begin // return the visibility of the grid line Result := someCondition end;
Paneau wizard (TPanelWizard)
Contrôle du libellé de bas de page
La propriété BottomCaptionFieldName permet de définir le contenu du libellé de bas de page.
Passage automatique à la page suivante
La propriété AutoNext sur une page du panelWizard permet de passer automatiquement à la page suivante quand la condition de navigation (FieldNext) le permet.
Entrée et sortie de page
Les méthodes OnBeforeEnterPage et OnAfterEnterPage peuvent être appelées lorsque le wizard navigue sur une page.
function TmyClass.OnBeforeEnterPage(indx:Integer):boolean; begin // Called before entering the page // Return true to process or false to cancel entering page Return := True; end; procedure TmyClass.OnAfterEnterPage(indx:Integer); begin // Called after entering the page end;
Panneau dialogue de sélection de classe (TPanelSelectClass)
Ce panneau permet de sélectionner une classe métier.
- Propriété DataSource, DataField
- Permet de définir un attribut qui sera affecté du nom de la classe sélectionnée.
Panneau dialogue de sélection d'objet du référentiel (TDlgObjects)
Ce panneau permet de sélectionner un objet du référentiel.
- Propriété DataSource, DataField
- Permet de définir un attribut qui sera affecté du nom de l'objet sélectionné.
Invoker
Type de données ivkTag sur un paramètre entier
Ce type de paramètre (associé à un type numérique entier) permet de passer la valeur de la proriété Tag du contrôle ayant déclenché l'invoker.
Par exemple si le contrôle est déclenché par un ensemble de boutons, vous pouvez définir la valeur de Tag de chaque bouton et passer la valeur de Tag du bouton ayant déclenché l'invoker à la méthode invoquée.
Ceci permet de simuler le comportement d'un radio groupe par un ensemble de boutons.
Interface de progression
ProgressMessageEx()
Cette méthode permet de typer les messages de progression et de bénéficier d'un affichage enrichi.
ProgressEvent()
Cette méthode permet de contrôler la barre de progression et un indicateur de progression.
Méthode OnClickMethod
Cette méthode est exécutée quand l'utilisateur clique sur l'élément de menu, ce qui évite d'utiliser un invoker lorsque la méthode n'a pas de paramètre.
procedure TmyClass.OnMenuItemClick(); begin // Called when the use click the menu item end;
Evènement OnCloseParentForm
Cet évènement est déclenché quand le navigateur ferme l'écran dans le cas de dialogue modal.
Il peut être utilisé par un invoker pour exécuter une méthode lorsque l'utilisateur ferme l'écran par le bouton Fermer.
Combobox de sélection de classe
Ajout de la propriété Stereotype
Cette propriété permet de sélectionner une classe d'un stéréotype.
Contrôleur de propriété
Ce composant permet de modifier des propriétés des composants visuels en fonction de valeur métiers.
Par exemple, vous souhaitez rendre visible ou invisible un contrôle en fonction d'un attribut de la classe.
Classe des paramètres globaux
Cette classe expose les paramètres globaux. Elle peut être utilisé conjointement avec le contrôleur de propriété.
Par exemple, vous souhaitez masquer ou afficher des contrôles suvant que l'Application est utilisée en Web ou en Desktop.
Propriété formLink
La propriété EnabledPackage peut être utilisée comme une expression, par exemple Enabledpackage="begin Result := GlbIsProtected; end;"
DataSet
Pseudo champs utilisable sur les ensembles de données :
Champs | Valeur |
---|---|
ResultCount | Nombre d'enregistrements dans le jeu de résultat |
RecordCount | Nombre d'enregistrements dans la fenêtrede résultat |
TopPosition | Position du premier enregistrement dans le jeu de résultat |
Onglet de TreeBook
Titre d'onglet