Now that we've got pretty colored icons, I thought it'd be nice to have a slightly more modern looking default color scheme than black on white. Alas, like everything else in ArgoUML, this is not a simple task, but I've taken enough steps towards the goal that someone with a good eye for color could have a play with changing the color scheme.
As a first step, all the hardwired colors which were scattered throughout the code have been replaced constants from ArgoFig which should allow for experimenting with new color schemes (and line widths) by changing a few constants in a central location. Some next steps include: 1. Track down all the places where these are not being used. I've started this process, but it needs more work. A good way to do this is to choose a pastel or translucent or other unusual color scheme (and a wide line width) which will make places where GEF defaults are being used more obvious. Since I think I've found all the hardwired colors, this will mostly be places where a) colors aren't being specified in a GEF Fig constructor or b) line widths aren't being set after construction. 2. Fix positioning code which uses hardwired magic numbers. Earlier ArgoUML coders were in love with their magic numbers, so they're scattered throughout the code. Anyplace using +1 or -1 should be reviewed to see if what they really mean is +LINE_WIDTH or -LINE_WIDTH. Other places will be harder to find like where 20 and 19 are both used because the programmer "knew" that the line width is 1 and 19==20-1. 3. Get GEF to fix (or work around) places where defaults can't be overriden (e.g. all edges are hardwired to a width of 1 and can't be changed). 4. Choose a new color scheme. This is the fun part. All modern GPUs have alpha channel support, so this could even use a little bit of translucency. 5. Replace constants with values from the DiagramSettings object so that ArgoFig.LINE_COLOR becomes getSettings().getLineColor(). 6. Make control of DiagramSettings objects more fine grained. Start with per-diagram settings, then add style sheets (perhaps with style sheets tied to stereotypes or element types or ...) Tom ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=1005916 To unsubscribe from this discussion, e-mail: [[email protected]].
