WishList 2017

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

WishList 2017

Message par Marc56 »

PB a des fonctions bien commodes, LoadImage() et SaveImage()

:idea: Il pourrait être intéressant de créer le même type de fonction pour le gadget Editor ?

:arrow: Par exemple LoadText() et SaveText()
  • LoadText ayant un paramètre pour le format (utf, ascii, unicode) et utilisant ReadData pour charger bien plus rapidement qu'une boucle Eof
  • SaveText, détectant la format avec ReadStringFormat()
Un peu comme les fonctions LoadFromFile et SaveToFile d'autres langages
Fonction sans doute assez simple à développer et pouvant intéresser les clients pro déjà habitués à ce type de fonction.

:wink:
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: WishList 2017

Message par Marc56 »

:idea:
  • La possibilité d'utiliser des ressources graphiques sous la forme de lib d'image (comme on fait en Delphi/Lazarus)
    Une commande un peu comme LoadImageFromLib("<fichier lib>", Largeur_d'image, Numéro_d'index)
    Où Fichier lib est un simple fichier images où les images son concaténés.
    (Suppose bien-sur que toutes les images aient la même largeur, mais à l'utilisateur de se débrouiller)
    Très utile pour les petites icônes qui prennent chacune un cluster disque sans cela.

    :arrow: Edit: J'ai retrouvé le nom officiel: Image Lists Les bandes d'images se font facilement en PB ou avec des gestionnaires d'images comme Irfanview, FastStone etc
    Image
  • Aute chose: Une commande pour gérer la transparence des fenêtres, maintenant que cette fonction est native (depuis XP)
    C'est une fonction moderne, très utile et simple à coder.
    Le code API prend 2 lignes:

    Code : Tout sélectionner

    SetWindowLong_(WindowID(#Window_0), #GWL_EXSTYLE, #WS_EX_LAYERED) 
    SetLayeredWindowAttributes_(WindowID(#Window_0), 0, 255 * Alpha / 100, #LWA_ALPHA)  
    (Alpha = 0 à 100)
    Peut-être pas compatible Mac et Linux ? mais il suffit alors de mettre une remarque.
:wink:
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: WishList 2017

Message par Marc56 »

:idea: PopUp Menu Designer

Le Form Designer gère très bien les menus (sauf qu'il n'a pas l'option modernlook (oubli?))
La génération de menu par programme est très utile car elle gère aussi le code d'inclusion des icônes qui est assez pénible à écrire (includebinary, catchimage etc)

Serait-il possible d'isoler la partie générateur de menu et d'en faire un générateur de menu :arrow: PopUp ?

Créer une extension (ex: *.pbm) permettant à l'IDE de déclencher l'éditeur sur ce type de code.
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: WishList 2017

Message par Zorro »

Le truc penible !

impossible de faire

Code : Tout sélectionner

path.s="D:\Dobro\Purebasic_5_60\86\Examples\3D\"+"Screen3DRequester.pb"
IncludeFile path.s
on peux sérieusement se demander pourquoi ?? 8O
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: WishList 2017

Message par Marc56 »

Sans doutes une histoire de pré-compilateur ?

Par contre, dixit la doc, tu peux utiliser IncludePath

Code : Tout sélectionner

IncludePath "D:\Dobro\Purebasic_5_60\86\Examples\3D\"
IncludeFile "Screen3DRequester.pb"
Donc éventuellement avec une macro pour ne pas avoir à éditer tous les coins du code ?

:wink:
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: WishList 2017

Message par Marc56 »

:idea: Je ne sais plus si on l'avait déjà demandé, mais un PanelGadget avec les onglets à la verticale ce serait bien utile.

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

Re: WishList 2017

Message par SPH »

Pouvoir mettre un sprite dans un sprite (pas verifié si la version 5.60 le fait) :idea:
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
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: WishList 2017

Message par blendman »

Gadgets :
- pouvoir avoir de grandes images dans les gadgets avec images/icones (treegadget surtout)
- avoir les gadgets transparents, pour pouvoir faire des belles interfaces parce là, on a des interfaces de window xp ^^
- pouvoir changer la couleur de TOUS les gadgets (donc, y compris les splitters, panels, bouton, etc...), ainsi que les bordures ou fonds des gadgets.
- pouvoir changer les "images" des gadgets, c'est à dire : l'image du bouton pour le bouton, les flèches bas/haut pour les ascenseurs, etc...

- Panel : pourvoir choisir la place des onglets des panels : haut (defaut), bas, gauche (verticaux), droite (verticaux)

- pouvoir avoir des gadgets flottants et déplaçables

- nouveau gadget : propertybox (il existe des solutions sur le forum anglais, mais un gadget intégré serait mieux).
- Nouveau gadget : Rebar gadget (idem). Ex de code : http://www.purebasic.fr/english/viewtop ... bar+gadget


Menu
- pouvoir changer divers paramètres : police (font, size, color...), couleur du fond et menubar(), dégradé ou image de CreateImageMenu (avec nos propres couleurs ou image en fond), etc... Pour des menus plus modernes.


IDE :
- ne plus devoir déclarer les procédures (en option)
- Pouvoir changer la "casse" d'un texte sélectionné : majuscule ou minuscule.
- debug : aller directement au numéro de la ligne, quand on clique sur une ligne du log nous avertissant d'une erreur ou avertissement (par exemple : "avertissement ligne 88 : opengadgetlist() depreciated", on clique sur cette ligne dans le log et on se retrouve sur la ligne 88)


Code, fonction
- Step avec variable
- avoir l'équivalent de #WM_MBUTTONDOWN/UP, #WL_LBUTTONDOWN, #WM_RBUTTONDOWN, #WM_MOUSEWHEEL pour toutes les plateformes ! On a déjà #PB_Event_LeftClick (=left mouse up) et #PB_Event_RightClick, c'est vraiment dommage de ne pas avoir les autres.
- pouvoir insérer un élément dans un tableau ou le supprimer facilement (DeleteArrayElement(array(), position) InserArrayElement(array(), position)



Screen, Sprite :
- ne plus avoir la souris bloquée dans l'écran par défaut !
- pouvoir redimensionner le screen, sans devoir tout recharger (sprite...) et sans devoir le mettre dans un gadget type container (ça ne marche pas toujours, hélas).
- Couleur du sprite : que la couleur soit "mixée" avec la couleur d'origine, et pas qu'elle la remplace (comme le mode multiply de photoshop)
- pouvoir définir le niveau d'alpha utilisé avec SpritePixelCollision(sprite1,sprite2,alpha) : là si alpha < 255, ça dit : pas de collision. Si on pouvait gérer ce taux nous-même ce serait top !
- spritepixelColision() : gérer le zoom et transformation des sprites pour les collision par pixel !
- pouvoir dessiner un sprite dans un autre sprite (pour faire du renderTotexture par exemple et des post-fx)
- SpriteShader
Dernière modification par blendman le ven. 01/sept./2017 8:28, modifié 5 fois.
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: WishList 2017

Message par JohnJohnsonSHERMAN »

Je plussoie quand à la transparence des gadgets et la possibilité de skinner ses interfaces, ce serait exellent :) Par contre je ne sais même pas s'il existe une solution (multiplateforme de plus) pour faire cela sans réécrire une GUI...
Une solution pour avoir une GUI customisable consiste en fait à écrire une appli web et l'afficher dans une fenêtre de navigateur genre WebGadget. Il existe d'ailleurs des projets intéressants là dessus (c'est en général basé sur Node.js), mais par contre là on sort de PB :oops:

@Blendman : qu'est ce qu'un Rebar gadget ? ;)
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: WishList 2017

Message par blendman »

JohnJohnsonSHERMAN a écrit :@Blendman : qu'est ce qu'un Rebar gadget ? ;)
c'est une sorte de container contenant des "barre", qui elles-mêmes peuvent contenir des gadgets.
Normalement, si tu cliques sur une de ces barres, ça affiche les gadgets liée à cette "barre" et cache les gadgets des autres barres. Dans certains rebargadget, on peut même déplacer les barres pour les placer comme on veut.

Exemple de code (datant de 2006, puis 2008 quand même) :
http://www.purebasic.fr/english/viewtop ... bar+gadget
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: WishList 2017

Message par JohnJohnsonSHERMAN »

Ah oui :)
C'est pas mal, et je pense que ce serait utile, merci Blendman :)

Comme possibilités j'ajouterais que pouvoir faire des tableaux fixés comme en C serait pas mal (surtout pour l'utilisation de fonctions de libs en C). Certes on peut déja le faire dans les structures, mais pas autrement :

Code : Tout sélectionner

EnableExplicit

Structure test
  tab.i[10]
EndStructure

Define something.test

something\tab[0] = 420
something\tab[1] = 987
something\tab[2] = 42

Debug something\tab[2]
Si on tente cela, ca ne marchera pas :

Code : Tout sélectionner

EnableExplicit
Define test.i[10]
Je pense que ce serait cool d'avoir cette possibilité, et de pouvoir gérer des tableaux comme en C, genre :

Code : Tout sélectionner

int tab[4] = {42, 420, 29, 987};
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: WishList 2017

Message par Marc56 »

Exemple de code (datant de 2006, puis 2008 quand même)
En passant... un code vieux de 11 ans et qui fonctionne encore (juste à changer l'ordre des paramètres d'openwindow), c'est pas tous les ide graphiques qui peuvent en faire autant :P
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: WishList 2017

Message par falsam »

Une option dans les options de compilation permettant de créer une userlib
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: WishList 2017

Message par SPH »

Arreter le support amiga qui ne sert a personne (ou a 3 pellerins par ci par la)

Ca fait donc 5 pages de requetes. Je ne sais meme pas si fred va les lire... :cry:

J'espere voir la version 6 sortir et pas la version 5.62 8)
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
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: WishList 2017

Message par Kwai chang caine »

Ca fait donc 5 pages de requetes
Et c'est pas le seul post de souhaits .. :wink:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre