|
4 | 4 | from NodeGraphQt.constants import Z_VAL_NODE_WIDGET |
5 | 5 | from NodeGraphQt.widgets.stylesheet import * |
6 | 6 | from NodeGraphQt.widgets.file_dialog import file_dialog |
7 | | - |
| 7 | +from NodeGraphQt.widgets.properties import _valueEdit |
8 | 8 |
|
9 | 9 | class _NodeGroupBox(QtWidgets.QGroupBox): |
10 | 10 |
|
@@ -262,73 +262,68 @@ def value(self, text=''): |
262 | 262 | self._value_changed() |
263 | 263 |
|
264 | 264 |
|
265 | | -class NodeFloatEdit(NodeLineEdit): |
| 265 | +class NodeFloatEdit(NodeBaseWidget): |
266 | 266 | """ |
267 | | - NodeFloatEdit widget is subclassed from :class:`NodeLineEdit`, |
| 267 | + NodeFloatEdit widget is subclassed from :class:`NodeBaseWidget`, |
268 | 268 | this widget is displayed as a ``QLineEdit`` embedded in a node. |
269 | 269 |
|
270 | 270 | .. note:: |
271 | 271 | `To embed a ``QLineEdit`` in a node see func:` |
272 | 272 | :meth:`NodeGraphQt.BaseNode.add_float_input` |
273 | 273 | """ |
274 | 274 |
|
275 | | - def __init__(self, parent=None, name='', label='', value=0.0): |
| 275 | + def __init__(self, parent=None, name='', label='', value = 0.0): |
276 | 276 | super(NodeFloatEdit, self).__init__(parent, name, label) |
277 | | - self._ledit.setValidator(QtGui.QDoubleValidator()) |
278 | | - self.text = str(value) |
279 | | - self._ledit.setText(self.text) |
| 277 | + self._ledit = _valueEdit() |
| 278 | + self._ledit.setStyleSheet(STYLE_QLINEEDIT) |
| 279 | + self._ledit.setAlignment(QtCore.Qt.AlignCenter) |
| 280 | + self._ledit.valueChanged.connect(self._value_changed) |
| 281 | + self._ledit.clearFocus() |
| 282 | + self._ledit.setValue(value) |
| 283 | + group = _NodeGroupBox(label) |
| 284 | + group.add_node_widget(self._ledit) |
| 285 | + group.setMaximumWidth(120) |
| 286 | + self.setWidget(group) |
| 287 | + |
| 288 | + @property |
| 289 | + def type_(self): |
| 290 | + return 'FloatEditNodeWidget' |
| 291 | + |
| 292 | + @property |
| 293 | + def widget(self): |
| 294 | + return self._ledit |
280 | 295 |
|
281 | 296 | @property |
282 | 297 | def value(self): |
283 | 298 | """ |
284 | | - Returns the widgets current float value. |
| 299 | + Returns the widgets current text. |
285 | 300 |
|
286 | 301 | Returns: |
287 | | - float: float value. |
| 302 | + float: current value. |
288 | 303 | """ |
289 | | - value = float(self._ledit.text()) |
290 | | - return value |
| 304 | + return self._ledit.value() |
291 | 305 |
|
292 | 306 | @value.setter |
293 | | - def value(self, text=0.0): |
294 | | - if text != self.value: |
295 | | - self._ledit.setText(str(text)) |
| 307 | + def value(self, value): |
| 308 | + if value != self.value: |
| 309 | + self._ledit.setValue(value) |
296 | 310 | self._value_changed() |
297 | 311 |
|
298 | 312 |
|
299 | | -class NodeIntEdit(NodeLineEdit): |
| 313 | +class NodeIntEdit(NodeFloatEdit): |
300 | 314 | """ |
301 | | - NodeIntEdit widget is subclassed from :class:`NodeLineEdit`, |
| 315 | + NodeIntEdit widget is subclassed from :class:`NodeFloatEdit`, |
302 | 316 | this widget is displayed as a ``QLineEdit`` embedded in a node. |
303 | 317 |
|
304 | 318 | .. note:: |
305 | 319 | `To embed a ``QLineEdit`` in a node see func:` |
306 | | - :meth:`NodeGraphQt.BaseNode.add_float_input` |
| 320 | + :meth:`NodeGraphQt.BaseNode.add_int_input` |
307 | 321 | """ |
308 | 322 |
|
309 | | - def __init__(self, parent=None, name='', label='', value=0.0): |
| 323 | + def __init__(self, parent=None, name='', label='', value=0): |
310 | 324 | super(NodeIntEdit, self).__init__(parent, name, label) |
311 | | - self._ledit.setValidator(QtGui.QIntValidator()) |
312 | | - self.text = str(value) |
313 | | - self._ledit.setText(self.text) |
314 | | - |
315 | | - @property |
316 | | - def value(self): |
317 | | - """ |
318 | | - Returns the widgets current int value. |
319 | | -
|
320 | | - Returns: |
321 | | - int: int value. |
322 | | - """ |
323 | | - value = int(self._ledit.text()) |
324 | | - return value |
325 | | - |
326 | | - @value.setter |
327 | | - def value(self, text=0.0): |
328 | | - if text != self.value: |
329 | | - self._ledit.setText(str(text)) |
330 | | - self._value_changed() |
331 | | - |
| 325 | + self._ledit.set_data_type(int) |
| 326 | + self._ledit.setValue(value) |
332 | 327 |
|
333 | 328 | class NodeCheckBox(NodeBaseWidget): |
334 | 329 | """ |
|
0 commit comments