39#include "ananasglobal.h"
47#define CHECK_POINT printf("%s:%i %s()\n",__FILE__,__LINE__,__FUNC__);
49#define CHECK_POINT printf("%s:%i %s()\n",__FILE__,__LINE__,__FUNCTION__);
53extern void (*cfg_messageproc)(int ,
const char *);
54void ANANAS_EXPORT cfg_message(
int msgtype,
const char *msgfmt,...);
55void ANANAS_EXPORT debug_message(
const char *msgfmt,...);
72#define mdc_interface 3
87#define md_root "ananas_configuration"
88#define md_interface "interface"
91#define md_info_name "name"
92#define md_info_author "author"
93#define md_info_date "date"
94#define md_info_mdate "mdate"
95#define md_info_remark "remark"
96#define md_info_lastid "lastid"
99#define md_metadata "metadata"
100#define md_globals "globals"
101#define md_languages "languages"
102#define md_language "language"
103#define md_aliases "aliases"
104#define md_alias "alias"
105#define md_roles "roles"
106#define md_role "role"
107#define md_description "description"
108#define md_sourcecode "sourcecode"
109#define md_servermodule "server_module"
110#define md_clientmodule "client_module"
111#define md_formsource "form_source"
112#define md_menutext "menutext"
113#define md_argument "argument"
115#define md_documents "documents"
116#define md_document "document"
118#define md_catalogues "catalogues"
119#define md_catalogue "catalogue"
120#define md_element "element"
121#define md_group "group"
123#define md_string_view "string_view"
124#define md_svfunction "svfunction"
126#define md_registers "registers"
127#define md_iregisters "iregisters"
128#define md_iregister "iregister"
129#define md_aregisters "aregisters"
130#define md_aregister "aregister"
132#define md_reports "reports"
133#define md_report "report"
135#define md_journals "journals"
136#define md_journal "journal"
137#define md_columns "columns"
138#define md_column "column"
139#define md_used_doc "used_doc"
140#define md_fieldid "fieldid"
142#define md_field "field"
143#define md_forms "forms"
144#define md_form "form"
145#define md_defaultmod "defaultmod"
146#define md_webforms "webforms"
147#define md_webform "webform"
148#define md_formdesign "dialogform"
150#define md_tables "tables"
151#define md_table "table"
152#define md_header "header"
154#define md_resources "resources"
155#define md_dimensions "dimensions"
156#define md_information "information"
161#define md_actions "actions"
162#define md_actiongroup "actiongroup"
163#define md_action "action"
164#define md_objectid "objectid"
165#define md_formid "formid"
166#define md_actiontype "actiontype"
167#define md_active_picture "active_picture"
168#define md_passive_picture "passive_picture"
173#define md_interface "interface"
174#define md_toolbars "toolbars"
175#define md_toolbar "toolbar"
176#define md_popupmenus "popupmenus"
177#define md_popupmenu "popupmenu"
178#define md_mainmenu "mainmenu"
179#define md_submenu "submenu"
180#define md_command "command"
181#define md_comaction "comaction"
182#define md_separator "separator"
184#define md_menutext "menutext"
186#define md_km_ctrl "Ctrl+"
187#define md_km_alt "Alt+"
188#define md_km_shift "Shift+"
190#define md_image_collection "image_collection"
191#define md_image "image"
197#define mda_name "name"
199#define mda_type "type"
200#define mda_readonly "readonly"
201#define mda_lang "lang"
203#define mda_sort "sort"
204#define mda_no_unconduct "no_unconduct"
205#define mda_plus "plus"
208#define mda_trfile "trfile"
209#define mda_length "length"
210#define mda_format "format"
211#define mda_stdf "stdf"
212#define mda_rights "rights"
214#define mda_twostate "twostate"
215#define mda_validator "validator"
216#define mda_inputmask "inputmask"
217#define mda_numerator "numerator"
218#define mda_numpref "numpref"
219#define mda_numsuff "numsuff"
220#define mda_numdate "numdate"
227#define md_action_new 0
228#define md_action_edit 1
229#define md_action_view 2
230#define md_action_execute 3
237#define md_form_nouse 0
239#define md_form_view 2
240#define md_form_edit 3
241#define md_form_select 4
248#define md_form_elem_list 0
249#define md_form_elem 1
250#define md_form_group 2
257#define md_systemjournal 1
258#define md_aregarhive 2
265#define err_unknown -1
268#define err_objnotfound 2
269#define err_incorrecttype 3
270#define err_uidnotfound 4
271#define err_notselected 5
272#define err_nodatabase 6
273#define err_selecterror 7
274#define err_condition 8
275#define err_noobject 9
276#define err_nosysjournal 10
277#define err_inserterror 11
278#define err_execerror 12
279#define err_updateerror 13
280#define err_abstractobj 14
281#define err_fieldnotfound 15
282#define err_copyerror 16
283#define err_nocatalogue 17
284#define err_nogroup 18
285#define err_deleteerror 19
286#define err_nodocument 20
287#define err_emptyperiod 21
288#define err_noresources 22
289#define err_incorrectname 23
290#define err_closeperiod 24
291#define err_conducterror 25
292#define err_docconducted 26
293#define err_docunconducted 27
294#define err_cyclereparent 28
295#define err_readonly 29
296#define err_invaliddate 30
297#define err_nodimensions 31
298#define err_nowidgetfound 32
299#define err_invalidparamvalue 33
301#define md_user_roles "userroles"
302#define md_users "users"
303#define md_user "user"
304#define md_usr_role "u_role"
305#define md_roles "roles"
306#define md_role "role"
307#define md_rl_users "r_users"
308#define md_rl_user "r_user"
309#define md_right_roles "rroles"
312#define perm_execute 1
315#define perm_turn_on 4
316#define perm_turn_off 5
319#define aPermission int
321#define aCfgItem QDomElement
392 AMetadataGroup(
const QString &Name = QString::null );
394 int Count(){
return 0;};
436class ANANAS_EXPORT
aCfg:
public QObject
441 enum fieldType { ftUnknown, ftChar, ftNumberic, ftDate, ftObject };
447 int read(
const QString &fname);
448 int write(
const QString &fname);
449 int write(QDomDocument doc,
const QString &fname);
450 int readrc(
const QString &fname);
451 int writerc(
const QString &fname);
459 QString
info(
const QString &name);
460 void setInfo(
const QString &name,
const QString &value);
462 long getId( QString &name );
463 long id(aCfgItem context);
466 QString
objClass( aCfgItem context );
468 int count(aCfgItem context,
const QString &classname);
469 int countChild(aCfgItem context,
const QString &classname = QString::null );
471 QString
attr(aCfgItem context,
const QString &name);
472 void setAttr(aCfgItem context,
const QString &name,
const QString &value);
473 void setAttr(aCfgItem context,
const QString &name,
int value);
475 QString
text(aCfgItem context);
476 void setText(aCfgItem context,
const QString &value );
477 QByteArray
binary( aCfgItem context );
478 void setBinary( aCfgItem context,
const QByteArray &value,
const QString &format = QString::null );
480 QString
sText(aCfgItem context,
const QString & subname );
481 void setSText(aCfgItem context,
const QString & subname,
const QString &value);
483 aCfgItem
find(aCfgItem context,
const QString &name,
int n = 0 );
484 aCfgItem
find(
long id);
485 aCfgItem
find(
const QString &name);
486 aCfgItem findChild(aCfgItem context,
const QString &classname,
int n = 0 );
487 aCfgItem findName(aCfgItem context,
const QString &classname,
const QString &name = QString::null );
489 bool swap( aCfgItem &item1, aCfgItem &item2);
490 int order( aCfgItem item );
491 aCfgItem
parent( aCfgItem context );
497 aCfgItem
insert(aCfgItem context,
const QString &otype,
const QString &name = QString::null,
long id = 0);
498 int saveOneObject(aCfgItem context,
const QString &fileName);
500 void remove(aCfgItem context);
505 QStringList
types(
const QString &filter = QString::null, aCfgItem *obj = 0 );
516 aCfgItem
insertField( aCfgItem owner,
const QString §ion,
const QString &name,
const QString &ftype );
517 aCfgItem
insertForm( aCfgItem owner,
const QString &name );
518 aCfgItem
insertWebForm( aCfgItem owner,
const QString &name );
522 aCfgItem findJournal(
int jtype, aCfgItem doc);
525 aCfgItem
objTable( aCfgItem obj,
int id );
526 aCfgItem
objTable(
int objid,
int id );
529 QString Info( QString partname );
532 void message(
int messageType,
const QString & messageText );
536 bool fCompressed, fModified;
538 aCfgItem rootnode, cfginfo, md,
541 QIntDict <aCfgItemContaner> idcache;
545 void addTypes( QStringList &list, aCfgItem context,
const QString &tobject,
const QString &tname);
aCfgItemContaner(long newid, aCfgItem newitem)
Определения acfg.cpp:125
Класс для работы с файлом ресурсов.
Определения acfgrc.h:53
int writerc(const QString &fname)
Определения acfg.cpp:382
bool compressed()
Определения acfg.cpp:247
aCfgItem insertReport(const QString &name)
Определения acfg.cpp:1478
void setAttr(aCfgItem context, const QString &name, const QString &value)
Определения acfg.cpp:1005
void setModified(bool mode)
Определения acfg.cpp:282
long getId(QString &name)
Возвращает идентификатор объекта метаданных по его полному имени.
Определения acfg.cpp:1237
bool modified()
Определения acfg.cpp:270
void setText(aCfgItem context, const QString &value)
Определения acfg.cpp:857
aCfgItem previousSibling(aCfgItem context)
Определения acfg.cpp:831
aCfgItem insertDocumentTable(aCfgItem owner, const QString &name)
Определения acfg.cpp:1384
QString objClass(long id)
Определения acfg.cpp:966
void setupNewId(aCfgItem obj)
Определения acfg.cpp:1195
QStringList ObjectTypes()
Определения acfg.cpp:1341
QByteArray binary(aCfgItem context)
Определения acfg.cpp:876
long id(aCfgItem context)
Определения acfg.cpp:1249
aCfgItem insertForm(aCfgItem owner, const QString &name)
Определения acfg.cpp:1522
QStringList types(const QString &filter=QString::null, aCfgItem *obj=0)
Определения acfg.cpp:1297
void remove(aCfgItem context)
Определения acfg.cpp:1148
QString attr(aCfgItem context, const QString &name)
Определения acfg.cpp:992
int write(const QString &fname)
Определения acfg.cpp:212
aCfgItem find(aCfgItem context, const QString &name, int n=0)
Определения acfg.cpp:539
void setBinary(aCfgItem context, const QByteArray &value, const QString &format=QString::null)
Определения acfg.cpp:900
bool swap(aCfgItem &item1, aCfgItem &item2)
Определения acfg.cpp:727
aCfgItem parent(aCfgItem context)
Определения acfg.cpp:781
int order(aCfgItem item)
Определения acfg.cpp:762
aCfgItem insertARegister(const QString &name)
Определения acfg.cpp:1440
aCfgItem insert(aCfgItem context, const QString &otype, const QString &name=QString::null, long id=0)
Определения acfg.cpp:1045
aCfgItem insertIRegister(const QString &name)
Определения acfg.cpp:1421
int countChild(aCfgItem context, const QString &classname=QString::null)
Определения acfg.cpp:504
void setSText(aCfgItem context, const QString &subname, const QString &value)
Определения acfg.cpp:949
void setCompressed(bool mode)
Определения acfg.cpp:259
aCfgItem lastChild(aCfgItem context)
Определения acfg.cpp:809
int count(aCfgItem context, const QString &classname)
Определения acfg.cpp:490
QStringList getJournalDocuments(aCfgItem journal)
Определения acfg.cpp:1595
aCfgItem nextSibling(aCfgItem context)
Определения acfg.cpp:820
QString info(const QString &name)
Определения acfg.cpp:440
aCfgItem insertField(aCfgItem owner, const QString §ion, const QString &name, const QString &ftype)
Определения acfg.cpp:1503
aCfg()
Определения acfg.cpp:139
void createNew()
Определения acfg.cpp:403
QStringList objTables(aCfgItem obj)
Определения acfg.cpp:1726
aCfgItem firstChild(aCfgItem context)
Определения acfg.cpp:796
aCfgItem insertJournal(const QString &name)
Определения acfg.cpp:1459
aCfgItem loadOneObject(const QString &fileName)
Определения acfg.cpp:1108
int saveOneObject(aCfgItem context, const QString &fileName)
Определения acfg.cpp:1070
void setInfo(const QString &name, const QString &value)
Определения acfg.cpp:452
aCfgItem insertCatalogue(const QString &name)
Определения acfg.cpp:1401
long getDefaultFormId(aCfgItem owner, int actiontype, int mode=0)
Определения acfg.cpp:1557
int read(const QString &fname)
Определения acfg.cpp:168
QString text(aCfgItem context)
Определения acfg.cpp:843
aCfgItem importCfgItem(aCfgItem context, aCfgItem obj)
Определения acfg.cpp:1176
QString sText(aCfgItem context, const QString &subname)
Определения acfg.cpp:933
aCfgItem insertWebForm(aCfgItem owner, const QString &name)
Определения acfg.cpp:1539
QString binaryFormat(aCfgItem context)
Определения acfg.cpp:920
aCfgItem objTable(aCfgItem obj, int id)
Определения acfg.cpp:1794
aCfgItem insertDocument(const QString &name)
Определения acfg.cpp:1362
int readrc(const QString &fname)
Определения acfg.cpp:350