GEOS Bugs: Breite von Textobjekten bei unterschiedlichen System-Schriftgrößen unter Motif und ISUI

  • Hier ein neuer Thread zum Thema Bugs / Verbesserungen. Es gibt zwar ähnliche, die sind aber mittlerweile etwas unübersichtlich geworden oder auch irgendwie eingeschlafen... Vielleicht ist es sogar sinnvoll, einen eigenen Thread pro Bug zu führen?

    Ich fange mal an:

    Vor ein paar Tagen habe ich mal unter DOSBox Staging und der aktuellen Ensemble-Beta ein paar Tests unter ISUI und Motif mit jeweils 9, 10 und 12 Punkt großer System-Schriftgröße gemacht:

    - Bei 12 Punkt Schriftgröße unterscheidet sich die Darstellung der Textobjekte unter ISUI und Motif kaum voneinander, ISUI ist sogar minimal kleiner.

    - Bei 10 Punkt Schriftgröße stellen sich die Textobjekte unter ISUI stattdessen unverhältnismässig breit dar, sogar beiter als bei 12 Punkt Schriftgröße.

    - Bei 9 Punkt Schriftgröße tritt der gleiche Fehler, nur eben mit etwas geringerer Schrifthöhe.

    Nicht getestet habe ich, was passiert, wenn man ISUI und Berkeley als Systemschrift kombiniert. Der Fehler tritt bei mir auch unter BBX Ensemble auf.

  • Ist die Breite der Dateiauswahlfelder und des Primary von dir vorgegeben oder offen? Man kann diese ja z.B. prozentual zur Fenster- /Bildschirmgröße festlegen. Da sollte dann immer in etwa das Gleiche herauskommen.

    Mario

  • Die Breite der Dateiauswahlfenster lässt sich indirekt durch die Angabe der Anzahl der darstellbaren Zeichen beeinflussen. Man kann die Breite mit einer Variable beeinflussen:

    "FileListWidth legt die Breite der Liste fest. Maßeinheit ist die "mittlere Zeichenbreite". Der Defaultwert ist Null, d.h. die Liste bestimmt die ihre Breite selbst."

    In den Screenshots kann man erkennen, dass die Buttons unten in der Startleiste bei 10 Punkt ebenfalls zu breit werden. Daher meine Vermutung, dass es ein generelles Problem beim Berechnen der benötigten Objektbreite ist.

  • Hallo Bernd,

    Das kann durchaus ein Bug sein. Das Geometriemanagement ist hochkomplex - sicher schwer da etwas zu finden. Deshalb würde ich an deiner Stelle versuchen so viel wie möglich vorzugeben.

    Ich vermute jetzt mal, ohne den UI-Code zu kennen, dass die FileList und die Buttons zusammen in einer Group hängen und sich so groß machen dürfen, wie Platz darin vorhanden ist.

    In dem du den Platz begrenzt z.B. durch die Größe der Group im Verhältnis zur Fenstergröße des Primary, passen sich die Objekte bis zu einem Minimalzustand entsprechend an. Die genauen Hints hab ich jetzt nicht im Kopf, müsste aber dokumentiert sein.

    Mario

  • Hallo Bernd,

    ich bin als Programmierer manchmal blind für bestimmte Dinge, und will dann alles ganz genau erklärt haben.

    unterscheidet sich die Darstellung der Textobjekte

    Du meinst die Texte in der Dateiliste? Oder die Texte in den UI-Elementen darüber? (Unter "Textobjekt" verstehe ich aus meiner beschränkten SDK-Sicht nämlich ein UI-Objekt (TextOBJEKT), nämlich das, was in R-BASIC 'Memo' oder 'InputLine' heißt.)

    Außerdem kann ich hier keinen Bug erkennen (nur dass es unter ISUI nicht so toll aussieht :) Verschiedene Schiftarten sehen einfach verschieden aus, das miteinander zu vergleichen würde ich nicht als Bug einstufen.

    Also klär mich auf, wenn ich das Problem nicht erkannt habe :S

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Moin Bernd.

    Du hast einmal Berkeley und einmal Esquire? als Schrift verwendet, das muß sich unterscheiden! Und die Schalterleiste ist bei jeder Schrift immer schön auf die Dateiliste begrenzt. Ich sehe da jetzt auch keinen Fehler. :/

    Gruß Achim


    PC/GEOS unter Linux in der DOSEMU = UNSCHLAGBAR!

  • Und ich dachte, ich hätte das ausreichend treffend beschrieben... :D

    Ok, seht euch nur die beiden unteren Screenshots an. Einmal ISUI mit Esquire in 10 Punkt und einmal Motif mit Berkeley in 10 Punkt. Das Schriftbild des Esquire-Fonts ist bei gleicher Schriftgröße etwas schmaler als das des Berkeley-Fonts.

    Nun vergleicht die Dateilisten zwischen dem ISUI- und dem Motif-Screenshot: Obwohl Esquire etwas schmaler ist, sind die Dateilisten wesentlich breiter als unter Motif.

    Der gleiche Effekt tritt unten bei den Startleisten auf: Unter ISUI / Esquire werden die Buttons "Voreinstellungen", "World" und "File Commander" breiter als unter Motif / Berkeley dargestellt.

    Bei 12 Punkt Schriftgröße tritt dieser Unterschied nicht auf (siehe die beiden oberen Screenshots). Dort werden die Listen und Button annähernd gleich groß dargestellt. Deshalb bin ich auf die Vermutung gekommen, dass da evtl. ein Bug vorliegt.

  • Hallo Bernd,

    Teste das doch einmal in R-BASIC, indem du z.B zwei Memo-Objekte untereinander unterschiedliche Fonts zuweist und die fixedSize-Eigenschaft in der Breite auf jeweils 20 Zeichen (ST_AVG_CHAR_WIDTH) festlegst. Da sollte sich das wiederspiegeln. Da die "average Char Width" ja ein berechneter Wert ist? , reicht hier evtl. sogar schon ein sehr breites Zeichen im Font, um diesen Wert kaputt zu machen (reine Theorie).

  • Ok, ich habs geschnallt. Ich hab jetzt keine Muße in den Code zu schaunen, aber ich vermute, die Fileselectoren passen sich in der Breite der Kommandoleiste darunter an. Bleibt die Frage, warum die breiter ist. ST_AVG_CHAR_WIDTH liefert tatsächlich für verschieden Fonts unterschiedliche Werte, aber DEN Unterschied kann es nicht ausmachen.

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Nachtrag: ich finde auch den Link zu Code nicht mehr ...

    Code hatte ich keinen verlinkt, weil ich ja vermute, dass es kein R-BASIC Problem ist... Zum Quellcode des File Commander gehts hier lang: http://www.geos-infobase.de/PROG_RB/FILECMDR.HTM Aber wie gesagt...

    Hier ein Beispiel mit Minimalcode, der bei mir den gleichen Effekt hat. Schriftgröße ist wieder jeweils 10 Punkt.

  • Ok, das sieht wirklich nach einem Problem auf GEOS Ebene aus.

    Andererseits ... bei mir reagiert der FileSelector weder auf numFilesToShow noch auf fileListWidth. Ich hab mal gerade keine Ahnung was da faul ist. :cursing:

    Wenn ich das Programm allerdings abrüste, wie du es getan hast, funktioniert alles wie gewünscht. Auch Esquire als Systemfont macht keine Zicken - alles getestet unter BBX 4.13

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • bei mir reagiert der FileSelector weder auf

    Ich meine, wenn ich in deinem Quellcode LeftSel verändere. Aber der Code sieht insgesamt nicht irgendwie besonders aus, nichts was mich stutzig macht oder eine "ungewöhnliche" Konstellation ist.

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • So, letzter Nachtrag für heute. Der "Fehler" (Fileselector ist zu breit) tritt nur unter GEOS 6 auf, und zwar unabhängig von der gewählten UI.

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hmm... Ist das denn nun tatsächlich ein Fehler im Sinne des Wortes? Oder könnte man es als oberflächen-spezifisches Verhalten akzeptieren? Ich würde für zweites plädieren.

    Gruß Achim


    PC/GEOS unter Linux in der DOSEMU = UNSCHLAGBAR!

  • Hmm... Ist das denn nun tatsächlich ein Fehler im Sinne des Wortes? Oder könnte man es als oberflächen-spezifisches Verhalten akzeptieren? Ich würde für zweites plädieren.

    Klar, es ist kein Drama - und ist für mich auch nicht sonderlich relevant, weil ich ISUI ausser zum gelegentlich Testen eh nicht verwende. Als ein ISUI-Nutzer, der vorzugsweise mit 10 Punkt Systemschrift arbeitet, würde es mich aber stören, wenn Fenster mit 10 Punkt Systemschrift breiter sind, als mit 12 Punkt Systemschrift. Und in dem Sinne wäre das für mich auch ein Fehler.

    Aber wenn das Verhalten unter BBX 4 und Geos 6 verschieden ist, dann kann ein fehlerhafter Irrtum nicht ausgeschlossen werden und es sollte idealiter nach den Ursachen gegründelt werden.

    Bei mir tritt der Effekt (ich schreibe jetzt mal nicht "Fehler" ;-)) unter BBX 410, BBX 413 und PC/GEOS6 auf.

  • Bei mir tritt der Effekt (ich schreibe jetzt mal nicht "Fehler" ;-)) unter BBX 410, BBX 413 und PC/GEOS6 auf.

    Interessant. Meinen Beitrag hatte ich mit Rainers Hinweis im Kopf, daß der Effekt (sic!) nur unter Geos 6 auftrete, verfaßt.

    Wenn er bei dir immer auftritt, dann … klingt es ja noch komplizierter. Wird Zeit, daß sich Falk mal einschaltet :)

  • Wie ist denn das Verhalten unter NDO 3 oder neuer (noch aber kein NDO 1999/2000)? Ich würde sonst darauf tippen, dass das eine Änderung ist, die durch den GlobalPC kam (bessere Darstellung auf NTSC-Fernsehern oder so…).

    There are two rules in life:
    1. Never give out all of the information.