include("wincontrolworks") func doStart gvar(BLK_BODY, BLK_PRIV, BLK_SLOT, BLK_PUB, BLK_MTD, CUR_CLASS, BLK_INIT, BLK_LOC, BLK_INC, BLK_BINC, BLK_SIG, BLK_CLOSE, BLK_DESTR, SOURCES, HEADERS, UNITS, QT_MOD, LIBS) fvar(main, s) UNITS = 0 BLK_BODY = 'block.body' BLK_INC = 'block.include' BLK_BINC = 'block.include_cpp' BLK_PRIV = 'block.priv' BLK_SLOT = 'block.slot' BLK_PUB = 'block.pub' BLK_MTD = 'block.mtd' BLK_INIT = 'block.init' BLK_LOC = 'block.local' BLK_CLOSE = 'block.close' BLK_DESTR = 'block.destr' main = 'main.cpp' block.reg(BLK_BODY) block.reg(BLK_INC) block.reg(BLK_BINC) block.reg(BLK_PRIV) block.reg(BLK_SLOT) block.reg(BLK_PUB) block.reg(BLK_MTD) block.reg(BLK_INIT) block.reg(BLK_LOC) block.reg(BLK_CLOSE) block.reg(BLK_DESTR) block.reg(main) CUR_CLASS = 'hiEntryPoint' + code(_id_) var(ctlr) ctlr = 'this' block.select(BLK_BODY) event(onCreate) sys.initall() include("winevents") block.select(block.reggen()) println('#ifndef _' + upper(CUR_CLASS)) println('#define _' + upper(CUR_CLASS)) println('#include ') println('#include ') println('#include ') block.copyhere(BLK_INC) println('') println('#define ' + EntryPoint + ' this') println('extern QApplication *app;') println('') println('class ' + CUR_CLASS + ' : public QWidget {') println(' Q_OBJECT') println('public:') println(' ' + CUR_CLASS + '();') println(' ~' + CUR_CLASS + '();') block.inclvl() block.copyhere(BLK_PUB) block.declvl() println('private slots:') block.inclvl() block.copyhere(BLK_SLOT) block.declvl() println('public:') block.inclvl() block.copyhere(BLK_PRIV) block.declvl() println('};') println('') println('#endif') println('') s = sys.codedir() + CUR_CLASS + ".h" block.savecode(s) cgt.res_add_file(s) block.delete(block.select(block.reggen())) println('#include "' + CUR_CLASS + '.h"') println('') println(CUR_CLASS + '::' + CUR_CLASS + '() {') block.inclvl() include("wincontrol") //-------temp println('QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));') //----------- println('setWindowTitle(', Caption, ');') if(isndef(Opacity)) println('setWindowOpacity(', Opacity, ');') end if(isndef(FormType)) println('setWindowFlags(Qt::Window | Qt::', code(FormType), ');') end if(isset(DFORM)) println('debugForm = new DebugForm(this);') end block.copyhere(BLK_INIT) block.copyhere(BLK_LOC) block.copyhere(BLK_BODY) if(isndef(Layout)) fvar(lo) lo = lng.get_linked_obj('Layout') if(lo) println('setLayout(' + lo + ');') else trace("Layout for main form not found!") end end block.declvl() println('}') println('') println(CUR_CLASS + '::~' + CUR_CLASS + '() {') block.inclvl() block.copyhere(BLK_CLOSE) block.copyhere(BLK_DESTR) block.declvl() println('}') println('') block.copyhere(BLK_MTD) println('') s = sys.codedir() + CUR_CLASS + ".cpp" block.savecode(s) cgt.res_add_file(s) block.delete(block.select(main)) block.delete(BLK_PRIV) block.delete(BLK_BODY) block.delete(BLK_SLOT) block.delete(BLK_PUB) block.delete(BLK_MTD) block.delete(BLK_INIT) block.delete(BLK_LOC) block.delete(BLK_INC) block.delete(BLK_BINC) block.delete(BLK_CLOSE) block.delete(BLK_DESTR) // println('#include "' + code(lng.project_name()) + '.moc>') println('#include ') println('#include "' + CUR_CLASS + '.h"') println('') println('QApplication *app;') println('') println('int main(int argc, char *argv[]) {') block.inclvl() println('app = new QApplication(argc, argv);') println(CUR_CLASS + ' *form = new ' + CUR_CLASS + '();') println('form->show();') println('return app->exec();') block.declvl() println('}') fvar(mk) mk = block.reggen() block.select(mk) println("TEMPLATE = app") println("DEPENDPATH += .") println("INCLUDEPATH += .") println("") println("HEADERS += " + CUR_CLASS + ".h" + HEADERS) println("SOURCES += " + lng.project_name() + ".cpp " + CUR_CLASS + ".cpp" + SOURCES) println("RC_FILE = allres.rc") if(QT_MOD) println("QT += " + QT_MOD) end if(LIBS) println("LIBS += " + LIBS) end println("") main = sys.codedir() + lng.project_name() + ".pro" block.save(main) cgt.res_add_file(main) block.delete(mk) main = sys.codedir() + "allres.rc" mk = block.reggen() block.select(mk) println("APP ICON DISCARDABLE \"" + replace(sys.codedir(),"\\","/") + "../../../int/main.ico\"") block.save(main) cgt.res_add_file(main) block.delete(mk) fvar(i) for(i = 1; i < count(UNITS); i++) lng.make_unit(UNITS[i]) end end func doClose() println('app->quit();') end func doCaption(_data) println('setWindowTitle(', e_str(_data), ');') end