Werkzeug nachträglich ändern

ich shared this question 4 years ago
Answered

Ich habe ein Werkzeug erstellt und möchte es nachträglich noch ändern. (andere Ausgabeobjekte oder die Konstruktion ändern)

Wie kann ich das in GeoGebra (classic ver 6 oder ältere) erreichen?

Gleiche Frage gilt für die Abänderung von importierten Werkzeugen.

(Es geht nicht um Name, Position oder Bild des Werkzeuges)

Best Answer
photo

Zitat: "Das wäre dann vielleicht auch ein Weg Korrekturen an Werkzeugen vorzunehmen, die andere Leute erstellt haben"

inofern NEIN, weil

- ein (fremdes) Benutzertool zuerst geändert und erst dann in einer Deiner Anwendungen verwendet wird.

- ein fremdes Benutzertool entweder als ggt File vorliegt oder aus einer bestehenden (fremden) Anwendung mit Menu/Werkzeuge/Verwalten/SpeichernUnter als ggt File exportiert werden kann.

- Ein als ggt vorliegendes Benutzertool mit Menu/Werkzeuge/Verwalten/oeffnen als ggb-File geöffnet und verändert und dann erneut in ein ggt File umgewandelt werden kann (Menu/Werkzeuge/NeuesErstellen) und letzteres dann mittels Menu/Werkzeuge/Verwalten/SpeichernUnter als ggt File exportiert wird um es letzlich in einer Deiner Anwendungen zu importieren und anzuwenden. Hier besteht als nie der Bedarf in das XML einzugreifen.

- ein Problem entsteht nur dann, wenn ein ggt file in einer Anwendung-X importiert und in dieser angewendet wird. Und das Anwendertool nachträglich innerhalb derselben Anwendung-X verändert werden soll.

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

Zitat: "Gibt es eine Dokumentation zur XML Struktur und Semantik?"

Struktur ja, (ggb)-Semantik nein.

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

Zitat: "gibt es schon einen Pool an shared Werkzeugen"

Ja in GGTube aber es kann meines Wissens nicht nach ggt-Files gesucht werden (allenfalls via Google)

Grundsätzlich sind alle Materialen (ggb, ggt) im Rahmen der Benutzer-Lizenz frei verfügbar (auch Deine eigenen für Andere)

Comments (10)

photo
2

Antwort von Entwickler Zbynek

https://help.geogebra.org/t...

photo
1

rami - vielen Dank für die schnelle Antwort! Leider hatte ich den englischen Beitrag nicht gefunden.

