#include <engine.h>
Открытые слоты | |
| QString | cfgname () |
| QString | Time () |
| QString | Date () |
| void | Exit () |
| void | Message (int n, const QString &msg) |
| void | StatusMessage (const QString &msg) |
| void | StatusMessage (const QString &msg, const int &pos) |
| void | settimer (int sec, QString proc) |
| aForm * | OpenForm (QString fname, int mode=0, aObject *selecter=0, bool modal=false) |
| aForm * | OpenForm (QString fname, int mode, int ido, aObject *selecter=0, bool modal=false) |
| Создает и открывает новую форму. | |
| QVariant | value (const QString &name) |
| void | setValue (const QString &name, QVariant value=QVariant::Invalid) |
| void | on_MenuBar (int id) |
| void | execAction (aCfgItem &act, QObject *context=0) |
| aDataField * | enterValue (const QString &FieldType, const QString &title="") |
| bool | startTransaction () |
| bool | commitTransaction () |
| bool | rollbackTransaction () |
Сигналы | |
| void | statusMessage (const QString &msg) |
| void | statusMessage (const QString &msg, const int &pos) |
| void | statusIcon (const int &status) |
| void | event (const QString &source, const QString &data) |
Открытые члены | |
| aEngine () | |
| virtual | ~aEngine () |
| virtual bool | init (const QString &rcfile) |
| virtual void | done () |
| void | openEmbedCatalogueEditor (int oid, QWidget *parent=NULL, const bool toSelect=true) |
| QString | sourcePreprocessor (const QString &src) |
| void | timerEvent (QTimerEvent *e) |
| int | on_systemstart () |
| int | on_systemstop () |
| aForm * | openForm (int oid, int fid=0, int defaultfor=1, int mode=0, ANANAS_UID id=0, aWidget *caller=0, bool modal=false) |
| Создает и открывает новую форму. | |
Открытые атрибуты | |
| aDatabase | db |
| aCfg * | md |
| QWidget * | ws |
| aWindowsList * | wl |
| QSInterpreter * | code |
| QSProject | project |
| int | next_obj_id |
Класс, реализующий обработку и выполнение скриптов, открытие экранных форм, предварительную обработку скрипта перед выполнением (для последующего использования русских управляющих инструкций), системные функции получения даты и времени, печати сообщений об ошибках и т.д
| aEngine::aEngine | ( | ) |
Конструктор. Создает новый объект с именем "sys". Доступ к функциям этого объекта из Ананас.Скрипта возможен примерно так:
sys.Date(); // текущая дата sys.OpenForm("DocJournal.Системный журнал.Form.Список документов"); // открывает форму "Список Документов" журнала "Системный журнал"
Перекрестные ссылки md и next_obj_id.
| aEngine::~aEngine | ( | ) | [virtual] |
Деструктор.
| bool aEngine::init | ( | const QString & | rcfile | ) | [virtual] |
Инициализирует объект. Инициализирует скриптовую систему, добавляет несколько глобальных функций.
Перекрестные ссылки aDatabase::cfg, code, db, aCfg::find(), aDatabase::init(), md, project, sourcePreprocessor() и aCfg::sText().
| void aEngine::done | ( | ) | [virtual] |
Заглушка.
| void aEngine::openEmbedCatalogueEditor | ( | int | oid, | |
| QWidget * | parent = NULL, |
|||
| const bool | toSelect = true | |||
| ) |
Создает и открывает новую форму встроенного редактора каталога.
| oid | - id каталога конфигурации, | |
| parent | - родительский объект wField | |
| toSelect | - Режим. true - выбор, false - редактирование |
Перекрестные ссылки db, wCatalogEditor::edit(), wCatalogEditor::initCat(), wCatalogEditor::select() и ws.
Используется в execAction() и wField::fieldSelect().
| QString aEngine::sourcePreprocessor | ( | const QString & | src | ) |
Функция препроцессора исходного текста скрипта. Для разработчиков: В первую очередь может быть использована для замены коротких имен из локального контекста на квалифицированные имена глобальных функций и объектов, например Message() в контексте формы может заменяться на global.Message() перед выполнением скрипта и выполняться корректно из любого места. В противном случае приходится дублировать глобальные встроенные функции во всех контекстах.
Используется в execAction() и init().
| void aEngine::timerEvent | ( | QTimerEvent * | e | ) |
Заглушка.
| int aEngine::on_systemstart | ( | ) |
Автоматически вызывается при старте системы. Если в глобальном модуле определа функция on_systemstart() то она будет автоматически вызвана. Это можно использовать для открытия документов или журналов при старте системы, или каких-либо других действий.
Перекрестные ссылки project.
| int aEngine::on_systemstop | ( | ) |
Автоматически вызывается при остановке системы. Если в глобальном модуле определа функция on_systemstop() то она будет автоматически вызвана.
Перекрестные ссылки project.
| aForm * aEngine::openForm | ( | int | formOwnerId, | |
| int | formId = 0, |
|||
| int | defaultfor = 1, |
|||
| int | mode = 0, |
|||
| ANANAS_UID | id = 0, |
|||
| aWidget * | caller = 0, |
|||
| bool | modal = false | |||
| ) |
Создает и открывает новую форму.
Форма создается с учетом её id в конфигураци и действия, режима работы (просмотр, редактирование, создание нового объекта). Форма должна поддерживать тот режим, для которого она открывается. Если форма открыта для просмотра она открывается в режиме отлько чтение. Если id формы равно 0, делается попытка найти первую форму с требуемым режимом. При необходимости поля формы заполняются в соответствии с параметром id
| formOwnerId | - идентификатор владельца формы в метаданных бизнес-схемы | |
| formId | - идентификатор формы в метаданных бизнес-схемы | |
| defaultfor | - режим работы формы | |
| mode | - пока не используется | |
| id | - идентификатор объекта в базе данных, для которого открывается форма. Используется только в режиме просмотра или редактирования | |
| caller | - Вызывающий данную функцию объект. Он будет обновлен автоматически при закрытии формы | |
| modal | - является ли окно модальным |
Перекрестные ссылки aWindowsList::find(), aCfg::find(), aWindowsList::get(), aCfg::getDefaultFormId(), md, aForm::New(), aLog::print(), aForm::Select(), aForm::setMode(), aForm::SetReadOnly(), aForm::Show(), wl и ws.
Используется в wDBTable::EditElement(), execAction(), wField::fieldSelect() и OpenForm().
| QString aEngine::cfgname | ( | ) | [slot] |
Заглушка. Возвращает всегда строку "???" В будущем возможно будет возвращать имя конфигурации.
| QString aEngine::Time | ( | ) | [slot] |
Возвращает строковое представление текущего времени в формате "hh:mm:ss"
| QString aEngine::Date | ( | ) | [slot] |
Возвращает строковое представление текущей даты в формате "dd.MM.yy"
| void aEngine::Message | ( | int | n, | |
| const QString & | msg | |||
| ) | [slot] |
Вывод сообщений.
| n | - тип сообщения. 0 - уведомление, 1 - предупреждение, 2 - ошибка. | |
| msg | - текст сообщения. |
| void aEngine::StatusMessage | ( | const QString & | msg | ) | [slot] |
Вывод сообщений в строке состояния.
| msg | - текст сообщения. |
| void aEngine::StatusMessage | ( | const QString & | msg, | |
| const int & | pos | |||
| ) | [slot] |
Вывод сообщений в строке состояния в целевую метку. pos модет принимать любые значения. Если метка не 1, 2 или 3, то сообщение выводится в StatusBar на 3 секунды.
| msg | - текст сообщения, | |
| pos | - номер метки. |
| aForm * aEngine::OpenForm | ( | QString | formName, | |
| int | mode, | |||
| int | ido, | |||
| aObject * | selector = 0, |
|||
| bool | modal = false | |||
| ) | [slot] |
Создает и открывает новую форму.
Форма создается с учетом её id в конфигураци и действия, режима работы (просмотр, редактирование, создание нового объекта). Форма должна поддерживать тот режим, для которого она открывается. Если форма открыта для просмотра она открывается в режиме отлько чтение. Если id формы равно 0, делается попытка найти первую форму с требуемым режимом.
| formName | - имя формы, например, "DocJournal.Системный журнал.Form.Список документов" или "Catalogue.Константы.Form.Форма редактора констант". | |
| mode | - режим работы формы | |
| selector | - идентификатор объекта в базе данных, для редактирования которого открывается форма | |
| modal | - является ли окно модальным |
Перекрестные ссылки aCfg::attr(), aCfg::find(), md, openForm(), aCfg::parent() и aObject::sysValue().
| QVariant aEngine::value | ( | const QString & | name | ) | [slot] |
Получение значения глобальной переменной.
| void aEngine::setValue | ( | const QString & | name, | |
| QVariant | value = QVariant::Invalid | |||
| ) | [slot] |
Установка значения глобальной переменной.
| void aEngine::on_MenuBar | ( | int | id | ) | [slot] |
Запускает действие
| id | - идентификатор действия в метаданных. |
Перекрестные ссылки aCfg::count(), execAction(), aCfg::find(), aCfg::findChild(), md и aCfg::text().
| void aEngine::execAction | ( | aCfgItem & | act, | |
| QObject * | context = 0 | |||
| ) | [slot] |
Вспомогательный метод. Запускает действие в указанном контексте. Правильная работа не гарантируется (где-то там ошибки есть).
| act | - ссылка на объект метаданных, описывающий действие | |
| context | - контекст выполнения действия. |
Перекрестные ссылки aCfg::attr(), code, aCfg::find(), aCfg::getDefaultFormId(), md, openEmbedCatalogueEditor(), openForm(), sourcePreprocessor() и aCfg::sText().
Используется в on_MenuBar().
| aDataField * aEngine::enterValue | ( | const QString & | FieldType, | |
| const QString & | title = "" | |||
| ) | [slot] |
Установка значения глобальной переменной.
Перекрестные ссылки ws.
| bool aEngine::startTransaction | ( | ) | [slot] |
Открывает транзакцию в БД, при поддержке со стороны драйвера.
Перекрестные ссылки db и aDatabase::transaction().
| bool aEngine::commitTransaction | ( | ) | [slot] |
Закрывает транзацкию.
Перекрестные ссылки aDatabase::commit() и db.
| bool aEngine::rollbackTransaction | ( | ) | [slot] |
ОТменяет действия с БД внутри транзакции.
Перекрестные ссылки db и aDatabase::rollback().
Соединение с базой данных.
Используется в aForm::aForm(), aObjectsFactory::aObjectsFactory(), commitTransaction(), init(), openEmbedCatalogueEditor(), rollbackTransaction() и startTransaction().
ссылка на метаданные.
Используется в aEngine(), aReport::aReport(), execAction(), init(), on_MenuBar(), openForm() и OpenForm().
| QWidget* aEngine::ws |
ссылка на рабочее пространство.
Используется в aReport::aReport(), aObjectsFactory::create(), enterValue(), openEmbedCatalogueEditor() и openForm().
ссылка на список окон.
Используется в aForm::Close(), aForm::init() и openForm().
| QSInterpreter* aEngine::code |
ссылка на интерпретатор скрипта.
Используется в execAction() и init().
| QSProject aEngine::project |
ссылка на проект.
Используется в init(), aForm::init(), on_systemstart(), on_systemstop(), aForm::Show() и aForm::SignIn().
номер для обеспечения уникальных имен при открытии форм.
Используется в aEngine().
1.5.5