Sujet n°141 -
Blocage sur edition
- par PandaPensif le 14/06/2018 14:29
Bonjour,
je rencontre des soucis à l'utilisation de oStoryBook.
Il se bloque/fige quand je cherche à éditer un personnage, un objet, une scene...
Cela a marché... mais ne marche plus. C'est comme un dead lock.
Ca ne semble pas être lié à un fichier puisque même sur la démo du medeçin marlgè lui j'ai le soucis...
Merci d'avance
Réponse n° 1
- par favdb le 14/06/2018 16:46
Bonjour, je suis actuellement en déplacement, je ne pourrais regarder ça que très tard ce soir, ou même demain. Pourriez-vous lancer oStorybook en mode terminal et voir s'il y a un message d'erreur qui me mettrait sur la piste.
Réponse n° 2
- par PandaPensif le 15/06/2018 15:25
Je ne sais pas le lancer en mode terminal...
Par contre, quand je le lance dans la config "usuelle" de mon portable, tout marche bien. Les fenêtres d'édition apparaissent.
Quand je suis en déplacement, je pense que c'est le cas aussi, sauf que n'ayant pas d'écran secondaire, je ne les vois pas, et je ne peux ni les fermer, ni les utiliser : elle s'ouvrent sur l'écran secondaire absent !
Une fois les fenêtres replacées sur l'écran principal en mode deux écrans, il n'y a plus de soucis en mode un écran.
Réponse n° 3
- par favdb le 15/06/2018 23:57
Bonsoir,
De retour de mon déplacement je peux donc vous répondre plus précisément. Compte tenu de vos informations, j'en déduis que lorsque vous êtes chez vous vous avez une configuration à deux écrans, celui du portable et un écran autre. En déplacement vous n'avez plus de second écran. Si c'est bien votre situation alors je suis désolé mais oStorybook ne sait pas gérer des changement de configuration d'écran. En effet, voilà quelques temps j'avais implémenté la conservation des dimensions et de la localisation des différents éditeurs. Du coup, si vous les déplacez sur l'écran secondaire, et qu'au lancement suivant le second écran n'est plus là vous ne verrez pas l'un ou l'autre des éditeurs, sans pour autant qu'une anomalie quelconque soit signalée.
Je peux vous proposer de faire évoluer les choses de la manière suivante:
a) ajout de la configuration écran dans les éléments sauvegardés de dimension et de position. Si la configuration écran change, alors on remet la position à zéro pour les éditeurs qui s'ouvriront. Je ne suis pas certain que ça marche.
b) ajouter une fonction appelable par un racourci clavier (par exemple Ctrl+Alt+C) pour forcer le recentrage de l'éditeur qui est appelé.
Personnellement je choisirais plutôt l'hypothèse b), qui devrait être réalisable rapidement, mais je vous laisse le choix de la solution. À noter que je devrais être en mesure de simuler ces fonctionnement puisque j'ai moi aussi un portable et je peux utiliser ma TV comme second écran.
Réponse n° 4
- par favdb le 17/06/2018 15:41
Finalement, il semble que la solution a) puisse fonctionner facilement. En effet, la solution b) nécessite, semble-t-il, la mise en oeuvre d'une astuce que je ne connais pas pour fonctionner correctement. J'ai quand même ajouté un bouton permettant de "recentrer" l'éditeur. Il ne me reste plus qu'à réaliser quelques tests pour valider mes solutions.
Réponse n° 5
- par favdb le 18/06/2018 14:49
Voici le résultat de mes tests et de mes constatations.
Tout d'abord le changement de configuration d'écran "à chaud" n'est pas bien géré par la plate-forme Java. Une anomalie grave est signalée, invisible dans le cadre d'une utilisation normale mais bien visible en mode de développement.
Voici ce que j'ai fait pour contourner ce problème, lors de la sauvegarde de la taille et de la position de l'éditeur j'ai simplement ajouté le nombre d'écrans configurés dans la système. À l'ouverture de l'éditeur, si le nombre d'écran est différent de celui mémorisé précédemment je force la position à (0, 0) soit le coin supérieur gauche. Le bouton que j'ai ajouté dans l'éditeur quant à lui force la position au centre de l'écran, et s'il y a multi-écran le résultat peut se révéler improbable.
La version modifiée est disponible en téléchargement sur le lien suivant:
http://download.tuxfamily.org/ostorybook/5.04.02/oStorybook.jar
Le programme installé doit donc être remplacé manuellement par cette version.
En espérant que cette modification solutionne votre problème.
Réponse n° 6
- par PandaPensif le 25/06/2018 09:49
La description me parait très prometteuse en tout cas !Je teste tout de suite...
Merci beaucoup !
Réponse n° 7
- par Writer01 le 08/08/2018 16:39
Bonjour,
J'ai un problème semblable à PandaPensif: je travaillais sur deux écrans, mais l'un d'eux vient de rendre l'âme. Du coup, je n'arrive plus à rentrer en mode édition, car l'écran d'édition est probablement resté positionné sur l'autre écran.J'ai tenté de désinstaller et ré-installer oStoryBook, mais cela n'a rien changé. À noter que je travaille sur la version 5.04.02. J'ai aussi installé la version modifiée du .jar proposé dans votre dernier post, mais je reçois ce message. Merci pour votre aide.
Exception Message:
null
Stack Trace:
java.lang.NullPointerException
at storybook.ui.SbMenu.setMenuForBlank(SbMenu.java:1447)
at storybook.action.SbActionManager.init(SbActionManager.java:78)
at storybook.ui.MainFrame.init(MainFrame.java:158)
at storybook.App.init(App.java:130)
at storybook.App.lambda$main$2(App.java:555)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Merci de signaler cette erreur à l'équipe de développement.
Réponse n° 8
- par favdb le 08/08/2018 23:20
Bonsoir,
La position des éditeurs est enregistrée dans les préférences générales du logiciel. Lorsqu'on désinstalle et réinstalle ce fichier des préférences n'est pas supprimé.
Il suffit donc soit de modifier ce fichier, c'est faisable mais ce n'est pas très recommandé à cause des compatibilités entre éditeur de texte du type Notepad. Soit tout simplement de le supprimer. Dans ce dernier cas au prochain lancement de oStorybook le fichier sera régénéré. Certes au passage vous aurez perdu vos autres préférences mais au moins vous aurez à nouveau un système pleinement fonctionnel.
Le fichier des préférences se nomme "oStorybook.ini". Sous Linux il est dans le dossier caché ".storybook5" à la racine du "home" de l'utilisateur. Sous Windows il est dans le dossier, souvent caché, des "Applications data". Pour retrouver le dossier lancez une recherche sur votre disque dur en indiquant le sous-dossier "storybook5". Une fois le dossier trouvé supprimez le fichier "oStorybook.ini".
Relancez ensuite oStorybook.
Si vous voulez plutôt tenter de modifier le fichier "ini" il vous suffira de supprimer toutes les lignes qui commence par "Editor_", ou de remplacer les deux premiers nombres par 0. Exemple:
Code :Editor_Location=337,19,680,786,1
deviendrait
Code :Editor_Location=0,0,680,786,1
Attention, si vous modifiez manuellement le fichier "ini" vous devez d'abord vous assurer qu'aucune instance de oStorybook n'est active.
Réponse n° 9
- par Writer01 le 09/08/2018 11:30
Bonjour,
Merci pour votre aide rapide. J'ai pu résoudre le problème grâce à la modification du fichier .ini.
Excellente journée.
Writer01
Réponse n° 10
- par favdb le 09/08/2018 17:27
Pour une prochaine version j'ajouterai dans le menu Editer une fonction
"Réinitialiser la position de l'éditeur". Ce sera plus simple.