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

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

Жанры

Программирование на языке 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
:

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

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

Газлайтер. Том 16

Володин Григорий Григорьевич
16. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 16

Старшеклассник без клана. Апелляция кибер аутсайдера 2

Афанасьев Семен
2. Старшеклассник без клана. Апелляция аутсайдера
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Старшеклассник без клана. Апелляция кибер аутсайдера 2

Пушкарь. Пенталогия

Корчевский Юрий Григорьевич
Фантастика:
альтернативная история
8.11
рейтинг книги
Пушкарь. Пенталогия

Локки 10. Потомок бога

Решетов Евгений Валерьевич
10. Локки
Фантастика:
фэнтези
юмористическое фэнтези
героическая фантастика
боевая фантастика
5.00
рейтинг книги
Локки 10. Потомок бога

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

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

Инквизитор Тьмы

Шмаков Алексей Семенович
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Искатель 6

Шиленко Сергей
6. Валинор
Фантастика:
рпг
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Искатель 6

Второгодка. Книга 3. Ученье свет

Ромов Дмитрий
3. Второгодка
Фантастика:
городское фэнтези
сказочная фантастика
альтернативная история
5.00
рейтинг книги
Второгодка. Книга 3. Ученье свет

Арестант

Константинов Андрей Дмитриевич
7. Бандитский Петербург
Детективы:
боевики
8.29
рейтинг книги
Арестант

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Газлайтер. Том 17

Володин Григорий Григорьевич
17. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 17

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

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