2010-11-25 20 views
0

J'étends TextField pour créer ma propre mise en œuvre de celui-ci, et il y a quelques propriétés & méthodes que je voudrais simplement retirer de l'utilisation, par exemple:propriétés de classe cacher Flash Builder de l'assistant de contenu (AS3)

override public function setTextFormat(format:TextFormat,[...]):void{} 

Je voudrais maintenant cacher setTextFormat de hinting de code, donc quand, dans une autre classe, type I:

var t:MyTextField = new MyTextField; 
t.set 

et appuyez sur ctrl + espace Je ne vois que setPropertyIsEnumerable (...) et setSelection (...), aucune trace de setTextFormat (...). Mais peu importe ce que je fais, il apparaît toujours, j'ai essayé @private metatag dans asdoc, ainsi que des make-up (comme @remove, @disable, @ignore, @deprecated). L'utilisation de [Exclure] ne fonctionne pas non plus car, afaik, cela ne fonctionne qu'avec mxml. Existe-t-il un moyen d'accomplir cette tâche? Ou suis-je pour toujours avec un code inutile et redondant? Un plugin peut-être? (Je sais que je peux juste laisser tel quel et ne pas doubler les méthodes, mais, néanmoins, je préfère l'avoir mon chemin)

Répondre

2

Si vous ne dépendez pas de l'extension de votre classe TextField vous pouvez envelopper le champ de texte à l'intérieur d'un Sprite et seulement "transmettre" les méthodes dont vous avez besoin. Cela vous donnera toujours les méthodes du sprite dans l'achèvement, mais au moins il y en aurait moins.

package { 
    import flash.display.Sprite; 
    import flash.text.TextField; 

    public class WrappedTextField extends Sprite { 
     private var _textfield:TextField; 

     public function WrappedTextField() { 
      _textfield = new TextField; 
      addChild(_textfield); 
     } 

     public function get text():String { 
      return _textfield.text; 
     } 

     public function set text(value:String):void { 
      _textfield.text = value; 
     } 

    } 

} 
+0

Oui, c'est aussi une solution que j'ai utilisée auparavant, mais ensuite vient le problème de la multitude de méthodes Sprite. Je n'ai mentionné que TextField, mais j'ai écrit un tas de mes propres "composants sans mxml" qui étendent la classe * Sprite *, et assez souvent je voudrais supprimer certaines méthodes Sprite, comme ajouter/supprimer des enfants, ce qui être alors cas ici. Donc, cette solution est un non pour moi, même si c'est une bonne contribution. – Maurycy