IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JBuilder Java Discussion :

[OpenTools, designer] CmtSubComponent et superClasse


Sujet :

JBuilder Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Par défaut [OpenTools, designer] CmtSubComponent et superClasse
    Bonjour,
    si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CmtComponentSource c = myCmtPropertyState.getSubcomponent().getOuterComponent();
    CmtSubcomponent[] subcomponents = c.getSubcomponents();
    Je recupere les champs declarés dans la classe qui est editée par le designer. Mais je ne recupere pas les champs herités de sa classe mere, et j'aimerais bien recuperer ceux-ci...
    Comment puis-je faire ?
    Merci

  2. #2
    Membre émérite
    Avatar de request
    Inscrit en
    Novembre 2002
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 328
    Par défaut JOT
    Bonjour,

    Tu es sur la classe en cours dans le designer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CmtComponentSource c = myCmtPropertyState.getSubcomponent().getOuterComponent();
    Tu dois récupérer une classe analysée (JOT) pour y arriver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JotClassSource jotClassSource = (JotClassSource)c.getSourceFile().getClass("com...");
    Si tu ne connais pas ta classe utilise getClasses();

    Maintenant tu as accès à ta classe parente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jotClassSource.getSuperclass().getJotClassSource()
    Les API Jot te fournissent l'ensemble de code analysé sous forme d'objet Java.

    Bon courage.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Par défaut
    Oui mais en fait, j'utilise cmt pour pouvoir acceder aux valeurs dynamique de mes variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CmtSubcomponent[] subcomponents = c.getSubcomponents();
     
    // je parcours les champs
    for (int j = 0; j < subcomponents.length; j++)
    {
        // je teste si c'est un composant qui m'interesse
        if (  ...  )
        {
            setValue ( subcomponents[j].getLiveInstance() );
        }
    }
    Et mon probleme, c'est que je ne sais pas comment recuperer des instances dynamique avec Jot ( c'est la raison pour laquelle j'utilise cmt ).
    Je sais recuperer les noms de variables, mais pas leurs valeurs ( j'avais d'ailleur posé un message a ce sujet... )
    Voila...

  4. #4
    Membre émérite
    Avatar de request
    Inscrit en
    Novembre 2002
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 328
    Par défaut JOT
    En y regardant de plus près, Borland (les fous) ont du faire un évaluateur dynamique d'expression Java pour leur desinger Swing/AWT.


    C'est comme cela que tu as trouvé la méthode "getLiveInstance". En regardant un peut comment tout cela était fait, tu peux l'utiliser idividuellement en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com.borland.jbuilder.cmt.jb.JbValue.getValue(jotFieldDeclaration.getInitializer(), jotFieldDeclaration.getType().getFullName(), cmtcomponentsource)
    Je n'ai pu faire des tests qu'avec le dernier paramètre à NULL car j'ai qu'un projet JOT, il fallait me brancher sur CMT, mais déjà, j'ai pu récupérer des instances de String...

    C'est assez impressionnant! J'ai fait le test avec Color, mais il a besoin du dernier paramètre.

    Tiens moi au courant.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 7
    Par défaut
    Yes , ca marche, mais y faut bidouiller, car evidement on ne peut recuperer les JotFieldDeclaration que d'un JotSourceFile, donc des variables declarées dans le fichier, et pas celles dont la classe herite.
    Il faut donc parcourir ses classes mere, recuperer leurs sources et ajouter leurs champs...
    Voila.
    Merci de ton coup de main.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. [power designer et Sybase] trigger
    Par mr_qno dans le forum Sybase
    Réponses: 4
    Dernier message: 12/07/2006, 18h32
  3. Image dans le designer
    Par kainor dans le forum JBuilder
    Réponses: 3
    Dernier message: 19/03/2003, 14h24
  4. Réponses: 3
    Dernier message: 09/02/2003, 01h09
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo