PackageDescription: RBBlueMagic
RB Blue MagicLast published: June 25, 2011 by 'eperez'
Defines 11 Classes
Extends 22 Classes
This package provides quick RB navigation facilities accessed thorough the middle mouse button ("window" button, blue button, whatever...).
Quick Config? Evaluate: BlueMagicBasicConfig open.
It started as a link-like navigation complement to work with RBTabbedToolset and RBrowserHistory in order to give the refactoring browser a FireFox look&feel (check the tip in last part of this comments).
FEATURES:
- In the Source tab, the middle click acts upon the source code.
- In the browser navigator the middle click acts upon pointed node (class/method/protocol/packages).
- You can use ctrl, shift and alt keys to modify the behavior of the middle click.
- At the moment there are more than 30 possible actions to use between the source code and the navigator, including (but not limited to) the following:
- Method/class quick browsing.
- Rename, extract and inline refactorings.
- Method/class inspection using the correct inpector/editor depending on the resource type.
- New classes/methods/v.i. definition and spell corrector.
- You can see them all and change the modifiers assigned to them in the config app.
- There are 8 possible combinations (ctrl|alt|shift) for each context of selection (class,method,protocol, etc) so you can configure lots of actions for the browser.
- If no action is defined for the combination, the middle button will work as usual (window menu).
- New behavior possibilities for middle clicking in the code (point and click/dragging selection).
- If RBrowserHistory is loaded, alt+wheel goes back and forth the history.
- Middle Click on a tab closes it.
NOTES:
- Will only work properly in new opened browsers.
- Some overrides, for compatibility with other addons check them.
- RBCodeHighlighting and RBTabbedToolset are prereqs to exploit the source code and tab functionality.
- RBTabbedToolset-ext from Lautaro "The Tab Guru" Fernandez also loaded to perform some tab-specific functionality.
NEW MIDDLE CLICK BEHAVIOR:
- Different policies to select code with the middle-click. Some examples:
- Middle button can be static and ignore the mouse pointer, you have to left-click to select and then middle-click to work the magic.
- Middle button can be relative to the mouse pointer, but don't move the cursor from its actual position.
- Middle button can select and deselect with point and click, just like the left button.
- Middle button can select the code in which it will act dragging the mouse over the selection.
- Press to start selecting.
- Release to act upon selection.
- This mode enables extract refactorings with just one click!
ACTIONS EXAMPLES:
-These are some examples of the most used actions with the default config:
- Clicking a class or a method opens class/method in new inactive tab.
- [Clicking + CTRL + ALT] Navigates to class/method within the same browser.
- A selection list will be shown if selector has more than one implementor.
- If a chunk of code is selected it runs the Extract to method refactory.
- Rename almost anything with [Alt + Middle-Click].
- Check the config app for the rest.
CONFIG:
- To configure the controller go to the the settings page under System>>Settings>>Tools>>Browser>>Blue Magic .
- There are two versions of the config application.
- I recommend you to start with the basic one:
- It's easier, divides the actions into categories so you wont have to define 30 different combinations to use them.
- It also helps to keep consistence for the effects of the modifier keys (same key has the same effect in different contexts).
- When you get the hang of the Blue Magic functions, you can move on to the advanced action options if it suits you better:
- This one allows you to define single actions for each context/key combinations.
- A bit more tricky but way more powerful than the basic one.
THANKS TO:
- Lautaro Fernandez author of the Blue Magic icon and two other great plugins (NewVasillisIcons and RBTabbedToolsets-Ext which i use here).
- Sebastian Perez Escribano that has been beta testing the plugin for some time now.
------------------------------------------------------
EXTRA TIP:
RBrowserHistory and RBTabbedToolset don't work together, both packages override the same method so they exclude each other.
To make them work in the same image you have to load them and then redefine the following method like this:
RefactoringBrowser>>postOpenWith: aBuilder
super postOpenWith: aBuilder.
self addFind.
self addHistory.
self addToolsetsTabs.
self updateToolbar.
(RBHistoryCompatibility currentToolFrom: self) updateDisplay.
self enableHistoryButtons
------------------------------------------------------
Author:
Emiliano Pérez
Contact:
emiliano.perez@lifia.info.unlp.edu.ar