Ananas Library  0.9.5
Открытые слоты | Сигналы | Открытые члены | Открытые атрибуты | Полный список членов класса
Класс aEngine

Определяет программный интерфейс Runtime системы, который используется Ананас скриптом. Наследует QObject. Подробнее...

#include <engine.h>

Граф наследования:aEngine:

Открытые слоты

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)
 
aFormOpenForm (QString fname, int mode=0, aObject *selecter=0, bool modal=false)
 
aFormOpenForm (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)
 
aDataFieldenterValue (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 ()
 
aFormopenForm (int oid, int fid=0, int defaultfor=1, int mode=0, ANANAS_UID id=0, aWidget *caller=0, bool modal=false)
 Создает и открывает новую форму. Подробнее...
 

Открытые атрибуты

aDatabase db
 
aCfgmd
 
QWidget * ws
 
aWindowsListwl
 
QSInterpreter * code
 
QSProject project
 
int next_obj_id
 

Подробное описание

Определяет программный интерфейс Runtime системы, который используется Ананас скриптом. Наследует QObject.

Класс, реализующий обработку и выполнение скриптов, открытие экранных форм, предварительную обработку скрипта перед выполнением (для последующего использования русских управляющих инструкций), системные функции получения даты и времени, печати сообщений об ошибках и т.д

Конструктор(ы)

aEngine::aEngine ( )
    Конструктор. Создает новый объект с именем "sys". Доступ к функциям этого объекта из Ананас.Скрипта возможен примерно так:
* sys.Date(); // текущая дата
* sys.OpenForm("DocJournal.Системный журнал.Form.Список документов"); // открывает форму "Список Документов" журнала "Системный журнал"
*

Перекрестные ссылки md и next_obj_id.

aEngine::~aEngine ( )
virtual

Деструктор.

Методы

QString aEngine::cfgname ( )
slot

Заглушка. Возвращает всегда строку "???" В будущем возможно будет возвращать имя конфигурации.

bool aEngine::commitTransaction ( )
slot

Закрывает транзацкию.

Перекрестные ссылки db.

QString aEngine::Date ( )
slot

Возвращает строковое представление текущей даты в формате "dd.MM.yy"

void aEngine::done ( )
virtual

Заглушка.

aDataField * aEngine::enterValue ( const QString &  FieldType,
const QString &  title = "" 
)
slot

Установка значения глобальной переменной.

Перекрестные ссылки ws.

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

bool aEngine::init ( const QString &  rcfile)
virtual

Инициализирует объект. Инициализирует скриптовую систему, добавляет несколько глобальных функций.

Перекрестные ссылки aDatabase::cfg, code, db, aCfg::find(), aDatabase::init(), md, project, sourcePreprocessor() и aCfg::sText().

void aEngine::Message ( int  n,
const QString &  msg 
)
slot

Вывод сообщений.

Аргументы
n- тип сообщения. 0 - уведомление, 1 - предупреждение, 2 - ошибка.
msg- текст сообщения.
См. также
cfg_message(int msgtype, const char *msgfmt,...)
void aEngine::on_MenuBar ( int  id)
slot

Запускает действие

Аргументы
id- идентификатор действия в метаданных.

Перекрестные ссылки aCfg::count(), execAction(), aCfg::find(), md и aCfg::text().

int aEngine::on_systemstart ( )

Автоматически вызывается при старте системы. Если в глобальном модуле определа функция on_systemstart() то она будет автоматически вызвана. Это можно использовать для открытия документов или журналов при старте системы, или каких-либо других действий.

См. также
on_systemstop()

Перекрестные ссылки project.

int aEngine::on_systemstop ( )

Автоматически вызывается при остановке системы. Если в глобальном модуле определа функция on_systemstop() то она будет автоматически вызвана.

См. также
on_systemstart()

Перекрестные ссылки project.

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

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- является ли окно модальным
Возвращает
ссылку на новую форму или 0, если форма не создана

Перекрестные ссылки db, 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().

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- является ли окно модальным
Возвращает
ссылку на новую форму или 0, если форма не создана

Перекрестные ссылки aCfg::attr(), aCfg::find(), md, openForm(), aCfg::parent() и aObject::sysValue().

bool aEngine::rollbackTransaction ( )
slot

ОТменяет действия с БД внутри транзакции.

Перекрестные ссылки db.

void aEngine::setValue ( const QString &  name,
QVariant  value = QVariant::Invalid 
)
slot

Установка значения глобальной переменной.

QString aEngine::sourcePreprocessor ( const QString &  src)

Функция препроцессора исходного текста скрипта. Для разработчиков: В первую очередь может быть использована для замены коротких имен из локального контекста на квалифицированные имена глобальных функций и объектов, например Message() в контексте формы может заменяться на global.Message() перед выполнением скрипта и выполняться корректно из любого места. В противном случае приходится дублировать глобальные встроенные функции во всех контекстах.

Используется в execAction() и init().

bool aEngine::startTransaction ( )
slot

Открывает транзакцию в БД, при поддержке со стороны драйвера.

Перекрестные ссылки db.

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- номер метки.
QString aEngine::Time ( )
slot

Возвращает строковое представление текущего времени в формате "hh:mm:ss"

void aEngine::timerEvent ( QTimerEvent *  e)

Заглушка.

QVariant aEngine::value ( const QString &  name)
slot

Получение значения глобальной переменной.

Данные класса

QSInterpreter* aEngine::code

ссылка на интерпретатор скрипта.

Используется в execAction() и init().

aDatabase aEngine::db
aCfg* aEngine::md

ссылка на метаданные.

Используется в aEngine(), aForm::aForm(), aReport::aReport(), execAction(), init(), on_MenuBar(), openForm() и OpenForm().

int aEngine::next_obj_id

номер для обеспечения уникальных имен при открытии форм.

Используется в aEngine().

QSProject aEngine::project

ссылка на проект.

Используется в aForm::init(), init(), on_systemstart(), on_systemstop(), aForm::Show() и aForm::SignIn().

aWindowsList* aEngine::wl

ссылка на список окон.

Используется в aForm::Close(), aForm::init(), aForm::New(), openForm() и aForm::Select().

QWidget* aEngine::ws

ссылка на рабочее пространство.

Используется в aReport::aReport(), aObjectsFactory::create(), enterValue(), openEmbedCatalogueEditor() и openForm().


Объявления и описания членов классов находятся в файлах: