PureBasic

Forums PureBasic
Nous sommes le Jeu 22/Aoû/2019 6:45

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 8 messages ] 
Auteur Message
 Sujet du message: Projet Class dialog
MessagePosté: Mar 29/Aoû/2017 12:52 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1645
Localisation: Belgique
Image

Code:
XIncludeFile "FORM\FORM.pbi"
; Variables of main object for window management
Global myForm.FORM::FORM
; Variables of layout object for layout management
Global.FORM::LAYOUT LY_main,LY_fields,LY_buttons,LY_City
; Variables of gadget object for gadget management
Global.FORM::GADGET name,address,code,city,country,
      bt_validate,bt_chancel,bt_language,type
;Those variables are used for saving window size
Global W=400,H
; This procedure manages all events of the window
Procedure callback(form.FORM::FORM,gadget.FORM::GADGET)
  Select Event()
    Case #PB_Event_CloseWindow
      form\Close()
      End
    Case #PB_Event_Gadget
      Select gadget
        ;Click on language button, we change the current language
        Case bt_language
          Select gadget\Get_Data_Value()
            Case 0
              gadget\Set_Data_value(1)
              myForm\Set_current_language(1)
            Case 1
              gadget\Set_Data_value(0)
              myForm\Set_current_language(0)
          EndSelect
          myForm\Close()
          myForm\Set_size(W,H)
          myForm\Open()
          name\Set_Active()
        Case bt_validate
          type\Set_Gadget_State(2)
      EndSelect
    Case #PB_Event_SizeWindow
      ; The window is resized, we save its size
      w=myForm\Get_Window_Width()
      h=myForm\Get_Window_Height()
  EndSelect
EndProcedure
; create a window
myForm=NewForm("Teste EN"+Chr(10)+"Teste FR",@callback())
myForm\Set_size(W,H)
;Main layout
LY_main=myForm\Add_Vertical_Layout("item:1")
;fields layout into main loyout
LY_fields=LY_main\Add_Vertical_Layout()
;button layout into the main layout
LY_buttons=LY_main\Add_Horizontal_layout()
;Add fields into field layout
name=LY_fields\Add_String_Gadget("name"+Chr(10)+"nom")
address=LY_fields\Add_String_Gadget("address"+Chr(10)+"adresse")
;Grid layout for receive city data
LY_City=LY_fields\Add_Grid_Layout(2)
;Add city data into city layout
code=LY_City\Add_String_Gadget("postal code"+Chr(10)+"code postal")
city=LY_City\Add_String_Gadget("City"+Chr(10)+"localité")
country=LY_fields\Add_String_Gadget("country"+Chr(10)+"pays")
type=LY_fields\Add_Combobox_Gadget("Type"+Chr(10)+"Type")
type\Add_Gadget_Item("To determinate"+Chr(10)+"A déterminé")
type\Add_Gadget_Item("Customer"+Chr(10)+"Client",1)
type\Add_Gadget_Item("Provider"+Chr(10)+"Fournisseur",2)
type\Set_Gadget_State(0)
;Add button into button layout
bt_validate=LY_buttons\Add_Button_Gadget("validate"+Chr(10)+"valider")
bt_chancel=LY_buttons\Add_Button_Gadget("chancel"+Chr(10)+"annuler")
bt_language=LY_buttons\Add_Button_Gadget("EN"+Chr(10)+"FR")
bt_language\Set_Data_value(0)
; open window
If Not myForm\Open()
  End
EndIf
;activate this gadget
name\Set_Active()
Repeat
  WaitWindowEvent()
ForEver


Je trouve le système de dialogues de "PureBasic" vraiment efficace. Mais il faut reconnaitre qu'il n'est pas toujours facile à prendre en main.

Ceci n'est évidemment qu'un simple aperçu mais voila ce que cela pourrait donner en full POO.
La fenêtre a besoin de minimum un layout mais peut en avoir plusieurs. Chaque layout peut avoir des layouts qui peuvent eux-mêmes avoir des layouts etc.
Actuellement deux types de gadgets sont implémenté partiellement, le "string gadget" et le "Button gadget" l'idéal serait évidemment d'ajouté tous les gadgets supportés par Pb ainsi que d'autres personnalisés.

:arrow: Lien Githb

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Dernière édition par microdevweb le Mar 29/Aoû/2017 16:14, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Projet Class dialog
MessagePosté: Mar 29/Aoû/2017 13:54 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6849
Localisation: IDF (Yvelines)
Citation:
Désolé pour l'image incomplète mais Gifcam ne supporte pas bien deux écrans
Ca fait plusieurs fois que je remarque que tu as un souci avec GifCam.

Normalement on ne devrait même pas voir le cadre de GifCam et il est inutile de capturer tout l'ecran.

Je l'utilisais aussi pour mes captures comme sur ce post viewtopic.php?p=147018#p147018
Comme tu peux le voir, on ne voit pas le cadre GifCam.

A voir ton gif, je pense que l'installation de ton appli a un souci. Recharge là sur le site officiel http://blog.bahraniapps.com/gifcam

Maintenant le propos qui fâche : PureBasic ne supporte pas la POO et c'est tant mieux, alors s'il te plait ne t'embarque pas dans ces méandres là.

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Projet Class dialog
MessagePosté: Mar 29/Aoû/2017 15:09 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1645
Localisation: Belgique
falsam a écrit:
Maintenant le propos qui fâche : PureBasic ne supporte pas la POO et c'est tant mieux, alors s'il te plait ne t'embarque pas dans ces méandres là.


Libre à chacun d'aimer ou pas la POO, par contre PB accepte un semblant de POO qui fonctionne pas mal. Maintenant gérer des layouts qui peuvent avoir de multiples niveaux me paraît difficile en mode procédural surtout d'un point de vue utilisateur final. Mon avis est que ce ne sont pas les outils qui font la POO mon sa philosophie.

Quoi qu'il en soit je te remercie de ton avis.

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Projet Class dialog
MessagePosté: Ven 01/Sep/2017 9:36 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 19/Fév/2011 12:46
Messages: 1880
@microdevweb : je voulais juste te signaler que pas mal de tes exemples utilisaient ton site web et que comme il n'existe plus, beaucoup de tes exemples ne marchent plus, hélas ;) (ex : treegadget, même sur github, il manque des trucs)

_________________
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Projet Class dialog
MessagePosté: Sam 02/Sep/2017 13:32 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1645
Localisation: Belgique
Oui je sais Blendman, j'ai malheureusement eu un crash disk ai j'ai perdu beaucoup de code. Mais il faudra à l'occas que je remette à jour certains codes

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Projet Class dialog
MessagePosté: Ven 29/Mar/2019 18:46 
Hors ligne

Inscription: Mer 04/Nov/2015 17:39
Messages: 1024
C'est très ennuyant ça, tu n'as jamais fait de sauvegarde ?
Je recherche un de t'es code, ton TreeGadget maison, j'ai le code mais pas les image ^^

Navrée.

_________________
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Projet Class dialog
MessagePosté: Ven 29/Mar/2019 21:03 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1645
Localisation: Belgique
Salut shadow,

Je ne sais pas si les images y sont présente mais voici le lien Github

https://github.com/microdevweb/TreeView/archive/master.zip

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Projet Class dialog
MessagePosté: Sam 30/Mar/2019 0:46 
Hors ligne

Inscription: Mer 04/Nov/2015 17:39
Messages: 1024
Salut microdevweb, non pas d'image
pour l'exemple mais merci j'ai vue tous ça :)

_________________
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 8 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye