i) figured out how to get around a problem in the Xojo IDE. The program for the new NZ Scrabble ratings system started out with 5 tab panels, but one was dropped during the initial development. I’ve gotten to the stage where I now want to add the 5th tab panel (as number 2 of 5 left to right). It’s easy enough to use the tab panel editor to add a new panel, name it, and drag it into the desired order. But, the tab panels are not referred to by name or title internally, but by their tab panel index (left to right). So, where my tabs were previously 1-Tournament, 2-Player, 3-Awards, 4-Lists; they are now 1-Tournament, 2-Clubs, 3-Player, 4-Awards, 5-Lists. And all the controls to do with (was 2-)players are now on the new (2-)clubs panel, and all the controls to do with (was 4-)lists are now on the (4-)awards panel, with (5-)lists being blank.

It would be possible to programmatically move all the controls to their correct tabs on running the application (by modifying the TabPanelIndex property of each affected control), which would work, but would leave everything confused in the IDE for future development. It doesn’t seem to be possible to cut and paste controls from tab to tab in the IDE, or to drag and drop them similarly. There also seems to be no access to the TabPanelIndex property of controls in the IDE to manually edit which panel each control is on.

What I’ve ended up doing is, having saved the project in .xojo_project format for Git purposes, to go into MainWindow.xojo_window in a text editor, and to a find and replace all of ‘TabPanelIndex = 4’ with ‘TabPanelIndex = 5’, then ‘TabPanelIndex = 3’ with ‘TabPanelIndex = 4’, and finally ‘TabPanelIndex = 2’ with ‘TabPanelIndex = 3’. This worked perfectly - the only other bit of code to adjust was in my MainTabPanel’s change event, which is a case statement calling the appropriate initialisation for the numbered tab panel which has been switched to. I’m not sure why the IDE’s tab panel editor doesn’t do this automatically (i.e. the updating the TabPanelIndex of controls) - I may make enquiries.

ii) the second issue seems to be more an issue of a framework keeping up with an IDE than with the IDE itself. I’ve been getting set up to attempt a Vapor (server-side Swift) project. Creating a new vapor project with “vapor new ‘projectname’” on the command line seems to work fine for either building and serving from the command line or for then generating an xcode projectfile, and building and serving from within XCode. Creating a new vapor project with “vapor new ‘projectname’ –web” on the command line, i.e. using the web application template rather than the apparently default api template, also seems to work for carrying on using the command line, but falls over if you try to generate an XCode projectfile for it. I assume “vapor new ‘projectname’ –api” is equivalent to “vapor new ‘projectname’” as stated, and that the problem is with the web application template not being as up-to-date as the default api template. I will need to get to know Vapor a whole lot better to figure that out though, and the problem will probably have been fixed or superceded by then anyway, given the rate at which Swift and Vapor are changing.