Re: DlangUI EditLine question

2015-03-16 Thread Kyle via Digitalmars-d-learn

Thanks! I'll try this out after I get home.


Re: DlangUI EditLine question

2015-03-16 Thread Vadim Lopatin via Digitalmars-d-learn

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




DlangUI EditLine question

2015-03-15 Thread Kyle via Digitalmars-d-learn
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.