On 04/04/2011 06:47 PM, Martin wrote:
On 04/04/2011 16:44, patspiper wrote:
On 04/04/2011 06:30 PM, Martin wrote:
On 04/04/2011 16:20, patspiper wrote:
Hi,
1- How can TSynCompletion's ItemList be filled depending on what is
before the dot(.)? I know the Lazarus IDE does it, but I couldn't
figure it out.
TEdit.|
If Ctrl+Space is pressed, then the list of TEdit properties should
popup. Currentstring is empty. How can we read the word before the
dot?
There is an example on how to use it, in the example folder.
It should show you which callbacks are triggered, so you can place
code of your own there.
I checked the 3 examples before posting. They show how to use
CurrentString (which is after the dot), but not how to read the token
before the dot.
ok, I may be able to look into it later.
but what about using LogicalCaretXY, then getting the line, and
reading it?
possible subtracting the length of CurrentString.
I am almost there (by giving it another shot at the ide sources):
Line:=SynEdit1.LineText;
p1:=SynEdit1.LogicalCaretXY;
if (p1.x>length(Line)+1) or (Line='') then exit;
SynEdit1.GetWordBoundsAtRowCol(p1, x1, x2);
// There must be a saner way than subtracting 2
p1.x := x1-2;
SynEdit1.GetWordBoundsAtRowCol(p1, x1, x2);
WordToken := copy(Line, x1, x2);
However, what is the correct way to go back to the previous token?
Subtracting 2 is not the way.
Thanks,
Stephano
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus