IceDesign GUI Designer

Programmation d'applications complexes
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.1.6

Ajout de la langue Allemande, Merci à SiRprise,
Quelques améliorations, corrections dans ObjectTheme
Corriger un bug dans le noms des items de menu
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.1.7
  • Corriger le nom des constantes (ou variables) pour les polices de caractères et les images en ne conservant que les caractères autorisés, ex:
    Pour la police: @Mx437 HP 100LX 6x8, 20, Bold, le nom de la constante sera: #Font_Mx437_HP_100LX_6x8_20_B
    et le chargement sera: LoadFont(#Font_Mx437_HP_100LX_6x8_20_B, "@Mx437 HP 100LX 6x8", 20, #PB_Font_Bold)
  • Changer le code généré pour l'image de fond, dans les paramètres, en utilisant maintenant:
    SetClassLongPtr, GCL_HBRBACKGROUND plutôt qu'une image de fond désactivée.
  • Les variables Brush_Background et Quit (pour sortir de la boucle) utilise le nom court de la fenêtre, préfixe et suffixe, comme il est fait pour les autres constantes, variables.
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.2.0

Ajouter les fonctions Undo / Redo
Il était écrit depuis un bon moment dans mon Todo mais je ne voyais pas comment le faire facilement, étant donné le nombre d'actions Undo à gérer.

Finalement, pour contourner le problème, la liste complète des Gadgets d'IceDesign est sauvegardée dans une liste Undo/Redo pour chaque modification.
Lors des opérations d'annulation/rétablissement, les listes précédentes ou suivantes sont alors rechargées avec un réaffichage complet (les sélections en cours sont perdues).
Ce n'est donc pas vraiment immédiat, avec un peu de traitement pour le rechargement, mais il fait l'affaire 8)

Pour éviter que la liste Undo/Redo ne soit trop grande, le nombre maximum d'opérations d'annulation peut être modifié dans les réglages. Je l'ai fixé à 99 par défaut, mais il pourrait être plus élevé.
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

Oups, Je n'ai pas informé ici des petites mises à jours précédentes v2.2.1 et v2.2.2. Si besoin l'historique est disponible sur le forum Anglais

IceDesign a été mis à jour en version 2.2.3
  • Recompilé avec PureBasic 6.11. L'application actuelle compilé avec PB 6.12 plante suite à un Bug sur le ComboboxGadget, dès que l'on utilise l'un des flags #PB_ComboBox_LowerCase ou #PB_ComboBox_UpperCase
  • Ajoutez les options Petites et Grandes Icônes avec Texte à Droite pour la barre d'outils, Options : #PB_ToolBar_Text | #PB_ToolBar_InlineText
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.2.4

Multi-langues :
  • Supprimer la vérification si le fichier xxx_lang.pb existe déjà :
    La langue xxx_lang.pb existe déjà. Voulez-vous la supprimer, pour réinitialiser ses mots-clés et ses valeurs ?
  • Conservez toutes modifications qui pourraient être faites dans xx_lang.pb pour votre besoin, plutôt que de l'écraser lorsque le code est recréé.
    Seule la DataSection, étiquette DefaultLang: sera mise à jour avec les nouveaux mots-clés.
    La langue par défaut est désormais une constante : #DefaultLang$ = "English"
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.2.8
  • L'image de fond de la fenêtre est maintenant toujours étirée à la taille de la fenêtre, avec ou sans le drapeau DPIaware
  • (Nouveau) 2 onglets sont maintenant disponibles, pour travailler sur 2 formulaires en même temps et copier des éléments d'un formulaire à l'autre.

    Notez que si vous collez dans un niveau différent (par exemple un conteneur), le 1er élément sera en position 10x10.
    Les positions sont par contre conservées lors d'un copier-coller au même niveau (par exemple une fenêtre).

    Si vous avez 2 onglets, lorsque vous fermez la fenêtre, cela ne ferme que l'onglet courant, l'autre onglet devient le formulaire actif.

    Démo:
Image
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.3.2

