Pashua Versionsübersicht

Zurück zur Programmbeschreibung

0.11 (27.05.2018)

  • Pashua ist nun Open-Source-Software, lizensiert unter der »3-clause BSD«-Lizenz. Sie können den Sourcecode auf GitHub finden.
  • Die Option -e war schon einige Zeit als deprecated deklariert und ist nun entfernt. Wenn diese Option immer noch verwendet wird, wird eine Warnung nach stderr geschrieben, aber ansonsten hat sie keinen Effekt. Anmerkungen: unter Umständen (v.a., wenn man einen Konfigurations-String an Pashua übergibt, der ein anderes Encoding als UTF-8 verwendet), kann dies zu einem Fehler führen.
  • Das »image«-Element hat zusätliche Eigenschaften erhalten, um eine genaue Größe festlegen zu können: »width« und »height« (bislang war es nur möglich, eine Maximal-Breite und Maximal-Höhe festzulegen. Standardmäßig werden Bilder nicht hochskaliert, aber Sie können das durch upscale = 1 aktivieren.
  • Icon modernisiert
  • Geändertes Verhalten bei “openbrowser”-Elementen: enthält das Element aktuell den Pfad zu einem Ordner und der Button zum Wählen des Dateisystem-Objekts wird benutzt, wurde in früheren Versionen in dem sich nun öffnenden Dialog der übergeordnete Ordner des aktuell gewählten Ordners angesteuert, ohne dass der aktuelle Ordner gewählt worden wäre. Dieses Verhalten war absichtlich so implementiert im Hinblick auf Bundles, erscheint mir aber nicht mehr sinnvoll. Das neue Verhalten ist: wenn das aktuell gewählte Objekt ein Ordner ist, zeigt der Dialog den Inhalt dieses Ordners an, so dass bei Klick auf den »OK«-Button ohne sonstige Aktion das gleiche Objekt selektieren wie zuvor.
  • Darstellungsfehler hinsichtlich Focus-Rings um Buttons behoben
  • Elemente des Typs »combobox«: mittels der neuen Eigenschaft »rows« kann festgelegt werden, wieviele Elemente in der aufgeklappten Liste sichtbar sein sollen.
  • Die minimale unterstützte Version von OS X ist nicht mehr 10.6, sondern 10.9.

0.10.3 (23.12.2015)

  • Element »Savebrowser«: wenn ein Default-Wert angegeben ist, wird der Dateiname im Speichern-Dialog entsprechend gesetzt.
  • Korrigiert ein Problem mit der Höhe von Combo-Boxen, das mit v0.10.2 eingeführt wurde.

0.10.2 (29.11.2015)

  • Tooltips können mehrzeiligen Text darstellen, indem \n für Zeilenumbrüche verwendet wird.
  • Fehlerkorrektur: wenn ein Dialog geschlossen werden soll, aber auf aufgrund nicht ausgefüllter erforderlicher Elemente offen bleibt, verlieren Checkboxen nicht mehr ihren Status.

0.10.1 (15.07.2015)

  • Problem behoben, durch das unter bestimmten Umständen der Return-Wert von Buttons falsch sein konnte.

0.10 (08.11.2014)

  • Für die Darstellung von Bildern wird nur noch das Maß in Pixeln herangezogen, nicht mehr die Auflösung der Bilder
  • Vertikaler Abstand zwischen Elementen und ihren Labels etwas vermindert
  • Neues Programmsymbol
  • Der Kommandozeilen-Switch -e, mit dem das Encoding definiert werden konnte, wird nicht mehr unterstützt bzw. ignoriert. (Dieser war seit Anfang 2014 als veraltet gekennzeichnet.). Pashua erwartet Eingaben nun als UTF-8 und wird Ausgaben ebenfalls in UTF-8 vornehmen. Gleichzeitig ist Pashua normalerweise in der Lage, andere Encodings als UTF-8 (z.B. MacRoman oder Latin1) automatisch zu erkennen, wenn diese benutzt werden; in diesem Fall wird Pashua das gleiche Encoding auch für Ausgaben verwenden.
  • Erforderliche Elemente können mit dem neuen Attribut mandatory definiert werden. Ein Dialog kann solange nicht geschlossen werden, wie als erforderlich definierte Element leer sind.
  • Möglichkeit hinzugefügt (Attribut placeholder), Platzhalter-Werte für Elemente der Typen combobox, openbrowser, savebrowser und textfield zu definieren.
  • Nicht funktionierendes Attribut tooltip für Elemente der Typen cancelbutton und defaultbutton repariert.
  • Anzahl der Beispiele reduziert, die mit Pashua mitgeliefert werden. Beispiele für die übrigen Sprachen finden sich nun in GitHub-Repositories.

0.9.5.1 (20.06.2014)

  • Dokumentation geringfügig verbessert
  • Der Wert für »rely« kann nun beliebig groß gewählt werden
  • Fehler in Doc comments in »Pashua.py« behoben

0.9.5 (19.01.2014)

  • Entfernung von altem oder »deprecated« Cocoa-APIs nutzenden Code, wodurch Pashua nun Mac OS X 10.6 oder höher benötigt.
  • Das »image«-Element berücksichtigt das Exif-Orientation-Tag für die Anzeige von Fotos.
  • Der Drag-Cursor (für »openbrowser«- und »savebrowser«-Elemente) ist nicht mehr der Kopier-, sondern der Link-Cursor, was semantisch sinnvoller ist.
  • Retina-Icons in den Dialogen. (In der Praxis betrifft das lediglich den »Löschen«-Button von »openbrowser«- und »savebrowser«-Elementen.)
  • Der »Löschen«-Button von »openbrowser«- und »savebrowser«-Elementen wird wieder eingeblendet, wenn eine Datei auf das Element gedragged wird, nachdem zuvor der Feldinhalt gelöscht wurde.
  • Die Position des Fensters kann (auf pro-Skript-Basis) wiederhergestellt werden. Siehe »autosavekey« in der Dokumentation.
  • Der Beispielcode für alle Sprachen nutzt nun UTF-8 als Encoding. Die Verwendung eines anderen Encodings als UTF-8 ist deprecated und wird in einer zukünftigen Version entfernt.
  • Tcl-Beispielcode repariert
  • Dokumentation aktualisiert und modernisiert

0.9.4.7 (29.11.2011)

  • Behebt einen Zeitzonen-bezogenen Fehler bei Elementen des Typs »date«.
  • Korrigiert: Wenn ein Element des Typs »date« im nicht-graphischen Modus dargestellt wurde, wurde der zugehörige Stepper minimal abgeschnitten.

0.9.4.6 (18.09.2011)

  • Elementtypen »openbrowser« und »closebrowser«: Wenn das Feld einen Pfad enthält, wird ein »Löschen«-Button innerhalb des Feldes angezeigt, durch den der Feldinhalt entfernt werden kann.
  • Elementtyp »combobox« hat ein neues Attribut »completion«, welches die möglichen Werte 0 (keine Vervollständigung der Eingabe), 1 (Vervollständigung unter Berücksichtigung von Groß- und Kleinschreibung) oder 2 (dito, aber ohne Groß- und Kleinschreibung) annehmen kann.
  • Elemente des Typs »date« geben nun einen verwertbaren Datums- und/oder Zeit-String zurück. Wenn Datum und Zeit wählbar sind, wird dieser das Format »yyyy-mm-dd hh:mm« besitzen, kann nur das Datum gewählt werden, wird es im Format »yyyy-mm-dd« sein oder andernfalls im Format »hh:mm« zurückgegeben.

0.9.4.5 (27.04.2011)

  • Elementtypen »openbrowser« und »savebrowser«: Verbesserung des Verhaltens hinsichtlich vorausgewählter Objekte im Datei-Dialog
  • Englische Lokalisierung: Menü-Eintrag »Hide Others« korrigiert (war »Hide Pashua«)
  • Diverse Fehler in der Dokumentation korrigiert
  • Groovy-Beispiel hinzugefügt
  • AppleScript-Beispiel: Fehler behoben, der auftreten konnte, wenn das AppleScript aus einem anderen Programm heraus aufgerufen wurde
  • Rexx-Beispiel: Bildpfad wird korrekt ermittelt und Bild angezeigt
  • PHP-Beispiel: Modernisierungen im Code (nicht mehr kompatibel zu PHP4)
  • Python-Beispiel: Irrtümlich vorhandene Ausgabe der Return-Werte entfernt
  • Tcl-Beispiel: korrigiert (funktionierte nicht wegen Syntax-Fehler)

0.9.4 (30.05.2007)

  • Neues GUI-Element date zur Wahl von Datum und/oder Zeit.
  • Neues Attribut disabled für alle Elemente mit Ausnahme von image und text
  • Beispiel-Shell-Skript: Fehlendes Quoting von Pfaden korrigiert
  • Beispiel-Tcl-Skript: Variablennamen korrigiert

0.9.3.1 (28.02.2006)

  • Rückgabewerte an Versionen vor 0.9.3 angepasst: Buttons und Checkboxen geben 1 zurück wenn sie geklickt / markiert wurden, andernfalls 0. Nicht änderbare Elemente (Trennstrich, Text) geben überhaupt nichts mehr zurück.

0.9.3 (16.01.2006)

  • Wichtig – Änderung in der Konfigurations-Syntax: Die Attribute des Fensters müssen nun mit einem Sternchen (*) als Dummy-Elementname angegeben werden. Außerdem heißt das frühere Attribut "windowtitle" nun nur noch "title".
  • Neues Fenster-Attribut "floating": Bei Verwendung von "*.floating = 1" bleibt das Fenster immer im Vordergrund.
  • Neue Fenster-Attribute "x" und "y": Mit "*.x = [number]" und "*.y = [number]" lässt sich ein Fenster an einer vorgegebenen x/y-Position öffnen.
  • Absolute Positionierung jeglicher Elemente mittels der neuen Attribute "x" und "y".
  • Relative Positionierung jeglicher Elemente (ausgenommen Buttons) mittels der neuen Attribute relx und rely.
  • Auf Grund der neuen Möglichkeiten der Positionierung passt sich Text (Elementtyp "text") nicht mehr automatisch der Fensterbreite an.
  • Mehr Syntax-Prüfungen und bessere Fehlermeldungen
  • Bessere Dateinamenkürzung bei openbrowser und savebrowser
  • "openbrowser" und "savebrowser" verwenden nun Sheets statt Panels
  • Label von Radiobuttons werden bei der Berechnung der Fensterbreite berücksichtigt
  • Die Höhe von Elementen des Typs "textbox" wird nicht mehr in Zeilen, sondern in Pixeln interpretiert
  • Vollkommen neu geschriebene Dokumentation auf Basis von DocBook
  • Pashua ist ein »Universal Binary« (müsste auf Intel-basierten Macs funktionieren)
  • Unterstützung von Unsanitys Smart Crash Reports

0.9.2 (16.09.2005)

  • Änderung in der Konfigurations-Syntax: Die Namen und Attribute von Elementen werden nun nicht mehr durch Unterstriche, sondern durch einen Punkt abgetrennt. Z.B. würde man statt "name_label = Geben Sie Ihren Namen ein" nun schreiben: "name.label = Geben Sie Ihren Namen ein"
  • Die Art und Weise, wie Encodings spezifiziert werden, hat sich geändert (und Encodings arbeiten nun auch zuverlässiger). Statt dies in der Dialog-Konfiguration direkt zu definieren (was, am Rande bemerkt, eine ziemlich fragwürdige Idee war), kann das Encoding nun als optionales Argument an Pashua übergeben werden. Wie dies genau funktioniert, kann in der Dokumentation nachgelesen werden.
  • Pashua liest die Konfiguration nun von stdin statt aus einer Datei, sofern "-" (Minus) als Argument für den Dateinamen übergeben wird. Die mitgelieferten Beispiele verwenden allerdings nach wie vor temporäre Dateien; wenn Sie mit stdin arbeiten möchten, müssen Sie den Code entsprechend anpassen.
  • Bei Elementen des Typs text kann statt des Attributs text nun auch default verwendet werden, wenn gewünscht. Das Synonym default habe ich ergänzt, um mehr Konsistenz mit den anderen Elementen zu erzielen, bei denen vorgegebene Werte ausnahmslos mit default definiert werden.
  • Der Text von Elementen des Typs "text" kann nun selektiert und kopiert werden.
  • Französische Lokalisierung, beigesteuert von Daniel Robillard
  • Kleine Fehlerbehebungen in zwei der Beispiel-Skripte

0.9.1 (06.11.2004)

  • ›Metall-Fenster‹ (appearance=metal) lassen sich nun durch Klicken in den Fensterhintergrund bewegen, was das normale Verhalten für diese Fensterart ist.
  • Unterstützung für Programmiersprache Ruby ergänzt (Code beigesteuert von Mike Hall)
  • Eine Fehlerbehebung und eine Verbesserung im mitgelieferten Beispiel-Shell-Skript
  • Korrektur im Beispiel-Perl-Skript
  • Über eine neue Instruktion encoding lässt sich das Encoding der an Pashua übergebenen und der von Pashua zurückgegebenen Werte definieren. Neben Unicode (UTF-8) ist u.a. auch Latin-1 wählbar. Die Dokumentation verrät mehr zum Einsatz von Encodings.
  • Über die neue Eigenschaft fonttype=fixed des Elements textbox kann nun auch ein Font mit fester Laufweite (monospaced) für ein mehrzeiliges Textfeld gewählt werden.
  • Verbesserte und erweiterte Dokumentation
  • Verbessertes Verhalten der Textfelder von Elementen der Typen openbrowser und savebrowser hinsichtlich Drag&Drop und der Darstellung von Pfaden, die auf Grund ihrer Länge nicht vollständig vom Textfeld dargestellt werden können.
  • Neues Attribut autoclosetime, um den Dialog automatisch nach einer einstellbaren Anzahl von Sekunden zu schließen

0.9 (25.06.2004)

  • openbrowser und savebrowser öffnen nun per Default den Ordner, in dem sich ein ggf. zuvor gewähltes Objekt befindet.
  • Verbesserungen im AppleScript-Code, beigesteuert von Hans Haesler
  • Das Aufräumen der temporären Datei im Perl-Modul funktionierte nicht zuverlässig, daher benutzt Pashua.pm nun das Modul File::Temp. (Dieses Modul ist erst ab Mac OS X 10.3 Bestandteil des Systems, daher habe ich es der Einfachheit halber komplett in Pashua.pm eingebunden.)
  • Kleine Korrektur im Tcl-Beispiel
  • Neues GUI-Element textbox, das für mehrzeilige, scrollbare Texteingaben benutzt werden kann
  • Neues GUI-Element image zur Darstellung von Bildern
  • Bug behoben, durch den bei der Positionierung mehrerer Buttons auch dann für einen Abbrechen-Button Platz eingeplant wurde, wenn gar keiner angezeigt werden sollte.
  • Winzige Änderung im Tcl-Code, für Kompatibilität mit Mac OS X 10.2
  • Korrekturen im PHP-Code

0.8.5 (22.04.2004)

  • Unterstützung für Programmiersprache Tcl ergänzt (beigesteuert von Bruce M. Axtens)
  • Kleiner Bugfix im Python-Script (beigesteuert von Ed Heil)
  • Fehler in englischer Lokalisierung behoben
  • Tastaturbefehl Cmd-Option-H für “Andere ausblenden” ergänzt
  • Neben Default- und Abbrechen-Button können nun weitere Buttons definiert werden.
  • Um ›abgebrochene‹ Dialoge einfacher erkennen zu können, besitzen nun auch Abbrechen-Buttons einen Rückgabewert, wenn sie geklickt wurden.
  • Whitespace zu Beginn und Ende von Konfigurations-Anweisungen wird nun ignoriert.
  • Durch eine neue Konfigurations-Direktive appearance=metal ist es möglich, von Aqua- auf »Brushed Metal«-Optik zu wechseln. (Obwohl ich diese Optik wirklich hasse – aber ich wurde danach gefragt und es war einfach zu implementieren…)
  • Auf openbrowser- und savebrowser-Felder können nun auch Dateien per Drag&Drop gezogen werden, um deren Pfad dort einzusetzen.
  • Das erste openbrowser-Element eines Fensters kann nun durch den Menüeintrag »Ablage« –> »Öffnen…« (bzw. Cmd-O) aufgerufen werden und das erste savebrowser-Element entsprechend durch »Ablage« –> »Speichern unter…« (bzw. Cmd-Shift-S).
  • Trennlinien, die unter 10.3 nicht zu sehen waren, werden jetzt wieder korrekt angezeigt.
  • Der Pfad zur Kommandozeilen-Version von PHP im Beispiel-Skript ist auf den des PHP-Binaries angepasst, das seit 10.3 zum Umfang des Systems gehört.

0.8 (15.12.2003)

  • Unterstützung für Programmiersprache Rexx ergänzt (Code beigesteuert von Bruce Woller)
  • Diverse Verbesserungen in den Python- und Shell-Skripts (beigesteuert von Canis Lupus und Tor Sigurdsson)
  • Überarbeitung der Skripts für Perl, Python, Shell und PHP: Alle diese Skripts können nun 1:1 ohne irgendwelche Modifikationen benutzt werden, um reguläre, doppelklickbare Programme zu erzeugen.
  • Neues Attribut tooltip zum Definieren von Tooltips für Dialog-Elemente.
  • In Textfeldern funktionieren nun die üblichen Tastaturbefehle Cmd-C, Cmd-V, Cmd-X und Cmd-A
  • Wird aus einem Popup-Menü kein Wert gewählt, wird nicht mehr »(null)« zurückgegeben, sondern ein leerer String.
  • Die Escape-Taste löst – sofern vorhanden – den Abbrechen-Button aus.
  • Die GUI-Element-Typen openbrowser und savebrowser sind um ein Atribut filetype erweitert worden, durch das man die Dateitypen in den Öffnen- bzw. Sichern-Dialogen einschränken kann.
  • Komplett überarbeitete und erweiterte Dokumentation.

0.7 (05.11.2003)

  • Änderung in der Konfigurations-Syntax: Alle Vorgabe-Werte werden nun einheitlich durch das Attribut default definiert (siehe Beispiele). Dies dient einer größeren Einheitlichkeit und damit einer vereinfachten Benutzbarkeit.
  • Neues GUI-Element: Speichern-Dialogbox (Elementyp savebrowser)
  • Änderung in der Konfigurations-Syntax: Auf Grund des neuen Typs savebrowser (s.o.) wurde der bisherige Typ fsbrowser in openbrowser umbenannt (siehe Beispiele).
  • Fehler beseitigt, der bei Verwendung mit AppleScript zu einem leeren Dialog führen konnte.
  • Zwei Konfigurations-Fehler, die Pashua zum Absturz bringen konnten, werden jetzt ignoriert.
  • Verbesserte Fehlerbenachrichtigung bei fehlender oder falscher Angabe des Typs eines Elements.

0.6.1

  • Unterstützung für Python ergänzt (der Code wurde von James Reese beigesteuert)
  • Fehler beseitigt: Beim Schließen des »About«-Fenster wird nun nicht mehr der Dialog geschlossen.

0.6

  • Neues GUI-Element: Text
  • Neues GUI-Element: Abbrechen-Button
  • Kleine Optimierung in AppleScript-Code
  • Der Default-Button wird automatisch mit »OK« beschriftet, wenn kein Label definiert ist.

0.5

  • Unterstützung für AppleScript ergänzt
  • Neues GUI-Element: Dateisystem-Browser

0.4

  • Es muss kein leerer Default-Text für ein Textfeld mehr angegeben werden.
  • Pashua toleriert nun, dass ein Textfeld ohne Beschriftung definiert wird.
  • Neues GUI-Element: Passwort-Eingabe-Feld
  • Neues GUI-Element: Combo-Box
  • Neues GUI-Element: Horizontale Trenn-Linie

0.3

  • Neues GUI-Element: Aufklapp-Menü
  • Neues GUI-Element: Radiobuttons

0.2

  • Erste öffentliche Version