Hi, I’ve had this problem since I started using VASSAL (which only started with 3.1.0 beta5), but I noticed that you can only select one item (i.e., one card, one game piece, one toolbar menu, etc) while in the module editing window, and this can be extremely inconvenient, especially if moving multiple similar components to the same place, etc. What would be really nice is if a multi-select functionality, like the one that already exists for in-game pieces, could be added to the Editor.
Do you have a sugestion for how pasting of multiple items should work? E.g.,
suppose I copy a node and its grandchild, what should I get when I paste
them?
Well, I don’t know about that, I suppose you could automatically copy the structure that allowed for the grandchild (i.e. the “child”, the step in between), and therefore it would be something like
[Map Window] → [Map Boards (not copied)] → [Board]
But then again, if that’s too difficult to handle, you could just make it a single-level multi-select, i.e., when copying a deck window, which happens to have a 40-card deck, I have to go through and manually delete every card individually (which is even harder without the delete button working), whereas I would like to be able to delete all the cards at once, without having to delete the deck itself.
Of course, if it’s going to be any bit similar, the deck window copy would still need all the things that made the original deck window work. However, if these particular elements (e.g. the the Map board sub-structure) were not copied, you could then paste a generic version of them (as if you’d just created a new Map Window instead of copy/pasting).
The same structure pasting would work with Grandchild nodes, though I can’t think of any possibilities of making that deep a structure atm.
However, this can get very complicated. I would settle for a single-level multi-select (different map windows/toolbar menus/etc. or all the cards in a single deck) for deletion or moving purposes.
In general, the dev team gives more emphasis to game-time features than time-saving features in the editor. In this case, a semi-reasonable workaround is to copy the entire top-level component (the Map Window in your example) and then delete the parts you didn’t want.
I suspect that there will be situations when a nonselected node which
is both an ancestor and a descendant of selected nodes is also unique,
and so it won’t be possible to create a new one when you paste.
Also, what about if you’re pasting into somewhere where only a portion
of the items can legally go?
There’s always the possibility of restricting pastes of whole selection that contains a portion that can’t legally go where you’re trying to put it (I still can’t think of a specific situation that would fit this particular description using VASSAL’s current setup). And, if a structure that would exclude a unique/unreplicable descendant would also be restricted (again, example? if I had more concrete situations to work with, I’d be able to give better rules to suit them). Or, you could automatically add the unique node to the copied structure, or prompt the user to select that as well, since it is unreplicable.
Unfortunately no. If it was easy, we would have done it already. The code was not written with multi-select support in mind it is a significant project to implement.
B.
Brent Easton
Analyst/Programmer
University of Western Sydney
Email: b.easton@uws.edu.au