Exemplo n.º 1
0
Shell& operator<<(Shell& shell, HBridgeST& b) {
	if(!shell.got_name) while(1);

	addSetter(shell, b, setSpeed);

	shell.got_name = false;
	return shell;
}
void ClassTemplate::addProperty(const QString &aType, const QString &aKey, const QString &aValue)
{
	ClassProperty *property = new ClassProperty;
	property->setDefaultValue(aValue);
	property->setInherited(false);
	property->setType(aType);	
	QString propertyName = aKey;
	//qDebug() << "PROPERTY: " + aKey;
	if(aKey.endsWith("Mutable"))
	{
		propertyName = propertyName.remove("Mutable");
		//propertyName = uncapitalize(propertyName);
		property->setConst(false);
		//qDebug() << "CONST: " + propertyName;
	}
	else
		property->setConst(true);

	property->setName(propertyName + "_");

	properties_.append(property);

	//getter + setter
	if(aType == "typelist")
		addTypelistGetter(propertyName, aValue);
	else if(aType == "char")
	{
		property->setConst(true);
		addCharGetter(propertyName, aValue);
	}
	else if(property->isConst())
	{
		addConstGetter(aType, propertyName, aValue);
	}
	else
	{
		addGetter(aType, propertyName);
		addSetter(aType, propertyName);
	}
}
Exemplo n.º 3
0
Shell& operator<<(Shell& shell, Asserv& a) {
	if(!shell.got_name) while(1);

	addSetter(shell, a, setTargetAngle);
	addSetter(shell, a, setTargetDist);

	addSetter(shell, a, setVelocityAngle);
	addSetter(shell, a, setVelocityDist);
	addSetter(shell, a, setProportionnalAngle);
	addSetter(shell, a, setProportionnalDist);
	addSetter(shell, a, setIntegralAngle);
	addSetter(shell, a, setIntegralDist);
	addSetter(shell, a, setAccelAngle);
	addSetter(shell, a, setAccelDist);

	addSetter(shell, a, setMaxEngine);
	addSetter(shell, a, setMinEngine);
	addSetter(shell, a, setMaxForwardAcceleration);
	addSetter(shell, a, setMaxBackwardAcceleration);
	addSetter(shell, a, setMaxRotationAcceleration);

	addSetter(shell, a, angle);
	addSetter(shell, a, dist);

	shell.add([&a,&shell](Stack& s) {
		(void)s;
		a.reset();
	}, shell.current_object, "reset");

	shell.add([&a,&shell](Stack& s) {
		(void)s;
		a.start();
	}, shell.current_object, "start");

	shell.add([&a,&shell](Stack& s) {
		(void)s;
		OStream& o = *(shell.out);

		o << "Asserv" << endl;
		o << a.infos;
		o << "Coefficients" << endl;
		o << "Dist.... Angle..." << endl;

		o << "     Proportional" << endl;
		o << a.c_propDist << " " << a.c_propAngle << endl;

		o << "     Integral" << endl;
		o << a.c_intDist << " " << a.c_intAngle << endl;

		o << "     Derivative" << endl;
		o << a.c_velDist << " " << a.c_velAngle << endl;

		o << "     Acceleration" << endl;
		o << a.c_accelDist << " " << a.c_accelAngle << endl;

		o << "     Position" << endl;
		o << a.position;
	}, shell.current_object);

	shell.got_name = false;
	return shell;
}