SplineEditor (hwx.gui)¶
Compsite widget to edit a math.Spline
Contains:
A Table on the left to enter the X, Y values
A Plot on the left to visualize and drag the values
Buttons on the top of the table to add/insert/remove values and read/write csv
Like other widgets you can specify a command parameter that is a method that gets called when the spline changes.
- Inherits:
 
Properties¶
Public Methods¶
clearSelection (self)
createContents (self)
decorateContents (self)
deleteSelected (self)
enableDragAndDrop (self, *widgets)
getSelectedRows (self)
layoutContents (self)
okToDrop (self, fname)
onDrop (self, fname)
onPlotSelected (self, points)
onSplineModified (self, selectRow=None, fitPlot=’selected’)
onTableSelected (self, rows)
readCsv (self, fname=None)
selectRow (self, row)
setSpline (self, spline, clearSelection=True, fitPlot=True)
writeCsv (self, fname=None)
Property Details¶
- property interpolationMethod¶
 
The interpolation method.
- property interpolationNpts¶
 
The number of samples to generate.
- property spline¶
 
The spline object.
Method Details¶
- clearSelection(self)¶
 
Unselects all table rows and plot points.
- createContents(self)¶
 
Creates the contents for the SplineEditor.
- decorateContents(self)¶
 
Called when cells from the table are selected so we can disable the the delete button if needed.
- deleteSelected(self)¶
 
Called if the user hits the <Del> key or clicks the delete button to delete the selected points.
- enableDragAndDrop(self, *widgets)¶
 
Enables dragging and dropping of csv file into the SplineEditor.
- param widgets
 The widgets to be enabled drag and drop.
- type widgets
 collection
- getSelectedRows(self)¶
 
Returns a list of indices of the selected rows.
- layoutContents(self)¶
 
Creates the layout for the SplineEditor.
- okToDrop(self, fname)¶
 
Returns if the file dropped is a csv file.
- param fname
 CSV file path.
- type fname
 str
- returns
 True if the file to dropped is a csv file, otherwise False
- rtype
 bool
- onDrop(self, fname)¶
 
Reads the csv file on drop.
- param fname
 CSV file path.
- type fname
 str
- onPlotSelected(self, points)¶
 
Called when user selects points in the plot to select the corresponding table rows.
- param points
 The selected from user points in the plot.
- type points
 Union[Point, list[Point]]
- onSplineModified(self, selectRow=None, fitPlot='selected')¶
 
Called when the the spline changes, that happens when:
A table cell value was changed.
A plot point was modified (mouse up, not drag).
One of the buttons was clicked.
- param selectRow
 The row index to select the modified spline from the table.
- type selectRow
 int
- param fitPlot
 The points of the plot to fit.
- type fitPlot
 str
- onTableSelected(self, rows)¶
 
Called when user selects cells in the table to select the corresponding plot points.
- param rows
 The selected row or list of row indices from the table.
- type rows
 Union[int, list[int]]
- readCsv(self, fname=None)¶
 
Reads spline data from a csv file.
- param fname
 The CSV file path.
- type fname
 str
- selectRow(self, row)¶
 
Selects the table row and plot point for the specified row.
- param row
 A single index of the table or list of indices.
- type row
 Union[int, list]
- setSpline(self, spline, clearSelection=True, fitPlot=True)¶
 
Sets the specified spline in SplineEditor table and plot.
- param spline
 The spline containing x/y values to be set.
- type spline
 Spline
- param clearSelection
 Determines whether to remove selection from the SplineEditor.
- type clearSelection
 bool
- param fitPlot
 Determines whether to fit the plot inside SplineEditor plot.
- type fitPlot
 bool
- writeCsv(self, fname=None)¶
 
Writes a csv file containing the values.
- param fname
 CSV file path.
- type fname
 str