ICEpdf
  1. ICEpdf
  2. PDF-81

Support MacOS (OS X) menus in the ICEpdf Viewer RI application

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 4.0 - Beta, 4.0
    • Component/s: Viewer RI
    • Labels:
      None
    • Environment:
      Mac OS X
    • Affects:
      Sample App./Tutorial, Compatibility/Configuration

      Description

      When running the ICEpdf Viewer RI Swing application on OS X platforms the application menus are not adjusted to meet Mac UI expectations. Further integration work should be done to make the ViewerRI behave in a more Mac-like manner.

      Specifically:

      - The application menu should appear at the top of the desktop (Mac menubar) instead of inside the application window frame.
      - The application name should appear in the leftmost menu-item of the Mac menubar.
      - The native Mac application menu in the desktop menubar should be integrated with the application to support the "About" and "Quit" functions.
      - The application menubar should *not* display the "About" or "Exit" menuitems when running on a Mac, as these are part of the native Application menu.

       

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #19683 Fri Nov 13 10:42:00 MST 2009 ken.fyten PDF-81 - Improve MacOs integration for the ViewerRI menus.
        Files Changed
        Commit graph ADD /icepdf/trunk/icepdf/lib/AppleJavaExtensions.jar
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/viewer/Launcher.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #19684 Fri Nov 13 10:57:41 MST 2009 ken.fyten PDF-81 - Add license file for AppleJavaExtensions.jar.
        Files Changed
        Commit graph ADD /icepdf/trunk/icepdf/docs/licenses/AppleJavaExtensions-License.txt
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #19685 Fri Nov 13 11:22:24 MST 2009 ken.fyten PDF-81 - Add license info for AppleJavaExtensions.jar, plus updated format for ICEpdf v4.0.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/lib/versions-licenses.html
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #19686 Fri Nov 13 11:23:07 MST 2009 ken.fyten PDF-81 - Remvoe license file for AppleJavaExtensions.jar, added link to /lib/versions-licenses.html file instead.
        Files Changed
        Commit graph DEL /icepdf/trunk/icepdf/docs/licenses/AppleJavaExtensions-License.txt
        Ken Fyten created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 4.0 [ 10212 ]
        Affects [Sample App./Tutorial, Compatibility/Configuration]
        Affects Version/s 3.0 [ 10180 ]
        Affects Version/s 4.0 [ 10212 ]
        Hide
        Ken Fyten added a comment -

        Fixed.

        All code is still multi-platform friendly, but had to add a new .jar to the lib folder for this: AppleJavaExtensions.jar. This is a stub-jar of the required Apple OS APIs and is not required at runtime, just compile-time on non-Mac platforms.

        Added: icepdf/lib/AppleJavaExtensions.jar
        Modified: icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java
        Modified: icepdf/viewer/src/org/icepdf/ri/viewer/Launcher.java
        Committed revision 19683.

        Show
        Ken Fyten added a comment - Fixed. All code is still multi-platform friendly, but had to add a new .jar to the lib folder for this: AppleJavaExtensions.jar. This is a stub-jar of the required Apple OS APIs and is not required at runtime, just compile-time on non-Mac platforms. Added: icepdf/lib/AppleJavaExtensions.jar Modified: icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java Modified: icepdf/viewer/src/org/icepdf/ri/viewer/Launcher.java Committed revision 19683.
        Ken Fyten made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #19687 Fri Nov 13 12:57:18 MST 2009 ken.fyten PDF-81 - Add MacOS menu event handler class.
        Files Changed
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/MacOSAppMenuEventHandler.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #19688 Fri Nov 13 15:06:11 MST 2009 ken.fyten PDF-81 - Add MacOS menu event handler class + integration, remove AppleJavaExtensions.jar.
        Files Changed
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingController.java
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/apple/dts/samplecode
        Commit graph MODIFY /icepdf/trunk/icepdf/lib/versions-licenses.html
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/apple/dts/samplecode/osxadapter/OSXAdapter.java
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/apple/dts
        Commit graph DEL /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/MacOSAppMenuEventHandler.java
        Commit graph DEL /icepdf/trunk/icepdf/lib/AppleJavaExtensions.jar
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/apple
        Commit graph MODIFY /icepdf/trunk/icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java
        Commit graph ADD /icepdf/trunk/icepdf/viewer/src/apple/dts/samplecode/osxadapter
        Hide
        Ken Fyten added a comment -

        Looks like the AppleJavaExtensions.jar doesn't include the com.apple.mrj package...

        Show
        Ken Fyten added a comment - Looks like the AppleJavaExtensions.jar doesn't include the com.apple.mrj package...
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Assignee Patrick Corless [ patrick.corless ] Ken Fyten [ ken.fyten ]
        Hide
        Ken Fyten added a comment -

        Okay, got rid of the AppleJavaExtensions.jar altogether, replaced with a little utility class from Apple that uses introspection to invoke the necessary callbacks, etc.

        Deleted: icepdf/lib/AppleJavaExtensions.jar
        Deleted: icepdf/viewer/src/org/icepdf/ri/common/MacOSAppMenuEventHandler.java
        Modified: icepdf/lib/versions-licenses.html
        Added: icepdf/viewer/src/apple/dts/samplecode/osxadapter/OSXAdapter.java
        Modified: icepdf/viewer/src/org/icepdf/ri/common/SwingController.java
        Modified: icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java
        Committed revision 19688.

        Show
        Ken Fyten added a comment - Okay, got rid of the AppleJavaExtensions.jar altogether, replaced with a little utility class from Apple that uses introspection to invoke the necessary callbacks, etc. Deleted: icepdf/lib/AppleJavaExtensions.jar Deleted: icepdf/viewer/src/org/icepdf/ri/common/MacOSAppMenuEventHandler.java Modified: icepdf/lib/versions-licenses.html Added: icepdf/viewer/src/apple/dts/samplecode/osxadapter/OSXAdapter.java Modified: icepdf/viewer/src/org/icepdf/ri/common/SwingController.java Modified: icepdf/viewer/src/org/icepdf/ri/common/SwingViewBuilder.java Committed revision 19688.
        Ken Fyten made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 10222 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Ken Fyten
            Reporter:
            Ken Fyten
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: