Ok, sorry. On further inspection it is true that I can adjust the stroke info for the path that my plugin group has subsumed. I guess the problem I was having is that I can adjust the line width using the option menu in the stroke tab, but the default (at the top of the screen) options available for that path no longer include the fill/stroke options. |
That make sense; the control panel at the top displays items based on the selected art. Technically, plugin art has no stroke or fill since they could literally be anything.
So I start with a path, and the options at the top included fill/stroke/opacity/basic dimensions. When I (like drop shadow) put that path under my plugin group the options at the top reduce to just the opacity and basic dimension information. The selection text either says it's a Plugin Object (if I select the whole path) or a Path if I select just some parts of the path, but I never get the fill/stroke options. Because I can actually adjust the stroke options without unmaking/remaking the group object (over in the stroke tab), and my plugin reacts properly I guess this issue has gone from "major issue that will make my pluin un-usable" to "minor issue that might confuse first time users, and is modestly annoying." So I guess my question has reduced down to: Is there a way that my plugin object can still get the stroke/fill options in that option bar at the top? (Sorry my illustrator terminology isn't up to par... So this probably isn't the right term for that space.) |
The terminology is 'control panel' I believe
As for getting stroke & fill to appear up there? Its technically possible, but you'd need to be able to talk to the control panel via the SDK - currently there is no header, unfortunately, for doing so. I think you're out of luck, at least for the moment, unless someone from Adobe can help you out. Without that there's no way to let the control panel know what it should be showing, at least as far as I know.
Right now I have no clue how to debug a plugin. I've resorted to handing around a FILE * and fprintf'ing into that, and then looking at the file after a run. Which is a pretty painful way to debug. :b |
Debugging isn't too hard. Just make sure you point your debugger at Illustrator.exe. If you're building debug builds, after that it should respect any breakpoints you set.
I did manage to get the plugin up and functioning this morning. (With a few bugs still in it.) Because the debugging/development cycle for the plugin was so painfully I actually developed all the functionality for the plugin in python using pygame, and some data structs that imitate the illustrator structs. I then did super quick iterative development in python, and then only had to translate all that into C++ and debug the few errors I introduced in the translation process. Kind of crazy, but my machine that has Illustrator on it is pretty slow and the compile/relaunch illustrator poke though the fprintf goat entrails in my output file debugging cycle is super painful. Not a good way to visually debug a ton of tricky math, etc. The python trick has really made that part lots of fun. |
I haven't worked with Python in a few years, but I definitely enjoyed working with it!