28#include <ArmarXCore/interface/statechart/RemoteStateOffererIce.h>
32#include <ArmarXGui/gui-plugins/StatechartViewerPlugin/ui_StatechartView.h>
50 layoutThread(state, enableLayouting)
54 srand(IceUtil::Time::now().toMilliSeconds());
65 ui->graphicsView->setScene(stateScene);
67 zoomer->set_modifiers(Qt::NoModifier);
78 connect(stateScene, SIGNAL(selectionChanged()),
this, SLOT(
onItemChange()));
89 return stateScene->getStateInstance();
95 return ui->graphicsView;
107 return layoutThread.getController();
113 stateScene->setToplevelState(state);
117 layoutThread.setState(state);
125 ui->graphicsView->setTransform(QTransform());
131 QList<QGraphicsItem*> selection = stateScene->selectedItems();
132 foreach (QGraphicsItem* item, selection)
158 ui->graphicsView->fitInView(stateScene->itemsBoundingRect(), Qt::KeepAspectRatio);
164 QList<QGraphicsItem*> selection = stateScene->selectedItems();
166 if (selection.size() > 0)
180 stateScene->getTopLevelStateItem()->setMaxShownSubstateLevel(show ? -1 : 1);
181 stateScene->update();
189 topState->setStateName(
"TopLevelState");
192 sub1->setStateName(
"sub1");
196 e1->name =
"Success";
197 eventList.append(e1);
199 e2->name =
"Failure";
200 eventList.append(e2);
203 eventList.append(e3);
204 sub1->setOutgoingEvents(eventList);
207 sub2->setStateName(
"sub2");
210 subsub1->setStateName(
"subsub1");
213 topState->addSubstate(sub1);
214 topState->addSubstate(sub2);
215 topState->addRemoteSubstate(sub1,
"ProxyName",
"remotesub1-2");
218 e21->name =
"Success";
219 eventList.append(e21);
221 e22->name =
"Failure";
222 eventList.append(e22);
223 subsub1->setOutgoingEvents(eventList2);
224 sub1->addSubstate(subsub1);
226 subsub1->addEndSubstate(
"EndState",
"Success");
229 t1->eventName =
"GoOn";
230 t1->sourceState = topState->getSubstates()[
"sub1"];
231 t1->destinationState = topState->getSubstates()[
"sub2"];
232 topState->addTransition(t1);
240 return QSize(200, 200);
statechartmodel::StateInstancePtr getStateInstance() const
QSize sizeHint() const override
QGraphicsView * getGraphicsView() const
void deleteSelectedStates()
void showSubSubstates(bool show=true)
~StatechartView() override
statechartmodel::StateInstancePtr getStateInstance() const
Graphics_view_zoom * getGraphicsViewZoomer() const
LayoutController & getLayoutController()
static statechartmodel::StatePtr CreateTestStates()
StatechartView(statechartmodel::StatePtr state=statechartmodel::StatePtr(new statechartmodel::State()), bool enableLayouting=true, QWidget *parent=0)
void setState(statechartmodel::StatePtr state)
void selectedStateChanged(statechartmodel::StateInstancePtr selectedStateInstance)
#define ARMARX_WARNING_S
The logging level for unexpected behaviour, but not a serious problem.
std::shared_ptr< State > StatePtr
std::shared_ptr< StateInstance > StateInstancePtr
std::shared_ptr< Event > EventPtr
QList< EventPtr > EventList
std::shared_ptr< Transition > TransitionPtr
This file offers overloads of toIce() and fromIce() functions for STL container types.