Forth
http://fforum.winglion.ru/

Quark: Еще немного GUI
http://fforum.winglion.ru/viewtopic.php?f=23&t=1938
Страница 1 из 2

Автор:  Hishnik [ Вт фев 10, 2009 00:53 ]
Заголовок сообщения:  Quark: Еще немного GUI

На базе программно реализованного буфера глубины.
Изображение

А вот как это сделано с точки зрения прикладной программы:
Код:
0 32 1400 48 SET-XYWH
NEW-PANEL MENU

0 WINDOW.Y @ 100 - 1400 100 SET-XYWH
NEW-PANEL CONSOLE
CONSOLE ANCHOR-DOWN SET-ANCHORS

0 81 150 WINDOW.Y @ 182 - SET-XYWH
NEW-PANEL TOOLS
TOOLS ANCHOR-HEIGHT SET-ANCHORS

WINDOW.X @ 160 - 81 160 WINDOW.Y @ 182 - SET-XYWH
NEW-PANEL BOOKMARKS
BOOKMARKS ANCHOR-RIGHT ANCHOR-HEIGHT OR SET-ANCHORS

2 35 80 40 SET-XYWH

NEW-BUTTON BTN1
BTN1 " New" SET-CAPTION
BTN1 USE RRR SET-ACTION

NEW-BUTTON BTN2
BTN2 " Open" SET-CAPTION
BTN2 USE BBB SET-ACTION

NEW-BUTTON BTN3
BTN3 " Save" SET-CAPTION
BTN3 USE FFF SET-ACTION

WINDOW.X @ 158 - 85 156 25 SET-XYWH
NEW-BUTTON BOOK1
BOOK1 ANCHOR-RIGHT SET-ANCHORS
BOOK1 " Новый файл" SET-CAPTION

20 100 100 20 SET-XYWH
NEW-CHECKBOX YESNO
YESNO " Нажми меня" SET-CAPTION
                                 

Автор:  Alex [ Ср фев 11, 2009 16:58 ]
Заголовок сообщения: 

Добрый день!

Довольно неплохо, вот здесь
BTN1 USE RRR SET-ACTION
RRR - следует понимать слово, которое будет запущено при нажатии на кнопку?
нажатие кнопки это когда
1. указатель над кнопкой и произошло нажатие или
2. указатель над кнопкой и произошло отпускание или
3. указатель над кнопкой и последовательно происходит нажатие а затем отпускание кнопки?

спасибо.

Автор:  Hishnik [ Ср фев 11, 2009 17:58 ]
Заголовок сообщения: 

Alex писал(а):
BTN1 USE RRR SET-ACTION
RRR - следует понимать слово, которое будет запущено при нажатии на кнопку?

Совершенно верно. USE является алиасом для ['] - выглядит симпатишно :)

Alex писал(а):
нажатие кнопки это когда

Когда произошло отпускание. В действительности у каждого объекта есть набор векторов, последовательно вызываемых при активности мышки. Нажатие, отпускание, вход и выход - все это отдельные слова, на которые можно что-то назначить. Объекты BUTTON при создании получают универсальные обработчики, которые при нажатии ЛКМ рисуют "утопленную" границу, при входе подсвечивают Caption другим цветом (устанавливаемая глобально для движка VALUE-переменная), и при выходе рисуют надпись стандартным цветом. При отпускании по умолчанию не делается ничего, SET-ACTION есть просто некая удобная для прикладного программиста обертка.

Автор:  Alex [ Ср фев 11, 2009 19:19 ]
Заголовок сообщения: 

Замечательно, вполне стандартное поведение и еще можно кое-что заточить под нужды.
и кнопку одну и ту же можно юзать многократно пользуя SET-CAPTION и SET-ACTION :)
а планируются ли выпадающие списки, гриды, таб-вкладки?
спасибо.

Автор:  Hishnik [ Ср фев 11, 2009 19:53 ]
Заголовок сообщения: 

