Beispiel #1
0
bool ex_send_notifications(void *arg)
{
	ITheFramework *frame = Factory::GetFramework();
	
	Decorator *decorator = ssi_create(Decorator, 0, true);
	decorator->getOptions()->setOrigin(CONSOLE_WIDTH, 0);
	frame->AddDecorator(decorator);

	// start mouse

	Mouse *mouse = ssi_create(Mouse, 0, true);
	ITransformable *cursor_p = frame->AddProvider(mouse, SSI_MOUSE_CURSOR_PROVIDER_NAME);
	frame->AddSensor(mouse);

	// sender + receiver

	NotifySender *sender = ssi_create_id(NotifySender, 0, "sender");
	sender->setLogLevel(SSI_LOG_LEVEL_DEBUG);
	sender->getOptions()->setUrl("udp://localhost:1111");
	frame->AddRunnable(sender);	

	NotifyReceiver *receiver = ssi_create_id(NotifyReceiver, 0, "receiver");
	receiver->setLogLevel(SSI_LOG_LEVEL_DEBUG);
	receiver->getOptions()->setUrl("udp://localhost:1111");
	receiver->getOptions()->setId("plot");
	frame->AddRunnable((SSI_IRunnableObject*)receiver);

	// control (place after sender!)

	ControlCheckBox *checkbox = 0;

	checkbox = ssi_create_id(ControlCheckBox, 0, "checkbox");
	checkbox->getOptions()->setId("sender");
	checkbox->getOptions()->setTitle("VISUALIZATION");
	checkbox->getOptions()->setLabel("SHOW");
	checkbox->getOptions()->value = false;
	frame->AddRunnable(checkbox);

	// plot

	SignalPainter *plot;

	plot = ssi_create_id(SignalPainter, 0, "plot");
	plot->getOptions()->size = 10;
	plot->getOptions()->setTitle("cursor");
	frame->AddConsumer(cursor_p, plot, "0.2s");

	decorator->add("plot*", 0, 0, 400, CONSOLE_HEIGHT - 200);
	decorator->add("checkbox*", 0, CONSOLE_HEIGHT - 200, 400, 200);

	frame->Start();
	frame->Wait();
	frame->Stop();
	frame->Clear();

	return true;

}
Beispiel #2
0
bool ex_events_string(void *arg) {

	ITheFramework *frame = Factory::GetFramework();

	Decorator *decorator = ssi_create (Decorator, 0, true);
	frame->AddDecorator(decorator);

	ITheEventBoard *board = Factory::GetEventBoard();

	ClockEventSender *eclock = ssi_create(ClockEventSender, 0, true);
	eclock->getOptions()->clock = 1000;
	eclock->getOptions()->empty = false;
	eclock->getOptions()->setString("test");
	board->RegisterSender(*eclock);
	frame->AddRunnable(eclock);

	Websocket *websocket = ssi_create(Websocket, 0, true);

	board->RegisterSender(*websocket);
	board->RegisterListener(*websocket);

	EventMonitor *monitor = ssi_create_id (EventMonitor, 0, "monitor");
	board->RegisterListener(*monitor);

	decorator->add("console", 0, 0, 650, 800);
	decorator->add("plot*", 650, 0, 400, 400);
	decorator->add("monitor*", 650, 400, 400, 400);

	board->Start();
	frame->Start();

	frame->Wait();

	frame->Stop();
	frame->Clear();

	return true;
}