#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().