|
From: George P. <pe...@ii...> - 2004-10-28 23:21:37
|
Dear list, I have made some first steps into building a new tile theme (see http://www.iit.demokritos.gr/~petasis/screenshot.png http://www.iit.demokritos.gr/~petasis/screenshot.jpeg), but I am having some problems on how to implement some widget elements. First of all, for changing the background of the text label of a labelframe, I have to reimplement the Labelframe.text element. And of course I don't want to mess up with text at all. But why this widget element has a special background? I have implemented a generic "background" element, and seems to be used by all widgets, except from the labelframe with its text. Is there a solution for this? The second important problem that I have is theming the scrollbar widget. In my theme, I take the current unix KDE/Qt theme that the desktop uses, and draw the widgets. But at this point, I don't know what the organisation of the scrollbar will be. I.e. in the above screenshot the scrollbar seems fine (visually), but the elements that comprise it are not in place, as I use the default layout for scrollbars. On the other hand, Qt has 6 (!) scrollbar elements, but no layout information at all. Any theme that has override the style.drawComplexControl() may have placed the various pieces in various places. (I suppose I will have to query the rectangle of each piece and compare them to form the proper layout.) How is the correct way to adress this issue? I suppose one way would be to have some predefined layouts for some known Qt styles and decide upon their name. Also, to somehow pass the rectangle information for each element at the tcl, and resolve/define the layout from a tcl proc. Or finally, define a very complex layout that can capture almost all possible layouts, and set the dimentions of the unused elements to zero. Is this supported under tile? Can I force an element to have zero width for example? Is there a "preferable" approach? (Actually all Qt scrollbar layouts I have seen, either have 2 arrow buttons - placed on the same side or the two opposite sides of the widget - or three buttons, like the tile step theme...) Regards, George |