Located in CCDIR/std/gui dir.
Each application has its own subdirectory with its own main (main.cpp), main_window.ui XML form description, main_window.ui.h with slots, project file xxaad.pro, most of them has ccddfunc_imp_***.(h | cpp) with special functions
Application form designed with Qt designer tool. Because we are using different versions of Qt on win32 and X11, all changes to form should be made on X11.
On win32 we are only compiling cpp files generated on X11 platform.
There are few custom edit widget e.g. if field is string we should use CCDDTextEdit widget. All input widget that we should use listed in left part of designer under Input tab and have a prefix CC.
If we are setting up development environment on NEW server, plugins should be recompiled and reinstalled:
in $CCDIR/std/ccaadlib/plugin/ run rebuildplugin.bash script
Widget naming
Each edit widget name should be the same as field name in corresponding datadictionary, for example sstock.coment edit widget should have name coment.
There is fieldPath property for this widget. If it is empty, main aad structure will be used (fdb[0]), e.g. STOCK for staad. If field is part of another structure, fieldPath shoul be set to corresponding dataset name e.g. for all BOM fields on staad/component page this field should be BOMCMP. Name of dataset can be found in static char * mytypes[] defined in main_window.ui.h
(NOTE this array MUST be synchronized with fdb[] because it is only link between xxaad and application)
- All structures are flat, so there is no srec and vrec.
If field is array e.g. price[0] in stock, widget should have a name like price_0_ARRAY
If field are not unique in widget it should have prefix like STOCKcode
- If there are member of substructure like supp in stock, it will be supp_0_STRUCTARR for sstock.ssupp[0]supp
- all of the above implemnted and documented in ccabstract_data.h
Special function
- For each special function there should be class derived from CCCalcFunc or CCInitFunc with init/set/get method overrided with actual stuff. in main_window.ui.h in method init() object of this class should be created and it should be binded to field like:
CCDDFuncCustCreditTypeCalc * cfccti = new CCDDFuncCustCreditTypeCalc();
field2calc.insert("DEBTR.credit_type", cfccti); if it Init class, it will be like: field2init.insert("DEBTR.del_via", fdvi);
Compiling aad
On win32 we are only compiling cpp files generated on X11 platform.
gui/build.ksh on win32 should always run after gui build on X11
