IceDesign GUI Designer

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

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.2.0

Nouvelles fonctionnalités :
Quelques changements dans le code généré dans la boucle d'événement et dans l'interface, avec l'indentation en fonction des conteneurs.

Ajout d'ancres avec des cases à cocher Lock Top, Left, Bottom & Right. Pour indiquer quels bords sont fixes et dans quelles directions étirer les gadgets lors d'un événement de redimensionnement. Une démo est publiée dans le 2e message ici.

Ajout d'une option "Utiliser les noms courts pour les contrôles" dans les paramètres.
Elle permet d'utiliser les noms courts des contrôles au lieu des noms complets (ex : #Btn, #Opt,...).
Voici une liste:
Window,Btn,BtnImg,Calend,Canv,CanvCont,Check,Combo,Cont,Date,Edit,ExpCombo,ExpList,ExpTree,Frame,Hyper,
Img,IPAdd,ListIcon,ListView,OpenGL,Opt,Panel,Progres,Scint,ScrlArea,ScrlBar,Spin,String,Txt,Track,Tree,Web
Ajouter une option "Renommer le Ctrl avec le nom de caption" dans les paramètres.
Permet de renommer automatiquement le nom du contrôle lorsque caption est modifiée.
Cette option n'est disponible que pour les boutons, les cases à cocher et les options (ex : #Btn_CaptionName).

Ajout de la prise en charge de certains Styles de contrôles Windows.
Dans IceDesign, ces indicateurs sont ajoutés en dessous des constantes PB.
Pour les identifier, leurs noms commencent par # (ex : #BS_Bottom), appliquer lors de la création du Gadget
ou par _# (ex : _#BS_Bottom utilisé par OptionGadget), appliquer après avec SetWindowLongPtr.
Les styles sont visibles dans le Designer (WYSIWYG) et écrits dans le code généré.

Il est possible d'utiliser "+#CRLF$+" (tel quel, sans espace) dans les Captions pour gérer le multiligne. En combinaison avec les styles de gadget multiligne.
Ex : Légende = Bouton+#CRLF$+En 2 lignes ==> "Bouton" +#CRLF$+ "En 2 lignes".
Option disponible pour Button, CheckBox, Option, Text et StringGadget (Identique à l'éditeur mais sans passer par AddGadgetItem).

Ajouter une option "Activer la prise en compte du DPI pour la prévisualisation" dans les paramètres. Il est également écrit en bas du code créé sous Options IDE.

Et d'autres petites choses...

Pas mal d'améliorations.
Merci à blueb pour l'idée des noms courts et de renommer automatiquement les contrôles
Et merci à jacdelad pour sa suggestion d'utiliser les styles de contrôles Windows en plus, avec une liste de styles de départ. A compléter selon les besoins.
:)


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

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.2.4

Nouvelles fonctionnalités :
Redimensionnement proportionnel :
Ajout d'une propriété "Proportionnelle" dans la section Ancrage.
Lors du redimensionnement de la fenêtre, le(s) gadget(s) seront automatiquement redimensionnés proportionnellement.

BindGadgetEvent :
Ajout d'une propriété "BindGadget" dans la section Divers.
Et ajout d'une option "Activer BindGadget par Defaut" dans les paramètres pour gérer la valeur par défaut de cette propriété pour les prochains gadgets ajoutés.
Tous les types d'événements sont liés. Il y aurait trop de possibilités sinon, comme des procédures pour chaque EventType()...
La procédure d'événement "Event_(ControlName)" sera écrite dans le code généré.
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.2.6

Lancez IceDesign avec le paramètre DPI pour créer IceDesign_DPI.exe contenant le manifeste DpiAware. L'affichage sera avec une mise à l'échelle de 100%, mais il sera sans doute plus nette pour les écrans 4K ou autres.

Edit : mise à jour en version 1.2.6
Elle corrige un problème lors du redimensionnement proportionnel
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.3.2

De nouvelles options (encadré en rouge) pour personnaliser le code créé à votre goût :

Image


Ajout des tailles minimales et maximales des fenêtres dans les propriétés pour utiliser avec WindowBounds. A noter que 0 = #PB_Ignore
WindowBounds : Modifie les dimensions minimale et maximale de la #Fenêtre (en pixels). Ceci est utile pour empêcher une fenêtre de devenir trop petite ou trop grande lorsque l'utilisateur la redimensionne
.
Lier les événements de tous les gadgets. Créez les procédures d'événements pour tous les gadgets, y compris les événements de menu, de redimensionnement et de fermeture de la fenêtre pour un traitement complet des événements.

