本文整理汇总了C++中Interpreter::attach方法的典型用法代码示例。如果您正苦于以下问题:C++ Interpreter::attach方法的具体用法?C++ Interpreter::attach怎么用?C++ Interpreter::attach使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interpreter
的用法示例。
在下文中一共展示了Interpreter::attach方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: showEvent
void ScriptingWidget::showEvent(QShowEvent* pEvent)
{
if ((mInterpreter.get() == NULL) && (mInterpreterName.isEmpty() == false))
{
Interpreter* pInterpreter = NULL;
setReadOnly(true);
std::vector<PlugIn*> plugIns = mpPims->getPlugInInstances(mInterpreterName.toStdString());
if (plugIns.empty() == false && dynamic_cast<InterpreterManager*>(plugIns.front()) != NULL)
{
mInterpreter = PlugInResource(plugIns.front());
}
else
{
mInterpreter = PlugInResource(mInterpreterName.toStdString());
}
InterpreterManager* pInterMgr = dynamic_cast<InterpreterManager*>(mInterpreter.get());
if (pInterMgr != NULL)
{
mInteractive = pInterMgr->isInteractiveEnabled();
pInterMgr->start();
QString startupMsg = QString::fromStdString(pInterMgr->getStartupMessage());
addOutputText(startupMsg, false, false);
pInterMgr->attach(SIGNAL_NAME(InterpreterManager, InterpreterStarted), Slot(this, &ScriptingWidget::interpreterStarted));
pInterpreter = pInterMgr->getInterpreter();
}
if (pInterpreter != NULL)
{
pInterpreter->attach(SIGNAL_NAME(Interpreter, OutputText), Slot(this, &ScriptingWidget::receiveOutput));
pInterpreter->attach(SIGNAL_NAME(Interpreter, ErrorText), Slot(this, &ScriptingWidget::receiveOutput));
setReadOnly(!mInteractive);
}
}
// Append a prompt if the widget is shown for the first time
if (mDisplayedOnce == false)
{
appendPrompt();
mDisplayedOnce = true;
}
// Show the widget
QTextEdit::showEvent(pEvent);
}
示例2: interpreterStarted
void ScriptingWidget::interpreterStarted(Subject& subject, const std::string& signal, const boost::any& data)
{
Interpreter* pInterpreter = NULL;
InterpreterManager* pInterMgr = dynamic_cast<InterpreterManager*>(mInterpreter.get());
if (pInterMgr != NULL)
{
pInterpreter = pInterMgr->getInterpreter();
QString startupMsg = QString::fromStdString(pInterMgr->getStartupMessage());
addOutputText(startupMsg, false, true);
}
if (pInterpreter != NULL)
{
pInterpreter->attach(SIGNAL_NAME(Interpreter, OutputText), Slot(this, &ScriptingWidget::receiveOutput));
pInterpreter->attach(SIGNAL_NAME(Interpreter, ErrorText), Slot(this, &ScriptingWidget::receiveOutput));
setReadOnly(!mInteractive);
appendPrompt();
}
}