Multi-select in the Edit window

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.

Thus spake “Molokai”:

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?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

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.

Sorry for the double-post, but this needs to be in its own reply.

If the module structure looks thusly: (* = selected for copy/pasting)

[Module] Deck Window[Map Window]* [Deck] [Card1] [Card2]* [Card3] [Card4] [GKC]*

The new module structure, including the pasted nodes, would then would look thusly:

[Module] Deck Window[Map Window]* [Deck] [Card1] [Card2]* [Card3] [Card4] [GKC]* Deck Window Copy[Map Window] [Deck] [Card2 Copy] [GKC Copy]

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.

rk

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Rodney Kinney”:

This is a feature I want myself, but I’d like to be clear on how it should
work before trying to code it.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Then how did I do? Was the ruleset fairly reasonable? Any situation I missed?

Thus spake “Molokai”:

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?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

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.

But in the meantime, you could still easily add a single-level multi-select, right? That’s all I was wanting in the first place.

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


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)