Squeak/Smalltalk: Создание нового SystemWindow |

Начать работать с Squeak/Smalltalk очень просто. Вы можете использовать Workspace и Transcript для основных задач программирования. Но вскоре вам понадобится собственный пользовательский интерфейс, и хорошо бы начать работу с SystemWindow объект в данном случае.

Вот некоторый код Smalltalk, который может помочь вам создать и отобразить SystemWindow.

Код

window := SystemWindow new.
window setLabel:'New Window'.
pasteUpMorph := PasteUpMorph new.
pasteUpMorph extent: 640@480.
window addMorph: pasteUpMorph frame: (0@0 corner: 1@1).
window openInWorld.

Скриншот

Новое окно.PNG

Вот еще один пример кода с scrollPane.

window := SystemWindow new.
scrollPane := ScrollPane new.
pasteUpMorph := PasteUpMorph new.
pasteUpMorph extent: 1000@1000.
scrollPane scroller addMorph: pasteUpMorph.
window addMorph: scrollPane frame: (0@0 corner: 1@1).
window openInWorld.

Скриншот

Новое окно scrollpane.PNG

Определения

Панель прокрутки

scroller (преобразование) scrollPane управляется scrollBar. Значения прокрутки варьируются от 0,0что означает нулевое смещение к 1,0 означает достаточное смещение, чтобы нижняя часть прокручиваемого материала отображалась 3/4 вниз по стеклу. Общее расстояние, необходимое для достижения этой дальности, называется totalScrollRange.

ВставитьВверхМорф

Морф, чьи подморфы представляют собой набор прямоугольных частей, которые «просвечивают». Все, что называется «игровым полем», является PasteUpMorph.

Предоставляются (или будут) средства, обычно необходимые на страницах графических презентаций и на игровых полях моделирования, такие как рисование новых объектов, следы черепах, градиентные заливки, рисование фона, поведение корзины деталей, обнаружение столкновений и т. д.

Мир, весь экран Smalltalk — это PasteUpMorph. Мир отвечает true к isWorld. Morph подклассы, которые имеют специализированные меню (BookMorph) встроить их в сообщение addBookMenuItemsTo:hand:. А PasteUpMorph это мир, строит свое меню в HandMorph buildWorldMenu.

Системное окно

SystemWindow является морфическим эквивалентом StandardSystemView — помеченный контейнер для прямоугольных представлений с пиктограммами для закрытия, свертывания/развертывания и изменения размера.

Атрибут onlyActiveOnTop, если установлено значение true (и любой вызов для активации установит это значение), определяет, что активным должен быть только верхний член набора таких окон на экране. Быть неактивным означает, что щелчок мышью в любой области приведет только к перемещению окна наверх, а затем сделает его активным.

Заключение

Я надеюсь, что это полезно. Этот оконный объект открывает множество возможностей для создания элементов пользовательского интерфейса и рисования. Я с нетерпением жду дальнейших статей, в которых показано, как рисовать в окне.

Ждем ваших отзывов и вопросов.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *