crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

JohnZ
  опции профиля:
сообщение 3.7.2017, 17:30
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 139
Регистрация: 19.7.2014
Пользователь №: 4190

Спасибо сказали: 10 раз(а)




Репутация:   0  


Со старта прошу не пинать за то что ( возможно !) не в том разделе задаю вопрос, т.к. вероятнее всего это из раздела MVC.

Задача следующая, - есть класс формы с указателем на её модельку ...
Раскрывающийся текст

class fpTForma : public QDialog
{
Q_OBJECT

public:

Q_INVOKABLE fpTForma(int id, MainWindow *parent = 0, Qt::WindowFlags f = 0);
~fpTForma();

public slots:

Q_INVOKABLE bool initForm(int fpCmd = 0);
Q_INVOKABLE MainWindow *getParent() { return mParent; }
Q_INVOKABLE int getCurRow() { return curIndex.isValid() ? curIndex.row() : -1; }
Q_INVOKABLE QVariant getCurValue(int col);
Q_INVOKABLE QVariant getCurValue(const QString & name);
Q_INVOKABLE bool match(int col, QVariant value);
Q_INVOKABLE bool match2(int col, int col1, QVariant value, QVariant value1);
Q_INVOKABLE void refresh() { model->select(); }
Q_INVOKABLE void setSort(int colnum, int order, bool sel = false);
Q_INVOKABLE int exec();

// .... etc

protected slots:

void closeEvent(QCloseEvent *event);
void keyPressEvent (QKeyEvent *event);
void setCurrentModelIndex(const QModelIndex &idx);

// .... etc

protected:

QScriptEngine *engine; // ссылка на интерпретатор скрипта.
MainWindow *mParent;
QTableView *viewChild; // QTableView на этой форме

fpTableModel *model; // Форма работает с Таблицей !!!

QModelIndex curIndex;
QSqlRecord curRecord;
QDataWidgetMapper *dataMapper;

// .... etc
};


Он фактически выполняет роль Контроллера в MVC. В скрипте эти объекты видны как frmXXX.
Задача состоит в том, что-бы из скрипта "прицепить" к его модели ф-цию data() для подмены колонок в View !?
Вроде-бы когда-то видел такое в и-нете, но не уверен. Возможно-ли такое сделать ? Подскажите PLZ ...

Сообщение отредактировал JohnZ - 3.7.2017, 17:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
JohnZ
  опции профиля:
сообщение 6.7.2017, 14:25
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 139
Регистрация: 19.7.2014
Пользователь №: 4190

Спасибо сказали: 10 раз(а)




Репутация:   0  


Цитата(lanz @ 6.7.2017, 13:16) *
Цитата(JohnZ @ 6.7.2017, 12:06)
Это уже при линковке. Чё с этим делать хз ...
Это распространенная вещь, MOC не находит твой заголовочник.

Проверь что fpmodels.h включен в HEADERS в .pro файле
Попробуй перезапустить qmake (Build->Run qmake)
Пересобери.

Если не поможет, тащи сгенерированный Makefile, будем посмотреть

1000 раз пересобирал, не помогало. micro-SSD (Raspberry Pi 2) уже до дыр наверно затёр :)
Сейчас вместо QT-Creatora пересобрал в консоли - ПОЛУЧИЛОСЬ !!!
Затем и из Creatora ПОЛУЧИЛОСЬ !!!
БлагоДарю !!!
Дык теперь модель можно отдать в скрипт ?
Только пока надо придмать как, ведь в JS нет указателей ...
Модель "сидит" в форме, а форма в скрипте видна.

Цитата
Цитата(JohnZ @ 6.7.2017, 12:06)
Дык что-бы иметь одну универсальную, на все случаи ...
Так не бывает
А еще YAGNI

:) Ещё как бывает - MS Access, 1C, Ananas, etc
В (разрабатываемых) ERP системах не-нужный функционал рано или поздно всё-равно понадобится,
и если взять ближайшего предка моего проекта Ananas, (www.ananas.su) то у меня этого функционала значительно
меньше, т.к.MVC (QT4 вместо QT3) который там был недоступен, плюс DataMapper etc :) IMHO

Цитата
Цитата(JohnZ @ 6.7.2017, 12:06)
Дык скриптовую поддержку можно отдать "наружу" Как в ERP-системах.
Это если есть хорошее API между скриптом и сишной частью, иначе все равно придется лезть в сишный код/дергать тебя.

Дык это пока "в коротких штанишках" и нет доков. :)
Будут доки (когда руки дойдут), проблема должна рассосаться ...
Доки писать начал, но как ты понимаешь для програмера писать доки - лучще сразу застрелиться :)
Хотя там особо-то и писать почти нечего, всего 2 объекта Forma и Report, у той-же 1С их около 80 ...
Достигнуто за счёт того, что Forma "умеет" рекурсивно создавать своих потомков и саморегистрироваться
в скриптовой системе...
Цитата
Цитата(JohnZ @ 6.7.2017, 12:06)
Ни разу. В чём подвох ?
Тогда смысл ее выносить в скрипт?

В ВЫНОСЕ в скрипт :) :) :)
Какую колонку (виртуальную) захочешь, такую и СМОЖЕШЬ сделать !

Сообщение отредактировал JohnZ - 6.7.2017, 14:53
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- JohnZ   data() MVC из скрипта возможно ?   3.7.2017, 17:30
- - lanz   Плюсовые объекты из скрипта менять не получится км...   3.7.2017, 18:39
- - JohnZ   Цитата(lanz @ 3.7.2017, 18:39) Плюсовые о...   4.7.2017, 11:36
- - lanz   Цитата(JohnZ @ 4.7.2017, 11:36) А сама fp...   4.7.2017, 12:17
- - JohnZ   Цитата(lanz @ 4.7.2017, 12:17) Цитата(Joh...   4.7.2017, 13:35
- - lanz   См. приложение. ЦитатаДык по-любому все объекты по...   5.7.2017, 11:09
- - JohnZ   Цитата(lanz @ 5.7.2017, 11:09) См. прилож...   5.7.2017, 15:07
- - lanz   Цитата(JohnZ @ 5.7.2017, 15:07) ... или з...   5.7.2017, 17:18
- - JohnZ   Цитата(lanz @ 5.7.2017, 17:18) Цитата(Joh...   5.7.2017, 22:15
- - lanz   Цитата(JohnZ @ 5.7.2017, 22:15) Если снят...   6.7.2017, 9:21
- - JohnZ   Цитата(lanz @ 6.7.2017, 9:21) Цитата(John...   6.7.2017, 12:06
- - lanz   Цитата(JohnZ @ 6.7.2017, 12:06) Это уже п...   6.7.2017, 13:16
- - JohnZ   Цитата(lanz @ 6.7.2017, 13:16) Цитата(Joh...   6.7.2017, 14:25
- - lanz   Цитата(JohnZ @ 6.7.2017, 14:25) Дык тепер...   6.7.2017, 17:20
- - JohnZ   Вот уже почти и добрались до решения проблемы Ц...   7.7.2017, 11:27
- - lanz   Цитата(JohnZ @ 7.7.2017, 11:27) И как в п...   7.7.2017, 13:49
- - JohnZ   Погодь lanz, не убегай А какая у тебя QT-я ? У мн...   7.7.2017, 17:34
- - lanz   Цитата(JohnZ @ 7.7.2017, 17:34) У тебя ли...   7.7.2017, 18:36
- - JohnZ   Цитата(lanz @ 7.7.2017, 18:36) Цитата(Joh...   9.7.2017, 19:56
- - lanz   Цитата(JohnZ @ 9.7.2017, 19:56) А так мож...   9.7.2017, 23:56
- - JohnZ   Lanz, а не подскажешь как можно передать в скрипто...   14.7.2017, 12:24
- - lanz   Было ИТТ, ну! engine->newVariant(inde...   14.7.2017, 12:41
- - JohnZ   Помнишь фильм "Напарник" Л.Гайдая ? - Р...   14.7.2017, 12:50


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 18.4.2025, 0:51