On Sep 7, 2010, at 2:21 PM, ghostwheel wrote: > > Another message about the R to TeXmacs interface. > > 1. Graphics > The TeXmacs interface allows the user to directly insert graphics into the > session. > > Since I am not very familiar with programming for R, I implemented the > interaction with graphics in a very primitive way. It was two modes of > working: with X11, and without (for example when working remotely through > ssh without forwarding X11). > > In both cases the user has to invoke a command, v(), in order to insert the > current graph into the buffer at the current place. > > With X11, the way it works is that when v() is invoked I call recordPlot(), > then open a postscript file, then replayPlot(), and then close the > postscript file and insert it into the session. > > Without X11, I open a postscript file ahead of time, then when v() is > called, I close it, and insert it into the session, and then open a new > postscript file. > > Obviously quite primitive.I think ideally would be if everything was > transparent to the user - the user does a plot, and the plot is inserted > into the buffer right away, and later, updates to the same plot update the > original plot where it is. But to be able to do that I need to be able to > generate the postscript file of the current plot, and be notified somehow > whenever the plot changes. > > Is all that possible? Is there a better way to implement this all? >
I don't know the mechanics of the actual "inserting" in TeXmac but it would be trivial to simply create a copy of the plot as EPS (or whatever is needed) at the time of insertion. See dev.copy2eps() for a function that does exactly that. > 2. Libraries > > A remotely related question is this: the interface with TeXmacs generates > menus that depend on the currently loaded libraries. Libraries are not "loaded" (see .libPath() for handling libraries) - but chances are that you meant packages... > I'd like to be able to > update the menus whenever a new library is loaded. Is there a possibility to > have a function called whenever this happens? Or would it be advisable to > change the global 'library' function? > I would strongly advise against the latter. A reasonably simple way would be to check the search path - if it changed a package has been loaded. A natural place to do such check would be in a top-level task handler for example. Cheers, Simon ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel