-void
-Path::draw(DrawingContext& context)
-{
- // TODO: Add a visible flag, draw the path if true
-}
+ mode = CIRCULAR;
+ while(iter.next()) {
+ if(iter.item() == "mode") {
+ std::string mode_string;
+ if(!iter.value()->get(mode_string))
+ throw std::runtime_error("Pathmode not a string");
+
+ if(mode_string == "oneshot")
+ mode = ONE_SHOT;
+ else if(mode_string == "pingpong")
+ mode = PING_PONG;
+ else if(mode_string == "circular")
+ mode = CIRCULAR;
+ else {
+ std::ostringstream msg;
+ msg << "Unknown pathmode '" << mode_string << "' found";
+ throw std::runtime_error(msg.str());
+ }
+ continue;
+ }
+
+ if(iter.item() != "node") {
+ log_warning << "unknown token '" << iter.item() << "' in Path nodes list. Ignored." << std::endl;
+ continue;
+ }
+ const lisp::Lisp* node_lisp = iter.lisp();