We need to be able to alter the base paths on these folders as some controls are instance based so the paths will change dependant on what else is open at that time.
However, while changing the base path on the parent folder is fine, we also have to change the base path on every child folder too! Inspecting the generated C# code shows that every folder at any level has the base path hard coded into the constructor of the folder class.
For example
I have a rooted folder
Code: Select all
public SomeRootFolder(RepoGenBaseFolder appFolder) :
base("SomeTabControl", "container[@caption='']/element/element[@class='DockingView' and @instance='1']/*/*", appFolder, 5000, true)
{
_setup = new SSMSRepoFolders.SetupFolder(appFolder);
}
Code: Select all
public partial class SetupFolder : RepoGenBaseFolder
{
/// <summary>
/// Creates a new Setup folder.
/// </summary>
public SetupFolder(RepoGenBaseFolder appFolder) :
base("Setup", "container[@caption='']/element/element[@class='DockingView' and @instance='1']/*/*", appFolder, 5000, true)
{
...
}
So to change the basepath in the rooted folder means I have to also change the base path on every sub folder.
Expected behaviour:
I should be able to change the base path on a rooted folder then have this inherited through any sub folders.