From 2da55419012f4570b472120cf7e7d9a44070388c Mon Sep 17 00:00:00 2001 From: www2 Date: Sun, 13 Dec 2015 15:57:53 +0100 Subject: [PATCH] Add feedback if prompt mode is use --- src/Network/props.cxx | 53 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/src/Network/props.cxx b/src/Network/props.cxx index e15b682b5..5574b3402 100644 --- a/src/Network/props.cxx +++ b/src/Network/props.cxx @@ -488,35 +488,75 @@ PropsChannel::foundTerminator() error("No matching callback found for command:"+command); } else if ( command == "seti" ) { - if (tokens.size() == 3) { - node->getNode( tokens[1].c_str(), true ) - ->setIntValue(atoi(tokens[2].c_str())); + string value, tmp; + if (tokens.size() == 3) { + node->getNode( tokens[1].c_str(), true ) + ->setIntValue(atoi(tokens[2].c_str())); + } + if ( mode == PROMPT ) { + tmp = tokens[1].c_str(); + tmp += " " + tokens[2]; + tmp += " ("; + tmp += getValueTypeString( node->getNode( tokens[1].c_str() ) ); + tmp += ")"; + push( tmp.c_str() ); + push( getTerminator() ); } - const char* msg = "set init\r\n"; - push( msg ); } - else if ( command == "setd" ) { + else if ( command == "setd" || command == "setf") { + string value, tmp; if (tokens.size() == 3) { node->getNode( tokens[1].c_str(), true ) ->setDoubleValue(atof(tokens[2].c_str())); } + if ( mode == PROMPT ) { + tmp = tokens[1].c_str(); + tmp += " "; + tmp += tokens[2].c_str(); + tmp += " ("; + tmp += getValueTypeString( node->getNode( tokens[1].c_str() ) ); + tmp += ")"; + push( tmp.c_str() ); + push( getTerminator() ); + } } else if ( command == "setb" ) { + string tmp, value; if (tokens.size() == 3) { if (tokens[2] == "false" || tokens[2] == "0") { node->getNode( tokens[1].c_str(), true ) ->setBoolValue(false); + value = " False "; } if (tokens[2] == "true" || tokens[2] == "1"){ node->getNode( tokens[1].c_str(), true ) ->setBoolValue(true); + value = " True "; } + if ( mode == PROMPT ) { + tmp = tokens[1].c_str(); + tmp += value; + tmp += " ("; + tmp += getValueTypeString( node->getNode( tokens[1].c_str() ) ); + tmp += ")"; + push( tmp.c_str() ); + push( getTerminator() ); + } + } } else if ( command == "del" ) { + string tmp; if (tokens.size() == 3){ node->getNode( tokens[1].c_str(), true )->removeChild(tokens[2].c_str(),0); } + if ( mode == PROMPT ) { + tmp = "Delete "; + tmp += tokens[1].c_str(); + tmp += tokens[2]; + push( tmp.c_str() ); + push( getTerminator() ); + } } else { const char* msg = "\ @@ -535,6 +575,7 @@ run run built in command\r\n\ set set String to a new \r\n\ setb set Bool to a new only work with the foling value 0, 1, true, false\r\n\ setd set Double to a new \r\n\ +setf alias for setd\r\n\ seti set Int to a new \r\n\ del delete in \r\n\ subscribe subscribe to property changes \r\n\ -- 2.39.5