ggb SetValue, js getValue

FriedrichLaher shared this question 3 weeks ago
Answered

was ist da falsch. ich will die Bbreite ( und Höhe ) eines Textes wissen

Files: ttt.ggb

Comments (7)

photo
1

In GGB-Befehlen in der Algebra-Ansicht (also keine Skripts)

Breite = Abstand(Eckpunkt(<textobjekt>, 1), Eckpunkt(<textobjekt>, 2))

Höhe= Abstand(Eckpunkt(<textobjekt>, 1), Eckpunkt(<textobjekt>, 4))

https://wiki.geogebra.org/d...

.

Die Textgrösse und damit indirekt die Grösse der Textbox kann nur via LaTeX verändert werden.

In JS unter Verwendung von GGB-XML Befehlen kann auch die die Schriftgrösse der ganzen Text-Box (klein, mittel, gross usw) beeinflusst werden.

photo
1

Danke rami für Deine mühe, auch wenn es mir wenig half; inzwischen habe ich brauchbares selbst gefunden; de Aufwand für übernahme in js ist allerdings gewaltig.

photo
1

Quote: ".....es mir wenig half"

Na ja, die Anfrage war ja alles andere als klar und vollständig. (Ist sie immer noch nicht)

-------------------------------------------------------------------

Vermutlich willst Du eine Textbox so an einen Punkt binden (gegenseitig?), dass sich dieser Punkt immer oben rechts an der Textbox befindet und die Textbox mit diesem Punkt bewegt werden kann.

Falls ja: im Anhang eine Lösung mit 2 simplen GGB-scripts, die sich sicherlich auch in JS umsetzen lassen.

photo
1

Danke rami!

Hier noch etwas das mir nach Bug aussieht; klick auf den "inhalt egal" Text sollt diesen eigentlich auf C, den Mittelpunkt der Strecke f befördern; es sollte also Punkt E, die linke obere Ecke ( Eckpunkt 4 ) des Selektrahmens des Textes, auf C landen

photo
1

Hier eine Lösung in JS

Der Eckpunkt ist nun frei wählbar

Den Click auf den Text habe ich Deinem Beispiel angepasst.

NOTE: da keine lokalen Variablen benötigt werden und jene aus der Algebra-View nicht durch JS modifiziert werden müssen, ist der Unterschied zwischen GGB-script und JS sinngemäss Null.

photo
1

bessere Formulierung:

Note: Da innerhalb JS keine GGB-Variablen benötigt werden (zB iteration, if() usw) und die GGB-Variablen nicht innerhalb JS und für JS modifiziert werden müssen und ausschliesslich GGB-Script-Commands benötigt werden, ist der Unterschied zwischen GGB-script und JS sinngemäss Null.

photo
photo
1

Falls immer Eckpunkt(<text>,4) zur Anwendung kommt und anstelle dieses Eckpunktes-4 der linke Fusspunkt der ersten Zeile als Bezugspunkt gut genug oder allenfalls sogar besser ist, dann ist die viel einfachere Variante (im Anhang) empfehlenswert.

Dieser Punkt entspricht der Koordinate wie sie in Eigenschaft/Position angezeigt wird und gegenüber Eckpunkt-4 um etwas mehr als 1 Zeile nach unten verschoben ist (abhängig von Schriftgrösse, laTeX, DreheText() etc). Leider kann diese Eigenschaft nur mit SetzeKoordinaten() verändert aber nicht ausgelesen werden (auch nicht in JS, allenfalls durch JS-XML resp mit dem Trick in TextboxFixedAtCorner_... .ggb).

© 2019 International GeoGebra Institute