Page 1 sur 8

Canvas Variation

Publié : mar. 05/juin/2012 23:45
par falsam
PB : 4.61
OS : Window, Linux, OSX
Update : 25 Juin 2015

Un menu contextuel (Bouton droit de la souris)
Un Grid.
Une ou plusieurs entités pouvant être un symbole géométrique, un morceau de musique, une image, ..... à vous d'en faire ce que vous voulez.

Fonctionnalités
-Création d'une entité (Box, Texte, Losange, Image)
-Redimensionnement d'une entité avec la souris.
-Copier / Coller Une entité et ses entités imbriquées.
- Supprimer une entité sans ses entités imbriquées.
-Editer un long texte.
-Cadrer un texte à gauche, droite et au centre
-Imbrication des entités.
-Outil propriété d'une entité (Simplifiée dans cette version).
-Outil Préférence de projet.
-Sauvegarde d'un projet : Entités plus préférences (Fichier XML).
-Ouverture d'un projet.
-Sauvegarde de l'image du projet (Fichier JPG).
-Prise en charge multilingue (Anglais et français pour le moment)

Image

-Touches de raccourcis .
Ctrl+N Nouveau projet
Ctrl+O Ouverture d'un projet
Ctrl+S Sauvegarde d'un projet

Ctrl+A Sélectionner toutes les entités
Ctrl+C Mémoriser une entité.
Ctrl+V Coller une entité précédemment mémorisée.
Ctrl+X ou Delete Supprimer une entité.
Ctrl+Return Editer le texte d'une entité.

F2 ou Barre Espace ou Double Clic Inspecteur d'entité.
La touche Entrée permet de valider chacun des champs de l'inspecteur d'entités et de passer d'un champ à l'autre.

Ctrl+P Préférences projet.

Escape Fermeture de l'inspecteur d'entité ou des préférences.


:arrow: Téléchargement dernière version
CanvasVariation V1.86 (Source)

Run et commencez par un clic droit de la souris :)

:arrow: Sur la base de Canvas Variation 1.80
MindMap - Conception de cartes heuristiques.
Téléchargement et fils de discutions :
http://www.purebasic.fr/french/viewtopi ... =6&t=12885

JukeBox - Emporter quelques bons moments musicaux avec vous
http://www.purebasic.fr/french/viewtopi ... =6&t=12924

:!: Remarques :
Ce code nécessite d'utiliser la version 4.61 de Pure Basic car les constantes #PB_Cursor_LeftUpRightDown et #PB_Cursor_LeftDownRightUp ne sont pas compatibles avec la version 4.60 de Pure Basic. (Merci à Mindphazer de m'avoir fait part de cette remarque)

Solution Si vous souhaitez continuer avec la version 4.60, remplacer tous les curseurs de coins #PB_Cursor_LeftUpRightDown et #PB_Cursor_LeftDownRightUp par #PB_Cursor_Cross

Todo list (Les trucs à faire ou à améliorer sur CanvasVariation)
06/06 - (Falsam) - Déplacer une entité (+imbrications) avec les flèches du clavier.(10)
12/06 - (Falsam) - Simple Undo pour le moment (Demande Mesa) (0)
12/06 - (Falsam) - Multiselection (Demande Mesa) (10)
01/07 - (Falsam) - Prise en compte de la souris pour un déplacement vertical (10)
01/07 - (Falsam) - Liste des entités dans l'inspecteur d'entité (10)
02/07 - (Falsam) - Copier/coller une entité et ses entités imbriquées. (10)
le code doit rester une solution Cross Platform.
L'avancement des modifications est noté de 0 à 10 entre parenthèses)
0->5 conception, 5->9 Debug, 10 Terminé et attente du Feedback.

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : mer. 06/juin/2012 0:21
par Ar-S
Début de... très fonctionnel en tout cas, merci.

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : mer. 06/juin/2012 1:45
par falsam
Merci Ars, Je vais continuer dans ma lancé.
le code a été très légèrement modifié. j'avais initialisé un compteurs d'entités qui finalement ne sert à rien car je viens de voir qu'il est facile de connaitre le nombre d'éléments contenus dans une liste. (ListSize(Entity()))

Ce code étant plutot long, est ce que je continue à le poster ou bien est ce que je met un lien qui un jour pourrait être mort. Pour le moment je poste :)

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : mer. 06/juin/2012 6:47
par kelebrindae
C'est très classieux! ça me rappelle un peu PowerPoint ou Visio, en fait (mais en plus pratique)...
Le début d'une appli de dessin, peut-être?

Merci pour le partage, en tout cas!

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : mer. 06/juin/2012 8:57
par falsam
Merci à toi de participer à l'évaluation de ce code.
J'aimerais avoir aussi un Feedback dans un environnement Linux et OSX. Merci d'avance.

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : mer. 06/juin/2012 9:32
par falsam
Version 0.02 - Une entité peut être liée à une autre. le code est mise à jour.

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : mer. 06/juin/2012 11:20
par blendman
superbe :).

Y'a plein d'application possible avec ce genre de chose. Ce me fait penser aux nodeeditor en 3D ou dans les game engine.

On pourrait créer :
- un système de création de shader avec ça, en permettant de relier des entity avec d'autres, en créant des types d'entité différentes, etc..
- un logiciel de dessin du type illustrator
- et plein d'autres choses sont possible :)

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : mer. 06/juin/2012 12:46
par Ar-S
Tout à fait, ça fait penser aux gestions des effet sur les textures dans 3DS ou à des outils de composition 2D reliant des box les unes aux autres créant ainsi une hiérarchie très lisible.

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : jeu. 07/juin/2012 8:51
par Kwai chang caine
Vraiment géant, je reitere 8O
Moi la premiere idée qui m'est venue c'est evidement pour un VisualDesigner

Image

ou même encore mieux un logiciel de Logigramme comme j'avais éssayé de faire avec l'aide des copains, pendant plusieurs mois, avec les gagdets (Les fleches à droite, a gauche etc ... :?) et que je n'etais jamais arrivé :oops:

Image

En tout cas vraiment splendide, fluide, rapide, pratique....j'arrete la...pour pas faire du leche botte blues

Image

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : jeu. 07/juin/2012 9:21
par GallyHC
Bonjour,

Perso cela va beaucoup m'aider pour un dev pour la gestion des patchs pour un controleur DMX512. Alors juste merci et cela est vraiment bien :).

Exemple de ce que cela va donner :

Image

Cordialement,
GallyHC

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : jeu. 07/juin/2012 9:44
par falsam
@Kwai chang caine : Un nouveau visual designer compatible Window, Linux et OSX ça serait du lourd :).
Un logigramme aussi ça serait bien pour mettre à plat des idées.
je vais essayer de mettre en place un redimensionnement d'une entité par les angles. je sais que tu m'as déjà fait la remarque dans un précédent sujet:p

@GallyHC : N'hésite pas à l'utiliser sans modération :)

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : jeu. 07/juin/2012 10:06
par falsam
La version V0.03 est disponible en début de ce sujet.

Ajout.
-Sauvegarde d'un projet sous la forme d'un fichier XML
-Ouverture d'un projet.

Le code est suffisamment segmenté en procédures. Si vous voyez des améliorations à apporter n'hésitez pas en en faire part.

J'aimerais aussi un Feedback d'utilisateurs sous linux et osx. Merci d'avance :)

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : jeu. 07/juin/2012 11:34
par Torp
Pas mal du tout ton code ! (j'ai juste pas trouvé comment lier 2 box)

C'est marrant car je suis depuis un petit moment en train de faire plus ou moins la même chose. je ne peux pas encore montrer le source car ce n'est pas du tout abouti, mais voici l'Exe : http://www.app-art.fr/temp/WPB.zip

Pour insérer des objets, touches "T" et "L"
Le zoom et le pan sont implantés
la sélection simple et multiple fonctionne
la connection entre un "T" et un "P" fonctionne mais pas encore entre 2 "T"

C'est encore bien basique, mais en fait je compte créer une appli pour me permettre de faire notes de calculs pour mon boulot.

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : jeu. 07/juin/2012 11:40
par falsam
Torp a écrit :Pas mal du tout ton code ! (j'ai juste pas trouvé comment lier 2 box)
Il ne s'agit pas vraiement de lier deux entités. Imbrique une box dans une autre et essaye de déplacer la plus grande.
je teste ton exe :)

L'idée de lier deux entités est bonne à prendre. Je vais plutôt employer le terme de Grouper deux entités pas forcements imbriquées.

PS : Visionner une vidéo pour obtenir un code de déverrouillage d'un download !!!!

Re: Début de ..... je ne sais pas encore mais ça peut servir

Publié : jeu. 07/juin/2012 12:28
par falsam
Mise à jour discrète du code qui passe en version 0.04
-Correction d'un bug de sauvegarde.
-Ajout d'une ellipse pour le fun.