Re: Could someone help me writing a new widget?



Hello Stuart! Nice to hear from you again :-)

On Thursday 08 January 2004 12:17 pm, Stuart Gilbert wrote:
Hello,

<snip>

  This way you can 1)
  lock 2) add many items without the CheckListBox to readraw itself
  each time 3) unlock, and the changes are displayed all at once.

Couldn't you just hide the widget until all the items have been added and
then show the widget once added? Saves a bunch of redrawing (or so I would
imagine).

The flicker is visible...

furthemore, that is not the primary bottleneck at all. The problem seems to be 
this: since I group selected items on top, in their ScrolledWindow S1, any 
time I select or deselect one item, S1 is resized, hence S2 (the other 
ScrolledWindow, containing the deselected items) is resized too. This seems 
to send redraw messages to all deselected items, and they are _many_.

  Also, the new Checklistbox should not have an elevator, but buttons
  for moving one line at a time and one screen at a time.  These
  buttons should be big.

Removing the "elevator" sounds like a particularly bad idea to me.
Especially if you're talking of a list of thousands of items. Who wants to
scroll 1 item, or even one page, at a time through a huge list to find one
item?

Click(elevator)-drag(to the correct place)-release
As opposed to
Click(pagedown)-hold-hold-hold-hold-release then click(pageup) then
click(itemup)-hold-hold-hold

You seem to be right... but in practice, since the items are many, the 
scrollbar grabbing area becomes so small that it is too difficult to click, 
and also to drag, because any small movement has a huge impact.

You could add a kind of double-arrow button to allow the widget to scroll
down a whole page rather than one entry. I think some well known office
products use methods like this for scrolling a page at a time.

Yes, but the "up" and "down" button that are present in the GTK scrollbar 
widget are too small for segusoLand's Human Interface Guidelines... :-)




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]