1from paida.paida_core.PAbsorber import *
2from paida.paida_core.IAnnotation import *
3from paida.paida_core.PUtilities import *
4
5class IBaseHistogram:
6	#_meps2 = -1.4901161193847656e-08
7	_meps2 = -6.0554544523933479e-06
8
9	def __init__(self, title):
10		self._annotation = IAnnotation()
11		self._annotation.addItem('Title', title, True)
12		self._axis = []
13
14	def reset(self):
15		self._annotation.reset()
16
17	def annotation(self):
18		return self._annotation
19
20	def dimension(self):
21		return len(self._axis)
22
23	def entries(self):
24		### Must be overridden.
25		raise NotImplementedError
26
27	def setTitle(self, title):
28		self._annotation.setValue('Title', title)
29
30	def title(self):
31		return self._annotation.value('Title')
32
33	def _setOption(self, option):
34		self._option = option
35
36	def _getOption(self):
37		if self._option == None:
38			return None
39		else:
40			return self._option.copy()
41
42	def _getOptionString(self):
43		return optionConstructor(self._option)
44
45	def _setName(self, name):
46		self._name = name
47
48	def _getName(self):
49		return self._name
50