Пока ближайшие планы:
1) Радиокнопки
2) Невыпадающие списки
3) Кнопки с "глифом" (bmp)
4) Статический текст, статические bmp
5) Progress bar
6) Просмотр текста с прокруткой (пример в рядом лежащей теме)
7) Перекрывающиеся закладки (центральное поле на скриншоте, переключаемые кнопками серии BOOKMARKS).

Собственно, на данном этапе я точно могу дать подробное изложение, как это все делалось, если кому-то захочется "такое же, только немного не такое", тем более что в ядро кварка встроены ассемблерные слова, ускоряющие проверку рисования объектов с учетом перекрытия. Система нужна для большого, оплаченного и даже частично сданного проекта, так что я специально хочу аккуратно дистанцироваться от призывов "бросайте все и развивайте МойФорт". Поэтому, за неимением аргументированных запросов на "ранний доступ", я планирую сначала подождать обкатки запущенного движка, и только потом предоставить свободный доступ к нему на условиях freeware либо GPL.

Автор:  in4 [ Ср фев 11, 2009 22:59 ]
Заголовок сообщения: 

Хищник писал(а):
Собственно, на данном этапе я точно могу дать подробное изложение, как это все делалось,
Хотелось бы глянуть... ;)
Хищник писал(а):
если кому-то захочется "такое же, только немного не такое",
Уже хочется! Да и посмотреть, может, подойдет реализация. Или хотя бы чтоб было базовое решение для переделки и сравнения, получилось лучше или хуже.

Автор:  Hishnik [ Ср фев 11, 2009 23:54 ]
Заголовок сообщения: 

in4 писал(а):
Хотелось бы глянуть...

Уфф... ну это мне сесть и писать, писать, писать... :shuffle; Можно в чате... или тогда уж до первой моей вылазки в документирование.

Автор:  VoidVolker [ Пт фев 13, 2009 18:58 ]
Заголовок сообщения: 

Хищник писал(а):
Собственно, на данном этапе я точно могу дать подробное изложение, как это все делалось, если кому-то захочется "такое же, только немного не такое", тем более что в ядро кварка встроены ассемблерные слова, ускоряющие проверку рисования объектов с учетом перекрытия.

Хищник писал(а):
Уфф... ну это мне сесть и писать, писать, писать... Можно в чате... или тогда уж до первой моей вылазки в документирование.

Лучше в форуме - Тирекс-то на больничном. Вобщем ждем :)

Автор:  Hishnik [ Вс фев 15, 2009 15:15 ]
Заголовок сообщения: 

Это Progress bar, статический текст и статическая bmp-картинка.
Изображение

Автор:  Alex [ Вс фев 15, 2009 18:30 ]
Заголовок сообщения: 

Лепота, хочется попробовать :)

Автор:  Hishnik [ Вс фев 15, 2009 19:00 ]
Заголовок сообщения: 

Надо еще какое-то количество элементов оформления и побороть лень, вставив проверку размеров :)

Автор:  WingLion [ Вс фев 15, 2009 21:00 ]
Заголовок сообщения: 

этак и до Visual-Quark недалеко ;)

Автор:  Hishnik [ Вс фев 15, 2009 21:04 ]
Заголовок сообщения: 

WingLion писал(а):
этак и до Visual-Quark недалеко

Нуу... если разобраться, форму можно генерировать и из чего-нибудь стороннего, где несложно делать обработку Drag&Drop. Мне так кажется... Например, Delphi попробовать, не в смысле адаптировать, конечно, а написать на нем программку, которая позволит таскать по экрану объекты и сгенерирует потом текстик на Форте с их инициализацией.

Автор:  вопрос [ Вс фев 15, 2009 21:09 ]
Заголовок сообщения: 

WingLion писал(а):
этак и до Visual-Quark недалеко ;)

реальные кварки никогда не участвуют во взаимодействиях, которые позволили бы их видеть :D
придётся менять название :idea:

Автор:  WingLion [ Вс фев 15, 2009 21:12 ]
Заголовок сообщения: 

Antivisual-Quark :)

Страница 1 из 2 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/