Page 5 sur 6

WishList 2017

Publié : lun. 26/juin/2017 16:52
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:

Re: WishList 2017

Publié : dim. 09/juil./2017 17:56
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:

Re: WishList 2017

Publié : mar. 11/juil./2017 9:15
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.

Re: WishList 2017

Publié : mar. 11/juil./2017 10:11
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

Re: WishList 2017

Publié : mar. 11/juil./2017 10:34
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:

Re: WishList 2017

Publié : mer. 12/juil./2017 8:53
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:

Re: WishList 2017

Publié : dim. 06/août/2017 19:57
par SPH
Pouvoir mettre un sprite dans un sprite (pas verifié si la version 5.60 le fait) :idea:

Re: WishList 2017

Publié : jeu. 31/août/2017 14:51
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

Re: WishList 2017

Publié : jeu. 31/août/2017 16:32
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 ? ;)

Re: WishList 2017

Publié : ven. 01/sept./2017 7:54
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

Re: WishList 2017

Publié : ven. 01/sept./2017 12:49
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};

Re: WishList 2017

Publié : ven. 01/sept./2017 17:43
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

Re: WishList 2017

Publié : jeu. 07/sept./2017 10:51
par falsam
Une option dans les options de compilation permettant de créer une userlib

Re: WishList 2017

Publié : jeu. 07/sept./2017 13:43
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)

Re: WishList 2017

Publié : jeu. 07/sept./2017 15:26
par Kwai chang caine
Ca fait donc 5 pages de requetes
Et c'est pas le seul post de souhaits .. :wink: