Pashua ist ein Utility zur Erzeugung von ›echten‹ Dialogfenstern für Perl-, PHP-, Tcl-, Python-, Groovy-, Shell-, Ruby- sowie Rexx-Skripte und AppleScripts unter Mac OS X. Hierfür stehen eine Reihe von GUI-Elementen zur Verfügung: Texteingabefelder, Checkboxes, Aufklappmenüs, Combo Boxes, Buttons und so weiter; außerdem können auch Bilder und PDFs eingebettet werden.
Die vom Benutzer eingegebenen Daten werden von Pashua an das aufrufende Skript zurückgeben, welches dann mit diesen arbeiten kann.
Pashua bedient sich dabei einer äußerst einfachen Syntax für die Beschreibung des Dialoges; alle Fleißarbeiten wie das Positionieren der Elemente, die Berechnung der Fenstergröße etc. werden vollautomatisch übernommen.
Pashua ist kostenlos. Aber wenn das Programm für Sie nützlich ist und Sie ein »Danke« senden möchten, gibt es dafür eine Reihe von Möglichkeiten. Auf meiner Website erfahren Sie mehr hierzu.
Im Ordner »Examples« auf dem Disk Image, welches dieses Readme enthält, befinden sich einige Dateien, welche die Anwendung exemplarisch zeigen:
example.applescript
Aus einem AppleScript heraus.example.groovy
Aus einem Groovy-Skript heraus. Die Datei enthält die Klasse PashuaRunner
, die in eigene Skripts eingebaut werden kann.example.php
Aus einem PHP-Skript heraus. Das Skript enthält die Funktion pashua_run()
, welche Pashua aufruft und das Ergebnis parst.example.pl
Aus einem Perl-Skript heraus. Das Skript bindet das ebenfalls im gleichen Ordner liegende Perl-Modul Pashua.pm
ein, welches die Kommunikation mit Pashua übernimmt. Am einfachsten ist es, wenn man das Modul in ein Verzeichnis kopiert, das in @INC
enthalten ist, beispielsweise /Library/Perl
. Das Modul enthält eine POD-Dokumentation.example.py
Aus einem Python-Skript heraus. Das Skript bindet das ebenfalls im gleichen Ordner liegende Python-Modul Pashua.py
ein, welches die Kommunikation mit Pashua übernimmt.example.rb
Aus einem Ruby-Skript heraus. Das Skript bindet das im gleichen Ordner liegende Ruby-Modul Pashua.rb
ein, welches die Funktionalität für die Kommunikation mit Pashua enthält.example.rexx
Aus einem Rexx-Skript heraus. Dieses Skript setzt eine Installation von Rexx/Regina voraus; der Pfad in der Shebang-Line (der ersten Zeile des Skripts) muss ggf. auf die lokalen Gegebenheiten angepasst werden.example.sh
Aus einem Shell-Skript heraus. Die Datei enthält die Funktion pashua_run
, die in eigene Shell-Skripts eingebaut werden kann.example.tcl
Aus einem Tcl-Skript heraus. Das Skript bindet die im gleichen Ordner liegende Datei pashua_run.tcl
ein, welches eine Funktion für die Kommunikation mit Pashua enthält.Das AppleScript-Beispiel wurde als Applikation gesichert und kann daher einfach durch Doppelklicken gestartet werden. Alle anderen Beispiele kann man einfach ausprobieren, indem den Pfad des Skripts im Terminal eingibt (am einfachsten geht das, indem man das Icon des gewünschten Skripts auf das Fenster des Terminal-Programmes zieht) und dann Return drückt.
Wichtig: Es wird erwartet, dass Pashua (also das Programm, nicht das aufrufende Skript) entweder im allgemeinen Programm-Ordner /Applications
, im persönlichen Programm-Ordner ~/Applications
, im gleichen Ordner wie das aufrufende Skript oder im aktuellen Arbeitsverzeichnis liegt. Andernfalls wird die Ausführung mit einer Fehlermeldung abgebrochen. Natürlich lässt sich das aber anpassen, wenn ein anderes Verhalten benötigt wird. (Um Pashua einfach auszuprobieren, muss man aber nichts installieren, denn die Beispiele laufen alle direkt vom Disk Image aus.)
Sämtliche GUI-Elementtypen und deren Attribute werden in der (englischen) erklärt.
Prinzipiell kann man Pashua aus jeder Sprache heraus nutzen, die in eine Datei oder in eine Unix-Pipe schreiben, ein externes Programm via Shell mit Argumenten aufrufen, Strings bearbeiten und entweder Variablen dynamisch deklarieren oder mit assoziativen Arrays umgehen kann.
Die aktuelle Version wurde unter Mac OS X 10.6 entwickelt und getestet. Pashua funktioniert ab Mac OS X 10.4 ohne Einschränkungen.
openbrowser
und savebrowser
: Verbesserung des Verhaltens hinsichtlich vorausgewählter Objekte im Datei-DialogPashua 0.9.4.5 wurde am 27.04.2011 veröffentlicht.
Informationen für ältere Versionen finden Sie auf der Website
Folgende Benutzer haben Code, Korrekturen und/oder Übersetzungen beigesteuert: Bruce M. Axtens, Hans Haesler, Mike Hall, Ed Heil, Canis Lupus, James Reese, Daniel Robillard, Eddy Roosnek, Tor Sigurdsson, Bruce Woller.
Dieses Programm wird ohne jegliche Gewährleistung, Garantie, Support etc. zur Verfügung gestellt. Die Benutzung erfolgt auf eigenes Risiko, und sollte der unwahrscheinliche Fall auftreten, dass durch die Nutzung ein wie auch immer gearteter Schaden auftritt, kann niemand außer der das Programm benutzenden Person dafür haftbar gemacht werden.
Carsten Blüm
E-Mail: macapps@bluem.net
Pashua Homepage: www.bluem.net/de/mac/pashua/