ruby-mine

exploring the mine

[BlindOptic] Eine Textbox zum Anfassen

von bovi am 27.10.2006 (00 Uhr)

Wie gestern schon angekündigt, (ist|war) mein nächstes Spielziel ein GUI-Element innerhalb meiner kleinen Klasse ansprechbar zu machen. Das alles war in weniger als 15 Minuten erledigt, instance_variable_set sei dank aber dazu später mehr. Als erstes einmal ein kleiner neuer Codeschnippsel:

#implement a current window (PROTOTYP)
class Diary < BlindOptic::Window
  
  #define xml for view
  use_view :diary
  
  #new entry button clicked
  def ReadEntryButton_Clicked
    #output text from textbox
    puts "Text: #{@EntryTextbox.text}"
  end
  
  def CleanEntryButton_Clicked
    @EntryTextbox.clean
  end
  
end

Sollte eigentlich selbsterklärend sein. Der Button ReadEntryButton wurde in meiner XML Definition hinzugefügt und hat den Sinn, den aktuellen Eintrag zu lesen und auf der Kommandozeile auszugeben. Der Name des neuen Objektes @EntryTextbox entspricht dem ID Attribut in der XML Definition (passend zu den Eventhandler Methodennamen). An dieser Stelle kam instance_variable_set ins Spiel. Für alle diejenigen von Euch die diese Methode nicht kennen: instance_variable_set verlangt zwei Übergabewerte. Der Erste ist ein Symbol und der Zweite ein gewöhnliches Objekt. Nun könnte man folgendes machen:

my_obj.instance_variable_set(:@var, "dies ist der Inhalt")

#das Objekt "my_obj" besitzt nun eine Instanzvariable 
#@var mit dem Inhalt "dies ist der Inhalt"

In meiner derzeitigen Implemtation generiere ich nun das Symbol anhand der Id und voila das GUI Element ist verfügbar. Wer ein wenig mitspielen will, schnappt sich einfach mal die Sourcen.


Kommentar schreiben

Name (notwendig)

Mail (wird nicht veröffentlicht)

Webseite