Port 2V0 UI Python bindings and app module link surface
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user