ultimatepp/bazaar/PyConsoleCtrl/PyConsoleCtrl.h
kohait d4d3d7f8ad bazaar: PyConsoleCtrl: history functionality, BoostPyTest: Value exposure as int, first try, starting upp module
git-svn-id: svn://ultimatepp.org/upp/trunk@3339 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2011-04-13 14:54:33 +00:00

65 lines
1 KiB
C++

#ifndef _PyConsoleCtrl_PyConsoleCtrl_h
#define _PyConsoleCtrl_PyConsoleCtrl_h
#include <PyCon/PyCon.h>
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
#define LAYOUTFILE <PyConsoleCtrl/PyConsoleCtrl.lay>
#include <CtrlCore/lay.h>
class CmdDocEdit : public DocEdit
{
public:
typedef CmdDocEdit CLASSNAME;
typedef DocEdit D;
CmdDocEdit()
{
ProcessEnter().ProcessTab();
}
virtual bool Key(dword key, int count)
{
bool b = true;
if(key == K_CTRL_ENTER)
WhenCmdDone();
else b = D::Key(key, count);
return b;
}
Callback WhenCmdDone;
};
class PyConsoleCtrl : public WithPyConsoleCtrlLay<ParentCtrl>
{
public:
typedef PyConsoleCtrl CLASSNAME;
PyConsoleCtrl();
void LoadDlg();
void SaveDlg();
void Clear();
void Exec();
void Inc();
void Dec();
void ClearLog() { log.Clear(); }
void SaveLog() { log.Save(); }
LoggerCtrl log;
CmdDocEdit cmd;
SpinButtons sb;
protected:
void ShowHistory(int i);
void Dirtify();
FileSel fs;
Array<String> ac;
int idx;
};
#endif