extending rational apex extending rational apex
play

Extending Rational Apex Extending Rational Apex Greg Bek Greg Bek - PowerPoint PPT Presentation

Extending Rational Apex Extending Rational Apex Greg Bek Greg Bek gab@rational.com gab@rational.com Rational Apex - A quick overview Rational Apex - A quick overview Rational Apex is an integrated development Rational Apex is an


  1. Extending Rational Apex Extending Rational Apex Greg Bek Greg Bek gab@rational.com gab@rational.com

  2. Rational Apex - A quick overview Rational Apex - A quick overview � Rational Apex is an integrated development � Rational Apex is an integrated development environment for Ada and mixed language applications environment for Ada and mixed language applications � Apex includes: � Apex includes: � High performance optimizing compiler � High performance optimizing compiler • Supports incremental compilation • Supports incremental compilation � Integrated Configuration Management and Version Control � Integrated Configuration Management and Version Control • ClearCase • ClearCase • Summit/CM • Summit/CM � Integrated Editor/Browser/Debugger � Integrated Editor/Browser/Debugger � Extensive customization facilities � Extensive customization facilities

  3. Customizing Apex Customizing Apex � Apex can be extended or customized by a single user or � Apex can be extended or customized by a single user or an entire project an entire project � This presentation will briefly outline some of them � This presentation will briefly outline some of them � X-defaults � X-defaults � User preferences for the GUI � User preferences for the GUI � Menus and Dialogs � Menus and Dialogs � Configuration Management process � Configuration Management process � Configuration Management attributes � Configuration Management attributes � Code Rule Checker � Code Rule Checker

  4. Reference Material Reference Material � Most of the customizations described in this � Most of the customizations described in this presentation are described in the online Apex manuals presentation are described in the online Apex manuals Using and Customizing the GUI Using and Customizing the GUI or or Using and Customizing Summit/CM Using and Customizing Summit/CM

  5. Apex Servers Apex Servers � Apex is a co-operating set of server processes, each � Apex is a co-operating set of server processes, each with a specific job with a specific job � Ada Server � Ada Server � Text Server � Text Server � Dialog Server � Dialog Server � Directory Server etc. � Directory Server etc. � To update a running Apex session with new � To update a running Apex session with new customizations requires that the appropriate server gets customizations requires that the appropriate server gets shutdown shutdown � The server will restart automatically next time it is � The server will restart automatically next time it is needed needed

  6. Apex Servers Apex Servers � Shutdown a server from the Servers Window � Shutdown a server from the Servers Window � Shutdown a server from the Servers Window � Shutdown a server from the Servers Window � Shutdown a server from the Servers Window � Shutdown a server from the Servers Window � Shutdown a server from the Servers Window � Shutdown a server from the Servers Window � Navigate:Jobs � Navigate:Jobs � Navigate:Jobs � Navigate:Jobs � Navigate:Jobs � Navigate:Jobs � Navigate:Servers � Navigate:Servers � Navigate:Servers � Navigate:Servers � Select Server and then � Select Server and then File:Shutdown or File:Shutdown or Shutdown from pop-up Shutdown from pop-up Menu Menu

  7. Apex X-defaults Apex X-defaults � Apex on UNIX is a well behaved X-windows application � Apex on UNIX is a well behaved X-windows application � The application name for Apex is “Rational” � The application name for Apex is “Rational” � In your personal .Xdefaults file all settings for � In your personal .Xdefaults file all settings for Apex should be prefixed by “ Rational* ” Apex should be prefixed by “ Rational* ” � Rational*main_apex_panel*geometry: -0+100 � Rational*main_apex_panel*geometry: -0+100 � Extensive person customizations are best stored in an � Extensive person customizations are best stored in an application specific file application specific file � $HOME/Rational � $HOME/Rational � No need to prefix entries by “ Rational* ” � No need to prefix entries by “ Rational* ” � Product defaults are stored in � Product defaults are stored in � $APEX_HOME/app-defaults/Rational � $APEX_HOME/app-defaults/Rational

  8. Apex X-defaults - Some favorites Apex X-defaults - Some favorites Rational*main_apex_panel*geometry: -0+100 Rational*main_apex_panel*geometry: -0+100 Rational*jobs*geometry: -0-0 Rational*jobs*geometry: -0-0 Rational.jobs*workArea*visibleItemCount: 3 Rational.jobs*workArea*visibleItemCount: 3 Rational*jobsWindowIconify: true Rational*jobsWindowIconify: true Rational*output*geometry: +0-0 Rational*output*geometry: +0-0 Rational*debugger.log*debugSource: True Rational*debugger.log*debugSource: True Rational*XmRowColumn.TearOffModel: Rational*XmRowColumn.TearOffModel: XmTEAR_OFF_DISABLED XmTEAR_OFF_DISABLED

  9. Apex Editor Coloring - New in Apex UNIX 4.0 Apex Editor Coloring - New in Apex UNIX 4.0 *languageCommentsForeground: olivedrab *languageCommentsForeground: olivedrab *languageKeywordsForeground: sienna *languageKeywordsForeground: sienna *languageStringsForeground: Blue *languageStringsForeground: Blue Disable by setting the environment variable Disable by setting the environment variable APEX_NO_ADA_LANGUAGE_MARKS true APEX_NO_ADA_LANGUAGE_MARKS true

  10. Editor Key Bindings Editor Key Bindings � Apex editors are built using Motif Text-Widgets � Apex editors are built using Motif Text-Widgets � Key bindings are changed through the X-defaults � Key bindings are changed through the X-defaults � Please remember, Xdefaults are absolute, not additive � Please remember, Xdefaults are absolute, not additive � Eh? You can’t just put a single line in your X-defaults to � Eh? You can’t just put a single line in your X-defaults to change a key, you must replicate the entire binding out of the change a key, you must replicate the entire binding out of the product default area product default area *XmText.translations: #override\ *XmText.translations: #override\ Ctrl <Key><: Ctrl <Key><: perform(beginingOfSelection)\n\ perform(beginingOfSelection)\n\ Ctrl <Key>>: perform(endOfSelection)\n\ Ctrl <Key>>: perform(endOfSelection)\n\ Ctrl Meta <Key>f: forward-word()\n\ Ctrl Meta <Key>f: forward-word()\n\ Ctrl Alt <Key>f: forward-word()\n\ Ctrl Alt <Key>f: forward-word()\n\ Ctrl <Key>f: forward-character()\n\ Ctrl <Key>f: forward-character()\n\ Ctrl Meta <Key>b: backward-word()\n\ Ctrl Meta <Key>b: backward-word()\n\

  11. Editor Key Bindings - My favorites Editor Key Bindings - My favorites � Fix the “Delete” key to act like windows - Delete � Fix the “Delete” key to act like windows - Delete Character Right Character Right *XmText.translations: #override\ *XmText.translations: #override\ ... ... <Key>Delete: delete-next-character()\n\ <Key>Delete: delete-next-character()\n\ ... ... <Key>osfDelete: delete-next-character()\n\ <Key>osfDelete: delete-next-character()\n\ ... ...

  12. Editor Key Bindings for Menu Operations Editor Key Bindings for Menu Operations � Work through X-defaults as well � Work through X-defaults as well ! Bind semanticize and complete where they were on the ! Bind semanticize and complete where they were on the ! R1000 rational access keymap ! R1000 rational access keymap ! ! Rational*menuBar*semanticize.accelerator: Shift<Key>F9 Rational*menuBar*semanticize.accelerator: Shift<Key>F9 Rational*menuBar*semanticize.acceleratorText:Shift+F9 Rational*menuBar*semanticize.acceleratorText:Shift+F9 Rational*menuBar*complete.accelerator: Shift<Key>F6 Rational*menuBar*complete.accelerator: Shift<Key>F6 Rational*menuBar*complete.acceleratorText:Shift+F6 Rational*menuBar*complete.acceleratorText:Shift+F6

  13. Editor Key Bindings for Menu Operations Editor Key Bindings for Menu Operations !! Bind the normal editing operations to the block of 10 !! Bind the normal editing operations to the block of 10 keys keys !! on the left of a sun keyboard !! on the left of a sun keyboard !! !! Rational*menuBar*cut.accelerator: <Key>F20 Rational*menuBar*cut.accelerator: <Key>F20 Rational*menuBar*cut.acceleratorText: Cut Rational*menuBar*cut.acceleratorText: Cut Rational*menuBar*paste.accelerator: <Key>F18 Rational*menuBar*paste.accelerator: <Key>F18 Rational*menuBar*paste.acceleratorText: Paste Rational*menuBar*paste.acceleratorText: Paste Rational*menuBar*copy.accelerator: <Key>F16 Rational*menuBar*copy.accelerator: <Key>F16 Rational*menuBar*copy.acceleratorText: Copy Rational*menuBar*copy.acceleratorText: Copy Rational*menuBar*undo.accelerator: <Key>F14 Rational*menuBar*undo.accelerator: <Key>F14 Rational*menuBar*undo.acceleratorText: Undo Rational*menuBar*undo.acceleratorText: Undo Rational*menuBar*redo.accelerator: Shift<Key>F14 Rational*menuBar*redo.accelerator: Shift<Key>F14 Rational*menuBar*redo.acceleratorText: Shift+Undo Rational*menuBar*redo.acceleratorText: Shift+Undo

Recommend


More recommend