= Render dia and vdx files = == Description == This plugin automatically creates a bitmapped render of [http://live.gnome.org/Dia Dia] and MS Visio VDX diagrams when attaching them to objects in Trac. This has taken the original DiaViewPlugin and modified it for use with Trac 0.11, and at the same time included support for vdx and compressed files. It has had very little testing. It has been set up as a separate hack to the original DiaViewPlugin so as not to break DiaViewPlugin for Trac < 0.11. If the width was changed in the macro argument the displayed image would scale, however the source file stayed the same. To overcome this the width is checked using the image library, and if different it is re-rendered. Please see the link below for the image library. http://www.pythonware.com/products/pil/ == Bugs/Feature Requests == Existing bugs and feature requests for DiaVisViewPlugin are [query:status!=closed&component=DiaVisViewPlugin&order=priority here]. If you have any issues, create a [/newticket?component=DiaVisViewPlugin&owner=robert_martin new ticket]. == Download and Source == Download the [download:diavisviewplugin zipped source], check out [http://trac-hacks.org/svn/diavisviewplugin using Subversion], or [source:diavisviewplugin browse the source] with Trac. == Example == To install download the archive, then either $ python setup.py install or copy it to the plugins directory of the particular project Do not forget to '''enable''' the '''macro''' in trac.ini in the components section like this: {{{ diavisview.* = enabled }}} Also ensure that '''dia''' (diagram editor) and the '''Python Imaging Library''' (cf. link above) are installed. Attach a file you wish to display to the page as per normal. The files can be either dia or vdx, compressed or uncompressed. Make suitable macro entries in the page. If a number is given after the filename it will be taken as the width. Please see the main image macro for all the options. ![[DiaVisView(Diagram1.dia)]] ![[DiaVisView(Diagram2.vdx, border=5)]] == Recent Changes == [[ChangeLog(diavisviewplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:robert_martin] [[BR]] '''Maintainer:''' [wiki:robert_martin] [[BR]] '''Contributors:''' arkemp == Bug Report == It seems that each time when you refresh the page, the png file would generate automatically if you haven't set the png file width on the wiki. Here is my solution: Change the code {{{ if (dia_mtime > png_mtime) or (existing_width != width): }}} to {{{ if (dia_mtime > png_mtime) or (existing_width != width and width != None): }}} That's all.