Add conditional property after the platform property in the wxWindow properties
Description:
Anywhere the platforms property is allowed should also allow a constant conditional which if set would only include the widget if the constant is true (or false -- see comment below about a Boolean for !constant).
The tricky part is that if the constant is defined in a different module or header file, then we need to know its name -- which could be different for every language. We could handle this like a bitmap, where the constant is the same across languages and then we would use a custom property handler that would provide file names for every supported language. This could also add a Boolean flag to test whether the constant is true or false. That would make it possible to add two child controls where the !condition would effectively be added as an else. A second Boolean flag would be added for Mockup so that the user could specify whether to Mockup the widget with or without the constant being defined as true.
Perl
For Perl, we need to know the module where the constant will be defined. We would then add:
use foo_module qw($foo_constant);
where foo_module would be the name of the module with the foo_constant definition.
Python
For Python, we would need to know the name of the module and then we would add:
from foo_module import foo_constant
where foo_module would be the name of the module with the foo_constant definition.
Ruby
For Ruby, we would need to know the name of the module and then we would add:
require_relative 'foo_module'
where foo_module would be the name of the module with the constants definition.
C++
For C++, we would support an optional header file and include it if specified.
Lowering the priority -- I expect the vast majority of the cases will be for specific platforms. Changing UI for non-platform constants seems less common...