Change CellTags with FrontEnd
- To: mathgroup at smc.vnet.net
- Subject: [mg68416] Change CellTags with FrontEnd
- From: "mqh" <mhla at gmx.at>
- Date: Fri, 4 Aug 2006 03:59:30 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I'd like to change the celltags of several cells that are not adjacent via a program (not via the menu). Doing this for one cell is no problem: I use a rule like {Cell[a_, st_String, b___, CellTags -> tgs_, c___] :> Cell[a, st, b, CellTags -> Union[Flatten[{tgs, newtag}]], c], Cell[a_, st_String, b___ /; FreeQ[{b}, CellTags, \[Infinity]]] :> Cell[a, st, b, CellTags -> settag]}. The problem arises now if several cells are selected: I read them in, apply the rule and paste them back, but the new cells appear now at the wrong place. One can simply imitate this behaviour of M by selecting several not adjacent cells and doing copy and paste: One will see that the cells are pasted at the wrong place. Doing the same thing via the menu entry Find > Add/Remove Cell Tags this is no problem at all. So it appears to me that a solution using the FrontEnd would be the best thing. But: I can find no documentation about a FrontEndToken like "AddCellTags". The best thing I can do is use FrontEndTokenExecute[CellTagsEditDialog] to open the dialog to change CellTags, but this is not what I want. So can anybody tell me if there is an additional FrontEndToken that can do what I want or has another idea? It should work for M4.0 - M5.2.