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__);
53 extern void (*cfg_messageproc)(int ,
const char *);
54 void ANANAS_EXPORT cfg_message(
int msgtype,
const char *msgfmt,...);
55 void ANANAS_EXPORT debug_message(
const char *msgfmt,...);
72 #define mdc_interface 3
73 #define mdc_metadata 4
77 //#define mdc_documents 6
78 //#define mdc_catalogues 7
79 //#define mdc_iregisters 8
80 //#define mdc_aregisters 9
81 //#define mdc_reports 10
82 //#define mdc_journals 11
87 #define md_root "ananas_configuration"
88 #define md_interface "interface"
90 #define md_info "info"
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"
206 #define mda_sum "sum"
207 #define mda_tag "tag"
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
238 #define md_form_new 1
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//some ote error
266 #define err_noerror 0// result successful
267 #define err_notable 1// no table with such name
268 #define err_objnotfound 2// no such object in metadata
269 #define err_incorrecttype 3// object has othe metadata id
270 #define err_uidnotfound 4// no such id in unicues
271 #define err_notselected 5// select return nothing
272 #define err_nodatabase 6// database is not inited
273 #define err_selecterror 7// select return some error
274 #define err_condition 8// error in condition
275 #define err_noobject 9// aObject didn't init md object
276 #define err_nosysjournal 10// system journal not inited
277 #define err_inserterror 11// insert in aSQLTable return false
278 #define err_execerror 12// exec return false
279 #define err_updateerror 13// update reutrn false
280 #define err_abstractobj 14// you need to use hi level object or specimen of object
281 #define err_fieldnotfound 15// no filed with such name
282 #define err_copyerror 16// object don't copy
283 #define err_nocatalogue 17// catalogue not found
284 #define err_nogroup 18// group not found
285 #define err_deleteerror 19// object don't deleted or don't mark deleted
286 #define err_nodocument 20// no such document
287 #define err_emptyperiod 21// you try close empty period
288 #define err_noresources 22// the register object have no resources tag in metadata
289 #define err_incorrectname 23// object have incorrect name
290 #define err_closeperiod 24// close period error
291 #define err_conducterror 25// error when document conducting
292 #define err_docconducted 26// you can't change conducted document or conduct document once more
293 #define err_docunconducted 27// you can unconduct document if it not conducted
294 #define err_cyclereparent 28//you have cycle when try reparent
295 #define err_readonly 29//object is readonly
296 #define err_invaliddate 30// invalid date or datetime specified
297 #define err_nodimensions 31// the register object have no dimensions tag in metadata
298 #define err_nowidgetfound 32// there is no such widget in form
299 #define err_invalidparamvalue 33// invalid parameter value
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
313 #define perm_create 2
314 #define perm_delete 3
315 #define perm_turn_on 4
316 #define perm_turn_off 5
319 #define aPermission int
321 #define aCfgItem QDomElement
394 int Count(){
return 0;};
436 class 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);
453 void setCompressed(
bool mode );
455 void setModified(
bool mode );
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);
465 QString objClass(
long id );
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 );
479 QString binaryFormat( aCfgItem context );
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 );
492 aCfgItem firstChild( aCfgItem context );
493 aCfgItem lastChild( aCfgItem context );
494 aCfgItem nextSibling( aCfgItem context );
495 aCfgItem previousSibling( 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);
499 aCfgItem loadOneObject(
const QString &fileName);
500 void remove(aCfgItem context);
502 aCfgItem importCfgItem( aCfgItem context, aCfgItem obj );
503 void setupNewId( aCfgItem obj );
505 QStringList types(
const QString &filter = QString::null, aCfgItem *obj = 0 );
506 QStringList ObjectTypes();
509 aCfgItem insertDocument(
const QString &name );
510 aCfgItem insertDocumentTable(aCfgItem owner,
const QString &name );
511 aCfgItem insertCatalogue(
const QString &name );
512 aCfgItem insertIRegister (
const QString &name );
513 aCfgItem insertARegister (
const QString &name );
514 aCfgItem insertJournal (
const QString &name );
515 aCfgItem insertReport (
const QString &name );
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 );
520 long getDefaultFormId( aCfgItem owner,
int actiontype,
int mode =0 );
521 QStringList getJournalDocuments( aCfgItem journal );
522 aCfgItem findJournal(
int jtype, aCfgItem doc);
523 QStringList objTables( aCfgItem obj );
524 QStringList objTables(
int objid );
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);
Контейнер для элемента метаданных бизнес схемы Ананас...
Definition: acfg.h:337
Класс для работы с файлом ресурсов.
Definition: acfgrc.h:52
Класс реализует програмный интерфейс доступа к элемен...
Definition: acfg.h:436