OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 20 Сентябрь, 2019 06:13

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Среда, 07 Май, 2014 18:04 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
Борис, не совсем понял, сабж позволяет реализовать фунционал на подобие управляемых форм 1С ? (где-то попадалась твоя ссылка на их механизм) ? Если не сложно, кратко назначение обрисуй, пожалуйста


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Среда, 07 Май, 2014 20:51 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Ну до управляемых форм тут далеко. Но принцип похожий.
Форма описывается декларативно по принципу boxes&glue (блоки и клей) без указания конкретных координат.
Для композиции элементов формы используются такие специальные элементы композиции как VBox (в 1С это вертикальная группа), HBox (В 1С это горизонтальная группа) etc.

Что есть блоки и клей см. тут "VIII Блоки и клей" http://www.mccme.ru/free-books/llang/newllang.pdf

Вот простейший пример на Lua:
Код:
dialog = iup.dialog -- наша форма
{
  iup.hbox -- горизонтальная группа (блок)
  {
    iup.fill{}, -- пружина (клей)
    iup.button{title="Ok",size="40"}, -- кнопка
    iup.button{title="Cancel",size="40"}, -- кнопка
    iup.fill{} -- пружина (клей)
    ;margin="15x15", gap="10" -- свойства группы (блока)
  }
  ;title="Title" -- свойство формы
}

http://www.tecgraf.puc-rio.br/iup/en/layout.html

Как видишь это довольно похоже на дерево редактора управляемых форм.

Выглядит результат так:

Изображение

Если убрать клей то так:

Изображение

Проще всего разобраться можно попрактиковавшись в такой утилите (запускать iuplua52.exe):
http://sourceforge.net/projects/iup/fil ... ecutables/
Это такой мини редактор с интерпретатором Lua и полным набором библиотек IUP (и не только).

Готовые примеры можно скачать тут:
http://sourceforge.net/projects/iup/fil ... 20Sources/

ps Ну и полное описание всех элементов композиции и контролов тут: http://www.tecgraf.puc-rio.br/iup/

pps Еще можешь посмотреть мою утилитку для просмотра модулей обработок:
https://github.com/ilovb/1c-toolkit/
Релиз тут: https://github.com/ilovb/1c-toolkit/releases

После установки обработки будут открываться двойным щелчком в таком виде:
http://infostart.ru/public/183149/

Вот эта морда сделана на IUP:
https://github.com/ilovb/1c-toolkit/blo ... iewer.wlua

Попробуй поредактировать эту форму. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 05:38 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
Спасибо, и это теперь можно использовать в ББ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 11:09 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Уже год как можно :D

Примеры тут: viewtopic.php?f=28&t=4356#p80401


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 11:58 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
Тогда такой вопрос, ты вроде как освоил IUP:
Знаю что для обычных форм была обработка, которая генерировала на основе формы программное создание ее элементов. Вроде для управляемых форм тоже такое сделали.

А можно ли вместо кода сделать генерацию для формы IUP . Элементы там насколько хорошо пересекаются с элементами 1С?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 11:59 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
Просто вроде как в 1С достаточно удобный конструктор форм (хотя я с управляемыми еще почти не работал). Имеет ли смысл делать такое?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 12:05 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
И не подскажешь, есть ли бинд к javascript ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 12:11 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 345
Откуда: Россия, Стерлитамак
И с рисованием вроде понятно из примера, а нет ли примера, как обработчики на элементы вешать?
И на каком языке могут быть обработчики?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 12:50 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Вот пример: viewtopic.php?f=24&t=3865&p=79803#p79803

Обработчик нажатия на кнопку:
Код:
PROCEDURE [ccall] BtnCB(self: Iup.Ihandle);
BEGIN
    Iup.SetAttribute(ml, "VALUE", "Hello!")     
END BtnCB;


Привязывается к кнопке так:
Код:
bt := Iup.Button("Button", "btn_test"); (* кнопка *)
    prev := Iup.SetCallback(bt, "ACTION", SYSTEM.ADR(BtnCB)); (* установка обработчика нажатия на кнопку *)


Список всех видов колбэков тут: viewtopic.php?f=30&t=2446&start=20#p79844

См. в справке в каком случае какой использовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 12:55 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
adva писал(а):
А можно ли вместо кода сделать генерацию для формы IUP . Элементы там насколько хорошо пересекаются с элементами 1С?


Плохо пересекаются. Не советую тратить на это время.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 12:57 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
adva писал(а):
И не подскажешь, есть ли бинд к javascript ?

Вроде нет. Но точно не знаю.

Для js советую на это посмотреть: https://github.com/rogerwang/node-webkit


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 13:18 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Александр Ильин писал(а):
Александр Ильин писал(а):
Я попробую сегодня сделать...
Пока что не взлетело. Работаю.
Интерфейс ILexer реализовал, работает. В той wiki, на которую я давал ссылку, не правильно описано, что такое интерфейс. Во-первых, как я и предполагал, там во всех методах действительно есть скрытый параметр "this". Во-вторых, интерфейс представляет из себя не массив указателей на методы, а массив указателей на указатели на методы. Пришлось залезть под отладчиком в ассемблер, чтобы это выяснить.

Зато с удивлением обнаружил, что VS 2005 умеет отлаживать DLL, сделанные на XDS Oberon-2, в том числе пошагово их отлаживать прямо по исходникам. Похоже, ребята из Excelsior использовали стандартный формат для хранения отладочной информации, за что им очередной плюс.


Вложения:
2014_05_08_14_08_54_.png
2014_05_08_14_08_54_.png [ 120.94 КБ | Просмотров: 3487 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 13:25 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Отлично. Ждем релиз :)

А я вчера обновил бинд к IUP на версию 3.10 (правда еще не тестил): https://github.com/ilovb/cp-iup


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IUP - Portable User Interface
СообщениеДобавлено: Четверг, 08 Май, 2014 13:37 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
ilovb писал(а):
Отлично. Ждем релиз :)
Забыл сказать, что теперь нужно ещё реализовать IDocument. Раньше всё сообщения отправлялись через SendMessage в HWND, а теперь надо использовать этот интерфейс. Надеюсь, это будет не очень сложно, хотя я уже вижу, что там нет некоторых используемых мной функций.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB