sublime_diagram_plugin icon indicating copy to clipboard operation
sublime_diagram_plugin copied to clipboard

Reload in same Viewer

Open hwinkel opened this issue 12 years ago • 12 comments

Any way to reload the resulting PNG in the same viewer window. In this case the PNG can also be overwritten IMHO. Would be better in fast iteration developing mode.

hwinkel avatar Apr 26 '13 12:04 hwinkel

Unfortunately, this is difficult to do automatically for Preview. I'm fairly sure it would require AppleScript (at least) and it would likely be buggy.

I'll leave this open for now, but I'm not sure how best to do this.

That said, comments / patches are welcome.

jvantuyl avatar Apr 27 '13 16:04 jvantuyl

Actually, it looks pretty easy. You can replace the contents the file Preview is currently displaying and it will re-render. The problem is how to handle the case of multiple diagrams

kstrauser avatar Apr 28 '13 19:04 kstrauser

being displayed at once. I could see the algorithm being something like:

if len(last_diagrams) == 1 and len(diagrams) == 1:
    reload(diagrams[0])
if lastlen != 1 and thislen == 1:
    ????

What's the right thing to do there?

kstrauser avatar Apr 28 '13 19:04 kstrauser

It'll automatically reload, sure (kpdf does the same thing). However, how to tell if it's already open? What if they closed it?

Preview is Mac-only, so the solution doesn't have to be portable. But I'm not clear on how to ensure there's an open Preview that's viewing what you want to reload, and I don't want to accidentally suppress times that we really do need to open a Preview again to accommodate the, IMO, less important "reload" case.

jvantuyl avatar Apr 28 '13 19:04 jvantuyl

I can't verify right now, but doesn't calling Preview on the same file raise the window that's already open, meaning it's "free" to explicitly call it again?

A second question: how to uniquely distinguish diagrams so that rendering diagram B doesn't cause preview to replace the contents of diagram A that it was already displaying? It's easy when Diagram is rendering an entire file, but less obvious when Diagram is rendering a selection within a file.

kstrauser avatar Apr 28 '13 19:04 kstrauser

I had appended a new feature to solve it. When I use a title in a diagram ,and specified the<<sub-title>> in the title, it can generate diagram's filename instead of NamedTemplatefile.

https://github.com/homeway/sublime_diagram_plugin/commit/df74279fb5a3319fcdb30d816462624a765a48f4

homeway avatar Sep 21 '13 09:09 homeway

#14 does indeed address this, though not quite to my liking. Mulling this one over.

jvantuyl avatar Oct 10 '13 11:10 jvantuyl

Why you doesn't using Sublime Text as a image viewer? On generating new diagram use the same file that was already opened in another tab and ST will automatically reload this.

anion155 avatar Apr 06 '15 19:04 anion155

Has this been merged in? I can't get it to work with title <> boop

smwht avatar Aug 13 '15 08:08 smwht

@homeway FYI, I merged in a modified version your feature. It will come out in the next release. Basically, using a file named something like name.py:

title <<subname>> Some File

Will output name-subname.png and give you the title rendered as 'Some File'.

It should be on develop (as of jvantuyl/sublime_diagram_plugin@268f3a7344e49fff380bd3e3c2897318b59fc734).

jvantuyl avatar Aug 13 '15 22:08 jvantuyl

@smwht When the next release comes out, title <<beep>> boop should work.

jvantuyl avatar Aug 13 '15 22:08 jvantuyl

I don't quite understand how this works, I have checked out the develop branch and made a PlantUML diagram named name.py and added title <<subname>> to the top.

However, when rednering, it still outputs unique png files called name-nmg308.png,name-tvypyt.png, etc.

Is there something I'm missing it getting them always to overwrite the same file name?

OS X 10.9.5 SublimeText 3 (Latest)

zeigerpuppy avatar May 24 '16 06:05 zeigerpuppy