From: Daniel R. <dan...@ad...> - 2002-08-27 17:29:08
|
Hello, here's a new version of TSynCompletionProposal and a demo application. As announced this version is slightly incompatible to existing programs, so please read carefully!!! I. Changes: =========== Common: - Every event has a Sender-parameter now - After an OnPaintItem event the canvas is reset - If you remove the current editor from TSynCompletionProposal the proposal form will be closed. (Avoids AV on form close, when using multiple editors with one TSynCompletionProposal) - Changed all #xx character constants to SYNEDIT_xxx constants (#13-> SYNEDIT_RETURN, #32 -> SYNEDIT_SPACE and so on.) - Changed Position-property from published to public, since it does not make sense at design time. - Some minor fixes ctCode: - New option: scoConsiderWordBreakChars. If activated, TSynCompletionProposal handles all characters which are declared as word break characters in the highlighter (if any) as EndOfTokenChr. - OnPaintItem event gets the absolute index of the item to paint instead of the relative index. - Proposal form now is a stay-on-top window, too. Some Windows functions which take the focus from the proposal form but don't send any message like lost focus, deactive, ... hide the proposal form behind the window containing the editor. (Opening the system menu of the window through the Alt key, for example) II. Warnings ============ 1) Before you make any modifications to your system make a backup copy from your old SynCompletionProposal.pas and any other file you plan to modify. 2) This version introduces some new properties so you have to recompile your SynEdit package. 3) Take a look at the attached demo, before you make modifications to your applications 4) See the attached doc for some more information about modifying your applications. III. Annotations ================ I've tested the new version under D3 and D6. The demo makes use of the LaTeX highlighter. If you don't have it, simply ignore all error messages which occur when you open the demo. The demo cannot be compiled under D3 (and any other Delphi version which lacks the StringReplace function) Simple outcomment the lines containing it. (Use (* and *) rather than { and }) If you've got comments or problems, please let me know. Regards, Daniel |
From: Daniel R. <dan...@ad...> - 2002-09-13 13:49:35
Attachments:
SynCompletionProposal.zip
|
Hello, I'm sending you a new version of TSynCompletionProposal. This version introduces no essential new features, it rather fixes many bugs. New features: - Dropshadow under WinXP. (I do not plan to implement that on other systems, perhaps someone else can help me. Personally I don't think it's really necessary, but under WinXP it's just one single bit in the window parameters ;-)) - New property "Resizeable" for proposal window in ctCode mode - Mouse wheel support for D2 and D3 (Win98 and higher) Bugfixes: - Many many bugfixes from Gerald Nunn - No more AV if you don't define any column - Sources compile under D2, too - Width of proposal window in ctParam mode is calculated correct - PreviusToken now respects EndOfTokenChr Internal changes: - All published properties have now default values (where possible) - Removed the method "loaded". I do not know the purpose of this method. If you need it, call ResetAssignedList instead, it does the same - Some code cleaning Regards, Daniel |
From: William G. <bg...@ix...> - 2002-09-13 17:58:07
|
> I'm sending you a new version of TSynCompletionProposal. This version > introduces no essential new features, it rather fixes many bugs. Thanks, Daniel. This latest version still has the bug I reported earlier: DefaultType: ctCode; scoLimitToMatchedText I build a list and show it based on context - no problem. Cursor to some really ugly text, press ctrl-space and get an empty window -no problem. Now cursor to valid entries, ctrl-space no longer brings up a window at all. In fact it inserts a space in the text! ItemList.Add('anyhting') resets and things work again. ('Anything' does not appear in the window!) My Uneducated patch in SynCompletionProposal: (TSynBaseCompletionProposal.ExecuteEx) . . . if (not CanExecute) or (ItemList.Count = 0) then begin if Form.Visible and (Kind = ctParams) then Form.Visible := False; { exit; } // *** wgg: or else we loose window forever end; When options are set to remove items, the list gets cleaned. Normally the full list is restored by "RecalcList". When the pruned list is Nil, the above exit stops RecalcList from being called and restoring the contents! I'm sure this isn't the best patch but then I haven't studied TSynCompletionProposal! Thanks for the new version. -- - - - - - - - - - - - - - - - - Bill Graves RKBA! bg...@ix... |
From: Aaron C. <ali...@in...> - 2002-08-28 09:16:19
|
good work daniel! keep it up. i especially like the new format commands... Aaron ----- Original Message ----- From: "Daniel Rikowski" <dan...@ad...> > Hello, > > here's a new version of TSynCompletionProposal and a demo application. |
From: Daniel R. <dan...@ad...> - 2002-08-28 11:17:29
|
Thank you! Daniel > -----Urspr=FCngliche Nachricht----- > Von: Aaron Chan [mailto:ali...@in...]=20 > Gesendet: Mittwoch, 28. August 2002 11:16 > An: Daniel Rikowski; SynEdit > Betreff: Re: [Synedit-devel] TSynCompletionProposal - New Version >=20 >=20 > good work daniel! keep it up. i especially like the new=20 > format commands... >=20 > Aaron >=20 > ----- Original Message -----=20 > From: "Daniel Rikowski" <dan...@ad...> >=20 > > Hello,=20 > >=20 > > here's a new version of TSynCompletionProposal and a demo=20 > application. >=20 >=20 >=20 >=20 |