View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0000535 | FreeCAD | Feature | public | 2011-12-11 00:33 | 2011-12-16 23:45 | 
| Reporter | danielfalck | Assigned To | |||
| Priority | normal | Severity | feature | Reproducibility | N/A | 
| Status | closed | Resolution | fixed | ||
| Fixed in Version | 0.13 | ||||
| Summary | 0000535: request for python editible Properties panels | ||||
| Description | It would be nice to be able to alter the Properties view/data panels through python, such that one could remove some of the default entries. For instance, if one wants to add a Point class in python, 'Line Color' is not needed and it would be nice to be able to remove it. Thanks | ||||
| Tags | No tags attached. | ||||
| FreeCAD Information | |||||
|  | Actually you have the "Line Color" if you use a Part::FeaturePython object, which already comes with several properties such as LineColor, but also with a couple of handy builtin mechanisms such as auto view representation. If you start from an App::FeaturePython, you will have a totally empty object, with no default properties. But you will also need to build up your own coin representation. See the Draft _Dimension and _ViewProviderDimension classes in Draft.py for example, they use the App::FeaturePython. | 
|  | That's exactly what I needed- thanks! Let's close this issue. | 
|  | Implementing from scratch is also possible but not so easy and a lot of work. I have added a method to set the type of a property. To hide a property you can do this with: ViewObject.setTypeOfProperty("LineColor",4) | 
|  | Done in rev 5271 | 
|  | Too bad. The solution in rev 5271 has an ugly side-effect. Hiding an element causes to hide this attribute of ALL instances of this class. But this is not acceptable so I had to revert this commit. So, the best solution is to follow Yorik's suggestion. | 
|  | I found a better way out of this dilemma: ViewObject.setEditorMode("LineColor",mode) mode is a short int and meaning is: 0 -- default mode 1 -- read-only 2 -- hidden This now works per object. NOTE: The changes you made are not persistent. If you want it to be persistent you have to adjust your python wrapper class accordingly. | 
|  | Great addition Werner! thanks! | 
|  | Sorry to reopen this, but I can't get this one to work: import Part,FreeCAD from FreeCAD import Base def makePoint(x=0.0,y=0.0,z=0.0, name= "Point",size = 7,color =(0.0,1.0,0.0)): obj = FreeCAD.ActiveDocument.addObject("Part::Vertex",name) obj.X=x obj.Y=y obj.Z=z obj.Placement=Base.Placement(Base.Vector(0.00,0.00,0.00),Base.Rotation(0.00,0.00,0.00,1.00)) vp = obj.ViewObject mode = 2 vp.setEditorMode("LineColor",mode) vp.setEditorMode('LineWidth',mode) vp.PointColor = (float(color[0]),float(color[1]),float(color[2])) vp.PointSize = size FreeCAD.ActiveDocument.recompute() return obj p1 = makePoint() | 
|  | Oops, forgot to make the change also for the View tab. Fixed in rev 5317 | 
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 2011-12-11 00:33 | danielfalck | New Issue | |
| 2011-12-11 12:23 | yorik | Note Added: 0001463 | |
| 2011-12-11 14:54 | danielfalck | Note Added: 0001464 | |
| 2011-12-11 20:23 | wmayer | Note Added: 0001465 | |
| 2011-12-11 20:23 | wmayer | Note Added: 0001466 | |
| 2011-12-11 20:23 | wmayer | Status | new => closed | 
| 2011-12-11 20:23 | wmayer | Resolution | open => fixed | 
| 2011-12-11 20:23 | wmayer | Fixed in Version | => 0.13 | 
| 2011-12-11 23:07 | wmayer | Note Added: 0001467 | |
| 2011-12-12 11:43 | wmayer | Note Added: 0001468 | |
| 2011-12-12 12:49 | yorik | Note Added: 0001469 | |
| 2011-12-16 21:38 | danielfalck | Note Added: 0001487 | |
| 2011-12-16 21:38 | danielfalck | Status | closed => feedback | 
| 2011-12-16 21:38 | danielfalck | Resolution | fixed => reopened | 
| 2011-12-16 23:45 | wmayer | Note Added: 0001488 | |
| 2011-12-16 23:45 | wmayer | Status | feedback => closed | 
| 2011-12-16 23:45 | wmayer | Resolution | reopened => fixed | 
| 2011-12-16 23:45 | wmayer | Note Edited: 0001488 | 
 FreeCAD
 FreeCAD