2009-04-20 7 views
3

Je n'arrive pas à trouver de ressource pour ajouter la fonction ctrl-z undo à un contrôle Flex RichTextEditor (un manque qu'il partage apparemment avec d'autres contrôles de texte Flex). Je suis déconcerté que ce n'est pas dans les formes natives parce que c'est une capacité si fondamentale, disponible dans les contrôles de texte même navigateur standard, je crois.Flex Text Control Annuler

Toute mention de ce problème sur les sites Flex (il y en a plusieurs) est en conflit; l'un dit que le problème est "fermé" et la résolution est "externe" (quoi que cela signifie).

Est-ce que quelqu'un a quelque chose à offrir? J'ai une application qui nécessite beaucoup de texte. Flex en général fonctionne bien, mais ce manque trivial est à peu près fatal, comme tout le monde l'imagine.

+0

mettre quelques nouveaux commentaires ci-dessous dans ma réponse ... –

Répondre

1

J'ai lu ailleurs - en fait, dans les réponses à l'une de mes questions sur SO - que le problème ne va pas être résolu dans Flex 3. Ce qui semble être correct puisque nous sommes en 3.2 ou peut-être même au-delà, et il n'y a pas d'annulation en vue. J'ai été assez courageux/stupide pour implémenter moi-même un Undo-Redo dans ce composant. À ce moment-là, je travaillais sur Windows. Maintenant, je suis sur OSX et je réalise à quel point ma solution n'est pas multi-plateforme. L'énoncé même du problème (ajoutant la capacité d'annulation de ctrl-z) est une grande partie du problème (OSX a le contrôle ET cette chose clé d'Apple). Maintenant, je dois vérifier combien de travail ce serait de rendre la chose multi-plateforme ... pourrait être trivial. Par une incroyable coïncidence, je pensais aujourd'hui à ne pas utiliser RichTextEditor mais plutôt quelque chose d'extérieur (FckEditor me vient à l'esprit) parce que le RTE laisse tant à désirer (d'où je suis arrivé à votre question). J'ai beaucoup travaillé avec le RTE et je l'ai fait pour faire ce que je voulais, mais je me demande encore pourquoi ils n'ont pas "fini" ce composant ...

+0

Intéressant. J'ai envisagé d'utiliser des bibliothèques javascript pures. Mais est-ce que FckEditor, etc., ne laisserait probablement pas le sous-classeur du navigateur gérer les fonctions de frappe de base (par exemple couper/coller/annuler/rétablir)? Il n'y a pas de remplacement compatible plug-in pour les contrôles du navigateur en flash, n'est-ce pas? – dkretz

+0

Oui, FckEditor et. Al. laissez le navigateur gérer les choses comme annuler et refaire et tout ça.Dans AIR, vous pouvez utiliser le contrôle HTML (quel que soit son nom) pour obtenir l'éditeur à l'intérieur du fichier SWF, mais dans Flex/Flash, vous devez le mettre à l'extérieur avec ExternalInterface (du moins c'est mon idée). Vous ne savez pas si je réponds à votre commentaire ...? –

+0

Aujourd'hui j'ai jeté tout mon code et mis en œuvre la chose de cadre de vol suggéré ci-dessous et ... aucun moyen. Apparemment, je vais devoir le faire moi-même et continuer avec UndoStack. La raison en est que le RTE est compliqué et que nous voulons annuler et refaire pour TOUS les aspects, pas seulement les frappes. De plus, la chose Flight ne fonctionne pas bien avec des contenus RTE complexes (au format). –

1

Les commandes Flex 3 ne prennent pas en charge de manière native annuler/rétablir. Voici quelques bibliothèques qui peuvent être vous intéresser:

+0

Avez-vous utilisé l'un de ces dispositifs? Je suis un peu inquiet que l'on soit as3 sans mention de flex, et l'exemple de l'autre application est une calculatrice et non un contrôle de texte. – dkretz

+0

Non, je ne l'ai pas. Pourquoi est-ce important si c'est dans AS3? Les commandes AS3 se marient parfaitement bien avec Flex. Découvrez la fourche non-Cairngorm de l'ancien. – dirkgently

+0

Je suis d'accord avec dirkgently, j'ai utilisé les bibliothèques de langue AS3 sans problèmes dans Flex (et dans Flash, aussi). –

2

Un exemple utilisant facilement le Flight Framework mettre en œuvre annuler/rétablir peut être trouvé ici: http://www.xtyler.com/code/163

+0

C'est fascinant. Avez-vous essayé cela? L'annulation et la remise sont-elles exposées pour y attacher, par exemple, des boutons? –

+0

Je n'ai pas essayé, c'est juste une coïncidence que je suis tombé dessus il y a quelques jours, donc c'était frais dans mon esprit. Mais il est basé sur le système d'historique de Flight, exposer les boutons devrait donc être une idée que j'imagine. – Sophistifunk