I've just added a new module type to my custom language plugin and, as part of that work, I'm modifying the project/module creation wizards. I have this working quite well except for one thing (actually two, but I have a workaround for one). It's important that the project root and module content roots not be the same directory. In the project settings step of the wizard during project creation, the top of the screen has text fields for the project name and project root directory and the bottom of the screen has text fields for the module name, content root, and IML file location. I want to validate the values of these fields before letting the wizard proceed, but I'm having trouble figuring out how to do so.
I can get the module file path in my module builder but not the module content root or the project root (again, particularly during new project creation when the project is null). Even if I could find this information, I also can't figure out the right way to hook into events so that I can prevent the Next/Finish actions from being allowed when the provided information is invalid, ideally in a graceful manner.
While we're on the topic, is there some way to force the module settings to be expanded/displayed in the ProjectSettingsStep when creating a project? Obviously I could dig through the Swing component hierarchy to find the correct components, but that's very hacky and fragile.
Any guidance on how to do this is much appreciated!