SweetyVD (Visual Designer)
Re: SweetyVD (Visual Designer)
Une question ~théorique
Est-ce que dans une procédure CallBack d'un gadget (canva ici), BindGadgetEvent(),
et à partir de l’événement #PB_EventType_LeftButtonDown, appeler une procédure (ex: CreateHandle(Gadget)),
pour créer "à la volée" des CanvasGadget (les poignées!) et appeler la même procédure CallBack avec, à nouveau, BindGadgetEvent() ?
Est-ce que dans une procédure CallBack d'un gadget (canva ici), BindGadgetEvent(),
et à partir de l’événement #PB_EventType_LeftButtonDown, appeler une procédure (ex: CreateHandle(Gadget)),
pour créer "à la volée" des CanvasGadget (les poignées!) et appeler la même procédure CallBack avec, à nouveau, BindGadgetEvent() ?
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: SweetyVD (Visual Designer)
Chaque nouveau CanvasGadget créé peut être associé à un BindGadgetEvent() faisant appel à la même procédure.
ou
Un seul CanvasGadget peut être associé à plusieurs BindGadgetEvent() avec pour chacun des BindGadgetEvent() un eventtype différent.
Dans une procédure tu peux aussi récupérer l'EventGadget() et/ou l'EventType()
ou
Un seul CanvasGadget peut être associé à plusieurs BindGadgetEvent() avec pour chacun des BindGadgetEvent() un eventtype différent.
Dans une procédure tu peux aussi récupérer l'EventGadget() et/ou l'EventType()
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: SweetyVD (Visual Designer)
OK, super et c'est souple.
J'avais vu pour le TypeEvenement (optionnel) et l'EventGadget()
mais j'avais un doute sur l'appel de la même Callback.
Merci a toi
J'avais vu pour le TypeEvenement (optionnel) et l'EventGadget()
mais j'avais un doute sur l'appel de la même Callback.
Merci a toi
Re: SweetyVD (Visual Designer)
Merci de nous faire partager ton projet,
moi j'y suis encore dedans !! et je le regrette pas ! depuis le iSeries on est passé par le System i et maintenant IBM i on Power !!ChrisR a écrit :Salut boby, Shadow
Surtout que je suis un ancien du monde As400 (ou iSeries) avec sa super interface graphique, pour ceux qui connaisse
Re: SweetyVD (Visual Designer)
Hmm, Pour ma part, après 25 ans sur AS400 ou iSeries, j'ai fait un peu le tour de la bestiole mais je n'ai aucun regrets non plus: projets, dev, salaires (on est peu nombreux) mais les bons projets deviennent rare sur cette plateformejmg49 a écrit : moi j'y suis encore dedans !! et je le regrette pas ! depuis le iSeries on est passé par le System i et maintenant IBM i on Power !!
Il me reste ~15 ans a travailler, pas facile de trouver quelque choses a proximité au fond du 91 et sans faire 1h30 de transports.
Donc, je profite du temps dispo pour voir d'autres choses et je suis très heureux de le faire avec PureBasic.
Plus je le découvre et plus je le trouve Super, vraiment
Félicitation à Fred, Timo (freak) et toute l'équipe Fantaisie
- Kwai chang caine
- Messages : 6962
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: SweetyVD (Visual Designer)
Et je te rassure, même plus de 10 ans après...on a toujours l'impression d'être marié à la plus belle femme du monde, qui ne nous a pas pas divulgué tous son jardin secretPlus je le découvre et plus je le trouve Super, vraiment
Re: SweetyVD (Visual Designer)
Tu parles de qui KCC du jardin secret de PB, de Fred!!!
Il est sûr que ces probablement la bonne méthode à suivre mais pas facile pour recréer les Canvas Gadgets
Sans abandonner l'idée et pour ne pas réécrire à nouveau, j'ai continué sur l'idée des Canvas superposés aux vrais gadgets.
C'est bien pour l'ergonomie et il permet le même design que le code final.
Il semble fonctionner pas trop mal même si il y a un peu de "flickering" lors des déplacements des Gadgets pour les repeindre.
Le module qui intègre toute la partie Design est maintenant bien avancée
La prochaine étape est sans doute la création des Gadgets. Je vais sans doute partir sur le même menu contextuel que TVD.
Il semble relativement simple et efficace pour créer les gadgets en les positionnant au bon endroit.
J'ai mis à jour le Code Principale + le code du module sur le 1er message.
Merci pour vos tests et retours -+
J'ai testé un peu avec les Canvas Gadgets que tu as généreusement partagés falsamfalsam a écrit :je pense que la bonne méthode serait de recréer les gadgets 100% Canvas comme dans le Form Designer de PureBasic.
Il est sûr que ces probablement la bonne méthode à suivre mais pas facile pour recréer les Canvas Gadgets
Sans abandonner l'idée et pour ne pas réécrire à nouveau, j'ai continué sur l'idée des Canvas superposés aux vrais gadgets.
C'est bien pour l'ergonomie et il permet le même design que le code final.
Il semble fonctionner pas trop mal même si il y a un peu de "flickering" lors des déplacements des Gadgets pour les repeindre.
Le module qui intègre toute la partie Design est maintenant bien avancée
La prochaine étape est sans doute la création des Gadgets. Je vais sans doute partir sur le même menu contextuel que TVD.
Il semble relativement simple et efficace pour créer les gadgets en les positionnant au bon endroit.
J'ai mis à jour le Code Principale + le code du module sur le 1er message.
Merci pour vos tests et retours -+
- Kwai chang caine
- Messages : 6962
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: SweetyVD (Visual Designer)
Alors là, le FREDO c'est pas NABILLA ....Tu parles de qui KCC du jardin secret de PB, de Fred!!!
Bon je vais pas me plaindre, il a déjà laissé transpirer quelques infos, et photos
Mais bon, hors mis si je les imprime en format poster, j'ai pas de quoi retapisser ma chambre
Alors pour noël et pour mes "talents" d'artiste, une vue de face, de profil gauche et droit serait les bienvenus
Pour ton code je l'ai essayé et ça avance
J'ai pas vu de bug pour l'instant
Encore merci
Re: SweetyVD (Visual Designer)
Perso, je commencerais par NABILLA en glissant au milieu 1 ou 2 photos du Laboureur.
Sinon, voici un screenshot sous Ubuntu dans VMware.
Tout semble bien fonctionné
sauf les dimensions de la zone de dessin,
SetGadgetAttribute(#DrawArea, #PB_ScrollArea_InnerWidth, GetGadgetState(#DrawWidth)) , idem avec #PB_ScrollArea_InnerWidth
ne fonctionne pas et je ne comprends pas pourquoi
Sinon, voici un screenshot sous Ubuntu dans VMware.
Tout semble bien fonctionné
sauf les dimensions de la zone de dessin,
SetGadgetAttribute(#DrawArea, #PB_ScrollArea_InnerWidth, GetGadgetState(#DrawWidth)) , idem avec #PB_ScrollArea_InnerWidth
ne fonctionne pas et je ne comprends pas pourquoi
- Mindphazer
- Messages : 639
- Inscription : mer. 24/août/2005 10:42
Re: SweetyVD (Visual Designer)
Salut ChrisR,
j'ai compilé ton code sur mon Mac ; malheureusement j'ai un beau :
dans le .pbi....
j'ai compilé ton code sur mon Mac ; malheureusement j'ai un beau :
Code : Tout sélectionner
[21 :10 :42] [COMPILER] Ligne 140: Structure not found: sdkGadget.
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: SweetyVD (Visual Designer)
Salut Mindphazer,
Ligne 140, donc dans la procédure GetParentWindowID
Tu peux supprimer cette procédure, elle n'est pas utilisée.
C'est du code récupéré, je l'ai ajouté en me disant qu'elle pouvait peut-être servir plus tard.
J'ai pas de Mac autour pour tester donc fait moi, à nouveau, un feedback.
Et si il fonctionne, un screenshot serait agréable pour voir la gueule qu'il a sur Mac.
A+
ps: le code est à jour, sans la procédure GetParentWindowID, sur le 1er post.
Merci
Ligne 140, donc dans la procédure GetParentWindowID
Tu peux supprimer cette procédure, elle n'est pas utilisée.
C'est du code récupéré, je l'ai ajouté en me disant qu'elle pouvait peut-être servir plus tard.
J'ai pas de Mac autour pour tester donc fait moi, à nouveau, un feedback.
Et si il fonctionne, un screenshot serait agréable pour voir la gueule qu'il a sur Mac.
A+
ps: le code est à jour, sans la procédure GetParentWindowID, sur le 1er post.
Merci
- Mindphazer
- Messages : 639
- Inscription : mer. 24/août/2005 10:42
Re: SweetyVD (Visual Designer)
Ok, sans la procédure ça fonctionne
Mais... Comment dire....
Sur mon mac avec un écran Retina, l'affichage est miiiiiiiinuscule !...
Mais... Comment dire....
Sur mon mac avec un écran Retina, l'affichage est miiiiiiiinuscule !...
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: SweetyVD (Visual Designer)
Merci pour ta capture écran et cool qu'il fonctionne également sur Mac
La procédure AjustFontSize, voir ici: http://www.purebasic.fr/french/viewtopi ... =6&t=16557
pour ajuster la taille de la police / 100% ou 96 dpi fait bien son travail.
Mais cela ne semble pas adapté a l'affichage HiDPI de l'écran rétina.
Je ne connais rien sur Mac et je ne sais pas comment il faut faire pour gérer cette échelle d'affichage.
Est-ce que fais quelque chose de ton coté ?
Voici la procédure, elle fonctionne bien sur Windows et Linux. Pour Mac?
Je suppose qu'il devrait mieux fonctionner pour toi sans l'appel de la procédure. Tu peux essayer en remplaçantpar =>
Hmm, Il doit avoir un rapport avec le facteur de mise à l'échelle DPI qui doit être à 150 ou 200% avec l'écran RetinaMindphazer a écrit : Sur mon mac avec un écran Retina, l'affichage est miiiiiiiinuscule !...
La procédure AjustFontSize, voir ici: http://www.purebasic.fr/french/viewtopi ... =6&t=16557
pour ajuster la taille de la police / 100% ou 96 dpi fait bien son travail.
Mais cela ne semble pas adapté a l'affichage HiDPI de l'écran rétina.
Je ne connais rien sur Mac et je ne sais pas comment il faut faire pour gérer cette échelle d'affichage.
Est-ce que fais quelque chose de ton coté ?
Voici la procédure, elle fonctionne bien sur Windows et Linux. Pour Mac?
Code : Tout sélectionner
Procedure.f AjustFontSize(lSize.l) ;Windows DPI aware by using the font size based on the number of pixels per inch along the screen
Define.i iimage
Static.f fPpp
If fPpp = 0
iimage = CreateImage(#PB_Any,1,1)
If IsImage(iimage)
If StartVectorDrawing(ImageVectorOutput(iimage))
fPpp = VectorResolutionX()
StopVectorDrawing()
EndIf
FreeImage(iimage)
EndIf
EndIf
ProcedureReturn (lSize * 96) / fPpp
EndProcedure
Je suppose qu'il devrait mieux fonctionner pour toi sans l'appel de la procédure. Tu peux essayer en remplaçant
Code : Tout sélectionner
Procedure LoadFontWML() ;Most common fonts on Windows, Mac, and linux/Unix OS with +- a similar size: Verdana, Arial, courrier New.
If LoadFont(#FontWML, "Verdana", AjustFontSize(8))
SetGadgetFont(#PB_Default, FontID(#FontWML)) ; Set the loaded Arial 8 font as new default font for all Gadgets
ElseIf LoadFont(#FontWML, "Arial", AjustFontSize(8))
SetGadgetFont(#PB_Default, FontID(#FontWML)) ; Set the loaded Arial 8 font as new default font for all Gadgets
EndIf ;Else use the original standard font
EndProcedure
Code : Tout sélectionner
Procedure LoadFontWML() ;Most common fonts on Windows, Mac, and linux/Unix OS with +- a similar size: Verdana, Arial, courrier New.
If LoadFont(#FontWML, "Verdana", 8)
SetGadgetFont(#PB_Default, FontID(#FontWML)) ; Set the loaded Arial 8 font as new default font for all Gadgets
ElseIf LoadFont(#FontWML, "Arial", 8)
SetGadgetFont(#PB_Default, FontID(#FontWML)) ; Set the loaded Arial 8 font as new default font for all Gadgets
EndIf ;Else use the original standard font
EndProcedure
- Mindphazer
- Messages : 639
- Inscription : mer. 24/août/2005 10:42
Re: SweetyVD (Visual Designer)
En effet ça fonctionne mieux en mettant 8 en taille de font
Pour un affichage optimal sur mon Mac, 10 ou 11 c'est encore mieux !
Par contre, et ça n'a rien à voir, j'ai un IMA à la ligne 292 quand je clique sur "Delete Test Button"
Pour un affichage optimal sur mon Mac, 10 ou 11 c'est encore mieux !
Par contre, et ça n'a rien à voir, j'ai un IMA à la ligne 292 quand je clique sur "Delete Test Button"
Bureau : Win10 64bits
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M1 14" SSD 512 Go / Ram 16 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: SweetyVD (Visual Designer)
Whaou tu as bien avancé dans ton projet. Bravo
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%