Tags:
create new tag
, view all tags

Rappel sur les règles d'affichage par défaut des types d'objet:


Soit une constante MAX_OBJECT=200
  • si le nombre total d'objet est inférieur ou égal à MAX_OBJECT:
    • on affiche tous les types d'objets disponibles (càd tous les types contenant moins un objet existant dans le VOTable)
  • sinon, si le nombre total d'objet est strictement supérieur à MAX_OBJECT:
    • on récupère tous les types qui existent et qui contiennent un nombre d'objet <= MAX_OBJECT
    • si au moins un type correspondant à ce critère est trouvé:
      • si le type 'star' fait parti des types récupérés, on l'affiche
      • sinon on affiche le premier type que l'on trouve dans la liste des types récupérés
    • sinon, si aucun type existant ne contient un nb d'objet <= MAX_OBJECT:
      • on affiche le premier type existant parmi les types d'objets disponibles

Afin de mettre en évidence par défaut l'objet correspondant à la target, s'il existe, il faut modifier un peu ces règles.

  • Si isobject vaut true et que mainId existe dans le xml de description, on recherche le type auquel appartient cet objet (recherche du type à partir de l'id de l'objet)
  • on coche par défaut le type contenant l'objet, afin de le mettre en évidence, peu importe les règles d'affichage
  • on adapte ensuite les règles d'affichage:
    • si le nombre total d'objet est inférieur ou égal à MAX_OBJECT, il n'y a pas de problème étant donné que tous les types disponibles sont affichés
    • si le nombre total d'objet est strictement supérieur à MAX_OBJECT:
      • on récupère une liste de tous les types qui existent et qui contiennent un nombre d'objet <= MAX_OBJECT, à laquelle on extrait le type de l'objet particulier s'il est présent dans cette liste
      • on applique ensuite la règle de base
    • si aucun type existant ne contient un nb d'objet <= MAX_OBJECT:
      • on récupère une liste de tous les types qui sont disponibles, à laquelle on extrait le type de l'objet particulier s'il est présent dans cette liste
      • on applique ensuite la règle de base

Avec ces nouvelles règles, il y aura toujours au minimum 2 types qui seront affichés par défaut, et non pas un unique comme avec les règles initiales.

Modifications possibles (à discuter) :

Si on veut garder cette règle de "un seul type affiché par défaut dans le cas où le nombre total d'objet > MAX_OBJECT", on pourrait améliorer un peu:
  • si l'objet particulier est dans la liste de tous les types qui existent et qui contiennent un nombre d'objet <= MAX_OBJECT, on affiche uniquement ce type
  • sinon on affiche ce type particulier + un type parmi la liste ("star" s'il est présent, un autre sinon)
  • si aucun type existant ne contient un nb d'objet <= MAX_OBJECT, on affiche uniquement le type particulier

Problèmes à résoudre :

  • D'après les demandes de Massimo, il faudrait que l'utilisateur puisse cacher au niveau de l'interface certains types de son choix (#11 de la SimPlayTODOList). Dans ce cas, il faudrait modifier les règles en testant que les types disponibles sont ceux présents dans le VOTable ET dont on demande l'affichage. Mais comment gérer le cas où l'utilisateur demande de cacher le type dont l'objet "target" fait partie? -> Pour le moment, dans cette configuration, il semble le plus logique de ne pas afficher l'objet puisque son type n'a pas été demandé.
Topic revision: r3 - 2009-07-27 - CedricCapoulun
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback