Changing properties of new Objects with Scripting commands

EKluge shared this question 1 month ago
Needs Answer

Hi, I have some complicated question:

I try to change the layout of new Objects that are created by the tools point reflexion and axis reflection, i.e. i want to have the new point of the mirror picture not labeld and in "brown".

Therefore I defined a listener (see globalscript in example). Renaming works, but the commands

ggbApplet.setLabelVisible(obj,false) and ggbApplet.setColor(obj, 153,51,0) don't work on the mirror images.

BUT: If I set LabelVisible of the original object false (points A,B,C), then the mirror object don't have labels too.

AND: When creating an angle, its color is changed to "brown" as the script command says.

It seems. that the mirror images of the tools point reflection , axis reflection inherit all attributes from the original and can be changed (beside the name, which can be changed).

By default, this is a good idea to me, but it would be nice to have the possibility to change these attributes by script. (Once they are created, I can change attributes by property menu).

Am I right or is there an error in my script?

Thank you very much in advance,

Eva

Comments (1)

photo
1

Ich denke Du hast recht.

Beweis: wenn man den alert() in function NewObjects(obj) einschaltet, dann wird anfänglich der Punkt in Braun angezeigt. Erst dann, wenn alle Objekte (Punkte, Flächen, Strecken) abgearbeitet und die Funktion nicht mehr aktiv ist, dann werden die Farben allen abgearbeitet Objekten neu zugeordnet und das Braun der Punkte wird verändert.

.

Abhilfe (ungetestet, aber ich bin mir ziemlich sicher):

Wenn in NewObjects(obj) ein Punkt neu benannt wurde wird ein Slider (Aufsteigend-Einmalig, Min=0, Max=1, Step=1, Speed=cirka 30) als Timeout (erneut) gestartet (TimeOut=0, StartAnimation)

Simple variante: Mit Ablauf des Timeouts (OnUpdate und Slider ist gleich 1) startet ein JS, der allen Punkte mit dem Namen Pnn die gewünschten Eigenschaften zuordnet.

Halb simple Variante: ein zusätzlicher Zähler ac2 hält fest, welche Punkte Pnn im Timeout-script bereits "nachbehandelt" wurden. Die noch nicht behandelten (ac2 < ac) werden in den Eigenschaften verändert und ac2 wird nachgeführt.

Ausgefeiltere Variante: NewObjects(obj) füllt mit jedem neuen Punkt einen Stack mit dem Objektnamen (Pnn). Mit Ablauf des Timeouts wird der Stack abgearbeitet.

.

Anmerkung: Der Name Pnn verweist auf die Tabellenkalkulation (langsam, beschränkte Anzahl, vielleicht später verwendet). Bessere wäre vielleicht P_{nn}

© 2019 International GeoGebra Institute