26 #include <ArmarXCore/interface/statechart/RemoteStateOffererIce.h> 
   55         return "StatechartExecutorExample";
 
   68         getProxy(_statechartExecutor, 
"SimpleStatechartExecutor");
 
   70         getProxy(_remoteGuiPrx, 
"RemoteGuiProvider");
 
   71         _tabName = 
"StatechartExecutorExample";
 
   72         setupRemoteGuiWidget();
 
   76             this, &StatechartExecutorExample::runRemoteGui);
 
   77         _remoteGuiTask->start();
 
   97     using namespace RemoteGui;
 
  100     StatechartExecutorExample::setupRemoteGuiWidget()
 
  105         grid.addChild(test0Button);
 
  107         grid.addChild(test1Button);
 
  109         grid.addChild(test2Button);
 
  112         hlayout.addChild(grid);
 
  115         hlayout.addChild(stopButton);
 
  119         manualLayout.addChild(label1);
 
  121         manualLayout.addChild(lineedit1);
 
  123         manualLayout.addChild(label2);
 
  125         manualLayout.addChild(lineedit2);
 
  127         manualLayout.addChild(runManual);
 
  130         vlayout.addChildren({hlayout, manualLayout});
 
  132         _remoteGuiPrx->createTab(_tabName, vlayout);
 
  136     StatechartExecutorExample::runRemoteGui()
 
  138         int cycleDurationMs = 20;
 
  139         CycleUtil 
c(cycleDurationMs);
 
  140         while (!_remoteGuiTask->isStopped())
 
  142             _remoteGuiTab.receiveUpdates();
 
  144             if (_remoteGuiTab.getButton(
"Stop").clicked())
 
  146                 _statechartExecutor->stopImmediatly();
 
  148                 auto output = _statechartExecutor->getSetOutputParameters();
 
  149                 for (
const auto& p : output)
 
  152                     ARMARX_INFO << p.first << 
": " << var->get()->getOutputValueOnly();
 
  156             if (_remoteGuiTab.getButton(
"Test_normal").clicked())
 
  158                 std::string proxyName = 
"StatechartExecutionGroupRemoteStateOfferer";
 
  159                 std::string stateName = 
"TestStateForStatechartExecution";
 
  170                 param2->value = 
new SingleVariant(1);
 
  172                 inputMap[
"intTest"] = param2;
 
  174                 std::vector<PosePtr> 
v;
 
  179                 inputMap[
"intListTest"] = param3;
 
  181                 std::map<std::string, PosePtr> m;
 
  185                 param4->value = StringValueMap::FromStdMap<PosePtr>(m);
 
  187                 inputMap[
"poseMapTest"] = param4;
 
  189                 _statechartExecutor->ensureVariantLibrariesAreLoaded(inputMap);
 
  190                 _statechartExecutor->startStatechart(proxyName, stateName, inputMap);
 
  204             if (_remoteGuiTab.getButton(
"Test_args").clicked())
 
  208             if (_remoteGuiTab.getButton(
"Test_wrongProxy").clicked())
 
  210                 StringVariantContainerBaseMap output =
 
  211                     _statechartExecutor->getSetOutputParameters();
 
  215                         SingleVariantPtr::dynamicCast(output[
"OutputInt"])->get()->get<
int>();
 
  220             if (_remoteGuiTab.getButtonClicked(
"Run"))
 
  224             _remoteGuiTab.sendUpdates();
 
  225             c.waitForCycleDuration();