Humm, j'ai oublié d'annoncer la version 2.3.0 ici, a voir sur le forum anglais pour les changements apportés.
  • Ajouter l'option "Activer le Support MultiPlateforme" dans les paramètres.
    Avec l'option activé, certaines fonctionnalités supplémentaires réservées à Windows seulement sont supprimées:
    - Windows Constants, String Tip, Tab Order, ObjectTheme, Keep Window Size and Position, Window Transparency and Background Image.
    Note: Lorsque l'option est activée, si vous ouvrez un formulaire .icef le MultiPlateforme désactivé et contenant des constantes Windows, des astuces de chaîne ou un ordre de tabulation, ces propriétés seront réinitialisées dans la conception et seront écrasées si vous sauvegardez à nouveau le formulaire.
  • Les procedures pour les événements de Gadgets liées ont était réécrites pour utiliser l'ensemble des EventType() disponibles suivant le type de Gadget, ex:

    Code : Tout sélectionner

    Procedure Event_String_1()
      Select EventType()
        Case #PB_EventType_Focus
        Case #PB_EventType_Change
        Case #PB_EventType_LostFocus
      EndSelect
    EndProcedure
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.3.4

  • A défaut de documentation, des infobulles ont été ajoutées à la plupart des options dans les paramètres.
  • Conserver l'état des boutons, des images de boutons, des cases à cocher et des gadgets d'options pendant la copie.
  • Les images utilisent #PB_Compiler_Home dans leurs chemins pour les images utilisées à partir d'un sous-dossier du répertoire PureBasic

    Code : Tout sélectionner

    LoadImage(#Imag_Geebee2, #PB_Compiler_Home + "Examples\Sources\Data\Geebee2.bmp")
    Or
    CatchImage(#Imag_Geebee2, ?Imag_Geebee2)
    
    DataSection
      Imag_Geebee2: : IncludeBinary #PB_Compiler_Home + "Examples\Sources\Data\Geebee2.bmp"
    EndDataSection
  • Pour l'identification des gadgets, en plus des #Constantes ou Variables (#PB_Any), il est ajouté "Number" pour numéroter (0,1,2,...) les fenêtres, les Gadgets, les Images et les polices de caractères.
    Cela peut être utile, par exemple, pour partager un bout de code simple sur le forum, sans énumérations ou variables globales, ex:

    Code : Tout sélectionner

    LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\Geebee2.bmp")
    LoadImage(1, #PB_Compiler_Home + "Examples\Sources\Data\PureBasic.bmp")
    
    LoadFont(0, "Broadway", 9, #PB_Font_Italic)
    LoadFont(1, "Broadway", 12, #PB_Font_Bold)
    
    Procedure Open_Window(X = 0, Y = 0, Width = 210, Height = 290)
      If OpenWindow(0, X, Y, Width, Height, "Title", #PB_Window_SystemMenu | #PB_Window_Invisible | #PB_Window_ScreenCentered)
        ImageGadget(0, 40, 20, 128, 128, ImageID(0))
        TextGadget(1, 20, 170, 100, 20, "Text_1")
          SetGadgetFont(1, FontID(0))
        StringGadget(2, 20, 190, 160, 30, "String_1")
          SetGadgetFont(2, FontID(1))
        ButtonImageGadget(3, 20, 240, 168, 35, ImageID(1))
        ProcedureReturn #True
      EndIf
    EndProcedure
    
    If Open_Window()
      HideWindow(0, #False)
      Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
    EndIf
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 2.3.6
  • Renommer les elements pour les ComboBox et ListView, si le nom du controle est changé afin que le nouveau nom soit affiché dans le Design
  • ObjectTheme corriger le protoype pour DwmSetWindowAttribute (Windows 11), utilisait pour les constantes DWMWA_USE_IMMERSIVE_DARK_MODE, DWMWA_BORDER_COLOR, DWMWA_CAPTION_COLOR and #DWMWA_TEXT_COLOR
  • Et quelques optimisation dans le code interne
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 138
Inscription : mer. 28/janv./2009 13:28

Re: IceDesign GUI Designer

Message par Philippe_GEORGES »

Bonjour

Lorsque j'utilise un canvas, je ne peux cocher l'option canvas_container dans les constantes.

Autrement, ce logiciel est super !

Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

Bonjour Philippe,
Oui, tu remarqueras qu'il y a 2 contrôles dans la liste, le canvas et plus bas le canvascontainer avec les autres conteneurs.
Il est présenté ainsi car il serait difficile de passer de l'un à l'autre juste en (dé)sélectionnant le flag.
Répondre