CJDViewFinder
Problem Description
Currently the only way to edit a presenter in Dolphin is to know its class name. Wildcard searching can be useful if you have a rough idea what the class is named. Often it can be hard to remember a presenter's class name in an application that consists of many different presenters. You may also need to find a presenter that you did not create, perhaps a Dolphin presenter, or a class that a coworker created. If you do not know the class name you needed to start in a known portion of the program and trace the execution path until you find the desired presenter. This can be a fair bit of work in a moderately complex application with a "deep" UI. Often one finds a small UI problem during the larger scope of testing an application. It would be nice to have a quick way of going directly to the problem presenter to make changes without having to hunt for the class. There are occasions where a view fails to close based on a normal UI request. That usually requires the developer to fall back on the "MyPresenter allInstances first view close" ditty. Sometimes you just want to take a quick peek at your presenter instance to see what's going on.
I believe I have developed a user friendly solution to all of these problems.
Tool Description
Tool Window (disregard technicolor gif effects)
This is a visual view finder tool. After the package is installed it should add a menu item (Tools\Additional Tools\CJD View Finder). The tool is used by dragging and dropping the green square over the view you wish to select. Both shells and child views can be selected so make sure the tool displays the appropriate Presenter, View and Caption (or name) as you drag.
The screen capture above illustrates the selection tool (question mark and arrow
in the lower right corner) being dragged over itself.
Browse Presenter - Open a class browser on the selected view's presenter class.
Inspect Presenter - Open an inspector on the selected view's presenter instance.
Close View - Sends the #close message to the selected view. This may change to #destroy in the future.
It can be useful for closing views stuck in a loop that prohibits a normal close.
Feedback at cdemers@mitchellscientific.com
or c.l.s.d is appreciated.
Notes
1. Close View currently sends #close, but I may change it to #destroy. Should
it have both a close and destroy, any opinions?
License & Disclaimer:
This code is freeware, not public domain, I retain the copyright. The code may be freely used and freely modified, but please don't redistributed modified versions. I may make exceptions (ask me), and I may make this more lenient in the future. For now I want to keep things simple.
This is Alpha code. Make sure you have working backups and use this code carefully. Neither I nor any entity with which I may be associated will be responsible for the use or misuse of this code. Use it at your own risk.
Download:
By downloading the code bellow you are signifying your acceptance of my license and disclaimer (above).