If the default context can't be subclassed then can you do something like this: public class BrailleBlasterContentModel implements StyledTextContent { private StyledTextContent baseContent; private BrailleTranslator brailleTranslator; public BrailleBlasterContentModel(final StyledText styledText) { baseContent = styledText.getContent(); styledText.setContent(this); brailleTranslator = new LiblouisThingThatTranslatesToBraille(); } public void addTextChangeListener(final TextChangeListener listener) { baseContent.addTextChangeListener(listener); } // continue to provide implementations from the StyledTextContent interface and delegate them to the stored // content model. For methods that need new behavior, do whatever you need to do and call the stored // content model only if needed. public String getTextRange(final int start, final int length) { // here let's pretend that you need additional functionality, so you take the content from the base model // and do stuff to it return brailleTranslator.toBraille(baseContent.getTextRange(start, length)); } } I'm just trying to save you the pain of copying the Eclipse code and having to maintain it if/when it evolves. I can't tell you what your compiler error is unless I look at your code. Cheers Chris On Oct 17, 2011, at 8:47 AM, John J. Boyer wrote: > DefaultContent.java says it is not intended to be subclassed. The > content model will have to conect what StyledText displays and the user > changes with the underlying xml. Even if DefaultContent could be > subclassed StyledTextEvent is still needed. It performs important > functions in DefaultContent. The puzle is how the compiler can claim > that a class with a different name is a duplicate of one in swt.custom > > John > > On Mon, Oct 17, 2011 at 08:12:01AM -0700, Chris von See wrote: >> Can you just extend the default StyledTextContent implementation and >> override the methods that you need to in order to implement the >> functionality you want? What do you want to do that the default >> implementation doesn't do? >> >> Cheers >> Chris >> >> >> On Oct 17, 2011, at 2:36 AM, John J. Boyer wrote: >> >>> The Braille and Daisy views have quite different requirements, so it is >>> best to implement a StyledTextContent model for each one. I thought to >>> use the DefaultContent class as a starting point. The Eclipse license >>> permits this. Si I copied it to org.brailleblaster.wordprocessor and >>> started modifying it. Various import statements had to be added. When I >>> tried to import StyledTextEvent I was told that it was not public in the >>> custom SWT package. So I copied that also. Then the compiler gave the >>> message that it was a duplicate class, presumably because it had the >>> same name as a class in the classpath. So I changed the name slightly. >>> The compiler still gives the same message, claiming that a class with >>> the changed name exists in swt.custom, which it does not. It appears to >>> be important for the content model to use the StyledTextEvent. What is >>> the work-around for this problem? >>> >>> Thanks, >>> John >>> >>> -- >>> John J. Boyer; President, Chief Software Developer >>> Abilitiessoft, Inc. >>> http://www.abilitiessoft.com >>> Madison, Wisconsin USA >>> Developing software for people with disabilities >>> >>> >> > > -- > John J. Boyer; President, Chief Software Developer > Abilitiessoft, Inc. > http://www.abilitiessoft.com > Madison, Wisconsin USA > Developing software for people with disabilities > >