X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/346a9b8e1fcfe30629f0d1ee4675e9e8f89890cf..4c4732c6ed8cb0aaa70fb2d4c6e5a958868c5349:/src/pgu/gui/slider.py?ds=inline diff --git a/src/pgu/gui/slider.py b/src/pgu/gui/slider.py deleted file mode 100644 index f4fa623..0000000 --- a/src/pgu/gui/slider.py +++ /dev/null @@ -1,279 +0,0 @@ -"""All sliders and scroll bar widgets have the same parameters. - -
Slider(value,min,max,size)-
VSlider(value,min,max,size)- """ - def __init__(self,value,min,max,size,step=1,**params): - params.setdefault('cls','vslider') - _slider.__init__(self,value,_SLIDER_VERTICAL,min,max,size,step,**params) - -class HSlider(_slider): - """A horizontal slider. - -
HSlider(value,min,max,size)- """ - def __init__(self,value,min,max,size,step=1,**params): - params.setdefault('cls','hslider') - _slider.__init__(self,value,_SLIDER_HORIZONTAL,min,max,size,step,**params) - -class HScrollBar(table.Table): - """A horizontal scroll bar. - -
HScrollBar(value,min,max,size,step=1)- """ - def __init__(self,value,min,max,size,step=1,**params): - params.setdefault('cls','hscrollbar') - - table.Table.__init__(self,**params) - - self.slider = _slider(value,_SLIDER_HORIZONTAL,min,max,size,step=step,cls=self.cls+'.slider') - - self.minus = basic.Image(self.style.minus) - self.minus.connect(MOUSEBUTTONDOWN,self._click,-1) - self.slider.connect(CHANGE,self.send,CHANGE) - - self.minus2 = basic.Image(self.style.minus) - self.minus2.connect(MOUSEBUTTONDOWN,self._click,-1) - - self.plus = basic.Image(self.style.plus) - self.plus.connect(MOUSEBUTTONDOWN,self._click,1) - - self.size = size - - def _click(self,value): - self.slider.value += self.slider.step*value - - def resize(self,width=None,height=None): - self.clear() - self.tr() - - w = self.style.width - h = self.slider.style.height - ww = 0 - - if w > (h*2 + self.minus.style.width+self.plus.style.width): - self.td(self.minus) - ww += self.minus.style.width - - self.td(self.slider) - - if w > (h*2 + self.minus.style.width+self.minus2.style.width+self.plus.style.width): - self.td(self.minus2) - ww += self.minus2.style.width - - if w > (h*2 + self.minus.style.width+self.plus.style.width): - self.td(self.plus) - ww += self.plus.style.width - - - #HACK: handle theme sizing properly - xt,xr,xb,xl = pguglobals.app.theme.getspacing(self.slider) - ww += xr+xl - - self.slider.style.width = self.style.width - ww - setattr(self.slider,'size',self.size * self.slider.style.width / max(1,self.style.width)) - return table.Table.resize(self,width,height) - - - def __setattr__(self,k,v): - if k in ('min','max','value','step'): - return setattr(self.slider,k,v) - self.__dict__[k]=v - - def __getattr__(self,k): - if k in ('min','max','value','step'): - return getattr(self.slider,k) - return table.Table.__getattr__(self,k) #self.__dict__[k] - -class VScrollBar(table.Table): - """A vertical scroll bar. - -
VScrollBar(value,min,max,size,step=1)- """ - def __init__(self,value,min,max,size,step=1,**params): - params.setdefault('cls','vscrollbar') - - table.Table.__init__(self,**params) - - self.minus = basic.Image(self.style.minus) - self.minus.connect(MOUSEBUTTONDOWN,self._click,-1) - - self.minus2 = basic.Image(self.style.minus) - self.minus2.connect(MOUSEBUTTONDOWN,self._click,-1) - - self.plus = basic.Image(self.style.plus) - self.plus.connect(MOUSEBUTTONDOWN,self._click,1) - - self.slider = _slider(value,_SLIDER_VERTICAL,min,max,size,step=step,cls=self.cls+'.slider') - self.slider.connect(CHANGE,self.send,CHANGE) - - self.size = size - - def _click(self,value): - self.slider.value += self.slider.step*value - - def resize(self,width=None,height=None): - self.clear() - - h = self.style.height - w = self.slider.style.width - hh = 0 - - if h > (w*2 + self.minus.style.height+self.plus.style.height): - self.tr() - self.td(self.minus) - hh += self.minus.style.height - - self.tr() - self.td(self.slider) - - if h > (w*2 + self.minus.style.height+self.minus2.style.height+self.plus.style.height): - self.tr() - self.td(self.minus2) - hh += self.minus2.style.height - - if h > (w*2 + self.minus.style.height+self.plus.style.height): - self.tr() - self.td(self.plus) - hh += self.plus.style.height - - - #HACK: handle theme sizing properly - xt,xr,xb,xl = pguglobals.app.theme.getspacing(self.slider) - hh += xt+xb - - self.slider.style.height = self.style.height - hh - setattr(self.slider,'size',self.size * self.slider.style.height / max(1,self.style.height)) - return table.Table.resize(self,width,height) - - def __setattr__(self,k,v): - if k in ('min','max','value','step'): - return setattr(self.slider,k,v) - self.__dict__[k]=v - - def __getattr__(self,k): - if k in ('min','max','value','step'): - return getattr(self.slider,k) - return table.Table.__getattr__(self,k)