Wenn ich es richtig verstehe, heißt es : "Ein Werkzeug kann man nicht nachträglich ändern" :(

Man kann nur von Null an ein neues Werkzeug erstellen und dieses dann genau so nennen wie das Ursprüngliche, welches dadurch überschrieben wird.

Das ist natürlich sehr enttäuschend. :(

photo
1

Zitat: "Ein (eingebettetes) Werkzeug kann man nicht (ohne weiteres) nachträglich ändern""

Nein.

Das habe ich damals in meiner Antwort auch geglaubt und wurde von Zbynek eines besseren belehrt.

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

Zitat: "Man kann nur von Null an ein neues Werkzeug erstellen"

nein

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

Wenn man das ursprüngliche File, mit dem das Werkzeug erstellt wurde, noch hat, dann kann man es dort ändern und das Werzeug neu generieren und als ggt herunter laden und in den Applets, die das Werzeug verwenden, importieren.

Wenn man das Werkezug irgendwo eingebettet hat so kann man es dort mit dem Menu/Werkzeug/WerkzeugVerwalten/Oeffnen als normales ggb-File bearbeiten, Speichern, wieder öffen, und zu einem Werkzeug umwandeln und abschliessend mit Menu/WerkzeugVerwalten/Speichern als korrigiertes ggt-File speichern und in den Applets, die das Werzeug verwenden, importieren.

Sofern man die Namensvergabe wie von Zbynek beschrieben einhält wird das bestehende und in der Anwendung verwendete Werkezug bei einem erneuten Import überschrieben.

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

Allerdings:

Die neue Version muss (im obigem Kontext) in folgenden Punkten kompatibel sein:

- identische Eingabeparameter (inklusive Objekttyp und Reihenfolge)

- alle bisherigen Ausgabeparameter bleiben mit ihrem Objekt-Typ erhalten. Es können aber zusätzliche Ausgabeparameter erzeugt werden (nicht getestet).

photo
1

rami - auch hier vielen Dank!

Allerdings mit GG classic ver 6 gibt es dieses Menu "Menu/Werkzeuge/Werkzeuge Verwalten/Oeffnen" überhaupt nicht, wie in dem Bild zu sehen ist. (Vielleicht ist es insgesamt besser die Ver 5 zu verwenden als die "etwas komische" Ver 6?) In Ver 5 habe ich zumindest dieses "Öffnen" gesehen und benutzt.

photo
1

rami - danke für die Hinweise auf die Einschränkungen (Allerdings):

- identische Eingabeparameter (inklusive Objekttyp und Reihenfolge)- alle bisherigen Ausgabeparameter bleiben mit ihrem Objekt-Typ erhalten.
das sind ja schon starke Einschränkungen, denn genau solche Änderungen möchte man doch wahrscheinlich machen.

photo
photo
2

Sorry, nun habe ich die ganze Prozedur durchgetestet und komme zu einem abweichenden Resultat.

Die Anweisung von Zbynek funktioniert nur teilweise. Das Benutzerwerkzeug wird zwar überschrieben aber die veränderte Variante wird auf bestehenden Objekten nicht angewendet (ggb Version 5.0.524 Win10). Nur neue Objekte verwenden die veränderte Variante

Die Beilage zeigt, dass die zweimalige Verwendung des Benutzerwerkzeugs Segm (in der Algebra-Ansicht -> f, g) nicht dem veränderten Benutzer-Werkzeug in Menu/Werkzeug/Oeffen entspricht (Eigenschaft Farbe). Nur Objekte die nach der Aenderung von Segm erstellt wurden (Objekt h) habendie richtigen Eigenschaften. Ich denke das ist ein Bug.

Mit andern Worten:

Das Aendern eines Benutzwerkzeuges in einer Applikation, die das Benutzerwerkezug bereits verwendet hat, ist nur sehr bedingt respektive ohne Eingriff in das XML-File nicht möglich. Meine damaliger Kommentar behält seine Gültigkeit.

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

Umgehungslösung mit Pferdefuss:

- neues,leeres File erstellen

- verändertes Benutzerwerzeug importieren

- altes ggb-File öffnen (Menu/Datei/öffnen...) mit Auswahl "Datei-Typ = Datei hinzufügen (.ggb)"

Damit erhalten alle Namen einen Index. ZB. wird aus dem bisherigen Namen A der neue Name A_{1}

photo
1

rami - vielen Dank für das Prüfen dieser Methode und das Finden einer Umgehungslösung !!!

Aktuell probiere ich die Anweisung von Zbynek mit der GG classic ver. 6 - aber da scheitere ich schon beim Fertigstellen vom "Neues Werkzeug erstellen" mit der Fehlermeldung "Öffnen der Datei fehlgeschlagen - processing of command: Segm(G,H)" (siehe Bild). Hier wurde im obigen Beispiel die Farbe vom Segm noch einmal geändert und sollte als neues Segm definiert werden. (Anschliessend sind alle Segmente unsichtbar / undefined.)

Besser scheint es zu klappen, ein neues Werkzeug mit neuen Namen zu erzeugen und mit dem Werkzeug ein Segm zu bauen, was dann als Basis für die Erzeugung eines "neuen" Werkzeuges dient, was dann als Namen wieder das ursprüngliche Werkzeug "Segm" nutzt und überschreibt. (das scheint irgendwie zu gehen oder auch nicht).

Anbei die dann abgespeicherte Datei - allerdings öffnet sich diese nicht mit GG classic ver 6 korrekt sondern mit der gleichen Fehlermeldung.

photo
1

ohne Eingriff in das XML-File nicht möglich. 
Ah, ok.

Gibt es eine Dokumentation zur XML Struktur und Semantik? Das wäre dann vielleicht auch ein Weg Korrekturen an Werkzeugen vorzunehmen, die andere Leute erstellt haben und die man selber weiter verbessern möchte.

Übrigens, gibt es schon einen Pool an shared Werkzeugen, die frei verfügbar sind?

photo
2

Zitat: "Das wäre dann vielleicht auch ein Weg Korrekturen an Werkzeugen vorzunehmen, die andere Leute erstellt haben"

inofern NEIN, weil

- ein (fremdes) Benutzertool zuerst geändert und erst dann in einer Deiner Anwendungen verwendet wird.

- ein fremdes Benutzertool entweder als ggt File vorliegt oder aus einer bestehenden (fremden) Anwendung mit Menu/Werkzeuge/Verwalten/SpeichernUnter als ggt File exportiert werden kann.

- Ein als ggt vorliegendes Benutzertool mit Menu/Werkzeuge/Verwalten/oeffnen als ggb-File geöffnet und verändert und dann erneut in ein ggt File umgewandelt werden kann (Menu/Werkzeuge/NeuesErstellen) und letzteres dann mittels Menu/Werkzeuge/Verwalten/SpeichernUnter als ggt File exportiert wird um es letzlich in einer Deiner Anwendungen zu importieren und anzuwenden. Hier besteht als nie der Bedarf in das XML einzugreifen.

- ein Problem entsteht nur dann, wenn ein ggt file in einer Anwendung-X importiert und in dieser angewendet wird. Und das Anwendertool nachträglich innerhalb derselben Anwendung-X verändert werden soll.

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

Zitat: "Gibt es eine Dokumentation zur XML Struktur und Semantik?"

Struktur ja, (ggb)-Semantik nein.

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

Zitat: "gibt es schon einen Pool an shared Werkzeugen"

Ja in GGTube aber es kann meines Wissens nicht nach ggt-Files gesucht werden (allenfalls via Google)

Grundsätzlich sind alle Materialen (ggb, ggt) im Rahmen der Benutzer-Lizenz frei verfügbar (auch Deine eigenen für Andere)

photo
1

rami - nochmals vielen Dank für die Aufklärung hier !!! Spitze !

photo
© 2023 International GeoGebra Institute