Pour le moment, seuls les fichiers jpg et png sont supportés avec l'implémentation d'un process spécifique pour ces extensions.

  • Chargement de images dans le panneau du File Chooser ( suivi du chargement dans la barre de titre de l'application )
  • Affichage dans un JScrollpane de l'image
  • Double-click sur l'image pour ouvrir une nouvelle fenêtre

La spécification des process se passe de la même manière que l'ajout de "deserialization type" dans le XMLToObjectDeserializer de Pixlib.
On utilisera la méthode FvFileChooser. addPreviewCommand() pour ajouter nos process de preview.

Une nouvelle démo de ce composant est disponible ici ou bien directement depuis le Samples viewer.

En backstage on trouvera un système de buffering ( et oui encore un ) pour ne pas recharger inutilement les images déjà prévisualisées.
Ce système se sert du Fever BitmapLib et BitmapLibLocator, dignes héritiers de GraphicLib et GraphicLocator de Pixlib à la sauce BitmapData.

Les frameworks ont aussi été mis à jour dans le même temps :

Fever AsWing

  • update : FvChooserService initialise le remote debugging si FeverDebug.isOn est à true.
  • update FvFileChooserEvent retourne une série de FvFileItem plutôt que de simple chemin ( string sélectionné )
  • update FvLockChooserCommand bloque correctement les interactions de l'utilisateur ( via le ModalScreen )
  • add FvFileChooserEvent.getFilesIterator()
  • add FvFileItem.getPath()
  • add FvFileItem.getBufferedData()
  • add FvFileItem.isBuffered()
  • add FvFileItem.getExtension()
  • add org.aswing.fever.utils.FvShortCutBuilder pour coller des raccourcis clavier sur les composants AsWing.
    var openButton : JButton = new JButton( "Open file" );
    var shortcut : KeyDefinition = new KeyCombo( "Ctrl+O", Keyboard.onKeyCONTROL, Keyboard.onKeyO );
     
    openButton.addActionListener( _handleOpenDialog, this );
    openButton.setToolTipText( "Open file ( " + shortcut.getName() + " )" );
     
    FvShortCutBuilder.bind( openButton, shortcut );

Fever

  • add fever.core.Application.appendTitle() ( allow to append some text to application title )

C'est tout pour aujourd'hui..., vos commentaires, remarques, bug report...sont toujours les bienvenus ;)
Je rapelle au passage la disponibilité du Fever Development Group

@+