In some ways, the CB way is just as good; but, in many ways I think it would be cleaner to just choose the MCUTYPECODE portion without the compiler option prefix of -mcu.
Hopefully when we start to fully utilize the wxpropgrid component in the flags we will be able to just have a combobox with the list of devices or architectures supported by the compiler.
I don't think we need another tab for this.
I agree, a dedicated tab for the device would clutter the interface imo and won't apply to all the supported compilers. In the end the device (and the valid devices list) should be specific to the compiler/assembler and it is not needed for a desktop compiler.
Afaik current implementation lets the user to choose the device from a list in the project wizard related to the architecture (avr and mcs51 versions at least). I think this is the way it should be as choosing the device from somewhere else can interfere with the wizard script and worse result in a device mismatch.
But Tim has an important point here. The device should be defined somehow for an embedded compiler to perform any operation. The only place I can think of that a device won't be defined initially is an 'empty project' with an embedded compiler where the user is left to configure project settings manually. New project wizards for supported compilers might overcome this problem though.