Taille proportionnelle pour tous les gadgets. Pour redimensionner tous les contrôles en fonction de la taille de la fenêtre et des conteneurs.
Pour le Panel, à cause des onglets (non agrandis), il est basé sur sa taille interne, cela fonctionne mais il n'est pas vraiment parfait.

Lier l'événement dans un IncludeFile. Divisez le code généré en 2 fichiers sources.
L'un avec le code principal et la fenêtre et l'autre avec toutes les procédures d'événements (ex : MyForm.pb , MyForm_Event.pb)
A appliquer en fonction de vos goûts, de votre projet et de l'organisation souhaitée.

Utiliser la variable AppQuit pour sortir de l'Event-Loop.
Donc 2 choix dans l'a boucle d'événement, "Repeat : Break : ForEver" ou "Repeat : AppQuit = #True : Until AppQuit" ex :

Code : Tout sélectionner

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break

    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect
  EndSelect
ForEver
Or

Code : Tout sélectionner

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      AppQuit = #True

    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect
  EndSelect
Until AppQuit


A noter que IceDesign ne fonctionne que sous Windows mais le code généré est 100% compatible avec Linux ou MacOS, prêt à être recompilé.
A l'exception de quelques styles de contrôles Windows qui ne doivent pas être sélectionnés pour être multiplateforme.
Ils sont bien marqués dans la liste des constantes pour cela, ils sont en bas et ils commencent par un # (ex : #BS_Bottom, #BS_Top)

Et, à titre de rappel :
Sur les écrans haute résolution, si votre barre d'outils est trop floue, vous pouvez exécuter "IceDesign.exe DPI" pour créer un nouvel exe : IceDesign_DPI.exe, qui fonctionne sans la mise à l'échelle automatique de Windows.

N'hésitez pas à utiliser la version de démonstration pour créer des Interfaces basiques, moins de 16 Gadgets.
Ou bien testez-le et évaluez-le...
:)
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.3.4

2 nouvelles options dans les paramètres :
  • Barre d'outils avec icône et texte : activée par défaut, sinon seules les icônes sont affichées avec leurs infobulles.
    Sans le texte, cela devrait être plus "net" pour les écrans à haute résolution.
  • Add Multi-Language support : pour faciliter la création d'applications multi-langues dès la phase de conception.
    A noter que cette option Multi-langue ainsi que l'option "Lier les événements dans un fichier inclus" ne sont pas traitées pour l'aperçu et pour l'option "Copier dans le presse-papiers"
Et pour information, lors du téléchargement depuis Gumroad, IceDesign.zip a été bloqué par Chrome ici, c'est une fausse alerte :evil : , vous pouvez choisir l'option de le conserver, heureusement.


Image
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Re: IceDesign GUI Designer

Message par SPH »

Merci ChrisR,

tu fais un boulot de ouf ! Et en plus, tu t'accroches malgré qu'il n'y ai pas beaucoup de retour...
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

Bonjour SPH,
Merci, j'ai un peu plus de retours ou de demandes, et quelques PM sur le forum anglais.
Et oui, comme tu l'as vu, j'ai été assez focus dessus ces derniers temps, avec pas mal de nouvelles fonctionnalités ajoutées.
Il me semble bien complet maintenant, un début de "petit" RAD, je vais probablement ralentir maintenant.

Sinon, après un "bon" début, il serait bien que les ventes décollent un peu plus maintenant, même si ce n'était pas l'objectif initial.
Mais pour mon autosatisfaction, je suis assez fier du travail fait et surtout d'avoir était au bout. Je ne me pensais pas capable.
:)
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: IceDesign GUI Designer

Message par Micoute »

L'échec n'est pas dans la défaite, mais dans l'abandon.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.4.0

