Nouveau composant FvAsWing :: FvPaperReader
Par Romain Ecarnot, jeudi 9 novembre 2006 à 19:31 :: Fever :: #57 :: rss
Bonjour à tous,
Un nouveau composant FvAsWing vien t'arriver :: Le lecteur de document Adobe FlashPaper (FvPaperReader )
Principales fonctionnalités du composant :
- Contrôle du document via les contrôles inclus dans les documents FlashPaper ou via la barre de menu du composant
- Playlist des documents disponibles et / ou chargés
- Possibilité de parcourir le serveur ( mode online ) pour charger un autre document ( optionnel )
- Support du Drag'n Drop entre le lecteur et sa playlist
- Gestion des raccourcis claviers
- Le composant est bien entendu connecté à la Localisation API pour le support multilangues.
En terme d'utilisation on reste simple; basé sur un composant JFrame, on créé une instance et on appelle la méthode open() pour ouvrir notre lecteur.
On en profite pour déterminer si l'utilisateur pourra ( ou non ) parcourir le serveur à la recherche de document non inclus dans la playlist.
var reader : FvPaperReader = new FvPaperReader(); reader.enableExternalFile( true );On peut remplir la playlist en utilisant la méthode FvPaperReader#addDocument()
reader.addDocument( new FvPaperItem( "assets/paperdoc.swf", "monTitre" ) ); reader.addDocument( new FvPaperItem( "assets/code.swf") ); reader.addDocument( new FvPaperItem( "assets/WineCellar.swf", "Test erreur" ) );
Le composant émet quelques évènements, question de pouvoir suivre tout ce qui se passe depuis d'extérieur du lecteur :
- onLoadInit
- onLoadProgress
- onTimeOut
- onError
- onPageChanged
- onZoomChanged
- onSelection
- onToolChanged
- onEnableScrolling
- onVisibleAreaChanged
Vous pouvez vous amuser avec une petite démo ici : http://fever.customactions.net/demos/fvpaper/
Et pour les curieux, si il y en a
, voici le code source de la démo
import org.aswing.AttachIcon; import org.aswing.BorderLayout; import org.aswing.EmptyLayout; import org.aswing.fever.components.filechooser.FvFileChooserResources; import org.aswing.fever.components.FvFileChooser; import org.aswing.fever.components.FvPaperReader; import org.aswing.fever.components.paper.FvPaperDocument; import org.aswing.fever.components.paper.FvPaperItem; import org.aswing.fever.components.paper.FvPaperReaderEvent; import org.aswing.fever.events.FvAsWingController; import org.aswing.fever.events.FvAsWingEventList; import org.aswing.fever.visual.FvAsWingStage; import org.aswing.JButton; import com.bourre.events.StringEvent; import fever.app.local.Localisation; import fever.FeverApplication; import fever.log.FeverDebug; /** * {@code Test } class. * * @author Romain Ecarnot */ class net.customactions.cellar.Test implements FeverApplication { //------------------------------------------------------------------------- // Private properties //------------------------------------------------------------------------- private var _reader : FvPaperReader; //------------------------------------------------------------------------- // Public API //------------------------------------------------------------------------- /** * Constructor. */ public function Test() { } public function run() : Void { Localisation.lang = "en"; // inits FileChooser paths. FvFileChooser.BASE_PATH = "repository"; var resource : FvFileChooserResources = FvFileChooserResources.getInstance(); resource.folderIcon = new AttachIcon( "FvFileChooser_folder", 18, 18, false ); resource.fileIcon = new AttachIcon( "FvFileChooser_file", 18, 18, false ); resource.parentIcon = new AttachIcon( "FvFileChooser_parent", 18, 18, false ); resource.homeIcon = new AttachIcon( "FvFileChooser_home", 18, 18, false ); _reader = new FvPaperReader(); _reader.enableExternalFile( true ); _reader.addDocument( new FvPaperItem( "assets/paperdoc.swf", "monTitre" ) ); _reader.addDocument( new FvPaperItem( "assets/code.swf") ); _reader.addDocument( new FvPaperItem( "assets/WineCellar.swf", "Test erreur" ) ); _reader.addEventListener( FvPaperDocument.onLoadInitEVENT, this, _onLoaded ); _reader.open(); var button : JButton = new JButton( "document" ); button.setSize( 100, 25 ); button.addActionListener( _openReader, this ); button.setLocation( 10, 10 ); FvAsWingStage.container.setLayout( new EmptyLayout() ); FvAsWingStage.container.append( button ); FvAsWingController.getInstance().broadcastEvent( new StringEvent( FvAsWingEventList.OPEN_LANG_CHOOSER ) ); } //------------------------------------------------------------------------- // Private implementation //------------------------------------------------------------------------- private function _openReader( source : JButton ) : Void { _reader.open(); } private function _onLoaded( event : FvPaperReaderEvent ) : Void { FeverDebug.INFO( "Version " + event.getDocument().getViewerVersion() ); FeverDebug.INFO( "Number of pages " + event.getDocument().getNumberOfPages() ); } }
A bientôt 

Commentaires
1. Le jeudi 9 novembre 2006 à 20:44, par Shaoken
2. Le jeudi 9 novembre 2006 à 21:05, par Romain
3. Le jeudi 9 novembre 2006 à 21:18, par Romain
4. Le jeudi 9 novembre 2006 à 21:26, par Shaoken
5. Le jeudi 9 novembre 2006 à 21:33, par Romain
6. Le lundi 21 mai 2007 à 05:50, par Antoine
7. Le lundi 21 mai 2007 à 16:26, par Romain
Ajouter un commentaire