Декларативный GUI

Тема в разделе "WASM.PROJECTS", создана пользователем captain cobalt, 1 янв 2005.

  1. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    имеющих опыт 10+ лет на делфи



    о господи, 10 лет, вырванных из жизни... ;)
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    masquer



    Плюс надо убрать, т.к. первая версия делфи появилась в 1995-ом.
     
  3. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    Quantum

    Да, согласен, посчитал уже после того как запостил, а исправлять лень :) Но сути это не особо меняет.
     
  4. 3ahyga

    3ahyga New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2006
    Сообщения:
    24
    Адрес:
    Стольный град Москов


    Это ты собрался на асме макросами, или новый язык?

    Если новый то суть взять можно из любого логического языка тогоже Моцарта, и нужно бы почитать литуратуру о графах и их использовании.
     
  5. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    Что-то подобное понадобилось мне в свое время (для создания описаний интерфейса текстовых трейнеров для игр), но из-за недостатка времени я свел все к обычному формату ini-файлов. В любом случае для таких целей хочется иметь более удобный инструмент, спроектированный столь же тщательно как и Оберон (язык / ось). Может стоит идти по стопам html/css - ограниченный набор тегов, некоторый набор стандартных обработчиков + возможность референсных ссылок?
     
  6. flot

    flot New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2006
    Сообщения:
    21
    Неплохая GUI библиотека, язык разметки похож на HTML, вот цитата с сайта:



    Библиотека mGUI предназначена для удобного и быстрого создания графического интерфейса пользователя (GUI) для вашей программы. Метод описания интерфейса здесь подобен языку разметки HTML. Тут тоже есть свои теги и их аттрибуты. Библиотека mGUI интерпретирует текстовое описание интерфейса и создает его, позволяя перехватывать необходимые события. Описание интерфейса может быть встроено в Вашу программу (либо в виде текстовой константы, либо в виде ресурса), или же храниться во внешнем файле, что позволяет изменять интерфейс вручную. Небольшие размеры библиотеки (15 КБ), а также удобные и большие возможности делают ее очень привлекательной. В комплекте с самой библиотекой идут примеры использования..







    http://mrhx.narod.ru/libs.htm
     
  7. mrhx

    mrhx New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    63
    Интересно, вот а какие у народа остались ощущения после mGUI, если кто пробовал?...
     
  8. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    не поддерживает визуальные стили, дефолтный шрифт таймс (смотрится кошмарно, его сменить хоть можно?), скромный хтмл (даже прогресс бара, скажем, нету, не говоря уже о более нестандартных вещах, ну например бегущего текста :) ), нет поддержки png/jpeg, есть еще куда двигаться :) А так вроде ничего. Вот пример хороший - http://terrainformatica.com/htmlayout
     
  9. mrhx

    mrhx New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2006
    Сообщения:
    63
    Ну mGUI это не HTML. Это только HTML-подобный интерфейс к встроенным контролам Windows. Шрифт менять можно стандартными в Windows средствами (CreateFont, CreateFontIndirect). Прогресс бара кажеться и правда нету ) Но зато есть TabControl ))
    Но при всем при этом HTMLLayout DLL 600Kb, а mGUI DLL 15Kb - разница существенная.
    Но вообще да, согласен, двигаться есть куда... Жаль автор забросил это покачто.
     
  10. hTrader

    hTrader Сергей

    Публикаций:
    0
    Регистрация:
    26 дек 2006
    Сообщения:
    150
    Адрес:
    ОПИА
    Фегня фсе это

    WEB-Интерфейс рулид!
     
  11. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Web рулит потому что на Desktop нет ничего кроме стандартных серых коробок из Win32. Редко встретишь что-то другое.. У меня была похожая идея - сделать такой декларативный интерфейс, где все размеры в независимых единицах (points например, как font size) и все контрольные окна не из Win32, а Custom Controls. Сейчас занят созданием IDE, так что времени нет. После IDE наверное попробую.
     
  12. hTrader

    hTrader Сергей

    Публикаций:
    0
    Регистрация:
    26 дек 2006
    Сообщения:
    150
    Адрес:
    ОПИА
    AsmGuru62

    Я этим же занят:)

    Щас впрягся с изменением размеров контрола на форме:)))

    PS: как напишем - обменяемся опытом

    Я уже 1.5мес ее делаю до собственно GUI тока щас добрался
    Систему назвал просто POWER

    Долго писал утиль powerc - зато она приложения очень маленькие собирает но пока только консольные (hello world весит 2 колобайта) -- у них заголовок 1 байт, INIT-часть 3 байта DIV-часть(ни у кого такого нет) 1 байт. Еще умеет ресурсы сжимать (то есть если проге есть графика - она как RES сжимается зипом и разжимается при обращении к ней)
    Пишу на Ada95 и Assembler.
    Вот только от HTML я чуть отошел. Я создал функции
    Create_form_control, destroy_form_control. Так же по кнопкам и другим контролам. Из гипертекста понимает почти все теги кроме скриптов. Пока не выложу на сайт -- исправлю кое-че и предоставлю сначала компилер (powerc) а потом все остальное
     
  13. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    VB DELPHI C++ BUILDER вот те и гуи
     
  14. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    hTrader
    Сейчас я буду ж0стко стебаться:
    Даешь RAW-конвертер с web-мордой!
     
  15. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    автор темы умер, если верить некоторым форумам, а тема его живет!
     
  16. OldDino

    OldDino New Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    44
    Попробуй посмотреть WPF. Там описание интерфейса принципиально делается отдельно от собственно программы. Язык описания интерфейса называется XAML (читается "Заммель").
     
  17. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    идея хорошая, но требует энтузеазма и довольно большого кол-ва времени. основной модуль сделоть как ехе, туда кинуть парсир всей этой ахинеи, а обработчики событий можно кидать в длл и экспортировать, а в ХМЛ указывать их.
     
  18. OldDino

    OldDino New Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    44
    В ноябрьском номере "MSDN magazine" за 2002 год была статья Пола Дилация о создании XML-языка для упрощения программирования и локализации GUI. Видно, актуальности эта статья ещё не утратила. Думаю, её легко можно в Сети найти.
     
  19. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    wxWidgets :: xrc
    Код (Text):
    1. <?xml version="1.0" encoding="ISO-8859-1"?>
    2.  
    3. <resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.3.0.1">
    4.  
    5. <object class="wxDialog" name="variable_expansion_dialog">
    6.     <title>Variable Expansion Example</title>
    7.     <centered>1</centered>
    8.     <object class="wxFlexGridSizer">
    9.         <cols>1</cols>
    10.         <rows>0</rows>
    11.         <vgap>0</vgap>
    12.         <hgap>0</hgap>
    13.         <growablecols>0</growablecols>
    14.         <growablerows>0</growablerows>
    15.         <object class="sizeritem">
    16.             <flag>wxGROW|wxALIGN_CENTER_VERTICAL|wxALL</flag>
    17.             <border>5</border>
    18.             <object class="wxTextCtrl" name="message_textctrl">
    19.                 <size>500,150</size>
    20.                 <style>wxTE_MULTILINE</style>
    21.                 <value>Небольшой пример использования XRC входящий в стандартную поставку</value>
    22.             </object>
    23.         </object>
    24.         <object class="sizeritem">
    25.             <flag>wxGROW|wxALIGN_BOTTOM</flag>
    26.             <object class="wxFlexGridSizer">
    27.                 <cols>3</cols>
    28.                 <rows>0</rows>
    29.                 <vgap>0</vgap>
    30.                 <hgap>0</hgap>
    31.                 <growablecols>2</growablecols>
    32.                 <growablerows>0</growablerows>
    33.                 <object class="sizeritem">
    34.                     <flag>wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM</flag>
    35.                     <border>5</border>
    36.                     <object class="wxStaticText" name="build_information_statictext">
    37.                         <label>This build is:</label>
    38.                     </object>
    39.                 </object>
    40.                 <object class="sizeritem">
    41.                     <flag>wxALIGN_CENTRE|wxALL</flag>
    42.                     <border>5</border>
    43.                     <object class="wxStaticText" name="version_statictext">
    44.                         <label>$(version)</label>
    45.                     </object>
    46.                 </object>
    47.                 <object class="sizeritem">
    48.                     <flag>wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL</flag>
    49.                     <border>5</border>
    50.                     <object class="wxButton" name="wxID_OK">
    51.                         <label>OK</label>
    52.                     </object>
    53.                 </object>
    54.             </object>
    55.         </object>
    56.     </object>
    57. </object>
    58.  
    59. </resource>