WxRuby - TaskBarIcon
Mit WxRuby ist es auch möglich ein TaskBarIcon zu erstelle. Abhänig vom genutzten Betriebssystem werden diese unterschiedlich Dargestellt.
Leider ist es nicht möglich die aus Windows bekannten Ballong-Tool-Tipps zu verwenden.
Anbei ein Beispiel:
mehr zu diesem Thema... : 0 Kommentar(e) : 05.10.2008
WxRuby-Programm ohne Konsole
Um ein WxRuby Programm ohne Konsole zu starten muss die Dateiendung der entsprechenden Datei von *.rb nach *.rbw (Ruby Programm no window) umbenannt werden. Ist das geschehen wird keine MS-DOS-Konsole mehr geöffnet.
mehr zu diesem Thema... : 0 Kommentar(e) : 05.10.2008
Applications-Icons mit WxRuby
Lange habe ich versucht eine WxRuby Anwendung mit Icon zu erstellen. Das ist eigentlich auch nicht schwer, das einzige Problem ist das es dazu nirgends eine brauchbare Anleitung oder gar ein brauchbares Beispiel gibt.
Andere Icon-Formate können ebenfalls eingebunden werden. Dazu muss nur die entsprechende Konstante "bitmap_type" geändert werden. Mehr dazu findet ihr unter wxruby.rubyforge.org.
mehr zu diesem Thema... : 0 Kommentar(e) : 05.10.2008
Deutsche Sonderzeichen in einer Ruby Konsolenanwendung
Leider ist es mit Ruby nicht direkt möglich deutsche Sonderzeichen in einer Konsolenanwendung auszugeben. Aber er gibt eine Möglichkeit sie trotzdem zu verwenden, dafür ist eine Zeichenkettenkonvertierung nötig:
mehr zu diesem Thema... : 0 Kommentar(e) : 04.10.2008
WxRuby Tutorial: Erstellen eines Fensters
Die Absoluten Grundlagen
Das Programmieren von GUIs ist eine der schönsten Aufgaben die ein Programmierer haben kann. Man schreibt etwas Code, und Volai, es erschein eine schöne GUI, fast wie magisch auf dem Bildschirm. Es ist ein großer Unterschied ob man einen Parser oder Compiler schreibt (was natürlich auch eine interessante Aufgabe ist), oder ob man eine GUI erstellt. Den Parser oder Compiler kann man nämlich nicht sehen.
Das programmieren mit WxRuby ist dabei keine Ausnahme. Mit WxRuby steht einem eine große Auswahl, von einer länderübergreifender Community ausführlich getesteter WxWidgets zu Verfügung - und das beste ist, man kann sie jetzt auch mit Ruby einsetzen. Anstatt lange darüber zu reden wie WxRuby funktioniert beginnen wir am besten mit einem einfachen Beispiel, welches wir anschließend erklären.
Das war es schon, sehr kurz und einfach, Die erste Zeile require „wx“ muss in jedem Programm auftauchen das WxRuby verwendet – es macht Ruby mit dem WxRuby-Modul bekannt. In der zweiten Zeile wird WxRuby eingebunden, dadurch müssen wie nicht immer den gesamten Klassennamen angeben wenn wir Funktionen aus WxRuby benutzen wollen. Anstatt Wx:App oder Wx:Frame zu schreiben, können wir einfach App oder Frame benutzen. Das ist möglich weil wir das Modul dem Namespace des Programms hinzugefügt haben. Das ist super wenn man mal schnell etwas testen will oder ein Beispiel (oder Tutorial) schreibt. Allerdings empfehle ich bei größeren Programmen immer das WX-Prefix zu verwenden, da man dadurch besser erkennt was zu WxRuby gehört und was nicht.
Die nächste Zeile class MinimalApp < App wird meistens mit dem von euch geschribeenn Code idetisch sein. Jedes WxRuby-Programm muss von der Klasse App abgeleitet werden. App ist die Main-Application-Class, sie ist dafür verantwortlich das Programm zu starten und die GUI bei jedem Schleifendurchlauf zu verwalten. def on_init überschreibt den Konstruktor der App Klasse. Der Konstruktor wird immer aufgerufen wenn das Programm gestartet wird.
In diesem Beispiel-Programm wird innerhalb unseres Konstruktors eine Frame erstellt. Dieser Frame sagen wir dann auch noch dass sie sich selbst zeigen soll.
Frame.new(nil, -1, "The Bare Minimum").show()
Betrachten wir das ganze jetzt etwas genauer:
- Das erste Argument das dem Construktor übergeben wird, ist nil (in anderen Programiersprachen auch oft als NULL bezeichnet). Es sagt WxRuby das die erstellte Frame kein Eltern-Fenster hat.
- Das zweite Argument ist der Identifier. Über den Identifier kann das Widget immer wieder angesprochen werden.
- Das dritte Argument ist der Titel des Fensters der auch in der Taskleiste erscheint.
- Das vierte Argument das wir hier aber nicht verwenden, ist die Position des Fensters. Es könnte so aussehen Point.new(100,100).
- Das fünfte Argument das wir ebenfalls nicht verwenden, gibt die Größe des Fensters an. Bsp: Size.new(600,480).
- Das letzte Argument das wir hier in diesem Beispiel auch nicht verwenden gibt die Art des Rahmens an. Der Standartwert ist DEFAULT_FRAME_STYLE.
Um Platz zu sparen rufe ich die Metode show() auf. Diese sagt WxRuby das die Frame angezeigt werden soll. Wird „show“ nicht aufgerufen wird der Code ausgeführt ohne das etwas sichtbares passiert. Hinweis: show() akzeptiert einen boolean-Wert wenn man ein Fenster wieder verstecken will kann man einfach show(false) aufrufen.
Am Ende rufe ich MinimalApp.new.main_loop auf. Auch hier habe ich die kurzschreibweise verwendet. Durch den Aufruf der main_loop Methode wird das Programm ausgeführt.
Das war’s. Hier noch mal die wichtigsten Schritte:
- require "wx"
- include Wx
- Erstellen einer Klasse die von App ableitet
- Überschreiben des Konstruktors on_init()
- Estellen einer neuen Instanz der Abgeleiteten App-Klasse
- Aufrufen der main_loop() Methode
Übersetzt aus dem englischen:
http://wxruby.rubyforge.org/wiki/wiki.pl?Getting_Started
mehr zu diesem Thema... : 1 Kommentar(e) : 09.09.2008

