+ if not self._find_result:
+ self._findLabel.set_text('Text not found')
+ else:
+ self._update_find_selection()
+ resultsLeft = len(self._find_result) - self._findIndex - 1
+ self._findLabel.set_text(
+ '%s result(s) left' % (resultsLeft, )
+ )
+
+ def _toggle_find(self):
+ if self._searchLayout.get_property("visible"):
+ self._searchLayout.hide()
+ self._unitsView.grab_focus()
+ else:
+ self._searchLayout.show()
+ self._findEntry.grab_focus()
+
+ def _unit_model_cmp(self, sortedModel, leftItr, rightItr):
+ leftUnitText = self._unitModel.get_value(leftItr, self.UNITS_NAME_IDX)
+ rightUnitText = self._unitModel.get_value(rightItr, self.UNITS_NAME_IDX)
+ return cmp(leftUnitText, rightUnitText)
+
+ def _symbol_model_cmp(self, sortedModel, leftItr, rightItr):
+ leftSymbolText = self._unitModel.get_value(leftItr, self.UNITS_SYMBOL_IDX)
+ rightSymbolText = self._unitModel.get_value(rightItr, self.UNITS_SYMBOL_IDX)
+ return cmp(leftSymbolText, rightSymbolText)
+
+ def _value_model_cmp(self, sortedModel, leftItr, rightItr):
+ #special sorting exceptions for ascii values (instead of float values)
+ if self._selectedCategoryName == "Computer Numbers":
+ leftValue = self._unitModel.get_value(leftItr, self.UNITS_VALUE_IDX)
+ rightValue = self._unitModel.get_value(rightItr, self.UNITS_VALUE_IDX)
+ else:
+ leftValueText = self._unitModel.get_value(leftItr, self.UNITS_VALUE_IDX)
+ leftValue = float(leftValueText) if leftValueText else 0.0
+
+ rightValueText = self._unitModel.get_value(rightItr, self.UNITS_VALUE_IDX)
+ rightValue = float(rightValueText) if rightValueText else 0.0
+ return cmp(leftValue, rightValue)
+
+ def _get_column_sort_stuff(self):
+ columns = (
+ (self._unitNameColumn, "_unit_sort_direction", self._unit_model_cmp),
+ (self._unitIntegerColumn, "_value_sort_direction", self._value_model_cmp),
+ (self._unitFractionalColumn, "_value_sort_direction", self._value_model_cmp),
+ (self._unitSymbolColumn, "_units_sort_direction", self._symbol_model_cmp),
+ )
+ return columns