CHANGELOG

Alle sichtbaren Änderungen an MathCoach werden hier dokumentiert.

[UNRELEASED]

Added

  • [MC-247] - Groovy: Widgets.table() um komplexe Tabellen zu konstruieren (siehe Beispiele in Jira oder der TableWidget Dokumentation)

  • [MC-247] - Groovy: Hilfsfunktionen Widgets.valuesOf(…​), Widgets.rawValuesOf(…​) und Widgets.keepValues(…​) um mehere Eingabe-Widgets in einem Rutsch zu verarbeiten. (z.B. in Kombination mit dem Table-Widget sinnvoll)

  • [XX-XXX] - Groovy: Widgets.separator() um horizontale Trenn-Linien zu erstellen

  • [XX-XXX] - IDE: Experimentelles Feature: Im Code-Editor können Revisionen einer Datei eingesehen werden.

Changed

  • [MC-250] - Groovy: Eingabe-Widgets der SingleLineInputWidget-Familie (TextFieldWidget, RealFieldWidget, usw) können die maximale Breite nutzen, wenn someField.setWidth(null) festgelegt wird.

[2020-02-13]

Added

  • [XX-XXX] - Groovy: Unterstützung der neuen Groovy Version 3.0.0

  • [MC-263] - Groovy: Einheitliche .setInitialValue(String value) Methode für die SingleLineInputWidget-Familie (TextFieldWidget, RealFieldWidget, usw), sodass der initiale Wert immer anhand der Text-Darstellung (z.B. '42' statt 42) festgelegt werden kann.

  • [XX-XXX] - IDE: Suchen/Ersetzen-Eintrag im Kontextmenü des Editors. Tipp: F1 drücken um alle Funktionen einzusehen

  • [XX-XXX] - IDE: Dokumentation für Externe Werkzeuge kann verlinkt werden

  • [XX-XXX] - IDE: Besserer Unterstützung für benutzerdefinierte Methoden: Dokumentation aus Kommentaren wird ausgewertet und es kann ausgehend von einem Methodenaufruf zur Methoden-Definition gesprungen werden (z.B. mit STRG+Mausklick)

  • [XX-XXX] - IDE: Die Konsolen-Ausgaben (Debug-Ausgaben oder LTI-Werte) können geleert werden. Das Auto-Scroll-Verhalten kann deaktiviert werden.

Changed

  • [MC-264] - IDE: "MathCoach IDE API für externe Werkzeuge" erweitert und besser dokumentiert

  • [XX-XXX] - IDE: Bessere Darstellung von Dokumentation im Code-Editor. Unter Anderem:

    • Methoden-Signaturen wie in Groovy

    • Optionen (z.B. bei Widgets.plotterImage(…​,…​)) werden genauer beschrieben

Fixed

  • [XX-XXX] - Groovy: Dokumentation verbessert

  • [XX-XXX] - IDE: Im Explorer kann das Löschen von Dateien nun mit LEERTASTE oder ENTER bestätigt werden.

[2019-12-10]

Added

  • [MC-244] - Groovy: .getRawValue() gibt für Eingabefelder der SingleLineInputWidget-Familie (TextFieldWidget, RealFieldWidget, usw) die getrimmte - aber ansonsten unverarbeitete - Benutzereingabe als String zurück.

  • [MC-254] - Groovy: Die Plotter-Bilder im Plotter-Layout können nun durch eine Konfiguration (direction: "first-top" | "last-top") auch in umgekehrter Reihenfolge ausgegeben werden.

  • [MC-232] - Groovy: Widgets.matrixInput(rows,columns,type) erlaubt das Festlegen des Eingabe-Types (Ganzzahl, Bruch, Text, usw)

  • [MC-221] - Groovy: MatrixInputWidget#setInitialValue(matrix|values) um die initialen Werte eines Matrix-Eingabefeldes nachträglich zu verändern

  • [MC-262] - Groovy: MatrixInputWidget#getRawValue() um die unverarbeiteten Benutzereingaben abzufragen. Insbesondere in Kombination mit Text-Eingaben (z.B. 'sin(x)') in der Matrix notwendig.

  • [XX-XXX] - Groovy: MatrixInputWidget#getValue() liefert eine Matrix, welche ausschließlich Number-Objekte beinhaltet. Die Methode getRawValue() dient als Ergänzung.

  • [XX-XXX] - IDE: LTI-Manager integriert

  • [XX-XXX] - IDE: Database-Manager integriert

  • [MC-257] - IDE: Grundlegende Formatierung von Groovy-Quellcode automatisch durchführen (STRG + SHIFT + I oder über Kontext-Menü)

  • [MC-258] - IDE: Admin kann Changelog beim Start der IDE anzeigen lassen, um Autoren über Änderungen/Neuerungen zu informieren.

Fixed

  • [MC-221] [MC-261] - Groovy: .keepValue() von Eingabefeldern (SingleLineInputWidget-Familie und MatrixInputWidget) behält Eingaben nun unverändert bei (z.B. Brüche)

  • [MC-249] - Groovy: Alle Widgets für Einzeilige Eingaben (TextFieldWidget, TextFieldWidget, usw) unterstützten nun auf einheitliche Art die Basisfunktionalität wie Placeholder bei leerem Feld, der Option bei leerer Benutzereingabe null zurückzugeben, usw.

  • [XX-XXX] - IDE: Kleinere Verbesserungen am LanguageServer für Groovy ('polymorhpic this')

  • [XX-XXX] - IDE: Kompakte Methodendefinition (def myMethod(a,b,c){…​}) wird besser unterstützt

  • [MC-251] - IDE: Fehlermeldung bei Mehrfachstarten im selben Browser

  • [XX-XXX] - IDE: Wird eine neue MCQ-Editor-Datei erstellt und geöffnet, wird die zugehörige Groovy-Aufgabe automatisch erzeugt und angezeigt.

[2019-09-30]

Added

Fixed

  • [XX-XXX] - Groovy: Dokumentation der Groovy API verbessert

[2019-07-04]

Added

  • [MC-229] - Groovy: TextFieldWidget#setRegex(…​) um Texteingaben bereits im Browser zu validieren

Changed

  • [MC-241] - Groovy: RationalFieldWidget#getValue() gibt nun ein Fraction (statt Double) zurück

  • [MC-241] - Groovy: Mupad.eval(String) unterstützt nun Fraction als Typ für die Rückgabe-Elemente

  • [MC-241] - Groovy: MatrixInputWidget behält eingegebene Brüche in der Matrix als Fraction-Objekt bei (und nicht als Double)

  • [MC-243] - Groovy: McConsole.getValue() gibt nun ein Fraction-Objekt zurück (und kein Tuple mehr)

Fixed

  • [MC-241] - Groovy: Matrix kann Elemente vom Typ Fraction aufnehmen

  • [XX-XXX] - Groovy: Unterstützung der Standard-Operatoren (+,-,*,/) zum Rechnen mit Fraction

  • [MC-241] - Groovy: Tex.bmatrix(Matrix), Tex.pmatrix(Matrix), Tex.matrix(Matrix), Tex.vmatrix(Matrix) und Tex.Vmatrix(Matrix) können nun Brüche (Elemente vom Typ Fraction) ordentlich darstellen

  • [XX-XXX] - Groovy: Fehlende ButtonWidget#setLabel(LabelWidget) hinzugefügt