Skip to content

Commit

Permalink
Spreadsheet: Small fixes and enabled double-click
Browse files Browse the repository at this point in the history
  • Loading branch information
yorikvanhavre committed Apr 15, 2014
1 parent 07172e9 commit 5b020cb
Showing 1 changed file with 25 additions and 21 deletions.
46 changes: 25 additions & 21 deletions src/Mod/Spreadsheet/Spreadsheet.py
Expand Up @@ -479,17 +479,19 @@ def getIcon(self):
def attach(self,vobj):
self.Object = vobj.Object

def setEdit(self,vobj,mode):
def setEdit(self,vobj,mode=0):
if hasattr(self,"editor"):
pass
else:
self.editor = SpreadsheetView(vobj.Object)
addSpreadsheetView(self.editor)
return True

def unsetEdit(self,vobj,mode):
del self.editor
def unsetEdit(self,vobj,mode=0):
return False

def doubleClicked(self,vobj):
self.setEdit(vobj)

def claimChildren(self):
if hasattr(self,"Object"):
Expand Down Expand Up @@ -543,21 +545,23 @@ def getDataSet(self,obj):
baseset = FreeCAD.ActiveDocument.Objects
if obj.FilterType == "Object Type":
for o in baseset:
t = Draft.getType(o)
if t == "Part":
t = obj.TypeId
if obj.Filter:
if obj.Filter in t:
result.append(obj)
else:
result.append(obj)
if not ("Spreadsheet" in Draft.getType(o)):
t = Draft.getType(o)
if t == "Part":
t = obj.TypeId
if obj.Filter:
if obj.Filter in t:
result.append(o)
else:
result.append(o)
elif obj.FilterType == "Object Name":
for o in baseset:
if obj.Filter:
if obj.Filter in o.Label:
if not ("Spreadsheet" in Draft.getType(o)):
if obj.Filter:
if obj.Filter in o.Label:
result.append(o)
else:
result.append(o)
else:
result.append(o)
return result

def getCells(self,obj,spreadsheet):
Expand Down Expand Up @@ -728,10 +732,9 @@ def __init__(self,spreadsheet=None):
QtCore.QObject.connect(self.table, QtCore.SIGNAL("cellChanged(int,int)"), self.changeCell)
QtCore.QObject.connect(self.table, QtCore.SIGNAL("currentCellChanged(int,int,int,int)"), self.setEditLine)
QtCore.QObject.connect(self.lineEdit, QtCore.SIGNAL("returnPressed()"), self.getEditLine)
QtCore.QObject.connect(self, QtCore.SIGNAL("destroyed()"), self.destroy)

def destroy(self):
if DEBUG: print "Closing spreadsheet view"
def closeEvent(self, event):
#if DEBUG: print "Closing spreadsheet view"
if self.spreadsheet:
# before deleting this view, we remove the reference to it in the object
if hasattr(self.spreadsheet,"ViewObject"):
Expand All @@ -748,7 +751,7 @@ def update(self):
controlled = self.spreadsheet.Proxy.getControlledCells(self.spreadsheet)
controlling = self.spreadsheet.Proxy.getControllingCells(self.spreadsheet)
for cell in self.spreadsheet.Proxy._cells.keys():
if cell != "Type":
if not cell in ["Type","Object"]:
c,r = self.spreadsheet.Proxy.splitKey(cell)
c = "abcdefghijklmnopqrstuvwxyz".index(c)
r = int(str(r))-1
Expand Down Expand Up @@ -834,9 +837,10 @@ def Activated(self):
from DraftTools import translate
FreeCAD.ActiveDocument.openTransaction(str(translate("Spreadsheet","Create Spreadsheet")))
FreeCADGui.doCommand("import Spreadsheet")
FreeCADGui.doCommand("Spreadsheet.makeSpreadsheet()")
FreeCADGui.doCommand("s = Spreadsheet.makeSpreadsheet()")
FreeCADGui.doCommand("FreeCAD.ActiveDocument.recompute()")
FreeCADGui.doCommand("FreeCADGui.ActiveDocument.setEdit(s.Name,0)")
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()


class _Command_Spreadsheet_Controller:
Expand Down

0 comments on commit 5b020cb

Please sign in to comment.