Améliorations des contrôles d'interface (Version 8.00)

De Wiki1000
(Différences entre les versions)
(Classe des paramètres globaux)
(Paneau wizard (TPanelWizard))
 
(19 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
{{latest}}
+
{{Version800}}
 
__TOC__
 
__TOC__
  
Ligne 63 : Ligne 63 :
 
begin
 
begin
 
   // Fill the ls parameter with the authorized items  
 
   // 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 75 : Ligne 157 :
 
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 de page'''
+
'''Entrée et sortie de page'''
  
 
Les méthodes OnBeforeEnterPage et OnAfterEnterPage peuvent être appelées lorsque le wizard navigue sur une page.
 
Les méthodes OnBeforeEnterPage et OnAfterEnterPage peuvent être appelées lorsque le wizard navigue sur une page.
  
 
<source lang="delphi">
 
<source lang="delphi">
procedure TmyClass.OnBeforeEnterPage(indx:Integer);
+
function TmyClass.OnBeforeEnterPage(indx:Integer):boolean;
 
begin
 
begin
 
   // Called before entering the page
 
   // Called before entering the page
 +
  // Return true to process or false to cancel entering page
 +
  Return := True;
 
end;
 
end;
  
Ligne 104 : 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)===
 
===Item de menu (TdbMenuItem)===
 
'''Méthode OnClickMethod'''
 
'''Méthode OnClickMethod'''
  
Cette méthode est exécuté 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.
+
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'>
 
<source lang='delphi'>
Ligne 132 : Ligne 229 :
 
===Contrôleur de propriété===
 
===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.
 
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===
 
===Classe des paramètres globaux===
Cette [[TGlobalParameters (class)|classe]] expose les variables globale. Elle peut être utilisé conjointement avec le contrôleur de propriété.  
+
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]]
[[Category:latest]]
 

Version actuelle en date du 9 avril 2019 à 16:12

version800-32x32.png

Sommaire


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.

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.

procedure TmyClass.OnMenuItemClick();
begin
  // Called when the use click the menu item 
end;

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 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

Treebook booksheet subtitle.png

Outils personnels