Styling inside the DITA Map Manager

Hello, We are trying to show users the result of a DITA Map comparison (two input maps, in the result map we want to show users which topics are added/deleted/changed). We use @status on the topicrefs for example: <map> <title>DITA Topic Map</title> <topicref href="topic1.xml" status="changed"/> <topicref href="topic2.xml" status="new"/> </map> When the map is opened in an editor window some CSS can be used to style the topics: *[status=new] { text-decoration: underline; background-color: #90ee90; /* CSS - LightGreen */ } *[status=changed] { background-color: #77ccff; /* CSS - LightCyan */ } This works great in the editor - users looking at a result map can see the changed topics, click and see the topic level changes. However, when a user chooses to open the map in the DITA Map Manager, there isn't any styling. Is there an alternative way of styling that we could be using? If not, could we request an enhancement to support CSS in the Map Manager? Thanks, Nigel -- Nigel Whitaker, Software Architect, DeltaXML Ltd. "Experts in information change" nigel.whitaker@deltaxml.com http://www.deltaxml.com +44 1684 869035 Registered in England: 02528681 Reg. Office: Monsell House, WR8 0QN, UK

Hello Nigel, The tree used in the DITA Maps Manager is a standard Swing JTree and does not take at all the CSS into account. But if you implement a Workspace Access Plugin type (you probably already have one) you could use our API to customize the cell renderer set by us, for example something like:
this.pluginWorkspaceAccess.addEditorChangeListener(new WSEditorChangeListener() { /** * @see ro.sync.exml.workspace.api.listeners.WSEditorChangeListener#editorOpened(java.net.URL) */ @Override public void editorOpened(URL editorLocation) { WSEditor ed = pluginWorkspaceAccess.getEditorAccess(editorLocation, StandalonePluginWorkspace.DITA_MAPS_EDITING_AREA); WSDITAMapEditorPage ditaEDPage = (WSDITAMapEditorPage) ed.getCurrentPage(); JTree tree = (JTree) ditaEDPage.getDITAMapTreeComponent(); final TreeCellRenderer currentRenderer = tree.getCellRenderer(); tree.setCellRenderer(new DefaultTreeCellRenderer() { /** * @see javax.swing.tree.DefaultTreeCellRenderer#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean) */ @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { JPanel panel = (JPanel) currentRenderer.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); panel.setBorder(null); if(value instanceof AuthorElement) { AuthorElement elem = (AuthorElement) value; if(elem.getAttribute("status") != null) { if("new".equals(elem.getAttribute("status").getValue())) { panel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.LIGHT_GRAY)); } } } return panel; } }); } }, StandalonePluginWorkspace.DITA_MAPS_EDITING_AREA);
Regards, Radu Radu Coravu <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 7/15/2013 1:03 PM, Nigel Whitaker wrote:
Hello,
We are trying to show users the result of a DITA Map comparison (two input maps, in the result map we want to show users which topics are added/deleted/changed).
We use @status on the topicrefs for example:
<map> <title>DITA Topic Map</title> <topicrefhref="topic1.xml"status="changed"/> <topicrefhref="topic2.xml"status="new"/> </map>
When the map is opened in an editor window some CSS can be used to style the topics:
*[status=new] { text-decoration: underline; background-color: #90ee90; /* CSS - LightGreen */ }
*[status=changed] { background-color: #77ccff; /* CSS - LightCyan */ }
This works great in the editor - users looking at a result map can see the changed topics, click and see the topic level changes. However, when a user chooses to open the map in the DITA Map Manager, there isn't any styling.
Is there an alternative way of styling that we could be using? If not, could we request an enhancement to support CSS in the Map Manager?
Thanks,
Nigel
-- Nigel Whitaker, Software Architect, DeltaXML Ltd. "Experts in information change" nigel.whitaker@deltaxml.com <mailto:nigel.whitaker@deltaxml.com> http://www.deltaxml.com +44 1684 869035 Registered in England: 02528681 Reg. Office: Monsell House, WR8 0QN, UK
_______________________________________________ oXygen-sdk mailing list oXygen-sdk@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-sdk
participants (2)
-
Nigel Whitaker
-
Oxygen XML Editor Support