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);
Контейнер для элемента метаданных бизнес схемы Ананаса. Наследует QObject.
Definition: acfg.h:337
Класс для работы с файлом ресурсов.
Definition: acfgrc.h:52
Класс реализует програмный интерфейс доступа к элементам метаданных системы. Наследует QObject...
Definition: acfg.h:436