On Fri, Jul 08, 2005 at 06:57:46PM +0200, Tristan Seligmann wrote:
> Just have tristate checkboxes; all checkboxes start in a sort of
> "indeterminate" state whereby they are not selected unless a dependency
> causes them to be. Clicking on C would set C to the selected state, and
> now A, B, and D would be "temporarily" selected, but still in the
> "indeterminate" state. You can then deselect C, and return to the
> original situation.

This would be my preference.  (btw, I like the aptitude analogy
here... aptitude uses a tristate system like this.)

Another way to look at this (which I think is equivalent) is that there are
two states for each patch.  One is the tristate, reflecting whether the
user has explicitely said yes or no to that patch.  The other is the
"current" state of the patch--whether it's on the to-be-applied (or
to-be-unapplied, etc) list.  This second state is a bi-state, and somehow
needs to be displayed along with the did-the-user-choose-this-state state.
I.e. there will be four possible states.  Either the user wants the patch,
she doesn't want the patch, or she hasn't said, but it's required by one
that she wants, or she hasn't said and it's not required by one that she
wants.  I suppose there's one more state, which is that she hasn't said,
but it's forbidden by a patch that she's said she doesn't want.

And just to reiterate what I've suggested in a previous thread, I think if
you want a "flat list with interesting states" sort of interface, this can
be relatively easily acheived with a pipe-oriented extension to the current
interactive interface, which would allow eclipse to open up a bidirectional
pipe to darcs and inform darcs which patches have been selected and query
the states of the other patches.  And in the process we'd also improve the
interactive interface, which would be nice.

Darcs itself uses a single three-state system, but not quite the one you'd
probably like to use with your checkboxes, since it doesn't include the
"unrequested, but required by a requested patch" state.  But you shouldn't
have trouble keeping track of which patches have been requested, so this
limitation in darcs shouldn't hamper you from presenting a nicer interface
to eclipse users.

By the way, the semi-cruddy gui interface uses simple two-state buttons,
and even with that it is a huge improvement as a user interface, being able
to select a patch and watch the required patches get selected... I mean to
say that I was surprised at how much nicer an experience it was to use.
Which is why I haven't been convinced to remove that code, even though it's
pretty darn crufty at this stage.
-- 
David Roundy
http://www.darcs.net

Attachment: signature.asc
Description: Digital signature

_______________________________________________
darcs-users mailing list
[email protected]
http://www.abridgegame.org/mailman/listinfo/darcs-users

Reply via email to