Доработка Ананаса

Общий форум

Модератор: app

Re: Доработка Ананаса

Сообщение app » Ср май 21, 2014 9:03 am

>Андрей, а можно о патче Дизайнера по-подробнее ?

Похоже, ранее я не точно выразился.
На самом деле речь нужно вести о formdesigner (src/designer/formdesigner)
Это компонент, реализующий визуальное редактирование экранных форм.

То есть Ананас-Дизайнер - это самостоятельное приложение, использующее исходный код formdesigner библиотеки QT для визуального редактирования диалогов.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение JohnZ » Ср май 21, 2014 8:19 pm

Спасибо, Андрей !
По исходникам я об этом уже догадался. Перешёл на версию QT ниже, 4.3.5 Удалось её собрать,
правда только студией из ИДЕ. Из командной строки сборка не получается. Дык в ней formdesigner
почти похож на тот что в дистре Ананаса.
При сборке плагинов, накидало 197 неуд-х зависимостей. В 4.6.1 было и того меньше.
Пока разбираюсь, но похоже что какого-то дефайна не хватат ... Ошибки такого типа -
====================================================================================================
wtable.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const aEngine::staticMetaObject" (?staticMetaObject@aEngine@@2UQMetaObject@@B)
====================================================================================================
... и все ссылаются на aEngine::staticMetaObject.


Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение JohnZ » Вс май 25, 2014 12:19 pm

И ещё вопрос, - если Ананас собирается под винду и линух, то по-идее и на андроид должен собраться ?
Т.е. и на планшетах он должен работать, хотя-бы енжин ?!
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение app » Вс май 25, 2014 2:29 pm

На маках он может быть собран. На платформах с пальцевым интерефейсом запускать Ананас смысла нет ИМХО.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение JohnZ » Вс май 25, 2014 10:08 pm

app писал(а):На маках он может быть собран. На платформах с пальцевым интерефейсом запускать Ананас смысла нет ИМХО.

На платформах с пальцевым интерефейсом я имел в видЕ запускать _только_ енжин, т.е. уже готовую конфу !
Например "Рабочее место кассира", продавца или тот-же приём платежей за комуналку, телефон, ... ?

Андрей, хотелось-бы уточнить, если это возможно по Дизайнеру Ананаса. Я в курсе (уже) что им занимался
Валерий и вряд-ли он на этот вопрос ответит (в смысле "с-низойдёт" ;-) ), но всё-таки, по-возможности хотелось-бы уточнить то, о чём писалось выше по-поводу патчения Дизайнера и плагинов к нему.
Даже если плагины должны работать с конфой Ананаса, то почему они не могут (в то-же время !)
подчиняться стандарту QT на написание плагинов к QT Дизайнеру ??? В плагине-же 2 модуля, - для
Дизайнера и для енжина. Ничего-же не мешало сделать по стандарту ! Ведь тогда не нужно было-бы
патчить QT Дизайнер, и пользоваться _стандартным_ Дизайнером из установленной версии QT ?
Ведь можно-же было этот вопрос решить на старте разработки Ананаса ?
Почему было решено сделать имнно так ?
Заранее благодарен за ответы !

Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение app » Пн май 26, 2014 9:01 am

На вскидку есть два ограничения, которые делают невозможным использование стандартного (немодифицированного) QT Designer для построения функционала, предоставляемого Дизайнером Ананаса.

1. Формат сохраняемого результата (.ui файл) не педусматривает расширений или другими словами custom data.
У плагинов QT Designer нет прав модификации сохраняемых дизайнером файлов с описанием диалогов пользовательского интерфейса. То есть какой бы вы плагин не написали, сделать, так, чтобы в UI файл попали данные, необходимые для привязки (data bingind) виджетов формы к полям базы данных, невозможно.
А ведь именно data binding существенно облегчает разработку прикладных приложений в части разработки пользовательского интерфейса.
По этой причине появился формат бизнес-схем. Внутри файлов бизнес-схем можно увидеть содержимое ui файлов.

2.
Для удобства (снижения требований к подготовленности) разработчика прикладных решений важно иметь GUI сфокусированный на самом важном и незагроможденный лишними элементами. QT Designer не позволял это сделать, то есть не мог быть оболочкой, комфортной для начинающего пользователя. Возможно QT Creator уже лишен этого недостатка. Однако, сохраняются другие вопросы.


То есть я хочу сказать, что при разработке Ананаса стандартные/готовые решения всегда были в приоритете, как минимум потому, что они позволяли не тратить ограниченные ресурсы не изобретение велосипедов.
Собственные разработки появлялись лишь, тогда, когда не удавалось находить готовых решений, которые бы давали приемлимый/интересный для конечного пользователя результат.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение JohnZ » Ср май 28, 2014 12:21 am

Спасибо Андрей за ответ.
Собрался у меня Ананас ! ... но на старте не хочет БД открывать/создавать. Сервер MySQL 5.5 запущен, при
сборке путь компилеру на него указывал. Одно подозрение на то, что в отладчике, в окне загружаемых
DLL, QtSql4.dll виден, а "родного" плагина драйвера MySQL 5.5 не видно. Так должно быть ? Видимо это
вопрос к автору aDataBase ... ?

И ещё, - грузится QtScriptd4.dll , которого как я понимаю, быть не должно, т.к. есть qsa.dll . Так ?
Подскажи, если в курсе, как от него избавиться ? Не хочется лишними DLL-ками грузить память ...

Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Re: Доработка Ананаса

Сообщение app » Ср май 28, 2014 9:05 am

>но на старте не хочет БД открывать/создавать.

База создается/обновляется только Дизайнером и только в момент сохранения бизнес-схемы.
Ананас при запуске просто подключается к выбираемой пользователем базе.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение app » Ср май 28, 2014 9:33 am

>И ещё, - грузится QtScriptd4.dll , которого как я понимаю, быть не должно, т.к. есть qsa.dll . Так ?

Если вы собираете вот это
viewtopic.php?f=9&t=17&p=950#p963

то как раз qsa там не нужен. Там используется QtScript.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Доработка Ананаса

Сообщение JohnZ » Ср май 28, 2014 11:14 am

Нет, я собирал с ветки "master", где в имени архива "qtscript" нет. Значит всё-таки нужен QSA ?
С ananas-labs-qt4-qtscript на момент начала сборки я не разобрался полностью, поэтому пока его отложил...
Непонятки были как-раз в этом, что нужно, qtscript или QSA ?! За ссылку спасибо, я ту ветку как-то пропустил,
поэтому был не в курсе ... Попробую позже и его собрать, но пока нужно запустить собранный.
Брал отсюда -> viewtopic.php?f=2&t=40&start=10

В форме проекта порт для MySQL-я (3306) указывать нужно обязательно ?
Пробовал по-разному, всё-равно БД не открывается, увы ... :-(

if ( qds->open() )
{
aLog::print ( aLog::Info,tr ( "aDatabase open connection to %1" ).arg ( rc->value ( "dbname" ) ) );
}
else
{
cfg_message ( 3, ( const char * ) tr ( "Can't open database connection\n" ).utf8() );
aLog::print ( aLog::Error,tr ( "aDatabase open connection to %1" ).arg ( rc->value ( "dbname" ) ) );
};

В консоли пишет "Can't open database connection", а перед этим, что не может найти "fatal.png" :-)


Удачи !
JohnZ
 
Сообщения: 26
Зарегистрирован: Пт апр 25, 2014 2:51 pm

Пред.След.

Вернуться в Общий форум

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

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

cron