updatecenter
  1. updatecenter
  2. UPDATECENTER-182

Available Software: Select (All) checkbox does not get unchecked

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: current
    • Fix Version/s: milestone 1
    • Component/s: gui
    • Labels:
      None
    • Environment:

      Operating System: Windows 2000
      Platform: PC

    • Issuezilla Id:
      182

      Description

      Build: glassfish-installer-v2-b33b-nightly-05_feb_2007.jar
      with updatecenter-1_0-b05-nightly-05_feb_2007.jar

      Select (All) checkbox does not get unchecked after another component is selected
      for reading the Details info (which causes all components to be unchecked.)

      Steps to reproduce:
      -------------------
      1) Invoke updatetool ALL
      2) Select all components by click top most Select (All) checkbox
      3) Observe that all checkbox of all components are checked
      4) Now move the mouse pointer over one of the component's name and click
      5) Observe that all checkbox of all components are unchecked and the Details
      panel display info.
      6) However, the Select(All) checkbox still has the check mark. This is not
      consistent, since all components are unchecked, the Select (All) checkbox should
      also be unchecked.

        Activity

        Hide
        raccah added a comment -

        similar to issue 105

        Show
        raccah added a comment - similar to issue 105
        Hide
        Byron Nevins added a comment -

        Interesting behavior I discovered at step#7

        Steps to reproduce:
        -------------------
        1) Invoke updatetool ALL
        2) Select all components by click top most Select (All) checkbox
        3) Observe that all checkbox of all components are checked
        4) Now move the mouse pointer over one of the component's name and click
        5) Observe that all checkbox of all components are unchecked and the Details
        panel display info.
        6) However, the Select(All) checkbox still has the check mark. This is not
        consistent, since all components are unchecked, the Select (All) checkbox should
        also be unchecked.

        7) Just move the mouse pointer over the Select(All) checkbox (no clicking
        neccessary) and it will magically become unchecked!!

        Probably the checkbox is unchecked in the model, but not updated to the view.

        Show
        Byron Nevins added a comment - Interesting behavior I discovered at step#7 Steps to reproduce: ------------------- 1) Invoke updatetool ALL 2) Select all components by click top most Select (All) checkbox 3) Observe that all checkbox of all components are checked 4) Now move the mouse pointer over one of the component's name and click 5) Observe that all checkbox of all components are unchecked and the Details panel display info. 6) However, the Select(All) checkbox still has the check mark. This is not consistent, since all components are unchecked, the Select (All) checkbox should also be unchecked. 7) Just move the mouse pointer over the Select(All) checkbox (no clicking neccessary) and it will magically become unchecked!! Probably the checkbox is unchecked in the model, but not updated to the view.
        Hide
        raccah added a comment -

        reassigning to Siraj

        7) appears to be because a mouse listener is used - please use an item listener
        instead

        Show
        raccah added a comment - reassigning to Siraj 7) appears to be because a mouse listener is used - please use an item listener instead
        Hide
        sirajg added a comment -

        #7 is strange - will change listener

        Show
        sirajg added a comment - #7 is strange - will change listener
        Hide
        Nazrul added a comment -

        Siraj -> Byron

        Show
        Nazrul added a comment - Siraj -> Byron
        Hide
        Byron Nevins added a comment -

        IMHO, there is a fundamental design flaw here. The checkbox is serving as both
        a "do-er" and a "show-er".
        I.e. as the user you check/uncheck it in order to make it do something. It is
        also supposed to be an indicator of whether or not everything happens to be
        selected.

        So what happens is this:

        1) you check-all
        2) everything becomes selected
        3) you unselect one thing
        4) in the code I notice this and set the checkbox to unchecked
        5) the other handling code sees that the checkbox was unchecked – so now it
        unchecks everything!!

        So I wrote kludgy code that says something like – "Hey we just unchecked the
        box internally. The user didn't do the unchecking! Don't do anything!"
        – but it just won't work perfectly. I gave up because it was taking WAY too
        much time.

        I think a better GUI design would be to have buttons: "Select Everything" and
        "Unselect Everything". It then selects or unselects everything as a one-shot.
        The user doesn't need feedback via a checkbox telling him whether or not
        everything is checked – it's obvious from looking at the list.

        Show
        Byron Nevins added a comment - IMHO, there is a fundamental design flaw here. The checkbox is serving as both a "do-er" and a "show-er". I.e. as the user you check/uncheck it in order to make it do something. It is also supposed to be an indicator of whether or not everything happens to be selected. So what happens is this: 1) you check-all 2) everything becomes selected 3) you unselect one thing 4) in the code I notice this and set the checkbox to unchecked 5) the other handling code sees that the checkbox was unchecked – so now it unchecks everything!! So I wrote kludgy code that says something like – "Hey we just unchecked the box internally. The user didn't do the unchecking! Don't do anything!" – but it just won't work perfectly. I gave up because it was taking WAY too much time. I think a better GUI design would be to have buttons: "Select Everything" and "Unselect Everything". It then selects or unselects everything as a one-shot. The user doesn't need feedback via a checkbox telling him whether or not everything is checked – it's obvious from looking at the list.
        Hide
        locolobo added a comment -

        My recommendation is to make the checkbox work as Nolan recommends here.

        • User checks "select all"
        • (all checkboxes are selected now)
        • User unchecks any of the other checkboxes, the "select-all" checkbox should
          uncheck.
        • Now if the user checks the "select-all" checkbox again, all of the checkboxes
          should be checked regardless of their current state.
        • If user unselects the "select-all" checkbox, then all checkboxes should be
          unchecked regardless of their current state.
        Show
        locolobo added a comment - My recommendation is to make the checkbox work as Nolan recommends here. User checks "select all" (all checkboxes are selected now) User unchecks any of the other checkboxes, the "select-all" checkbox should uncheck. Now if the user checks the "select-all" checkbox again, all of the checkboxes should be checked regardless of their current state. If user unselects the "select-all" checkbox, then all checkboxes should be unchecked regardless of their current state.
        Hide
        Byron Nevins added a comment -

        It sounds like this should be easy to fix.
        Not!

        Show
        Byron Nevins added a comment - It sounds like this should be easy to fix. Not!

          People

          • Assignee:
            Byron Nevins
            Reporter:
            nluu
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: