IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Choix de la police inopérant dans TStatusBar [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 717
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 717
    Points : 15 094
    Points
    15 094
    Par défaut Choix de la police inopérant dans TStatusBar
    Bonsoir,

    Nom : stb_bug.png
Affichages : 328
Taille : 14,6 Ko

    Sur l'image ci-dessus à gauche l'inspecteur de propriétés des objets, positionné sur la section Font du StatusBar et où on peut lire que la police choisie est Libération Mono (une police Linux à chasse fixe [similaire à Courier New pour les Windowsiens], pour bien aligner les colonnes de chiffres [oui, dans un projet j'ai deux TStatusBar l'un au-dessus de l'autre, avec des nombres longs...]), et on enfonce le clou avec le pitch à fpFixed, mais comme on peut le constater sur la partie droite de l'image, ces paramètres laissent totalement indifférent le TStatusBar à qui ils s'appliquent, contrairement au TEdit placé juste au-dessus pour montrer que certains composants y réagissent bien, et même sans forcer le pitch : le nom de la police leur suffit...

    Fait pour servir et valoir ce que de droit,

    Debian 8 / FPC 3.0 / Laz 1.6.2
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 414
    Points
    59 414
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Le bug ne se produit que sous Linux, et quelle que soit la police choisie et la police de la form parent (dans les version 1.0.x et précédentes, la police était héritée du parent si je ne me trompe pas). Aucun souci sous Windows.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 717
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 717
    Points : 15 094
    Points
    15 094
    Par défaut
    Bonjour,
    Citation Envoyé par Alcatîz Voir le message
    Le bug ne se produit que sous Linux, et quelle que soit la police choisie et la police de la form parent (dans les version 1.0.x et précédentes, la police était héritée du parent si je ne me trompe pas). Aucun souci sous Windows.

    Pas la 1re fois que je constate que Linux est le parent pauvre sous Lazarus... Alors on va me parler de WidgetSet, de Gtk2 mal ou pas supporté, etc., et c'est pour ça que j'ai pensé à montrer qu'il n'y avait pas de souci avec le TEdit (ni avec le TMemo, entre autres)...
    Oublié de préciser que j'ai bien mis ParentFont := False.

    Et j'ai d'autres bugs dans ma mallette : si je copie/colle un TTrackBar d'un emplacement à un autre, pas de problèmes ; si j'en copie/colle deux en même temps, les deux collés se retrouvent avec la propriété Visible à False ! Au 1er run ça surprend...

    J'en ai d'autres, je les garde au chaud pour une autre fois, j'ai des trucs à faire avancer.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Bonjour,

    Pas la 1re fois que je constate que Linux est le parent pauvre sous Lazarus... Alors on va me parler de WidgetSet, de Gtk2 mal ou pas supporté, etc., et c'est pour ça que j'ai pensé à montrer qu'il n'y avait pas de souci avec le TEdit (ni avec le TMemo, entre autres)...
    Bonjour,

    J'ai regardé l'historique complet de TStatusbar, mais le bogue cité n'apparaît nulle part. Je te suggère d'ouvrir un signalement de bogue sur le site freepascal.

    L'expression parent pauvre n'est pas totalement fausse, même si elle me semble exagérée. Il suffit de regarder le nombre de téléchargements de la version 1.6.2 de Lazarus sur sourceforge pour se rendre compte que Linux n'a pas vraiment le vent en poupe pour les applications de bureau : 3844 téléchargements W32, 6208 W64, 912 MacOS, 2153 Linux (répartis en fait en 4 catégories ). Ce n'est pas négligeable, mais la remontée des bogues est bien plus faible pour Linux et les spécialistes à même de résoudre les problèmes bien plus rares aussi.

    Quand je veux obtenir quelque chose avec Lazarus, j'essaye de me repérer grâce au roadmap : il se trouve que la classe TFont n'est que partiellement implémentée pour gtk2. En revanche, TSatusbar ne souffre pas de ce problème (sauf pour sa fonte ?). Il faudrait aller voir dans le code source Linux du traitement de la Statusbar pour en avoir le cœur net.

    Je précise que, très souvent, le retard de Linux est dû à des a priori de FreePascal et de Lazarus. Les concepteurs ne veulent pas s'éloigner de Delphi qui ne fonctionne pas sur Linux (au moins pour le moment ). Le point de vue est biaisé dès l'origine : c'est Windows qui prime. La conséquence est qu'on essaye de mimer le fonctionnement de Windows sur Linux et que la conception ne s'y prête pas toujours (par exemple, il est impossible de travailler avec des caractères Unicode avec gtk, ou telle API n'a pas de correspondance immédiate pour les deux plateformes).

    Petite remarque au passage : ce n'est pas parce que TEdit ou TMemo fonctionnent bien que TStatusbar le fera. Si tous les trois descendent de TWinControl, TEdit et TMemo ont un ancêtre commun direct (TCustomEdit) qui leur confère un fonctionnement similaire alors que ce n'est pas le cas de TSattusbar (ce qui se comprend).

    Cordialement,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 717
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 717
    Points : 15 094
    Points
    15 094
    Par défaut
    Bonsoir,

    solution de contournement :
    poser un TLabel sur la fiche, penser à lui mettre AutoSize à False dans l'inspecteur d'objets, puis dans FormCreate lui déclarer son parent comment étant le StatusBar et son alignement à alClient et voilà !
    Le plus rigolo, c'est que si le StatusBar n'est pas fichu d'écrire avec la police que je lui demande gentiment d'utiliser, il est quand même capable de la transmettre au Label.

    En fonction de trucs et de machins (taille de police, etc.), il vous faudra peut-être (sans doute !) jouer avec la propriété BorderSpacing.Top que j'ai mise à 2 pour cet exemple, sinon le texte était collé en haut sous le trait, très moche :

    Nom : label_dans_statusbar.png
Affichages : 175
Taille : 2,8 Ko

    Allez hop !, c'est bientôt Noël, alors

    Bon, je ne l'ai testé qu'en mode SimplePanel, peut-être que ça fonctionnerait avec plusieurs labels et plusieurs panels : à tester.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Février 2013
    Messages : 70
    Points : 146
    Points
    146
    Par défaut
    Citation Envoyé par gvasseur58 Voir le message
    L'expression parent pauvre n'est pas totalement fausse, même si elle me semble exagérée. Il suffit de regarder le nombre de téléchargements de la version 1.6.2 de Lazarus sur sourceforge pour se rendre compte que Linux n'a pas vraiment le vent en poupe pour les applications de bureau : 3844 téléchargements W32, 6208 W64, 912 MacOS, 2153 Linux (répartis en fait en 4 catégories ). Ce n'est pas négligeable, mais la remontée des bogues est bien plus faible pour Linux et les spécialistes à même de résoudre les problèmes bien plus rares aussi.
    La plupart des distros Linux permettent l'installation directe de Lazarus depuis les dépôts de logiciels sans passer par sourceforge. Ces chiffres ne sont donc pas significatifs en soi. Cependant, l'installation automatique est souvent déficiente, Free Pascal de même que la LCL n'étant pas toujours installés par les installateurs automatiques. De plus, la version de Lazarus supportée par la distro est souvent désuète, même pour les version qui ne sont pas LTS.

  7. #7
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Citation Envoyé par gvasseur58 Voir le message
    Bonjour,

    J'ai regardé l'historique complet de TStatusbar, mais le bogue cité n'apparaît nulle part. Je te suggère d'ouvrir un signalement de bogue sur le site freepascal.

    L'expression parent pauvre n'est pas totalement fausse, même si elle me semble exagérée. Il suffit de regarder le nombre de téléchargements de la version 1.6.2 de Lazarus sur sourceforge pour se rendre compte que Linux n'a pas vraiment le vent en poupe pour les applications de bureau : 3844 téléchargements W32, 6208 W64, 912 MacOS, 2153 Linux (répartis en fait en 4 catégories ). Ce n'est pas négligeable, mais la remontée des bogues est bien plus faible pour Linux et les spécialistes à même de résoudre les problèmes bien plus rares aussi.
    Bonjour, le parent pauvre de Lazarus, ce n'est pas Linux mais Mac OS. Comme je l'écrivais récemment, développer avec Lazarus sur autre chose que Windows nécessite un développement chronophage des composants en interne au point parfois d'en oublier le projet que l'on développe. Je suis comme Jipété, très mécontent de la politique de développement de Lazarus. Sous Mac, j'ai dû recompiler gdb pour pouvoir l'intégrer à la plateforme. Aucune documentation. Solution proposée : une bidouille maison toute Lazarusienne sur le site.

    Je lis souvent Jipété et son mécontentent auquel je souscris totalement. Effectivement, Lazarus n'est pas réellement multiplateforme. Quand une plateforme de développement l'est, on peut produire la même chose dans les 3 OS comme on le fait avec Qt. Et ce n'est évidemment pas le cas avec Lazarus. Comme le dit Jipété, ce n'est pas dû aux spécificités des OS, mais à un simple manque d'investissement : au lieu de continuer une course en avant folle, il serait plus sage de consolider le produit et de le rendre réellement portable. Ce n'est pas un produit commercial, donc il n'y a aucune raison de ne pas prendre son temps.

    Il suffit pour s'en convaincre de regarder ce qu'a fait TMS au niveau de la gestion du RichText alors que pendant des années, on a dû se contenter de 2 malheureux composants ne pouvant pas être utilisés dans les 3 OS sans correction, et même sur certains OS, non portables de 32 à 64 bits. Maintenant, ici, on utilise Lazarus comme solution de secours car même développer en C++ est plus rapide que d'utiliser Lazarus et surtout plus prévisible au niveau des délais.

    Cordialement. AD.

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 416
    Points : 5 814
    Points
    5 814
    Par défaut
    Salut

    A priorie ils avaient le même souci en C.

    Voir ici
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] [Linux] Choix d'une police dans les Form
    Par ovni76 dans le forum Lazarus
    Réponses: 10
    Dernier message: 14/12/2010, 10h14
  2. Problème de police dans TStatusBar
    Par pat-lion dans le forum Delphi
    Réponses: 6
    Dernier message: 07/02/2007, 16h06
  3. pb de font dans TStatusBar
    Par OutOfRange dans le forum Composants VCL
    Réponses: 1
    Dernier message: 11/11/2005, 12h21
  4. [JAR][POLICE] Utiliser une police ttf dans un fichier jar
    Par Doc.Fusion dans le forum Général Java
    Réponses: 3
    Dernier message: 26/01/2005, 12h23
  5. Inclure un type de police spécial dans un projet
    Par AOliv dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 27/06/2003, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo