Vorankündigung: MacOSControls

Xojo ist plattformübergreifend. Das ist eine tolle Angelegenheit, weil Sie aus einer Codebasis heraus ein Programm für drei Zielplattformen – Mac OS X, Windows und Linux – erstellen können.

Xojo benutzt native Steuerelemente. Das ist auch klasse, weil die Objekte auf dem Bildschirm nicht nur so aussehen wie die gewohnten Knöpfe, Fenster, Felder … – sondern schlicht und ergreifend solche sind. Sie „fühlen“ sich genauso an, weil sie eben „echt“ sind.

Die Kombination beider Elemente trägt leider auch einen Nachteil in sich: Xojo bildet häufig nur den kleinsten gemeinsamen Nenner der Objekte ab. Die Betriebssysteme bieten oftmals mehr, oder eben nicht alle zugleich. Gerade Mac OS X bietet einen riesigen Reichtum an Betriebssystemroutinen, der dem Programmierer immense Arbeit abnehmen kann. Wenn Sie Xojo weiter ausreizen wollen, kommen Sie auf Mac OS X-Seite an zwei Möglichkeiten kaum vorbei: Einerseits die MonkeyBread Software Plugins und andererseits die MacOSLib, eine frei verfügbare Sammlung von Erweiterungen für die Mac-Entwicklung.  Und wenn Sie vorhaben, Ihr Programm völlig maclike aufzubohren: Schauen Sie sie sich bitte an! Sehr lohnenswert!

Beides sind sehr mächtige Programmbibliotheken, und insbesondere bei den kommerziell vertriebenen MBS-Plugins steht ein extrem hilfsbereiter und erfahrener Programmierer bereit, um Kundenwünsche schnellstmöglich umzusetzen und Probleme zu beheben.

Was aber, wenn Sie nur eine kleine Funktionserweiterung benötigen, ohne eine große Bibliothek installieren zu wollen? Was, wenn Sie nicht in die Tiefen der Mac-Programmierung einsteigen wollen, um mit neuen Klassen und Objekten zu hantieren?

Das brachte mich auf die Idee zu den MacOSControls: Subklassen von Xojo-Steuerelementen, die gekapselt viele Funktionen des Betriebssystems zur Verfügung stellen. Soll heißen: Sie benötigen einen Button, der nur eine Grafik anzeigt, die aus einer EPS-Datei stammt?

MacOSButton.setImage = Dateiname

erledigt das. Was ? Es wird ein Mac OS-natives NSImage aus der EPS-Datei erzeugt und der Subklasse eines General Buttons übergeben – mit maximaler Auflösung. Keine verschiedenen Grafiken für Retina- und normale Displays mehr nötig! Die Größe stimmt nicht?

MacOSButton.scale = imagescale.Proportionally

kümmert sich darum.

Momentan existieren erst zwei Klassen, noch nicht ganz fertig: MacOSButton und MacOSImageWell. Von beiden ein Screenshot. Ich versuche, möglichst viele Eigenschaften direkt im Inspector zugänglich zu machen, um alles möglichst Xojo-like einfach verwendbar zu gestalten. Die Erstveröffentlichung wird erst nach dem Release von Xojo 2014r3 erfolgen, da ich einige Dinge verwende, die momentan nur in der Alpha-Version zur Verfügung stehen. Über Fragen, Anregungen oder womöglich sogar Mitstreiter (ich werde allein kaum allzu viel schaffen) freue ich mich dennoch schon.

MacOSButtons

MacOsButtons Features

MacOSImageWell

 

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..