FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Début d'un constructeur d'un GUI Panoramic - Page 2 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Début d'un constructeur d'un GUI Panoramic

Aller en bas 
+2
Minibug
Klaus
6 participants
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 4 Avr 2022 - 10:38

Merci Klaus pour ces explications détaillées. Wink

Ca fonctionne aussi chez moi ! cheers
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Ouf_ca_passe




Nombre de messages : 285
Age : 76
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: MOCKUP   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 4 Avr 2022 - 10:50

Bonjour à tou(te)s

Recevez mes meilleurs encouragements pour ce projet COLLABORATIF et hautement nécessaire.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 4 Avr 2022 - 10:55

Super ! Donc, maintenant, on voit clairement ce que l'on peut obtenir avec le Desigen et, plus largement, en combinant les différentes options offertes par KGF.dll. Les limites sont celles de votre imagination Very Happy Very Happy Very Happy et je continuerai à pousser le bouchon là où ce sera utile.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 4 Avr 2022 - 13:08

oui effectivement !

Je t'invite aussi à tester ce que j'ai fait et à l'occasion donne moi ton avis pas seulement sur le designer mais sur l'ensemble.

J'était parti sur un fonctionnement en pur Panoramic. Ce qui explique que je n'avais pas intégré KGF jusqu'à présent.

J'avais déjà développé mon propre TREEVIEW et tout le système de sélection des objets.
Je ne pense donc pas intégrer tout ça dans cette version mais peut être pour une prochaine version...

Merci Kaus Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 4 Avr 2022 - 13:32

J'ai joué un peu avec ton Editeur d'Objets.

L'idée est séduisante et la présentation de l'interface claire et intuitive.
On voit que ce n'est pas encore complet mais ce n'est pas un problème pour évaluer le projet globalement.

Par contre, on ne voit pas bien l'utilité des 4 fenêtres en bas contenant un GRID - il n'y a même pas un titre de fenêtre pour guider un peu.

Les objets se placent bien dans la form, et on les gère par le Designer, apparemment.
Par contre, ni les nouvelles coordonnées ni les nouvelles dimensions n'apparaissent dans les propriétés montrées dans le fenêtre principale. Pas encore implémenté ?

Le changement des propriétés telles que position ou dimensions dans le tableau n'a pas d'effet visuel sur l'objet visuel.

Bref, un beau début prometteur. La page de déplacement par flèche et la page de duplication est également une idée intéressante et intuitive, mais c'est également sans effet concret pour le moment.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 4 Avr 2022 - 14:05

Citation :
Par contre, on ne voit pas bien l'utilité des 4 fenêtres en bas contenant un GRID
Oui c'est pour le débogage du treeview Laughing

Citation :
Par contre, ni les nouvelles coordonnées ni les nouvelles dimensions n'apparaissent dans les propriétés
Le changement des propriétés telles que position ou dimensions dans le tableau n'a pas d'effet visuel sur l'objet visuel.
La page de déplacement par flèche et la page de duplication est également une idée intéressante et intuitive
Normal ce n'est pas encore configuré !

Citation :
L'idée est séduisante et la présentation de l'interface claire et intuitive.
Bref, un beau début prometteur.
Merci Pour ce retour Klaus !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 4 Avr 2022 - 23:58

Dans GUI_Builder, j'ai ajouté une protection contre la tentative d'attacher un objet à un autre par la commande PARENT lorsque Panoramic ne le permet pas. Ce cas est maintenant intercepté par ON_ERROR_GOTO et la valeur de la propriété PARENT retourne à 0.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptySam 9 Avr 2022 - 19:54

J'ai automatisé et sécurisé l'affectation d'un parent à un objet.

J'appelle cette fonctionnalité "parent automatique".

Il y a un nouveau cadre avec ce titre, en haut au milieu.

Par défaut, le libellé "<aucun>" est affiché. Ceci signifie qu'aucun objet n'est parent automatique et toutes les créations se feront poiur la form 0.

Il suffit de sélectionner un objet pouvant recevoir d'autres objets, et de cliquer sur le bouton "Objet actuel". Cet objet deviendra alors le parent autmatique pour tout ajout d'objet par la suite, et son nom s'affiche dans ce petit cadre. A tout moment, on peut en choisir un autre.

Un clic sur le bouton "Pas de parent" annule le parent automatique et "<aucun>" sera réaffiché.

Lorsqu'on veut ajouter un objet comme parent autmatique qui en réalite ne peut pas être parent, il y a in message d'erreur et le choix est rejeté.

Lorsqu'on veut ajouter un objet à un parent automatique qui n'accepte pas vet objet (un EDIT dans un CONTAINER_TAB, par exemple), il y a un message d'errreur et l'objet n'est pas ajouté ay projet.

Pour tester, chargez le source sur mon WebDav dossier GUI_Builder ainsi que le prohet test_container_tab.
Lancez le source.
Choisissez ce projet dans la combo de sélection des projets.
Cliquez sur "Ouvrir projet"
Répondes "Oui" aux deux questions qui sont posées.
Attention à bien attendre le message de fin de chargement !
Sélectionnez maintenant un objet quelconque et tentez de la déclarer parent automatique.
Sélectionnez "Container_TAB" et déclarez-le parent autmatique.
Ajoutez un objet TAB ==> il viendra automatiquement dans le CONTAINER_TAB
Ajoutez un objet EDIT ==> l'ajout sera rejeté car on ne peut pas aouter un EDIT dans un CONTAINER_TAP
Sélectinnnez un des objets TAT et déclrez-le parent automatique
Ajoutez un objet EDIT ==> il sera ajouté dans le TAB sélectionné
Ajoutez un objet TAB ==> l'ajout sera rejeté car un TAB ne peut être ajouté qu'à un CONTAINER_TAB, pas à un TAB

Voici le visuel:
Début d'un constructeur d'un GUI Panoramic - Page 2 Aa1102
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptySam 9 Avr 2022 - 20:11

Hum je vois que ça avance bien chez toi aussi Klaus ! Laughing Laughing Laughing

Moi je me suis battu aujourd'hui pour que la sélection d'objet dans un TAB à partir de la la liste permette de l'afficher quel que soit le niveau ou il se trouve... scratch
Oui En fait si tu as plusieurs TABs et que c'est le TAB 1 qui s'affiche et que tu clique dans la liste des objets sur le BUTTON 1 qui lui se trouve sur le TAB 3 cela ne fonctionne pas.
Donc j'ai programmer tout ça !!! geek

Je vais tester les nouvelles fonctions de ton programme dans la soirée... Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyDim 10 Avr 2022 - 0:46

Citation :
Oui En fait si tu as plusieurs TABs et que c'est le TAB 1 qui s'affiche et que tu clique dans la liste des objets sur le BUTTON 1 qui lui se trouve sur le TAB 3 cela ne fonctionne pas.
Exact. Mais si tu cliques sur le TAB dans la fenêtre, ce dernier s'affiche avec sont Designer associé. La sélection a bien été prise en compte.

EDIT

J'ai ajouté 1 seule ligne et maintenant, quelque soit le TAB sélectionné dans la liste, il est activé et s'affiche directement, avec son Designer.

Voici ma modification:
Code:
selectionner_objet:
  if objet_actuel$<>"" then sauver_objet_actuel()
  objet_actuel$ = item_index$(n_liste_objets%)
  typobjet$ = left$(objet_actuel$,instr(objet_actuel$,"_")-1)
  fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef"
  res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$))
  sx$ = "Numéro Panoramic"
  ind% = dll_call5("GetKGFGridRowByValue",KG_proprietes%,1,1,1,adr(sx$))
  numero_objet_actuel% = dll_call4("GetKGFGridCellValue",KG_proprietes%,ind%,2,0)
  if DoDesigner%=1
    if DS%<>0 then DS% = dll_call1("DeleteDesigner",DS%)
    DS% = dll_call6("CreateDesigner",numero_objet_actuel%,handle(parent(numero_objet_actuel%)),handle(n_memo_designer%),object_internal(numero_objet_actuel%),1,3)
  end_if
  if typobjet$="TAB" then active numero_objet_actuel%  : ' <===== ligne ajoutée
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyDim 10 Avr 2022 - 11:09

Tu y es presque Klaus.... Laughing Laughing

Il reste à faire la même chose avec les objets qui sont inclus dans un TAB pour que le TAB en question s'affiche...

Exemple de ton programme :

- Je suis sur le TAB1 sélectionné à l'écran
- Je clic dans la liste sur l'ALPHA2

Et là il faut que le TAB2 s'affiche avec la sélection sur l'ALPHA2 !

Et ce quel que soit le niveau du TAB ou des objets dans le TAB...
En fait il faut vérifier que dans le chemin de l'objet sélectionné (Objet parent de....  qui est parent de... etc) s'il y a un TAB.
Et si c'est le cas afficher le TAB et ensuite sélectionner l'objet !

C'est ce que j'ai programmé hier... drunken
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyDim 10 Avr 2022 - 11:47

Voici ma solution: j'ai créé une SUB mntrer-TAB(), comme ceci:
Code:
sub montrer_TAB()
  dim_local p%, typ%
  p% = numero_objet_actuel%
  typ% = object_type(p%)
  while typ%<>7
    if typ%=43
      active p%
      show p%
    end_if
    p% = parent(p%)
    typ% = object_type(p%)
  end_while
end_sub


selectionner_objet:
  if objet_actuel$<>"" then sauver_objet_actuel()
  objet_actuel$ = item_index$(n_liste_objets%)
  typobjet$ = left$(objet_actuel$,instr(objet_actuel$,"_")-1)
  fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef"
  res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$))
  sx$ = "Numéro Panoramic"
  ind% = dll_call5("GetKGFGridRowByValue",KG_proprietes%,1,1,1,adr(sx$))
  numero_objet_actuel% = dll_call4("GetKGFGridCellValue",KG_proprietes%,ind%,2,0)
  if DoDesigner%=1
    if DS%<>0 then DS% = dll_call1("DeleteDesigner",DS%)
    DS% = dll_call6("CreateDesigner",numero_objet_actuel%,handle(parent(numero_objet_actuel%)),handle(n_memo_designer%),object_internal(numero_objet_actuel%),1,3)
  end_if
  montrer_TAB()  : ' <======== montrer ici le ou les TABs concernés
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyDim 10 Avr 2022 - 12:00

Ca fonctionne parfaitement maintenant.

Bravo Klaus pour ce défi relevé en moins d'une heure ! cheers
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyDim 10 Avr 2022 - 12:14

Merci, Minibug !

A cette occasion, j'ai remarqué que dans la doc de Panoramic pour la fonction OBJECT_TYPE, il y a deux objets lanquants:
type 42 = CONTAINER_TAB
type 43 = TAB

Sûrement un oubli de Jack après la création de ces objets...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 11 Avr 2022 - 9:48

J'ai ajouté la possibilité de supprimer un objet. Pour cela, il fautle sélectionner, puis cliquer sur le bouton "Supprimer" qui apparaît à gauche du bouton "Ajouter".

On peut supprimer des objets de type PANEL, CONTAINER, FORM etc, mais il faut qu'ils soit "vides" (sans objets dépendants). Le programme demande confirmation avant de procéder à la suppression.

Je n'ai pas encore trouvé un moyen de trouver tous les objets éventuellement dépendants de l'objet à supprimer, sachant qu'on peut avoir un TAB contenant un PANEL contenant lui-même un CONTAINER etc. Ceci reste un probl_me à résoudre.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 11 Avr 2022 - 11:06

