item_delegates.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 # Copyright (c) 2011, Dorian Scholz, TU Darmstadt
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 #
10 # * Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # * Redistributions in binary form must reproduce the above
13 # copyright notice, this list of conditions and the following
14 # disclaimer in the documentation and/or other materials provided
15 # with the distribution.
16 # * Neither the name of the TU Darmstadt nor the names of its
17 # contributors may be used to endorse or promote products derived
18 # from this software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 # POSSIBILITY OF SUCH DAMAGE.
32 
33 from python_qt_binding.QtCore import QModelIndex
34 from python_qt_binding.QtWidgets import QDoubleSpinBox, QItemDelegate
35 
36 
37 class SpinBoxDelegate(QItemDelegate):
38 
39  def __init__(self, min_value=0, max_value=100, decimals=2, *args):
40  self._min = min_value
41  self._max = max_value
42  self._decimals = decimals
43  super(SpinBoxDelegate, self).__init__(*args)
44 
45  def createEditor(self, parent, option, index):
46  editor = QDoubleSpinBox(parent)
47  editor.setDecimals(self._decimals)
48  editor.setMaximum(self._min)
49  editor.setMaximum(self._max)
50  return editor
51 
52 
53 class DelegateUtil(object):
54 
55  """
56  Find out the hierarchy level of the selected item.
57  see: http://stackoverflow.com/a/4208240/577001
58 
59  :type model_index: QModelIndex
60  :rtype: int
61 
62  :author: Isaac Saito
63  """
64  @staticmethod
65  def _get_hierarchy_level(model_index):
66  hierarchyLevel = 1
67  seek_root = model_index
68  while(seek_root.parent() != QModelIndex()):
69  seek_root = seek_root.parent()
70  hierarchyLevel += 1
71  return hierarchyLevel
rqt_py_common.item_delegates.SpinBoxDelegate.__init__
def __init__(self, min_value=0, max_value=100, decimals=2, *args)
Definition: item_delegates.py:39
rqt_py_common.item_delegates.DelegateUtil
Definition: item_delegates.py:53
rqt_py_common.item_delegates.SpinBoxDelegate._max
_max
Definition: item_delegates.py:41
rqt_py_common.item_delegates.SpinBoxDelegate
Definition: item_delegates.py:37
rqt_py_common.item_delegates.SpinBoxDelegate._min
_min
Definition: item_delegates.py:40
rqt_py_common.item_delegates.SpinBoxDelegate.createEditor
def createEditor(self, parent, option, index)
Definition: item_delegates.py:45
rqt_py_common.item_delegates.SpinBoxDelegate._decimals
_decimals
Definition: item_delegates.py:42
rqt_py_common.item_delegates.DelegateUtil._get_hierarchy_level
def _get_hierarchy_level(model_index)
Definition: item_delegates.py:65


rqt_py_common
Author(s): Dorian Scholz , Isaac Saito, Dirk Thomas
autogenerated on Fri Jul 12 2024 02:31:13