nasa/mct — pull request #170 by VWoeltjen (2013-09-04 16:54:13+00:00)
Title: [Scenario] Add & colorize new icons

Submitted to support nasa/MCT-Plugins#54.

This is a partial implementation of nasa/mct#145, but not complete. This "quick fix" approach has been taken to resolve usability concerns in the Scenario distribution (wherein the inability to distinguish component types easily has been cited as problematic for scenario-building)

Specifically omitted:

* Icons do not exhibit variant behavior depending on context (drop shadow, color changes)
* Icons do not match specific color identified in specification (instead, a similar color that looks OK in all the locations where icons are seen is used)

Instead, these icons appear as blue with a drop shadow (drop shadow helps preserve visibility on all backgrounds.)

Additionally, this adds "generated" icons. These appear similar to the previous default icon, but vary in appearance depending on the hash code of a component's class name. This allows components to be distinguished visually (at least in a "this is like this, this is not like that" sense) even if no icon has been provided.

Most of this code will be significantly reorganized or removed when nasa/mct#145 is implemented in earnest (as a complete implementation of nasa/mct#145 is a good opportunity to do work toward Swing dependency-breaking nasa/mct#155)

Wrote or re-wrote unit tests (Y/N): Y
Ran entire suite of unit tests successfully (Y/N): Y
Verified bug fix with the described replication steps or verified the implementation meets the requirement cited (Y/N): N (partial impl. to address immediate usability concerns)
Code coverage requirements satisfied (new code=80%, changed code=at least as high as existing) (Y/N): Y
Code review date and attendees: Code review by pull request
Describe potential impact on other areas of the code: Icons (used in trees, inspector, create menu)
Describe any test prerequisites for this fix (e.g., restart the database): N/A
For bugs marked "Regression - Yes", describe the cause of the regression: N/A
Did you modify any pom.xml file? If yes, did you thoroughly document your changes and reasons? N