Hi

It's relatively straightforward to do this yourself.
(*) Create a TextOperator interface
(*) Create adapter classes for TextInput, TextArea and TextPane that implement 
TextOperator and call the necessary methods.
(*) In your CutCopyPaste class do this:
public class CutCopyPaste {
   public void configure(TextInput t1) {
      configure(new TextOperatorForTextInput(t1));
   }
}

Handily keeps the casts out of the way.

The way to do this in the core Pivot code would probably be to introduce a new 
abstract class that sits above
TextInput/TextArea/TextPane.

I suggest you log a feature request in the bug-tracker so we don't lose track 
of this idea.

Thanks,
   Noel Grandin

Roger L. Whitcomb wrote:
> I'm implementing Cut/Copy/Paste, etc. in our UI and it is fairly awkward
> to have to check for TextInput, TextArea and TextPane on every operation
> and do the casts three times for each.  So, I was wondering what
> everyone thought of a "TextOperator" interface that these three classes
> implement that consists of the relevant methods:
>
>  
>
> public void cut();
>
> public void copy();
>
> public void paste();
>
> public void undo();
>
> public void redo();
>
> public void clearSelection();
>
> public void selectAll();
>
> public int getSelectedLength();                // Necessary for
> determining enabling of cut/copy
>
> public String getSelectedText();
>
>  
>
> This way I could cut my work to 1/3 because I simply have to cast to
> "TextOperator" and do the operations (checking for "instanceof" also).
>
>  
>
> So, what does everyone think?  It would be relatively trivial to
> implement the change (add the interface file and add "implements..."
> clause to the three classes (I think, not having prototyped it yet).
>
>  
>
>  
>
>  
>
> Roger Whitcomb
>
> Architect, Engineering
>
> Ingres Corporation
>
> [email protected] <mailto:[email protected]> 
>
>  
>
> PHONE +1 650.587.5596
>
> FAX +1 650.587.5550
>
>  
>
> www.ingres.com <http://www.ingres.com/>  
>
>  
>
> This transmission is confidential and intended solely for the use of the
> recipient named above. It may contain confidential, proprietary, or
> legally privileged information. If you are not the intended recipient,
> you are hereby notified that any unauthorized review, use, disclosure or
> distribution is strictly prohibited. If you have received this
> transmission in error, please contact the sender by reply e-mail and
> delete the original transmission and all copies from your system.
>
>  
>
>

Reply via email to