DlangUI EditLine question
Vadim Lopatin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Mar 16 04:59:03 PDT 2015
On Sunday, 15 March 2015 at 16:21:21 UTC, Kyle wrote:
> I have a variable, x, which I want to update when the content
> of a DlangUI EditLine is modified. I tried making this work
> with the "onContentChange" method listed in the API
> documentation, but dmd told me it's not there. I've got this
> working now by implementing a custom subclass of EditLine as
> below:
>
>
> class XEditLine : EditLine
> {
> this(string ID, dstring initialContent = null)
> {
> super(ID, initialContent);
> }
>
> override bool onKeyEvent(KeyEvent e)
> {
> super.onKeyEvent(e);
> x = to!double(this.text);
> return true;
> }
> }
>
>
> This works but it seems like there should be a cleaner way to
> do this, any suggestions? Thanks.
You can either override onContentChange or use
onContentChangeListener
override void onContentChange(EditableContent content,
EditOperation operation, ref TextRange rangeBefore, ref TextRange
rangeAfter, Object source) {
super.onContentChange(content, operation, rangeBefore,
rangeAfter, source);
// do something
x = to!double(this.text);
}
or
EditLine line = new EditLine();
line.onContentChangeListener = delegate(EditableContent) {
// do something
x = to!double(line.text);
}
> of a DlangUI EditLine is modified. I tried making this work
> with the "onContentChange" method listed in the API
> documentation, but dmd told me it's not there. I've got this
If you don't see onContentChange method, probably you have older
version of DlangUI. Try dub upgrade --force-remove
More information about the Digitalmars-d-learn
mailing list