Чтение онлайн

на главную - закладки

Жанры

Программирование на языке Ruby
Шрифт:

@text_field = FXTextField.new(self, 20, nil, 0,

text_options)

@text_field.text = ""

layout_options = LAYOUT_SIDE_TOP | FRAME_NONE |

LAYOUT_FILL_X | LAYOUT_FILL_Y |

РАСK_UNIFORM_WIDTH

layout = FXHorizontalFrame.new(self, layout_options)

options = FRAME_RAISED | FRAME_THICK |

LAYOUT_RIGHT | LAYOUT_CENTER_Y

hide_btn = FXButton.new(layout, "&Hide", nil, nil, 0,

options)

hide_btn.connect(SEL_COMMAND) { hide }

 end

 def text

@text_field.text

 end

end

class ModalDialogBox < FXDialogBox

 def initialize(owner)

#
Сначала вызвать инициализатор базового класса.

super(owner, "Test of Dialog Box",

DECOR_TITLE|DECOR_BORDER)

text_options = JUSTIFY_RIGHT | FRAME_SUNKEN |

FRAME_THICK | LAYOUT_SIDE_TOP

@text_field = FXTextField.new(self, 20, nil, 0,

text_options)

@text_field.text = ""

layout.options = LAYOUT_SIDE_TOP | FRAME_NONE |

LAYOUT_FILL_X | LAYOUT_FILL_Y |

PACK_UNIFORM_WIDTH

layout = FXHorizontalFrame.new(self, layout_options)

options = FRAME_RAISED | FRAME_THICK |

LAYOUT_RIGHT | LAYOUT_CENTER_Y

cancel_btn = FXButton.new(layout, "&Cancel", nil,

self, 0, options)

cancel_btn.connect(SEL_COMMAND) do

app.stopModal(self, 0)

hide

end

accept_btn = FXButton.new(layout, "&Accept", nil,

self, 0, options)

accept_btn.connect(SEL_COMMAND) do

app.stopModal(self, 1)

hide

end

 end

 def text

@text_field.text

 end

end

class DialogTestWindow < FXMainWindow

 def initialize(app)

#
Сначала инициализировать базовый класс.

super(app, "Dialog Test", nil, nil,

DECOR_ALL, 0, 0, 400, 200)

layout_options = LAYOUT_SIDE_TOP | FRAME_NONE |

LAYOUT_FILL_X | LAYOUT_FILL_Y |

PACK_UNIFORM_WIDTH

layout = FXHorizontalFrame.new(self, layout_options)

button_options = FRAME_RAISED | FRAME_THICK |

LAYOUT_CENTER_X | LAYOUT_CENTER_Y

nonmodal_btn = FXButton.new(layout, "&Non-Modal Dialog...", nil,

nil, 0, button_options)

nonmodal_btn.connect(SEL_COMMAND) do

@non_modal_dialоg.show(PLACEMENT_OWNER)

end

modal_btn = FXButton.new(layout, "&Modal Dialog...", nil,

nil, 0, button_options)

modal_btn.connect(SEL_COMMAND) do

dialog = ModalDialogBox.new(self)

if dialog.execute(PLACEMENT_OWNER) == 1

puts dialog.text

end

end

getApp.addTimeout(1000, method(:onTimer))

@non_modal_dialog = NonModalDialogBox.new(self)

 end

 def onTimer(sender, sel, ptr)

text = @non_modal_dialog.text

unless text == @previous

@previous = text

puts @previous

end

getApp.addTimeout(1000, method(:onTimer))

 end

 def create

super

show(PLACEMENT_SСREEN)

 end

end

application = FXApp.new

DialogTestWindow.new(application)

application.create

application.run

Перед началом длинного вычисления в FXRuby следует заменить текущий курсор курсором ожидания, а по завершении восстановить исходный. В классе

FXApp
есть два удобных метода, позволяющих изменить курсор без явного запоминания предыдущего:
beginWaitCursor
и
endWaitCursor
. Если метод
beginWaitCursor
вызывается в блоке, то по выходе из блока будет автоматически вызван метод
endWaitCursor
:

Поделиться:
Популярные книги

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень

Я граф. Книга XII

Дрейк Сириус
12. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я граф. Книга XII

Личный аптекарь императора. Том 2

Карелин Сергей Витальевич
2. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Личный аптекарь императора. Том 2

Гранит науки. Том 2

Зот Бакалавр
2. Героями не становятся, ими умирают
Фантастика:
фэнтези
5.00
рейтинг книги
Гранит науки. Том 2

Законы Рода. Том 2

Андрей Мельник
2. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 2

Скандальная история старой девы

Милославская Анастасия
Скандальные истории
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Скандальная история старой девы

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Чужак из ниоткуда 3

Евтушенко Алексей Анатольевич
3. Чужак из ниоткуда
Фантастика:
космическая фантастика
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда 3

Неудержимый. Книга XXXVII

Боярский Андрей
37. Неудержимый
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Неудержимый. Книга XXXVII

Отверженный. Дилогия

Опсокополос Алексис
Отверженный
Фантастика:
фэнтези
7.51
рейтинг книги
Отверженный. Дилогия

Мы - истребители

Поселягин Владимир Геннадьевич
2. Я - истребитель
Фантастика:
альтернативная история
8.55
рейтинг книги
Мы - истребители

Мастер 8

Чащин Валерий
8. Мастер
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мастер 8

Сын Тишайшего 3

Яманов Александр
3. Царь Федя
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Сын Тишайшего 3

Древесный маг Орловского княжества 4

Павлов Игорь Васильевич
4. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 4