Sketcher: SketchGeometryExtensionPy - add testGeometryMode/setGeometryMode interface
This commit is contained in:
committed by
abdullahtahiriyo
parent
cd77e7ad2c
commit
092a1ee39d
@@ -15,10 +15,20 @@
|
||||
<Author Licence="LGPL" Name="Abdullah Tahiri" EMail="abdullah.tahiri.yo@gmail.com" />
|
||||
<UserDocu>Describes a SketchGeometryExtension</UserDocu>
|
||||
</Documentation>
|
||||
<Methode Name="testGeometryMode" Const="true">
|
||||
<Documentation>
|
||||
<UserDocu>Returns a boolean indicating whether the given bit is set.</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Methode Name="setGeometryMode" Const="false">
|
||||
<Documentation>
|
||||
<UserDocu>Sets the given bit to true/false.</UserDocu>
|
||||
</Documentation>
|
||||
</Methode>
|
||||
<Attribute Name="Id" ReadOnly="false">
|
||||
<Documentation>
|
||||
<UserDocu>
|
||||
returns the Id of the SketchGeometryExtension.
|
||||
Returns the Id of the SketchGeometryExtension.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="Id" Type="Long"/>
|
||||
@@ -26,7 +36,7 @@
|
||||
<Attribute Name="InternalType" ReadOnly="false">
|
||||
<Documentation>
|
||||
<UserDocu>
|
||||
returns the Id of the SketchGeometryExtension.
|
||||
Returns the Id of the SketchGeometryExtension.
|
||||
</UserDocu>
|
||||
</Documentation>
|
||||
<Parameter Name="InternalType" Type="String"/>
|
||||
|
||||
@@ -124,6 +124,55 @@ void SketchGeometryExtensionPy::setBlocked(Py::Boolean arg)
|
||||
getSketchGeometryExtensionPtr()->setGeometryMode(GeometryMode::Blocked, arg);
|
||||
}
|
||||
|
||||
Py::Boolean SketchGeometryExtensionPy::getConstruction(void) const
|
||||
{
|
||||
return Py::Boolean(getSketchGeometryExtensionPtr()->testGeometryMode(GeometryMode::Construction));
|
||||
}
|
||||
|
||||
void SketchGeometryExtensionPy::setConstruction(Py::Boolean arg)
|
||||
{
|
||||
getSketchGeometryExtensionPtr()->setGeometryMode(GeometryMode::Construction, arg);
|
||||
}
|
||||
|
||||
PyObject* SketchGeometryExtensionPy::testGeometryMode(PyObject *args)
|
||||
{
|
||||
char* flag;
|
||||
if (PyArg_ParseTuple(args, "s",&flag)) {
|
||||
|
||||
GeometryMode::GeometryMode mode;
|
||||
|
||||
if(getSketchGeometryExtensionPtr()->getGeometryModeFromName(flag, mode))
|
||||
return new_reference_to(Py::Boolean(getSketchGeometryExtensionPtr()->testGeometryMode(mode)));
|
||||
|
||||
PyErr_SetString(PyExc_TypeError, "Flag string does not exist.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PyErr_SetString(PyExc_TypeError, "No flag string provided.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PyObject* SketchGeometryExtensionPy::setGeometryMode(PyObject *args)
|
||||
{
|
||||
char * flag;
|
||||
PyObject * bflag = Py_True;
|
||||
if (PyArg_ParseTuple(args, "s|O!", &flag, &PyBool_Type, &bflag)) {
|
||||
|
||||
GeometryMode::GeometryMode mode;
|
||||
|
||||
if(getSketchGeometryExtensionPtr()->getGeometryModeFromName(flag, mode)) {
|
||||
getSketchGeometryExtensionPtr()->setGeometryMode(mode, PyObject_IsTrue(bflag) ? true : false);
|
||||
Py_Return;
|
||||
}
|
||||
|
||||
PyErr_SetString(PyExc_TypeError, "Flag string does not exist.");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
PyErr_SetString(PyExc_TypeError, "No flag string provided.");
|
||||
Py_Return;
|
||||
}
|
||||
|
||||
PyObject *SketchGeometryExtensionPy::getCustomAttributes(const char* /*attr*/) const
|
||||
{
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user