Nouveautés :
  • IceDesign est maintenant compilé avec le manifeste DpiAware par défaut.
    Les contrôles sont mis à l'échelle en utilisant le paramètre de Windows, il permet d'éviter un affichage flou dû à la mise à l'échelle automatique de Windows. A l'exception de l'élément form designer qui reste à 100% et qui génère le même code exact pour les positions/tailles des gadgets.
  • Si vous voulez toujours utiliser la mise à l'échelle automatique de Windows, il est possible en utilisant le paramètre "DPI_Unaware".
    Exécutez "IceDesign.exe DPI_Unaware" pour créer un nouvel exe : IceDesign_DPI_Unaware.exe.
    Il utilisera le redimensionnement automatique de windows en fonction de votre paramètre de mise à d'échelle.
  • La hauteur par défaut des gadgets est désormais basée sur leurs tailles requises, lors de l'utilisation par double clic gauche ou par glisser-déposer depuis la liste "Créer des contrôles".
  • La génération de code a été revue et améliorée pour gagner du temps de traitement et certains autres éléments ont également été optimisés.
  • Le code créé est maintenant généré et affiché en temps réel à l'aide de l'excellent PBEdit -un éditeur de texte basé sur Canvas.
    Noter que le code n'est pas régénéré automatiquement et à chaque changement, lorsque le Splitter est en bas.
    Lors du déplacement ou du redimensionnement, le code n'est généré qu'à la fin, lorsque la souris est relâchée.

Image
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: IceDesign GUI Designer

Message par Micoute »

Tu es tout simplement génial. Bravo pour ce magnifique travail.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

Merci Micoute :)

IceDesign a été mis à jour en version 1.4.1

The PBEdit - le module canvas texte editeur inclus a été mis à jour en version 1.0.10.
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.4.4

Nouveautés:
  • La barre de titre respecte maintenant la taille de la fenêtre et les boutons, minimiser, maximiser et fermer sont dessinés conformement aux constantes choisie, SystemMenu, SizeGadget, BorderLess...
  • Correction: lors la création du code, preview, la constantes #PB_Window_NoGadgets est écrit en commentaire si la fenêtre contient 1 ou plusieurs Gadget.
    Et, pour conserver la main, en Preview, les Constantes: #PB_Window_Invisible, #PB_Window_Minimize and #PB_Window_NoActivate ne sont pas appliquer.
  • Via le menu contextuel sur la fenêtre, vous pouvez choisir la présentation de la barre d'outils avec de petites ou grandes icones et avec ou sans le texte sous le bouton.

Image
  • Dans les paramètres, j'ai ajouté la possibilité d'ajouter une image, une capture écran ou un fond d'écran, qui sera affiché en arrière plan suivant la transparence choisie.
    Il peut éventuellement servir comme image a décalquer. Toutefois, il ne semble pas très facile a faire :?

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

Re: IceDesign GUI Designer

Message par ChrisR »

IceDesign a été mis à jour en version 1.4.5

Une petite modification, juste après la version 1.4.4, pour mieux voir le contour des gadgets lorsqu'une image transparente est utilisée en arrière-plan. Les contours sont maintenant dessinés après, sans aucune transparence.
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: IceDesign GUI Designer

Message par MetalOS »

L'éditeur semble vraiment pas mal mais existe t'il en français au niveau de l'interface ? Quelqu'un du forum a acheté la version et pourrait faire un retour d'expérience ?
Avatar de l’utilisateur
ChrisR
Messages : 221
Inscription : sam. 14/févr./2015 16:20

Re: IceDesign GUI Designer

Message par ChrisR »

Bonjour,
Je suis à l'écoute aussi pour les retours d'expériences ?

Pour info, si les stats Gumroad sont correctes, j'ai eu 4 ventes seulement en France.
A l'image du forum et(ou) de l'utilisation de Purebasic en entreprise, école d'ingénieur,.. pourtant il a tout les atouts, du débutant à l'expert et avec gcc bientôt en plus pour ouvrir de nouvelle portes
Heureusement pour moi, j'ai nettement plus de ventes en Allemagne ou USA, Canada.

La traduction en Français n'est pas prévue pour l'instant et les seules 4 ventes ne vont pas vraiment me motiver.
Egalement, je ne suis pas sur de l'utilité de la traduction, les propriétés des gadgets sont similare à la syntaxe PB, et il ne devrait pas être trop compliqué pour la barre d'outil, Aligne Left, Aligné à gauche,...
Mais bon, je l'ajouterai peut-être dans le futur.

N'hésite pas a utiliser la version de démo pour te faire ton propre retour d'expérience.
Dans la version de démo, toutes les fonctions sont là, elle est juste limité à 16 Gadgets.
Il devrait être suffisant pour ce faire une idée.
Répondre