48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
#include "EterPythonLib/StdAfx.h"
|
|
#include "EterPythonLib/PythonWindowManager.h"
|
|
#include "ScriptLib/PythonLauncher.h"
|
|
#include "UserInterface/StdAfx.h"
|
|
extern void initapp();
|
|
#include "../src/platform/ScriptLib/PythonHost.h"
|
|
|
|
#include <cstdio>
|
|
#include <string>
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
const std::string stdlib = argc > 1 ? argv[1] : PythonHost::DefaultStdLibPath();
|
|
PythonHost::Configure();
|
|
CPythonLauncher launcher;
|
|
if (!launcher.Create())
|
|
return 1;
|
|
std::string error;
|
|
if (!PythonHost::InstallStdLib(stdlib.c_str(), &error))
|
|
{
|
|
std::fprintf(stderr, "InstallStdLib: %s\n", error.c_str());
|
|
return 1;
|
|
}
|
|
{
|
|
UI::CWindowManager manager;
|
|
initgrp();
|
|
initgrpImage();
|
|
initgrpText();
|
|
initgrpThing();
|
|
initwndMgr();
|
|
initapp();
|
|
if (!launcher.RunLine("import wndMgr, grp, grpImage, grpText, grpThing, app"))
|
|
return 1;
|
|
if (!launcher.RunLine(
|
|
"class Handler: pass\n"
|
|
"window = wndMgr.Register(Handler(), 'UI')\n"
|
|
"assert window > 0\n"
|
|
"wndMgr.SetName(window, 'roundtrip')\n"
|
|
"wndMgr.SetWindowSize(window, 100, 50)\n"
|
|
"assert wndMgr.GetWindowWidth(window) == 100\n"
|
|
"wndMgr.Destroy(window)\n"))
|
|
return 1;
|
|
manager.Update();
|
|
}
|
|
launcher.Clear();
|
|
return 0;
|
|
}
|