2016-05-05 11 views
0

ich einfache GUI erstellen bin versucht, die einige Daten basierend auf einem einzigen Feld angezeigt wird, dass ein BenutzerWie aktualisiere ich para.text in Schuhen (Rubin)

tritt

dies ist der Code ich angezeigt bin mit die Daten

Shoes.app { 
    background "#EFC" 
    border("#BE8", strokewidth: 6) 
    stack(margin: 12) { 
     @here=para "Eneter your summoner name" 
     flow { 
      @sumName=edit_line 
      @push=button "Enter" 
      @push.click { 
       setup(@sumName.text) 
      } 
     } 
    } 
    #Champion Stats Table 
    flow{ 
     $table = [[]] 
     i = 0 
     #Name 
     stack(:width => 100){ 
      $table[i][0] = para "Champion", margin: 4 
      $Summoner.rankedChamps.each do |c| 
       $table[i][0] = para c.name, margin: 4 
      end 
      i+=1 
     } 
     i = 0 
     #Wins 
     stack(:width => 50){ 
      $table[i][1] = para "Wins", margin: 4 
      $Summoner.rankedChamps.each do |c| 
       $table[i][1] = para c.wins.to_s, margin: 4 
      end 
      i+=1 
     } 
     i = 0 
     #Loses 
     stack(:width => 50){ 
      $table[i][1] = para "Loses", margin: 4 
      $Summoner.rankedChamps.each do |c| 
       $table[i][2] = para c.loses.to_s, margin: 4 
      end 
      i+=1 
     } 
     i = 0 
     #KDA 
     stack(:width => 50){ 
      $table[i][1] = para "KDA", margin: 4 
      $Summoner.rankedChamps.each do |c| 
       $table[i][3] = para c.KDA.to_s, margin: 4 
      end 
      i+=1 
     } 
    } 

Wenn der Benutzer die Enter-Taste klickt der $Summoner Objekt korrekt aktualisiert wird, aber ich kann nicht herausfinden, wie all die para Text feilds

Antwort

0

nicht sicher zu verstehen, zu aktualisieren, was Sie versuchen zu tun, aber hier ist ein Weg:

Shoes.app { 
    background "#EFC" 
    border "#BE8", strokewidth: 6 
    stack margin: 12 do 
     para "Enter your summoner name" 
     flow { 
      sumName = edit_line 
      button "Enter" do 
       setup(sumName.text) 
      end 
     } 
    end 

    flow do 
     stack(:width => 100) { 
      @para1 = para "Champion", margin: 4 
     } 
     stack(:width => 50) { 
      @para2 = para "Wins", margin: 4 
     } 
     stack(:width => 50) { 
      @para3 = para "Loses", margin: 4 
     } 
     stack(:width => 50) { 
      @para4 = para "KDA", margin: 4 
     } 
    end 
} 

dann wahrscheinlich in Ihrer Setup-Methode Ihre Absätze mit der Text Setter-Methode aktualisieren, zum Beispiel: @para3.text = your_text_data
Erstellen Sie Ihr GUI-Layout, dann später, wenn Benutzername verfügbar Updates benötigten Felder sind