Previous Entry Share Next Entry
2016-01

кроссплатформенное маньячество

PoC GUI с датабиндингом и диспетчером евентов, который работает на WPF, WinForms и FEZ Panda (я, правда, пока не решил вопрос с клавиатурой, зато протестировал мультитрединг)

  • 1
surmenok November 1st, 2010
Круто :)

ens_a_se November 1st, 2010
ниче не понял(( что такое PoC GUI? как он работает на перечисленном?

wizzard0 November 2nd, 2010
PoC = proof of concept.
Компиляется DLL с приложением и подгружаются в разные EXE "hosts"

в случае панды подгружается в прошивку, но суть та же - дллка одна, приложение одно, гуи движки разные. В панде user-accessible мозгов 62 кб и флеша 148 кб :)

justy_tylor November 1st, 2010
Чё, прикольно. :)

Вопросы:
1. От платформы только рендерер и топовые окна (кроме Panda) или небольшой реюз контролов/лэйаутов? А внутри движка Measure/Arrange по образу WPF или другая семантика?
2. Какой плагин вешает слева табы с такой раскраской? ;)

wizzard0 November 2nd, 2010
1. рендерер, да. не знаю, имеет ли смысл реимплементировать текст бокс, поэтому реюз контролов есть.
лейауты не реюзаю.

2. Measure/Arrange. Но вообще хочу попробовать сделать constraint-based, а не layout-based анимацию.
Типа, чтобы можно было написать "этот контрол отстоит от других в этом контейнере минимум на 50 и рядом с (А,Б,Ц)" и оно граф плавно лейаутило.

3. Productivity Power Tools - http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef
а вообще http://wizzard0.livejournal.com/157046.html

thedeemon November 1st, 2010
А зачем оно?

wizzard0 November 2nd, 2010
Меня существующие UI фреймворки по разным причинам не устраивают. Хочется поэкспериментировать с написанием своего, чтобы было потом проще формулировать требования под конкретные задачи.

А еще есть DirectX, OpenGL и прочая, которыми иногда хочется пользоваться, а в них гуев не предусмотрено. А эмбед - в основном шутки ради. Хотелось посмотреть, насколько дотнет масштабируется вниз-вверх.

(Anonymous) November 3rd, 2010
> OpenGL и прочая, которыми иногда хочется пользоваться, а в них гуев не предусмотренo

http://git.clutter-project.org/mx/tree/README

udpn November 3rd, 2010
Мне интересно, что именно послужило точкой отсчета для начала экспериментов над GUI. У меня во френдленте как минимум три человека начали ставить какие-то эксперименты в этой теме. Учитывая, что у меня еще 30го числа сдох роутер, и с тех пор френдленту никто не читал, источник должен быть несколько раньше.

Пытался скрестить GUI с комбинаторным подходом. Если наконец-то настрою аську, могу рассказать подробнее.

justy_tylor November 3rd, 2010
Про комбинаторный гуй когда-то хорошо писал Conal Elliott.
http://conal.net/blog/ и особенно http://conal.net/blog/tag/tv/

udpn November 4th, 2010
Я о том, что с помощью комбинаторов неплохо бы собирать отдельные элементы, чтобы избавиться от overhead'а, а он, похоже, про сборку форм в комбинаторном стиле. Но за ссылку все равно спасибо.

justy_tylor November 4th, 2010
Да у него про всё помаленьку. :) Больше в сторону датабайндинга на комбинаторах.

К сборке геометрии на комбинаторах, если припомнить, ближе всего TeX. А что касается "сборки поведения", то там достаточно одного комбинатора, определяющего приоритеты. Впрочем это можно делать и как mixin в линии наследования. У меня в рабочем проекте с wxPython используется ряд своих mixins типа ZoomFont (менять размеры шрифта в окне колёсиком мышки), etc. А было бы что-нибудь хаскельное - mixins подрубались бы использованием комбинатора.

  • 1
?

Log in

No account? Create an account