Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-27218

Mouse selection using Ctrl+click then Shift+click works wrong in TileList when offscreenExtraRowsOrColumns > 0

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • Adobe Flex SDK 3.2 (Release)
    • None
    • mx: TileList
    • None
    • Affected OS(s): All OS Platforms
      Affected OS(s): All OS Platforms
      Language Found: English

    Description

      The bug is actual for latest (4.1) Flex SDK as well.

      Steps to reproduce:
      1. Run attached TileListTest.swf
      2. Scroll down for some lines
      3. Select an item using Ctrl+click
      4. Select another item using Shift+click

      Actual Results:

      Selection related to anchor item placed above the expected anchor item. Furthermore, when you select items between expected and actual anchor, all items up to top are selected.

      Expected Results:

      Selection related to anchor item chosen by Ctrl+click.

      Workaround (if any):

      Problem in ListBase.selectItem() - it has 3 execution flows:
      a) without Shift/Ctrl
      b) with Shift
      c) with Ctrl

      Cases a) and c) change anchor item, but do this in different ways:
      a)
      iterator.seek(CursorBookmark.CURRENT, _selectedIndex - indicesToIndex(verticalScrollPosition - offscreenExtraRowsTop, horizontalScrollPosition - offscreenExtraColumnsLeft));

      c)
      iterator.seek(CursorBookmark.CURRENT, index - indicesToIndex(verticalScrollPosition, horizontalScrollPosition));

      I.e. Ctrl+click selection ignores offscreenExtraRowsTop/offscreenExtraColumnsLeft.

      Changing c) case according to a) fixes the problem. Monkey patch can be used as workaround.

      Attachments

        Activity

          People

            Unassigned Unassigned
            adobejira Adobe JIRA
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: