OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 05:13

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




Начать новую тему Ответить на тему  [ Сообщений: 124 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
СообщениеДобавлено: Пятница, 23 Июль, 2010 16:57 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
QWERTYProgrammer писал(а):
divan писал(а):
Прилагаю картинку как BB сейчас выглядит на Ubuntu

Имеется ввиду BB работающий на Ubuntu под Wine?

да, это снимок BB 1.6 запущенного в Wine на Ubuntu 9.10 Karmic

Цитата:
А какие виджеты использоваться будут?
я так понял ГТК?
А редактор Glade?
если сделать редактор интерфейса не как в блекбоксе, то будет имхо не то...
и гтк научился уже нативно отображаться в макоси?


За основу надо брать QT, поскольку для свободного софта бесплатный, для коммерческого очень гибкий и индивидуальный подход как и у Микросистем (как понял из обсуждений на форуме), и главное коммерческий вариант существует в принципе.

Пока не обладаю достаточными для навыками и пониманием внутренней структуры BB, чтобы переписывать Hosts. Потихоньку в это въезжаю, но пока дилетант. Скачал sdk для qt, на досуге что-нибудь попробую. Но и ядро ведь пока не адаптированно под Linux как понял... Копаюсь понемножку в bb-revival-nix-0.1, но на форуме не очень обсуждается сейчас перенос, и Дмитрий тоже занят, не выкладывает нового пока.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 26 Июль, 2010 21:20 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
divan писал(а):
За основу надо брать QT, поскольку для свободного софта бесплатный, для коммерческого очень гибкий и индивидуальный подход как и у Микросистем (как понял из обсуждений на форуме), и главное коммерческий вариант существует в принципе.

Оно бесплатный для свободного и не свободного софта в равной степени. LGPL же.

Поясню -- пишем закрытый сильно платный софт. Используем Qt. Покупать Qt мы не обязаны. Раскрывать исходники при этом тоже. Ибо LGPL.

Покупать Qt имеет смысл в двух случаях:
1) Хочется (сильно)модифицировать Qt (например как в kylix) и при этом не хочется публиковать оные модификации.
2) Хочется тех. поддержки от нокии.

Всё.

Замечу, что GTK это тоже LGPL.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 01:32 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Отлично, а то QT тут уже обсуждали где-то и чуть было не откинули этот вариант сгоряча :) все на сайт нокиа! даешь кросплатформенность ГУИ BB на QT !


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 03:06 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
divan писал(а):
Отлично, а то QT тут уже обсуждали где-то и чуть было не откинули этот вариант сгоряча :) все на сайт нокиа! даешь кросплатформенность ГУИ BB на QT !

Первые же грабли - принципиальное различие в работе со строками. См. QtPas. Удастся победить - остальное несложно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 07:47 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Я сейчас озабочен выбором гуевой библиотеки для С++. Поэтому малость в теме Гуя.
На выбор предлагаю:
Qt
vxWidget
Juce
Ultimate++
Кстати, все переносимые.
И для каждой библиотеки (которые включают не только гуй, но еще массу полезных вещей), есть своя интегрированная среда. А то и не одна.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 14:50 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Валерий Лаптев писал(а):
vxWidget

wxWidgets

Ещё можно посмотреть на fltk например и на FOX toolkit.

Но вообще, по моему, выбор прост: либо gtk, либо qt, либо x11.
Поясню почему: если мы хотим чтобы BB смотрелся (и ощущался, что важно!) родным в gnome и подобных, то следует выбрать gtk, если хотим чтобы он смотрелся и ощущался родным в kde, то следует взять Qt.

Если же мы не хотим зависимости от тяжелых плюсато-сишных либ, и хотим нечто максимально простое по исполнению, то следует работать напрямую с X11-протоколом. Возможно в т.ч. написать свою клиентскую либу для работы с ним, благо протокол простой. Кроме того, тут мы получаем максимум гибкости. Т.е. нет ограничений идиомами низлежащих высокоуровневых билиотек, как это будет в случае Qt и Gtk.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 16:57 

Зарегистрирован: Вторник, 20 Ноябрь, 2007 10:45
Сообщения: 28
Валерий Лаптев писал(а):
Я сейчас озабочен выбором гуевой библиотеки для С++. Поэтому малость в теме Гуя.
На выбор предлагаю:
Qt
vxWidget
Juce
Ultimate++
Кстати, все переносимые.
И для каждой библиотеки (которые включают не только гуй, но еще массу полезных вещей), есть своя интегрированная среда. А то и не одна.

Ещё есть не плохой http://www.fox-toolkit.org/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 18:07 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Alexey Veselovsky писал(а):
Валерий Лаптев писал(а):
vxWidget

wxWidgets

Ещё можно посмотреть на fltk например и на FOX toolkit.

Но вообще, по моему, выбор прост: либо gtk, либо qt, либо x11.
Поясню почему: если мы хотим чтобы BB смотрелся (и ощущался, что важно!) родным в gnome и подобных, то следует выбрать gtk, если хотим чтобы он смотрелся и ощущался родным в kde, то следует взять Qt.

Если же мы не хотим зависимости от тяжелых плюсато-сишных либ, и хотим нечто максимально простое по исполнению, то следует работать напрямую с X11-протоколом. Возможно в т.ч. написать свою клиентскую либу для работы с ним, благо протокол простой. Кроме того, тут мы получаем максимум гибкости. Т.е. нет ограничений идиомами низлежащих высокоуровневых билиотек, как это будет в случае Qt и Gtk.


Все верно.
Добавлю только несколько комментариев. Я рассматривал все перечисленные варианты.

Qt
Замечательная библиотека, очень целостная, «гладкая», если хотите. Объектная модель очень близка к ББ. Отличная подсистема 2D-графики. Что очень важно, есть полноценная реализация MDI-окон. Хорошая build-модель. Имеется полноценный(ая?) binding к FreePascal. LGPL.

Пока из всех тех экспериментов, что я делал - это лучший вариант.

wxWidgets

На момент начала работы была в наличии свободная лицензия.
Неплохая объектная модель, очень широкая библиотека. Хорошая документация. Качественный open-source продукт. Ожидаем версию 3.0, обещают много изменений.
Имеется binding к Haskell, положенный в основу привязки к ББ. На *nix системах отсутствует MDI (реализуется вкладками).

GTK

Вывернутая на изнанку модель ООП. Отсутствие MDI. Хотя в целом библиотека богатая.
Написано на C, относительно несложно сделать автоматизированное построение привязки.

X11

Заманчивый вариант, но его трудоемкость очень высока, несмотря на кажущуюся простоту. Своя отрисовка, также как, например, в JUCE или AGG – весьма нетривиальная задача.

FLTK, FOX и др.
В основном – отсутствует native look & feel и непонятно, как делать привязку.

---
Когда я начинал работу по созданию ГУИ, я допустил большую ошибку.
Я старался делать привязку ко всей библиотеке, с которой собирался работать. Теперь понимаю, что вполне достаточно тех нескольких функций (классов), которые предоставляются QtPas или часть из wxHaskell, которая была реализована.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 18:13 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Валерий Лаптев писал(а):
Я сейчас озабочен выбором гуевой библиотеки для С++. Поэтому малость в теме Гуя.
На выбор предлагаю:
Qt
vxWidget
Juce
Ultimate++
Кстати, все переносимые.
И для каждой библиотеки (которые включают не только гуй, но еще массу полезных вещей), есть своя интегрированная среда. А то и не одна.

Смотря что вам надо ;)
Больше всего мне пока нравится Qt, а наиболее интересной (с исследовательской точки зрения) показалась U++. Juce создавалась под весьма специфичные задачи, а потому и интерфейс там нисколько не native. Ну а wxWidgets исповедует принцип – везде родной интерфейс, тем и интересна (есть, правда, еще wxUniversal, но это – отдельная тема).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 19:46 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Димыч писал(а):
Смотря что вам надо ;)
Больше всего мне пока нравится Qt, а наиболее интересной (с исследовательской точки зрения) показалась U++. Juce создавалась под весьма специфичные задачи, а потому и интерфейс там нисколько не native. Ну а wxWidgets исповедует принцип – везде родной интерфейс, тем и интересна (есть, правда, еще wxUniversal, но это – отдельная тема).

Ну, я уже понял, что с Qt знакомить надо по-любому.
И для разнообразия еще и с vxWidget, и U++ :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 27 Июль, 2010 21:02 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Димыч писал(а):
Заманчивый вариант, но его трудоемкость очень высока, несмотря на кажущуюся простоту. Своя отрисовка, также как, например, в JUCE или AGG – весьма нетривиальная задача.

Стоп. У AGG принципиально другая задача, это не тулкит для GUI. Более того, при написании своего самостоятельного тулкита для BB, который использует только X11 отрисовывать нужно именно через AGG, благо порт AGG имеется в наличии.

Но да, над архитектурой подумать придется. Вот тут то и должн, по идее, показать себя ББ-подход во всей своей красе. Т.е. проявиться мощь должна его. В качестве архитектуры, скорости (по срокам) и качества (в т.ч. быстродействия) реализации.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 28 Июль, 2010 04:16 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Нравится идея с X11, это как-то правильно. Ведь в BB есть уже свой API для GUI и прогибаться под QT будет как-то неэффективно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 28 Июль, 2010 07:08 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
divan писал(а):
Нравится идея с X11, это как-то правильно. Ведь в BB есть уже свой API для GUI и прогибаться под QT будет как-то неэффективно.

:)
Ну что ж, если идея нравится — вперед, изучать протокол x11! А заодно и допиливать agg; советами помогу.
После оценки трудозатрат предлагаю вернуться к обсуждению вариантов qt и wxWidgets.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 28 Июль, 2010 07:47 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Димыч писал(а):
divan писал(а):
Нравится идея с X11, это как-то правильно. Ведь в BB есть уже свой API для GUI и прогибаться под QT будет как-то неэффективно.

:)
Ну что ж, если идея нравится — вперед, изучать протокол x11! А заодно и допиливать agg; советами помогу.
После оценки трудозатрат предлагаю вернуться к обсуждению вариантов qt и wxWidgets.

Иногда трудозатраты лучше не оценивать :-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Июль, 2010 04:45 

Зарегистрирован: Суббота, 06 Июнь, 2009 07:52
Сообщения: 329
Димыч писал(а):
divan писал(а):
Нравится идея с X11, это как-то правильно. Ведь в BB есть уже свой API для GUI и прогибаться под QT будет как-то неэффективно.
Ну что ж, если идея нравится — вперед, изучать протокол x11!
У авторов А. П. Полищук, С. А. Семериков есть пара книжек о Free Pascal под Linux. Одна из них «Программирование в X Window средствами Free Pascal».
Цитата:
Продолжая традиции многих изданий, посвященных программированию, начнем с программы, рисующей на экране строку "Hello, world!". В этом примере приведены основные шаги, необходимые для работы в X Window.


Вложения:
Пример.zip [1.68 КБ]
Скачиваний: 437
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Июль, 2010 04:47 

Зарегистрирован: Суббота, 06 Июнь, 2009 07:52
Сообщения: 329
Недавно(2010г.) вышла книжка Е.Р. Алексеев, О.В. Чеснокова, Т.В. Кучер. «Free Pascal и Lazarus». Возможно, что в ней тоже есть что-то по этому вопросу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Июль, 2010 07:10 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Тогда уж XCB наверное...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Июль, 2010 09:21 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Всё бы вам субпродукты...
Вот что нужно прочитать, чтобы понять что из себя X11 представляет и как оно работает: X Window System Protocol


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Июль, 2010 09:44 
Аватара пользователя

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 495
Э... я про спуск на уровень самого протокола как-то не подумал.

мы не ищем легких решений? 8)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Июль, 2010 10:04 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Димыч писал(а):
Э... я про спуск на уровень самого протокола как-то не подумал.

мы не ищем легких решений? 8)

В смысле? Где там сложные решения то? Протокол простой как топор. Реализовав его, мы имеем полностью прозрачную реализацию в терминах КП или Оберона.

Из внешних зависимостей у нас остается только транспортный протокол до X-сервера, это либо TCP либо Unix Domain Sockets (также известные как IPC-Socket). От них уже никуда не денешься.

PS. точнее реализовав не его, а необходимое нам подмножество протокола.

Кроме того, эта штука может быть полезна и вне проекта по переносу BB (как среды) под линукс. Т.е. ей могут пользоваться и "консольные" BB-приложения. Которые вроде как уже работают.


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


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

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