Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2002-03

Some Lazarus / LCLbugs found

4 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Marc Weustink
to Marc Weustink: While inmplementing some debuggerparts I ran into the following issues: * Code completion…
you wrote 39 lines
On Sat, 09 Mar 2002 04:02:53 +0100 Marc Weustink wrote: > While inmplementing some debuggerparts I ran into the following issues: > > * Code completion only works if a declaration is placed in the first > section of a class definition > > MyClass = class > // completion works > private > // completion doesnt work > protected > // completion doesnt work > public > // completion doesnt work > published > // completion doesnt work > end; > > IMO only the IDE should place things at the first location, developers > should place things at the other locations (where it isn'tworking :-( Hmm. It worked always, but not as intended. I improved the class completion for GUID, line ends/auto indenting and first section. The heuristic is somewhat complex, but here are some short guidelines: - if a property needs new variables and/or methods, they will always be inserted as private variables. - These new vars/methods will be inserted in the nearest private section in front of the property. - if no private section exists in front of the property, a new one will be inserted as the first section of the class (behind the GUID). In contrary to Delphi, the codetools also consider comments and gaps. Fixed?

Nope, I thought that it was more generic, but I'll give you myu example

type
   TForm1 = class(TForm)
     Button1: TBUTTON;
     constructor Create(AOwner: TComponent); override; //[1]
   private
     { private declarations }
   public
     constructor Create(AOwner: TComponent); override; //[2]
   end;

[1] will complete the class (or to be clearer) create the implementation [2] won't

Marc

Reply by email

Mattias Gaertner
to Marc Weustink: While inmplementing some debuggerparts I ran into the following issues: * Code completion…
Show quoted text 19 lines
While inmplementing some debuggerparts I ran into the following issues: * Code completion only works if a declaration is placed in the first section of a class definition MyClass = class // completion works private // completion doesnt work protected // completion doesnt work public // completion doesnt work published // completion doesnt work end; IMO only the IDE should place things at the first location, developers should place things at the other locations (where it isn'tworking :-(

Hmm. It worked always, but not as intended.
I improved the class completion for GUID, line ends/auto indenting and first section.

The heuristic is somewhat complex, but here are some short guidelines:
- if a property needs new variables and/or methods, they will always be inserted as private variables.
- These new vars/methods will be inserted in the nearest private section in front of the property.
- if no private section exists in front of the property, a new one will be inserted as the first section of the class (behind the GUID).

In contrary to Delphi, the codetools also consider comments and gaps.

Fixed?

Mattias

Reply by email

Marc Weustink

While inmplementing some debuggerparts I ran into the following issues:

* Code completion only works if a declaration is placed in the first section of a class definition

MyClass = class
// completion works
private
// completion doesnt work
protected
// completion doesnt work
public
// completion doesnt work
published
// completion doesnt work
end;

IMO only the IDE should place things at the first location, developers should place things at the other locations (where it isn'tworking :-(

* Streaming of a Popupmenu works, of a MenuItem works, however the menuitem isn't added to the popupmenu :(

Marc

Reply by email

Mattias Gaertner
to Marc Weustink
Show quoted text 17 lines
>Fixed? Nope, I thought that it was more generic, but I'll give you myu example type TForm1 = class(TForm) Button1: TBUTTON; constructor Create(AOwner: TComponent); override; //[1] private { private declarations } public constructor Create(AOwner: TComponent); override; //[2] end; [1] will complete the class (or to be clearer) create the implementation [2] won't

Ooops. Empty class sections.
Ok, fixed.

Mattias

Reply by email