[Win 5.20 LTS] Suggestion pour le Form designer

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

[Win 5.20 LTS] Suggestion pour le Form designer

Message par blendman »

salut

J'ai utilisé le form dernièrement pour tester un peu.

Voici quelques unes de mes suggestions :
1) ajouter une case à cocher dans les propriétés des objets : vérification (ou quelque chose comme ça), qui ajouterait le code :

Code : Tout sélectionner

if 
Endif
Par exemple, pour la fenêtre, on obtient un :

Code : Tout sélectionner

OpenWindow()
Avec la case cochée on obtiendrait un :

Code : Tout sélectionner

If Openwindow()
Endif
2) Nom des variables : j'ai remarqué que si on donne comme numéro d'identification une constante pour un objet, on obtient la fonction suivante (pour une fenêtre dont le numéro d'identification est #window_main par exemple)
Procedure open#windowmain(...)
OpenWindow(##window_main...)
EndProcedure
Je pense qu'il serait possible avant de générer le code de supprimer les # de trop avant d'avoir le code final.
un petit RemoveString() et hop ;).
J'ai bien compris qu'on ne devait pas mettre les # dans le nom des variables, mais bon, ça ne voute pas grand de les enlever avant de convertir le code.

3) Enumeration
Avec le passage à la 5.20, on peut avoir ça, c'est même plus sympa :

Code : Tout sélectionner

Enumeration Window
Endenumeration
Enumeration Gadget
Enumeration
etc..

Sinon, ce serait aussi intéressant d'avoir le Form Designer en outil externe en plus de l'avoir en interne.
Voilà pour les quelques remarques.
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: [Win 5.20 LTS] Suggestion pour le Form designer

Message par Mesa »

3) Enumeration
En fait, ça existe déjà, il faut décocher #PB_Any à la fois pour les fenêtres et les gadgets et on obtient automatiquement:

Code : Tout sélectionner

Enumeration FormWindow
  #Window_0
EndEnumeration

Enumeration FormGadget
  #Button_0
  #ButtonImage_0
EndEnumeration


Procedure OpenWindow_0(x = 0, y = 0, width = 600, height = 400)
  OpenWindow(#Window_0, x, y, width, height, "", #PB_Window_SystemMenu)
  ButtonGadget(#Button_0, 210, 40, 130, 50, "")
  ButtonImageGadget(#ButtonImage_0, 190, 110, 180, 40, 0)
EndProcedure

Procedure Window_0_Events(event)
  Select event
    Case #PB_Event_CloseWindow
      ProcedureReturn #False

    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure

Je ne trouve pas ce code très pratique car il n'est pas autonome et ça doit perturber les débutants.

Il manque ce petit bout de code avec un peu de documentation comme ça, ça serait bien:

Code : Tout sélectionner

; Création et affichage de la fenêtre #Window_0
OpenWindow_0()

; Autre code

; Boucle principale
Repeat 
  event=WaitWindowEvent(10)
  Display_0=Window_0_Events(event)
Until Display_0=#False
Si le projet contient plusieurs fenêtres alors le code de la boucle principale serait adapté en conséquence.


Mesa.
Fred
Site Admin
Messages : 2652
Inscription : mer. 21/janv./2004 11:03

Re: [Win 5.20 LTS] Suggestion pour le Form designer

Message par Fred »

Le probleme c'est que tu ne peux pas mettre une boucle d'évenement dans chaque fichier, sinon tu ne peux plus les inclure. Les fichiers forms sont fait pour etre inclus dans un projet (il ne sont pas autonomes).
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: [Win 5.20 LTS] Suggestion pour le Form designer

Message par Mesa »

Je me demande si ça ne vaudrait pas le coup d'étoffer le menu Form.

Il pourrait y avoir :
Nouveau Form (qui serait autonome)
Nouveau Multi form (pas autonome)
Nouveau projet avec Form intégré (autonome bien sûr)
Nouveau projet Multi Form (autonome bien sûr)
Transformer Form en projet Form
etc...

C'est l'IDE qui s'occuperait de créer les fichiers nécessaires dans un dossier donné par le programmeur. Ça aiderait les débutants, je pense.

Mesa.
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: [Win 5.20 LTS] Suggestion pour le Form designer

Message par MetalOS »

Ce qui serais bien c'est de sortir le designer de l'IDE pour un meilleur confort d'utilisation.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: [Win 5.20 LTS] Suggestion pour le Form designer

Message par Kwai chang caine »

MetalOS a écrit :Ce qui serais bien c'est de sortir le designer de l'IDE pour un meilleur confort d'utilisation.
C'est vrai c'était une des forces de l'ancien 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [Win 5.20 LTS] Suggestion pour le Form designer

Message par Backup »

d'autant plus intéressant pour les Editeurs "Maison"
ça permet d'avoir le choix de l'outils pour mon editeur par ex ... :)
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: [Win 5.20 LTS] Suggestion pour le Form designer

Message par Golfy »

Fred a écrit :Le problème c'est que tu ne peux pas mettre une boucle d'événement dans chaque fichier, sinon tu ne peux plus les inclure. Les fichiers forms sont fait pour être inclus dans un projet (il ne sont pas autonomes).
J'en profite pour essayer de comprendre :
1) dans tout le programme il n'y a qu'une boucle pour toute les fenêtres ? (même si elles sont "cachées" ou "inactives" --> boite de dialogue d'options)
2) comment doit-on gérer une boite de dialogue d'un thread ? (il me semble qu'un thread utilise sa propre boucle, non ?)
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Répondre