2014-10-14 5 views
0

Так у меня есть графический интерфейс, как это:рубин обувь: Предотвращение нового окна с открытия

Shoes.app title: "MAIN" do 
    class MainPanel 
     @myApp 

     def initialize(myApp) 
      @myApp = myApp 
     end 

     def alert(message) 
      @myApp.app do 
       alert message 
      end 
     end 

     def add(text) 
      @myApp.app do 
       append para "lol" 
      end 
     end 
    end 

    stack do 
     @currPanel = MainPanel.new(self) 
     button "start!" do 
      @currPanel.alert("balh") 
      @currPanel.add("balh") 
     end 
    end 
end 

Я так запутался, почему он просто не работает. Говоря, что это не работает, я имею в виду, что он всегда открывает новое окно (обновляется). Поэтому каждый раз, когда он что-то выполняет, создается новое окно .... Я не понимаю, где я сделал это неправильно. Я попытался поставить декларацию класса за пределами shoes.app, но он не сработал ни .....

ответ

0

Я считаю, что вы хотите, чтобы «lol» продолжал накапливаться каждый раз при нажатии кнопки и отображается предупреждение , Если это так, то вам просто нужно сделать небольшое изменение, и все будет работать отлично:

Изменить метод добавления FROM:

def add(text) 
    @myApp.app do 
     append para "lol" 
    end 
end 

TO:

def add(text) 
    @myApp.app do 
     append do 
     para "lol" 
     end 
    end 
end 

Позвольте мне знать, если я правильно не понял ваш вопрос. Надеюсь, это поможет :)

+0

Emmmm ... Я действительно не использовал класс, определенный выше (MainPanel). Однако кажется, что всякий раз, когда я создаю новый объект, используя ключевое слово «новое», обувь автоматически создает новое окно. И это новое окно является страницей приветствия для приложения. Теперь мое приложение открывает новое окно, когда я нажимаю «start», потому что это когда новый объект GraphLib создается впервые. Я тестировал несколько раз, и я уверен, что Обувь просто генерирует новое окно всякий раз, когда я создаю новый GraphLib ...... Спасибо за помощь tho :) –