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

showBusyCursor doesn't work with an AIR window which is not WindowedApplication because of lacking correct API in SDK

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Later
    • Adobe Flex SDK Next
    • None
    • Cursor Manager
    • None
    • Affected OS(s): All OS Platforms
      Affected OS(s): All OS Platforms
      Browser: Safari
      Language Found: English

    Description

      because of lacking of API and abstraction layer from a non UI component to a UI component, we can get correct set the set the busy cursor when a non UI component is running in a window which may not be the main window where the app started. This is a very common case in AIR.
      The only thing that a non UI component can do is directly use the CursorManager static method (reference CursorManager directly from a non UI component is debatable, but we just don't have the abstract layer anywhere).

      Even the API CursorManager.setBusyCursor() is not working as CursorManager only works with the sysytemManager of WindowedApplication.
      This code never work with the other windows.

      There are other people were requesting the same feature for the precise same reason,

      see the following discussion thread:

      http://na5.brightidea.com/ct/ct_a_view_idea.bix?c=975F47A1-B925-4456-89DB-3BEFB1DA7780&idea_id=832D7B21-69F4-4DE9-83EA-3B32EEA2243B

      In a Flex application the CursorManager can be referenced easily, but in an AIR application each Window has its own CursorManager instance. Trying to use the CursorManager.setCursor(...) function in an AIR application doesn't do anything because you need to reference the containing Window and access the Window.cursorManager reference, but that's really awkward to do in deeply nested classes, or when you're trying to make something easily portable. The CursorManager class should have an easy way of accessing Window references so that calling "setCursor" actually works by default, or is easier to implement without maintaining lists of Windows. Maybe something like CursorManager.activeWindow.setCursor(...)?
      In a Flex application the CursorManager can be referenced easily, but in an AIR application each Window has its own CursorManager instance. Trying to use the CursorManager.setCursor(...) function in an AIR application doesn't do anything because you need to reference the containing Window and access the Window.cursorManager reference, but that's really awkward to do in deeply nested classes, or when you're trying to make something easily portable. The CursorManager class should have an easy way of accessing Window references so that calling "setCursor" actually works by default, or is easier to implement without maintaining lists of Windows. Maybe something like CursorManager.activeWindow.setCursor(...)?

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment