Canvas Variation

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Canvas Variation

Message par Kwai chang caine »

Bon puisque mon copain KERNADEC et moi on est encore les extra terrestre du caractere special :lol:
J'ai essayé de t'aider, avec mes tristes moyens.
C'est vrai trouver une panne sans rien y voir...

Alors j'ai commis ça...et ça a l'air de marcher, maintenant c'est à toi de voir :wink:

Code : Tout sélectionner

Procedure Inspector_Update_ListEntities()
 Define TextNoChr$; <=== ici
  If IsWindow(#EntityForm) 
    ClearGadgetItems(#DSList)
    ForEach Entity()
     If entity()\Actif = #True
       TextNoChr$ = ReplaceString(Entity()\Text, #CRLF$, " [RT] ") ; <=== ici
        AddGadgetItem(#DSList, -1, TextNoChr$)
      EndIf
    Next
    SetGadgetState(#DSList, 0)
  EndIf
 EndProcedure
 
 Procedure Inspector_Update(Action.b=0) 
 Protected Text.s, Value.b
 Define TextNoChr$; <=== ici
  
  If IsWindow(#EntityForm)   
    
   With *InspectEntity 
    
      TextNoChr$ = ReplaceString(Entity()\Text, #CRLF$, " [RT] ") ; <=== ici
      SetGadgetText(#DSList, TextNoChr$)
      SetGadgetText(#DSX, Str(\Left))
      SetGadgetText(#DSY, Str(\Top))  	 
      SetGadgetText(#DSW, Str(\Width))
      SetGadgetText(#DSH, Str(\Height)) 
      
      If Action = 0 Or Action = 2
        
        If FindString(\Text, #LF$)
         Text = \Text
         TextNoChr$ = ReplaceString(Entity()\Text, #CRLF$, " [RT] ") ; <=== ici
          SetGadgetText(#DSText, TextNoChr$)
          DisableGadget(#DSText, #True)
        Else
          SetGadgetText(#DSText, \Text)
          DisableGadget(#DSText, #False)
        EndIf
        
      EndIf
      
      If action = 0
        SetGadgetState(#DSJustify, \Justify)   
        SetGadgetText(#DSPadding, Str(\Padding))
      
        SetGadgetText(#DSENTITY, Str(\Entity))
        SetGadgetState(#DSModel, \Model - 1)

      
        SetGadgetText(#DSTextColor, "RGB("+Str(Red(\TextColor))+Chr(44)+Str(Green(\TextColor))+Chr(44)+Str(Blue(\TextColor))+")")
        SetGadgetData(#DSTextColor, \TextColor)
        SetGadgetColor(#DSTextColor, #PB_Gadget_BackColor, \TextColor)
        SetGadgetColor(#DSTextColor, #PB_Gadget_FrontColor, RGB(255, 255, 255))
      
        SetGadgetText(#DSBackColor, "RGB("+Str(Red(\BackGroundColor))+Chr(44)+Str(Green(\BackGroundColor))+Chr(44)+Str(Blue(\BackGroundColor))+")")
        SetGadgetData(#DSBackColor, \BackGroundColor)
        SetGadgetColor(#DSBackColor, #PB_Gadget_BackColor, \BackGroundColor)
        
        SetGadgetText(#DSBorderColor, "RGB("+Str(Red(\BorderColor))+Chr(44)+Str(Green(\BorderColor))+Chr(44)+Str(Blue(\BorderColor))+")")
        SetGadgetData(#DSBorderColor, \BorderColor)
        SetGadgetColor(#DSBorderColor, #PB_Gadget_BackColor, \BorderColor)
      
        SetGadgetText(#DSfont, \FontName + " " + Str(\FontSize))
      
        SetGadgetText(#DSLinkParent, Str(\LastParent))        
      EndIf
                        
    EndWith    
  EndIf
EndProcedure
Pendant que j'y suis, ce qui serait peut etre logique c'est que quand tu rajoutes une ligne dans une entité texte avec un CR, que l'entitée s'auto-ajuste en visualisant la dernière ligne.
En effet un inhibé du bulbe comme moi, pourrait croire que la ligne n'a pas été prise en compte, si il ne pense pas a agrandir lui même l'entité texte a la souris :oops:
Pffff !!! Mais non mais non ça m'ai pas arrivé :mrgreen:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Canvas Variation

Message par falsam »

J'ai comptis ce que tu fais Kwai chang caine, mais dans la version 1.85 que je cite deux message plus haut, je supprime les #CRLF$ et j'affiche dans l'inspecteur d'entité que la 1er ligne du texte. J'ai testé sous Window XP SP2 et je n'ai pas ce souci d'affichage. Je me demande si toi et Kernadec vous êtes bien sur cette version.

Quand à redimensionner les entités en fonction du texte c'est faisable mais le but était de ne pas casser une mise en page que vous ne souhaitez peut être pas :) Je vais y réfléchir.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Canvas Variation

Message par Kwai chang caine »

Oui oui c'est bien la 1.85 que j'ai modifié, J'ai vu ta modif, je l'ai remplacé par la mienne :wink:

Mais imagine que deux entités on la même première phrase.....et juste la seconde ou troisième sont différentes, et ben avec ta combine ils auront le même nom et donc seront indifférentiables sauf par leur numéro.
Mais encore une fois...c'est toi qui vois, l'important c'est d’être débarrassé de ces carrés :D
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Canvas Variation

Message par falsam »

Le code source de la version 1.86 est disponible au téléchargement (Voir 1er message)
Vous pouvez maintenant copier / Coller UNE entité et les entité imbriquées à celle-çi. Ce qui n'était pas le cas dans les versions précédentes.

Je pense que la suppression ne concernera que l'entité concernée par cette suppression sans tenir compte des entités imbriquées.

Par contre Je vais modifier le code de manière à pouvoir supprimer un ensemble d'entités sélectionnées avec la souris.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre