cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can change your system assigned username to something more personal in your community settings. X

Epic UI question

ptc-953926
1-Newbie

Epic UI question

Adepters:



I'm curious if anyone has customized Epic with a version of Modify
Attributes that remains on the screen showing the attributes for
whatever tag you browse to? Sort of like how the insert elements window
works, but for attributes. I've seen this feature in another XML editor
and wonder how difficult it would be to implement in Epic?



Thanks,

Dave Hintz

Siemens

1 REPLY 1

Hi Dave--

I created a sort of "OID browser" diagnostic tool that does this a while back. It goes a little bit beyond what you've described--it shows a tree view of the current document, and for any node you select it will show you the attributes on that node. It also responds to moving the caret in the document itself, and you can modify attribute values in the attributes table. It shows the "secret" attributes that Arbortext adds to elements to control formatting, etc. That's part of why I created the thing in the first place, to try to troubleshoot some change tracking customizations I was working on, but that may not be what you want for end-user authors. It would be easy enough to disable that.

I didn't get too fancy with it, so it doesn't restrict the values you can assign to an attribute based on the DTD definition the way Modify Attributes does (though you could certainly modify it to do so).

The hardest part of making this work was getting the two-way syncing to work right--if I click on a node in the OID browser, the corresponding element in the document is selected, and conversely, if I move the caret in the editor window, the corresponding node in the OID browser is activated. But then I had to add some code to keep the updates from "boomeranging", e.g. I click a node in the browser, which triggers a caret move in the document, which triggers a change in the browser, which triggers a caret move, etc. etc. etc. For what you are describing, you'd only need to do one-way synchronization, so it shouldn't be too hairy to set up something like that.

--Clay
Announcements