@Klaus
La doc ne comptabilise qu'une trentaine d'objet alors qu'il y a quarante! En voici une liste:
select typ%
case 0
case 1 : scene3d obj%
case 2 : button obj%
case 3 : edit obj%
case 4 : memo obj%
case 5 : combo obj%
case 6 : alpha obj%
case 7 : form obj%
case 8 : list obj%
case 9 : picture obj%
case 10: check obj%
case 11: option obj%
case 12: main_menu obj%
case 13: sub_menu obj%
case 14: sound obj%
case 15: movie obj%
case 16: track_bar obj%
case 17: open_dialog obj%
case 18: save_dialog obj%
case 19: scroll_bar obj%
case 20: progress_bar obj%
case 21: spin obj%
case 22: grid obj%
case 23: container obj%
case 24: memo_rich obj%
case 25
case 26: dlist obj%
case 27: scene2d obj%
case 28: timer obj%
case 29: panel obj%
case 30
case 31: main_menu_pop obj%
case 32: container_option obj%
case 33
case 34
case 35: shape obj%
case 36: hviewer obj%
case 37
case 38: led1 obj%
case 39: digit1 obj%
case 40: switch1 obj%
case 41: image obj%
case 42: container_tab obj%
case 43: tab obj%
case 44
case 45
case 46: synedit obj%
case 47: chart obj%
case 48
case 49
end_select
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyLun 11 Avr 2022 - 11:47

Merci, Silverman ! Je complète dans mon programme...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyMar 12 Avr 2022 - 0:04

J'ai mis une nouvelle version de GUI_Builder dans mon WebDav. J'ai résolu le problème de suppression d'objets dans un cas général, y compris des PANEL, CONTAINER etc contenant eux-mêmes des objets de ce genre et ainsi de suite.

J'ai fait cela via une SUB pseudo-"réentrante" qui s'appelle elle-même.

Pour tester, j'ai ajouté un projet test_suppression, qui donne ceci:
Début d'un constructeur d'un GUI Panoramic - Page 2 Aa1103

On peut sélectionner n'importe quel objet dans la liste et cliquer sur "Supprimer objet". Il disparaît alors de la partie visualisation (normal - c'est Panoramic qui fait ça par la commande DELETE), mais aussi de la liste des objets contenus dans le projet.

Dans l'image ci-dessus, un container a été sélectionné qui contient un EDIT et un PANEL. Ce dernier contient à son tour un BUTTON et un EDIT. Ayant selectionné ce CONTAINER comme dans l'image ci-dessus et en cliquant sur le bouton "Supprimer objet", tout le CONAINER disparaît avec ses objets associés, et seuls les deux autres subsistent. Mais un peut aussi bien supprimer n'importe lequel de ces objets - ça marche dans tous les cas.

Note:
J'ai réalisé cette technique de SUB pseudo-réentrante selon une technique proposée par Papydall, il y a longtemps déjà. Cela reste néanmoins d'actualité, comme on voit. Merci à Papydall pour ce travail de précurseur !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyMer 13 Avr 2022 - 2:56

J'ai ajouté le début de la gestion des objets invisibles, et j'ai créé la définition du TIMER comme premier objet.

J'ai intégré un TIMER dans le projet test_suppression.

Télécharger le source et ce projet, lancer le source et répondre OUI aux deux questions - les nouvelles descriptions d'objets seront installées automatiquement. Puis, vous verrez le TIMER présent dans la liste des objets du projet.

EDIT 16/04/2022 à 14:55

J'ai ajouté un objet DLIST. Il a été a intégré dans le projet test_suppression également.
J'ai également corrigé quelques anomalies d'affichage des propriétés.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyJeu 14 Avr 2022 - 18:14

J'ai sensiblement amélioré le temps de chargement d'un projet, en jouant sur la partie "sauvegardée" des maquettes des objets (juste les lignes utiles au lieu du KGFGrid entier).

Il faut recharger KGF.dll pour cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyJeu 14 Avr 2022 - 19:05

Bonsoir Klaus !

J'ai voulu tester la dernière version. Du coup j'ai tout recharger : les zip, le programme et la DLL.

- Je charge le builder comme d'habitude
- Ensuite le choisi test_suppression
- J'ai un premier message ou je répond oui
- Ensuite j'ai l'impression que ça bug !
- Je ferme par la croix et la j'ai le message suivant :

Début d'un constructeur d'un GUI Panoramic - Page 2 Captur48

PS : j'ai tout rechargé 2 fois et toujours le même problème !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyJeu 14 Avr 2022 - 20:22

Aïe... j'ai été trop confiant...
S'il te plaît, remplace la ligne 1765 par:
Code:
          if file_exists(olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$
Il n'y aura plus de problème (en tout cas pas celui-ci !).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyJeu 14 Avr 2022 - 21:16

Maintenant c'est en 1726 qu'il y a un problème... Laughing Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyJeu 14 Avr 2022 - 23:57

Même cause, même punition... il y en avait d'autres, des endroits comme ça.

Voici le code du sousprogramme, entre les lignes 1666 et 1836:
Code:
ouvrir_projet:
  text n_co_archive%,"GD_projet_"+text$(n_co_projets%)+".zip"
  s$ = text$(n_co_archive%)
  if file_exists(s$)=0
    message "Cette archive de projet n'existe pas !"
    return
  end_if 
  inactive 0
  DoDesigner% = 0
  for i%=1 to 200 
    dernier_numero_objet%(i%) = 0
  next i%
  derniere_ligne_utilisee% = 0
  if count(n_liste_objets%)>0
    for i%=1 to count(n_liste_objets%)
      item_select n_liste_objets%,i%
      objet_actuel$ = item_index$(n_liste_objets%)
      fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef"
      res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$))
      s$ = "Numéro Panoramic"
      ind% = dll_call5("GetKGFGridRowByValue",KG_proprietes%,1,1,1,adr(s$))
      num% = dll_call4("GetKGFGridCellValue",KG_proprietes%,ind%,2,0)
      if object_exists(num%) then delete num%
    next i%
    clear n_liste_objets%
    objet_actuel$ = ""
    fichier_objet_actuel$ = ""
    derniere_ligne_utilisee% = DernièreLigne%()
    s$ = ""
    res% = dll_call6("SetKGFGridCellRangeType",KG_proprietes%,derniere_ligne_utilisee%+1,100,2,2,1)
    res% = dll_call6("SetKGFGridCellRangeValue",KG_proprietes%,derniere_ligne_utilisee%+1,100,1,2,adr(s$))
  end_if
 
  ZIP% = dll_call0("Create7Zip")                                                : ' créer l'objet ZIP
  res% = dll_call2("CompressedFile7Zip",ZIP%,adr(s$))                          : ' définir le fichier ZIP à lire
  s$ = dir_current$+"\GUI_Builder_temp"
  CreateTempDir(s$)
  s1$ = ""
  res% = dll_call4("Extract7Zip",ZIP%,adr(s$),adr(s1$),handle(n_hidden_memo%))
 
  olddir$ = dir_current$
  dir_change s$ 
  s1$ = file_find_first$
  k% = 0
  while s1$<>"_"
    p% = 0
    if s1$="GD_TEMPLATE.GDdef"        : ' contient le template général
      if message_confirmation_yes_no("Voulez-vous restituer le template général ?")=1
        p% = 1
        if file_exists(file_delete olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$
        file_move s1$,olddir$+"\"+s1$
      end_if
    end_if
    if left$(s1$,11)="GD_objects_"    : ' contient la liste des objets chargés dans le projet
      p% = 1
      file_load n_liste_objets%,s1$
      file_delete s1$         
    end_if
    if left$(s1$,10)="GD_object_"      : ' contient la définition d'un des objets chargés dans le projet
      p% = 1
      if file_exists(file_delete olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$
      file_move s1$,olddir$+"\"+s1$
    end_if
    if left$(s1$,9)="GD_types_"        : ' contient la liste des types d'objets
      p% = 1
      clear n_combo_objets%
      file_open_read 1,s1$
      while file_eof(1)=0
        file_readln 1,s2$
        item_add n_combo_objets%,s2$
      end_while
      file_close 1   
      if file_exists(file_delete olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$
      file_move s1$,olddir$+"\"+s1$
    end_if
    if left$(s1$,11)="GD_numeros_"      : ' contient la liste des derniers numéros des types d'objets
      p% = 1
      file_open_read 1,s1$
      file_readln 1,s2$
      prochain_numero_objet% = val(s2$)
      i% = 0
      while file_eof(1)=0
        file_readln 1,s2$
        i% = i% + 1
        dernier_numero_objet%(i%) = val(s2$)
      end_while
      file_close 1
      file_delete s1$
    end_if
    if p%=0                            : ' ici, il ne reste que les templates des objets individuels
      if k%=0
        if message_confirmation_yes_no("Voulez-vous restituer le template des objets ?")=1
          k% = 1      : ' remplacer les templates des objets
        else
          k% = 2      : ' ne pas remplacer les templates des objets
        end_if
      end_if
      if k%=1
        if left$(s1$,1)<>"."
          if file_exists(olddir$+"\"+s1$)=1 then file_delete olddir$+"\"+s1$
          file_move s1$,olddir$+"\"+s1$
        end_if     
      end_if 
    end_if
    s1$ = file_find_next$
  end_while
 
  file_find_close
 
  dir_change ".."
'  dir_remove s$
  ZIP% = dll_call1("Delete7Zip",ZIP%)                                          : ' supprimer l'objet ZIP
 
 
      s1$ = file_find_first$
      while s1$<>"_"
'  GD_xxx.GDdef"
        if left$(s1$,3)="GD_"
          k% = 1
          if left$(s1$,9) ="GD_types_"  then k% = 0
          if left$(s1$,10)="GD_objects" then k% = 0
          if left$(s1$,10)="GD_liste_o" then k% = 0
          if left$(s1$,10)="GD_objets_" then k% = 0
          if left$(s1$,10)="GD_projet_" then k% = 0
          if left$(s1$,10)="GD_numeros" then k% = 0
          if left$(s1$,10)="GD_TEMPLAT" then k% = 0
          if right$(s1$,6)<>".GDdef"    then k% = 0
          if instr("0123456789",mid$(s1$,len(s1$)-6,1))>0 then k% = 0
          if k%=1
            s1$ = mid$(s1$,4,len(s1$))
            s1$ = left$(s1$,instr(s1$,".GDdef")-1)
            if count(n_combo_objets%)>0
              k% = 0
              for i%=1 to count(n_combo_objets%)
                if item_read$(n_combo_objets%,i%)=s1$
                  k% = 1
                  exit_for
                end_if
              next i%
              if k%=0 then item_add n_combo_objets%,s1$
            end_if
          end_if
        end_if
        s1$ = file_find_next$
      end_while
      file_find_close
      sort n_combo_objets%
 
  n% = count(n_liste_objets%)
  if n%>0
    for i%=1 to n%
      item_select n_liste_objets%,i%
      objet_actuel$ = item_index$(n_liste_objets%)
      fichier_objet_actuel$ = "GD_object_"+objet_actuel$+".GDdef"
      res% = dll_call2("LoadKGFGridFromFile",KG_proprietes%,adr(fichier_objet_actuel$))
      afficher_objet_actuel()   
      sauver_objet_actuel()
    next i%
  end_if
 
  res% = dll_call2("SelectListBoxItem",handle(n_liste_objets%),0)
  s$ = " "
  res% = dll_call6("SetKGFGridCellRangeType",KG_proprietes%,1,100,2,2,1)
  res% = dll_call6("SetKGFGridCellRangeValue",KG_proprietes%,1,100,1,2,adr(s$))
  derniere_ligne_utilisee% = 0
  objet_actuel$ = ""
  DoDesigner% = 1
  active 0
  message "L'archive a été restaurée !"

  return

J'ai mis le source à jour dans le WebDav.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 EmptyVen 15 Avr 2022 - 7:51

Bonjour Klaus !

Toujours le même problème...

- J'ai mis le source à jour. Toujours le problème.
- J'ai tenté l'ajout entre les lignes 1666 et 1836. Toujours le problème.

J'ai toujours une erreur en ligne 1726 ! geek scratch Mad
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Début d'un constructeur d'un GUI Panoramic - Page 2 Empty
MessageSujet: Re: Début d'un constructeur d'un GUI Panoramic   Début d'un constructeur d'un GUI Panoramic - Page 2 Empty

Revenir en haut Aller en bas
 
Début d'un constructeur d'un GUI Panoramic
Revenir en haut 
Page 2 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» DUO Panoramic : Editeur de codes et Constructeur d'objets
» Début d'un autre IDE
» KGF_dll - nouvelles versions
» Début d'un jeu de labyrinthe
» Début d'un nouveau système de 2D et Sprites

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: