disable buttonclicks on DirectScrollBar

i made a custom DirectScrollBar to change its look and to change the gui-events on it.
i want it to scroll on mouseOver-event, stop scrolling on mouseOut.
so far no problems.
but i can’t figure out how to disable the default clickcommands.
i tried :

self.incButton.guiItem.removeClickButton(MouseButton.one()

self.decButton.unbind(DGG.B1PRESS)
self.decButton.unbind(DGG.B1RELEASE)

self.ignore("press-mouse1-"+self.decButton.guiItem.getId())
self.ignore("click-mouse1-"+self.decButton.guiItem.getId())

nothing works, i still can click the buttons.

how can i disable the buttons?

greetz

You could simply hide the buttons. But how about if you create a DirectSlider instead? This is basically the same thing as a DirectScrollBar, but it omits the buttons.

David

i should be more precise in what i am using stuff for…
the scrollbar is used in a directScrollFrame, that i made, too (custom look).
i tried to simply use images as the mouseoverobjects, but i like the automatic positioning of the buttons of the scrollbar.
thats why i would like to use scrollbar, just disable clicking and enabling mouseEnter/exit events.
maybe not the perfect solution, but (if i can somehow disable clicks) the fastest

Still not quite sure what you’re after–it’s not clear to me why you want to have buttons, but not allow the user to click on them. But have you tried:

self.incButton['state'] = DGG.DISABLED

David

the buttons of DirectScrollBar are positioned automatically, and i want them to be the event-receivers, these are the only reasons why i want to keep them.
my goal would be reached, if i just could disable their click and press events.
onmouseover and mouseout events already work.
“state = disabled” makes them not reacting at all (they don’t receive or fire events anymore)

greets

Maybe you should create your own incButton and decButton that are DirectLabel objects instead of DirectButtons? This might be as simple as replacing the objects that are created by default, or maybe you will need to subclass (or copy) the DirectScrollBar class and make the change explicitly.

David