Sign in Join

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

Mailing lists / lazarus / 2009-08

codetools tooltip showing method visibility

48 messages · 10 people · –

Reply by email Subscribe to this list Your subscription

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

Graeme Geldenhuys

Hi,

Many times I am working with large classes that are much bigger than what is visible in the editor view. Is there any way the tooltip shown over a property or method can include visibility information?

That way I can simply hover the move over a method or property and see if it is protected or public etc...

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote 8 lines
Hi, Many times I am working with large classes that are much bigger than what is visible in the editor view. Is there any way the tooltip shown over a property or method can include visibility information? That way I can simply hover the move over a method or property and see if it is protected or public etc...

Combining this with some of your other posts, I'd say you're in dire need of a bigger monitor. Laptops are no good for serious development :-)

Michael.

Reply by email

Martin
to Graeme Geldenhuys: Many times I am working with large classes that are much bigger than what is visible in…
Graeme Geldenhuys wrote 8 lines
Hi, Many times I am working with large classes that are much bigger than what is visible in the editor view. Is there any way the tooltip shown over a property or method can include visibility information? That way I can simply hover the move over a method or property and see if it is protected or public etc...

While not as nice, there is a way.
right click the fold gutter (assuming you have folding at class-sections enabled)

The menu will list all parent fold-nodes .

Ideally I would like to add a capability to list this path in the status bar (instead of the file name).
But that will require some more work, because the fold happens at the keyword (e.g. procedure) but such a path-info would require the name of the procedure (easy if it's on the same line, harder if it is on another line.

Martin

Reply by email

Mattias Gaertner
to Martin
Show quoted text 10 lines
Graeme Geldenhuys wrote: > Hi, > > Many times I am working with large classes that are much bigger > than what is visible in the editor view. Is there any way the > tooltip shown over a property or method can include visibility > information? > > That way I can simply hover the move over a method or property and > see if it is protected or public etc...

Implemented in 21283.

Show quoted text 9 lines
While not as nice, there is a way. right click the fold gutter (assuming you have folding at class-sections enabled) The menu will list all parent fold-nodes . Ideally I would like to add a capability to list this path in the status bar (instead of the file name).

@Felipe: See here for example where capacity does not fit.

A path information would indeed be nice. Especially if you are in a nested procedure.
The statusbar has not enough space for this.
What about the code explorer?
A node can be added showing a list of quick jumps. For example when you are in a nested procedure, it can show a node for each nested procedure, so you can jump to each level with one click. In a class it would show the visibility and the class header.

On a second thought: Forget it, there is probably already a patent for this one-click-to-related-stuff.

But that will require some more work, because the fold happens at the keyword (e.g. procedure) but such a path-info would require the name of the procedure (easy if it's on the same line, harder if it is on another line.

Mattias

Reply by email

Martin
to Mattias Gaertner
Mattias Gaertner wrote 12 lines
A path information would indeed be nice. Especially if you are in a nested procedure. The statusbar has not enough space for this. What about the code explorer? A node can be added showing a list of quick jumps. For example when you are in a nested procedure, it can show a node for each nested procedure, so you can jump to each level with one click. In a class it would show the visibility and the class header. On a second thought: Forget it, there is probably already a patent for this one-click-to-related-stuff.

It is something a lot of html editors (probably xml too) have. Or firebug (extension to firefox) has it too.

Martin

Reply by email

Martin
to Mattias Gaertner: On Tue, 18 Aug 2009 16:23:32 +0100 Implemented in 21283. @Felipe: See here for example…
Mattias Gaertner wrote 15 lines
> Graeme Geldenhuys wrote: > >> Hi, >> >> Many times I am working with large classes that are much bigger >> than what is visible in the editor view. Is there any way the >> tooltip shown over a property or method can include visibility >> information? >> >> That way I can simply hover the move over a method or property and >> see if it is protected or public etc... >> Implemented in 21283.

I can't get a screenshoot, because hints disapear on keyboard.

but if you haver over Synedit. create (in the class declaration), several of the ancestor methods are listed in a single paragraph, just glued behind each other

Martin

Reply by email

Mattias Gaertner
to Martin
Show quoted text 22 lines
Mattias Gaertner wrote: >> Graeme Geldenhuys wrote: >> >>> Hi, >>> >>> Many times I am working with large classes that are much bigger >>> than what is visible in the editor view. Is there any way the >>> tooltip shown over a property or method can include visibility >>> information? >>> >>> That way I can simply hover the move over a method or property and >>> see if it is protected or public etc... >>> > > Implemented in 21283. > I can't get a screenshoot, because hints disapear on keyboard. but if you haver over Synedit. create (in the class declaration), several of the ancestor methods are listed in a single paragraph, just glued behind each other

At the moment they are collected and added as simple text lines. So each ancestor is separated by a new line character.

The hint that you see is an arbitrary control. By default it is a TLabel. So no html possible. That's why it looks glued together. But I also started a html hint control using the tpipro control.

The next step is to add some html markers and complete the tpipro control.
Preferably we need a css.

Mattias

Reply by email

Martin
to Mattias Gaertner
Mattias Gaertner wrote 20 lines
On Tue, 18 Aug 2009 17:18:25 +0100 Martin wrote: > > I can't get a screenshoot, because hints disapear on keyboard. > > but if you haver over Synedit. create (in the class declaration), > several of the ancestor methods are listed in a single paragraph, > just glued behind each other > At the moment they are collected and added as simple text lines. So each ancestor is separated by a new line character. The hint that you see is an arbitrary control. By default it is a TLabel. So no html possible. That's why it looks glued together. But I also started a html hint control using the tpipro control.

Hm, but there are some new lines, so the ability to show new lines is there. There are about 5 or 6 ancestor classes with "Create", after the first is a new line, then all in one single block, and another new line in front of the last.

Looks like maybe the 2 with the newline, have a newline in the actual help text, so it is copied from there?
The newlines used by codetools: are the LineFeed or just #13?

Martin

Reply by email

Mattias Gaertner
to Martin
Show quoted text 29 lines
Mattias Gaertner wrote: > On Tue, 18 Aug 2009 17:18:25 +0100 > Martin wrote: > > >> >> I can't get a screenshoot, because hints disapear on keyboard. >> >> but if you haver over Synedit. create (in the class declaration), >> several of the ancestor methods are listed in a single paragraph, >> just glued behind each other >> > > At the moment they are collected and added as simple text lines. > So each ancestor is separated by a new line character. > > The hint that you see is an arbitrary control. By default it is a > TLabel. So no html possible. That's why it looks glued together. > But I also started a html hint control using the tpipro > control. > Hm, but there are some new lines, so the ability to show new lines is there. There are about 5 or 6 ancestor classes with "Create", after the first is a new line, then all in one single block, and another new line in front of the last. Looks like maybe the 2 with the newline, have a newline in the actual help text, so it is copied from there? The newlines used by codetools: are the LineFeed or just #13?

It was not in the codetools, but in the fpdoc help. I added a line break.

Mattias

Reply by email

Martin
to Mattias Gaertner
Mattias Gaertner wrote 14 lines
> Hm, but there are some new lines, so the ability to show new lines is > there. There are about 5 or 6 ancestor classes with "Create", after > the first is a new line, then all in one single block, and another > new line in front of the last. > > Looks like maybe the 2 with the newline, have a newline in the actual > help text, so it is copied from there? > The newlines used by codetools: are the LineFeed or just #13? > It was not in the codetools, but in the fpdoc help. I added a line break.

Hm now I am getting no hint at all, but the following in the message window (synedit.pp line: 748 constructor Create)
(the </ul> is in the xml)

C:\lazarus_latest\docs\xml\lcl\controls.xml(15714,14) Error: Unmatching
element end tag (expected "</ul>")
C:\lazarus_latest\docs\xml\lcl\controls.xml(15714,14) Error: Unmatching
element end tag (expected "</ul>")
C:\lazarus_latest\docs\xml\lcl\controls.xml(15714,14) Error: Unmatching
element end tag (expected "</ul>")

and in the log:
TCodeHelpManager.GetFPDocFilenameForSource Hint: file without owner: C:\lazarus_latest\components\synedit\synedit.pp
TCodeHelpManager.LoadFPDocFile
C:\lazarus_latest\docs\xml\lcl\controls.xml(15714,14) Error: Unmatching element end tag (
expected "</ul>")
TCodeHelpManager.LoadFPDocFile
C:\lazarus_latest\docs\xml\lcl\controls.xml(15714,14) Error: Unmatching element end tag (
expected "</ul>")
TCodeHelpManager.LoadFPDocFile
C:\lazarus_latest\docs\xml\lcl\controls.xml(15714,14) Error: Unmatching element end tag (
expected "</ul>")
TCodeHelpManager.GetFPDocFilenameForSource Hint: file without owner: C:\FPC\SVN\trunc\rtl\win32\classes.pp
TCodeHelpManager.GetFPDocFilenameForSource Hint: file without owner: C:\FPC\SVN\trunc\rtl\win32\system.pp
TLazFPDocFile.GetElementWithName create failed: missing module name. ElementName=TCustomControl.Create
TLazFPDocFile.GetElementWithName create failed: missing module name. ElementName=TWinControl.Create
TLazFPDocFile.GetElementWithName create failed: missing module name. ElementName=TControl.Create

Reply by email

Graeme Geldenhuys
to Michael Van Canneyt: Combining this with some of your other posts, I'd say you're in dire need of a bigger…

2009/8/18 Michael Van Canneyt :

Combining this with some of your other posts, I'd say you're in dire need of a bigger monitor. Laptops are no good for serious development :-)

My daily work gets done on a desktop PC with 1440x900 resolution LCD display. At least it's much better than CRT monitors. My laptop at home has a large enough desktop space, but text is tiny. :-) ----------------------------------
screen #0:
dimensions: 1920x1200 pixels (15.4inch diagonal) resolution: 96x96 dots per inch
----------------------------------

The problem is you want all these nice features of the IDE, but you also want a large enough editor window.

PS:
Have a look at the TtiObject class definition - it is huge. 186 lines and doesn't even fit on my laptop screen. And the inline comments (documentation) doesn't help either - one of the big plus points for any project to move over to fpdoc style (external) class documentation.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Martin: While not as nice, there is a way. right click the fold gutter (assuming you have folding…

2009/8/18 Martin :

While not as nice, there is a way. right click the fold gutter (assuming you have folding at class-sections enabled)

I know about that feature and use it often. I think it was added per my request. ;-)
That popup menu works very well to find out what loooong method you are viewing while working in the implementation section, and not being able to see the "proceduce TMyClass.MyProc...." line.

What I am now asking about is in the class definition - Interface section. I don't have code-folding enabled in the Interface section, but will give it a try for the reminder about
this feature.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Martin
to Graeme Geldenhuys
Graeme Geldenhuys wrote 18 lines
2009/8/18 Martin : > While not as nice, there is a way. > right click the fold gutter (assuming you have folding at class-sections > enabled) > I know about that feature and use it often. I think it was added per my request. ;-) That popup menu works very well to find out what loooong method you are viewing while working in the implementation section, and not being able to see the "proceduce TMyClass.MyProc...." line. What I am now asking about is in the class definition - Interface section. I don't have code-folding enabled in the Interface section, but will give it a try for the reminder about this feature.

I use it all the time, because SynEdit is rather huge too. So it's the quickest way to know if something is public or whatever.

IMHO with large, even medium classes, being able to fold away for example the private part is a good thing anyway.
It helps when having multiply classes and only needing to work on the public part.

Of course, if the classes are small, and a new visibility starts every 3 or 4 lines..... you get a lot of [+]/[-]

Martin

Reply by email

Graeme Geldenhuys
to Mattias Gaertner: On Tue, 18 Aug 2009 16:23:32 +0100 Implemented in 21283. @Felipe: See here for example…

2009/8/18 Mattias Gaertner :

Implemented in 21283.

You are a star! :-) I'll give it a try tomorrow at work.

A path information would indeed be nice. Especially if you are in a nested procedure. The statusbar has not enough space for this.

+1 on both counts.

What about the code explorer? A node can be added showing a list of quick jumps.

That sounds like a good idea. Maybe I should also try using the code explorer more often. It is a window I for some reason never use. Not in Delphi and not in Lazarus. Umm, maybe that's the source of my navigation problems. ;-)

My other thought was a "hint window" that shows for a second or two and then close. Similar to those windows that Mozilla Thunderbird shows when you have new mail waiting. A keyboard shortcut could trigger the hint window, showing things like current method, path, visibility etc... A good default display position might be the top right corner of the editor. I remember the original TSynEdit had a option to show such a hint window while you scrolled the editor, display the line numbers.

With a hint window, we could add more and more information, unlike a status bar. Also if you use the Editor Toolbar, a icon could be placed there as well and no keyboard shortcut is required. Obviously as long as the feature is registered somewhere in the IDE menu structure.

On a second thought: Forget it, there is probably already a patent for this one-click-to-related-stuff.

I'm from South Africa, so lets say that feature came from here. We are so slack with rules, nobody would sue. ;-)

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Martin: I use it all the time, because SynEdit is rather huge too. So it's the quickest way to…

2009/8/18 Martin :

I use it all the time, because SynEdit is rather huge too. So it's the quickest way to know if something is public or whatever.

Excellent!

IMHO with large, even medium classes, being able to fold away for example the private part is a good thing anyway.

My problem is that many of the classes I work with, has inline documentation (PasDoc style), so it escalates the class length and make even Public or Published areas hard to work with.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Martin: I can't get a screenshoot, because hints disapear on keyboard. but if you haver over…

2009/8/18 Martin :

I can't get a screenshoot, because hints disapear on keyboard.

I use Gimp and set the screencapture delay to 4 seconds. That gives me enough time to get such hint/tooltip windows to display while Gimp takes a full desktop screenshot.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Mattias Gaertner
to Martin: Hm now I am getting no hint at all, but the following in the message window (synedit.pp…
Show quoted text 21 lines
Mattias Gaertner wrote: >> Hm, but there are some new lines, so the ability to show new lines >> is there. There are about 5 or 6 ancestor classes with "Create", >> after the first is a new line, then all in one single block, and >> another new line in front of the last. >> >> Looks like maybe the 2 with the newline, have a newline in the >> actual help text, so it is copied from there? >> The newlines used by codetools: are the LineFeed or just #13? >> > > It was not in the codetools, but in the fpdoc help. > I added a line break. > > Hm now I am getting no hint at all, but the following in the message window (synedit.pp line: 748 constructor Create) (the </ul> is in the xml) C:\lazarus_latest\docs\xml\lcl\controls.xml(15714,14) Error: Unmatching element end tag (expected "</ul>")

The error message was misleading.
I improved it. Now it gives:

docs/xml/lcl/controls.xml(15714,14) Error: Unmatching element end tag (expected "</ul>", found "</li>", start tag at 15713,14)

There were several such broken tags. I fixed them.

Mattias

Reply by email

Graeme Geldenhuys
to Mattias Gaertner: On Tue, 18 Aug 2009 16:23:32 +0100 Implemented in 21283. @Felipe: See here for example…
Mattias Gaertner wrote 5 lines
>> That way I can simply hover the move over a method or property and >> see if it is protected or public etc... Implemented in 21283.

Hi Mattias,

I get an error in the IDE Messages window. And the tooltip doesn't have any visibility specified. I'm using Lazarus r21307 under Linux compiled with GTK2 widgetset.

See attached screenshot. I don't think you have to worry about the duplicated hints in the tooltip. The documentation is currently in fpdoc and inline format, which causes the duplicates - I'm not sure if that can be improved on. (maybe if fpdoc help exists, do not use inline comments in tooltip?).

Anyway, here is the output Lazarus gave in the command line. As far as I can see, the HTML tags seem correct. Each opening tag has a corresponding closing tag. And <BR> being the exception, which I believe is normal.

--------------------------------------
TCodeHelpManager.GetHint END Hint="<HTML><BODY>function TtiObject.IsValid(var AErrorMessage:string):boolean;<BR> /home/graemeg/programming/3rdParty/tiOPF2/Source/Core/tiObject.pas(430,17)<BR> <BR>
<B>TtiObject.IsValid</B><BR>
Is the Object a valid one<BR>
<BR>
: Is the Object a valid one. Does it adhere to all the business rules you defined?<BR>
<B>TtiObject.IsValid</B><BR>
Is the Object a valid one<BR>
<BR>
: Is the Object a valid one. Does it adhere to all the business rules you defined?<BR>
<B>TtiObject.IsValid</B><BR>
Is the Object a valid one<BR>
<BR>
: Is the Object a valid one. Does it adhere to all the business rules you defined?</BODY></HTML>"

--------------------------------------

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/ -------------- next part -------------- A non-text attachment was scrubbed... Name: code_tooltip2.png Type: image/png Size: 21989 bytes Desc: not available URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20090819/f53982d7/attachment-0001.png>

Reply by email

Mattias Gärtner
to Graeme Geldenhuys

Zitat von Graeme Geldenhuys :

Show quoted text 12 lines
Mattias Gaertner wrote: >>> That way I can simply hover the move over a method or property and >>> see if it is protected or public etc... > > Implemented in 21283. > Hi Mattias, I get an error in the IDE Messages window. And the tooltip doesn't have any visibility specified. I'm using Lazarus r21307 under Linux compiled with GTK2 widgetset.

Fixed.

Show quoted text 5 lines
See attached screenshot. I don't think you have to worry about the duplicated hints in the tooltip. The documentation is currently in fpdoc and inline format, which causes the duplicates - I'm not sure if that can be improved on. (maybe if fpdoc help exists, do not use inline comments in tooltip?).

Yes, please create a feature report.

Anyway, here is the output Lazarus gave in the command line. As far as I can see, the HTML tags seem correct. Each opening tag has a corresponding closing tag. And <BR> being the exception, which I believe is normal.

Yes.

Mattias

Reply by email

Graeme Geldenhuys
to Mattias Gärtner
Mattias G?rtner wrote
> I get an error in the IDE Messages window. And the tooltip doesn't Fixed.

Thanks, those errors are now gone, but the tooltip still doesn't seem to display the visibility in all cases. See attached images. In image 2 it shows the property as public which is correct, but in image 3 (in implementation section) and image 4 (in interface section) the visibility is not shown

I'm still trying to figure out if there is some pattern. I'm not sure if it is due to the latter two being methods instead of properties.

If you want to test without needing tiOPF source code, the same thing happens on the TInterfacedObject class definition. None of the methods or property tooltips show the visibility in the tooltip.

Yes, please create a feature report.

Created one.
http://bugs.freepascal.org/view.php?id=14384

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/ -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot-2.png Type: image/png Size: 6339 bytes Desc: not available URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20090819/ced83507/attachment.png> -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot-4.png Type: image/png Size: 5918 bytes Desc: not available URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20090819/ced83507/attachment-0001.png> -------------- next part -------------- A non-text attachment was scrubbed... Name: Screenshot-3.png Type: image/png Size: 3759 bytes Desc: not available URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20090819/ced83507/attachment-0002.png>

Reply by email

Hans-Peter Diettrich
to Graeme Geldenhuys: 2009/8/18 Martin : Excellent! My problem is that many of the classes I work with, has…
My problem is that many of the classes I work with, has inline documentation (PasDoc style), so it escalates the class length and make even Public or Published areas hard to work with.

This was my experience as well, when working on PasDoc. That's why I implemented the editor for PasDoc2 to not touch the source code for inserting descriptions, but used the external file feature instead. Perhaps I should add another feature, to move inline documentation into the external file?

DoDi

Reply by email

Mattias Gärtner
to Graeme Geldenhuys: Thanks, those errors are now gone, but the tooltip still doesn't seem to display the…

Zitat von Graeme Geldenhuys :

Show quoted text 14 lines
Mattias G?rtner wrote: >> I get an error in the IDE Messages window. And the tooltip doesn't > > Fixed. Thanks, those errors are now gone, but the tooltip still doesn't seem to display the visibility in all cases. See attached images. In image 2 it shows the property as public which is correct, but in image 3 (in implementation section) and image 4 (in interface section) the visibility is not shown I'm still trying to figure out if there is some pattern. I'm not sure if it is due to the latter two being methods instead of properties.

Yes, it was.
Fixed.

Mattias

Reply by email

Graeme Geldenhuys
to Hans-Peter Diettrich: This was my experience as well, when working on PasDoc. That's why I implemented the…
Hans-Peter Diettrich wrote
This was my experience as well, when working on PasDoc. That's why I implemented the editor for PasDoc2 to not touch the source code for

Interesting idea, but why not simply use fpdoc (included with FPC) instead of modifying PasDoc? And for Delphi users, give them a compiled binary of lazde to download - this is what I have done for tiOPF - though developers still seem to keep adding docs inline. :-(

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Hans-Peter Diettrich
to Graeme Geldenhuys
Show quoted text 5 lines
> This was my experience as well, when working on PasDoc. That's why I > implemented the editor for PasDoc2 to not touch the source code for Interesting idea, but why not simply use fpdoc (included with FPC) instead of modifying PasDoc?

In PasDoc2 I have an working editor, while I'm still not familiar with fpdoc and lazde. fpdoc can slow down the Lazarus IDE a lot, and the lazde IDE is a bit cryptic.

DoDi

Reply by email

waldo kitty
to Graeme Geldenhuys: Interesting idea, but why not simply use fpdoc (included with FPC) instead of modifying…
Graeme Geldenhuys wrote
though developers still seem to keep adding docs inline. :-(

speaking for myself (and i guess there are many like me), i develop "on the fly" and those times that i do write documentation, i do tend to do it as i develop a routine... this offers me two items of interest... first being that the doc for that routine is written and second to keep me on track with what that routine does so i don't wander afield somewhere while working on it... then again, i still tend to pull up TP6 and sometimes BP7 for most of my coding because i am still trying to learn FPC and Lazarus and their interfaces...

and that last statement brings me to a comment you (Graeme) made the other day... i feel the same as you (and no flame intended to anyone) that programmers ARE users... they are users of the tools they use to create their tools and applications... i am a "simple user" of FPC, Lazarus and their interfaces and the code they generate ;)

Reply by email

Vincent Snijders
to waldo kitty
waldo kitty wrote 6 lines
and that last statement brings me to a comment you (Graeme) made the other day... i feel the same as you (and no flame intended to anyone) that programmers ARE users... they are users of the tools they use to create their tools and applications... i am a "simple user" of FPC, Lazarus and their interfaces and the code they generate ;)

And I wonder why we said that programmers are not users.

Vincent

Reply by email

Vincent Snijders
to Vincent Snijders
Vincent Snijders wrote 10 lines
waldo kitty schreef: > > and that last statement brings me to a comment you (Graeme) made the > other day... i feel the same as you (and no flame intended to anyone) > that programmers ARE users... they are users of the tools they use to > create their tools and applications... i am a "simple user" of FPC, > Lazarus and their interfaces and the code they generate ;) And I wonder why we said that programmers are not users.

I meant: I wonder who said that programmers are not users.

Vincent

Reply by email

waldo kitty
to Vincent Snijders
Vincent Snijders wrote 13 lines
Vincent Snijders schreef: > waldo kitty schreef: >> >> and that last statement brings me to a comment you (Graeme) made the >> other day... i feel the same as you (and no flame intended to anyone) >> that programmers ARE users... they are users of the tools they use to >> create their tools and applications... i am a "simple user" of FPC, >> Lazarus and their interfaces and the code they generate ;) > > And I wonder why we said that programmers are not users. > I meant: I wonder who said that programmers are not users.

i don't recall ATM but i do remember reading it sometime back in the last few months... Graeme may recall but it is not really here or there in the grand scheme of things... i had wanted to reply to Graeme's original message to agree with him but didn't and then saw an opportunity to do so in my message :)

i might be able to pull up that message were that was stated as i do keep all emails i've ever received... yup... all the way back to 1996 when i first started doing "live access" to the internet as compared to my previous UUCP online/offline methods ;)

Reply by email

Graeme Geldenhuys
to waldo kitty: speaking for myself (and i guess there are many like me), i develop "on the fly" and…
waldo kitty wrote 5 lines
speaking for myself (and i guess there are many like me), i develop "on the fly" and those times that i do write documentation, i do tend to do it as i develop a routine... this offers me two items of interest... first being that the doc for that routine is written and

My friend, your are in luck! :-) That is the beauty of Lazarus IDE - it makes such tasks very easy! The Lazarus IDE has a built-in 'fpdoc editor' (View > FPDoc Editor menu). You can tell Lazarus where the xml fpdoc files are located per project (Project Options > FPDoc Editor tab) or Packages (Package > Options > IDE Integration > FPDoc files path). Then while you code, you can add documentation too. This actually works so well, because you don't have to loose your train of thought and switch to some external tool.

I guess this is a personal thing, but I find that to have descent class documentation is very important. This also means that to have descent documentation, the comments/docs are more that one line long. As soon as you have multi-line documentation between your class methods etc, it obfuscates the code a lot. Making the code very hard to read. So external held documentation is a nice fit. Plus fpdoc generates beautiful HTML pages (as long as you include the correct CSS file) and makes things easy to navigate with a web browser. You can even integrate the generated fpdoc HTML output with a add-on packages into the Lazarus IDE. So pressing F1 on your code, will launch a Web Browser display the HTML documentation.

The other cool thing about Lazarus IDE is that if you told the IDE where to find the external xml fpdoc files, any tooltips over methods, class etc., will automatically display those fpdoc help entries in the tooltip as well. So even if you don't have the internal fpdoc editor open or generated HTML help, you still have access to all you help - via tooltips. Mattias is also working on HTML support inside the tooltips, which should improve the visual aspect a lot.

Lazarus IDE is an awesome IDE. Built by developers - for developers! ;-)

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Graeme Geldenhuys
to Vincent Snijders: I meant: I wonder who said that programmers are not users. Vincent
Vincent Snijders wrote
I meant: I wonder who said that programmers are not users.

I think it was from the "Lazarus has unique font sizes" message thread. I can't really remember the exact context or person. I read to many newsgroups and mailing lists to remember everything. ;-)

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Vincent Snijders
to Graeme Geldenhuys
Graeme Geldenhuys wrote 8 lines
Vincent Snijders wrote: > > I meant: I wonder who said that programmers are not users. I think it was from the "Lazarus has unique font sizes" message thread. I can't really remember the exact context or person. I read to many newsgroups and mailing lists to remember everything. ;-)

Please read carefully. Otherwise you are reading things that are not written and you get a skewed world view.

From that thread:
"Lazarus is not a tool for any user - it is a tool only for programmers."

IOW, it is not a tool for users that are not programmers. The set of programmers is a subset of the set of users.

You said:
"I was told multiple times the IDE is for programmers, not users (apparently programmers are not users) - so anything should go."

1. Until now I only could find one location with these kind of words, not multiple times.
2. As explained above, you misinterpret that quote. Therefore you draw the wrong conclusion (I think, because I don't exactly understand this English): "anything should go"

Vincent

Reply by email

Graeme Geldenhuys
to Vincent Snijders
Vincent Snijders wrote 6 lines
Please read carefully. Otherwise you are reading things that are not written and you get a skewed world view. From that thread: "Lazarus is not a tool for any user - it is a tool only for programmers."

OK, I did some searching. You are correct about the quoted message, and this one.

-------------------

Yes, why is it an option in the first place? No other application asks the user for the Font Size or Font Height. If the one can be calculated from the other, then just give us the ONE normal option - Font Size. Anything else is just confusing to the user.

User, yes. programmer: no.
-------------------

Maybe I misunderstood or misinterpreted the people that wrote those messages. If I did, I humbly apologise.

quote. Therefore you draw the wrong conclusion (I think, because I don't exactly understand this English): "anything should go"

I thought I explained what I meant by "anything should go". Please reread my reply to that...

http://lists.lazarus.freepascal.org/pipermail/lazarus/2009-August/044685.html

If it is still unclear, I'll try and explain in more detail.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/

Reply by email

Martin
to Martin: While not as nice, there is a way. right click the fold gutter (assuming you have folding…
Graeme Geldenhuys wrote 9 lines
> Hi, > > Many times I am working with large classes that are much bigger than > what is visible in the editor view. Is there any way the tooltip > shown over a property or method can include visibility information? > > That way I can simply hover the move over a method or property and > see if it is protected or public etc...

Compile the IDE with WithSynInfoView defined (then watch the top of the editor, when the info is off screen)
Note this is alpha (should be crash free, but looks like ---)

Reply by email

Graeme Geldenhuys
to Martin
Martin wrote
Compile the IDE with WithSynInfoView defined (then watch the top of the editor, when the info is off screen) Note this is alpha (should be crash free, but looks like ---)

Thanks Martin, I'll give it a try.

Regards, ? - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net

Reply by email

Alexander Shishkin
to Martin: Compile the IDE with WithSynInfoView defined (then watch the top of the editor, when the…
Show quoted text 12 lines
Compile the IDE with WithSynInfoView defined (then watch the top of the editor, when the info is off screen) Note this is alpha (should be crash free, but looks like ---) -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Nice feature.
There are some suggestions:
1) The tooltip should be shown for method/class part on top of screen even if caret is in it but not for the method/class where caret is even if it is completely out of screen.
2) At least if method/class is out completely out of screen tooltip should be hidden.

(Currently when scrolling down with mousewheel f.e. you always see tooltip for method where caret is.)

Reply by email

Martin
to Alexander Shishkin
Alexander Shishkin wrote 16 lines
> > Compile the IDE with WithSynInfoView defined (then watch the top of the > editor, when the info is off screen) > Note this is alpha (should be crash free, but looks like ---) > > -- > _______________________________________________ > Lazarus mailing list > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > > Nice feature. There are some suggestions:

as I said it is still alpha...

1) The tooltip should be shown for method/class part on top of screen even if caret is in it but not for the method/class where caret is even if it is completely out of screen.

I am trying to understand that ....

error 159: penny wont drop

Show quoted text 5 lines
2) At least if method/class is out completely out of screen tooltip should be hidden. (Currently when scrolling down with mousewheel f.e. you always see tooltip for method where caret is.)

ups, yes

Reply by email

Alexander Shishkin
to Martin

23.01.2012 16:21, Martin ?????:

> > Nice feature. > There are some suggestions: as I said it is still alpha...

So its good time to discuss some issues.

Show quoted text 8 lines
> 1) The tooltip should be shown for method/class part on top of screen > even if caret is in it but not for the method/class where caret is > even if it is completely out of screen. I am trying to understand that .... error 159: penny wont drop

Sorry . IOW Show tooltip for method/class part on top of screen regardless of caret position.

Reply by email

Martin
to Alexander Shishkin
Alexander Shishkin wrote 7 lines
23.01.2012 16:21, Martin ?????: >> >> Nice feature. >> There are some suggestions: > as I said it is still alpha... So its good time to discuss some issues.

:)

Show quoted text 10 lines
> >> 1) The tooltip should be shown for method/class part on top of screen >> even if caret is in it but not for the method/class where caret is >> even if it is completely out of screen. > I am trying to understand that .... > > error 159: penny wont drop > Sorry . IOW Show tooltip for method/class part on top of screen regardless of caret position.

Ah yes,

well that can be in the final stages, when config is added (also including which parts of the structure to show... )

probably also some sort of tiny delay, so it wont flicker while fast scrolling

Reply by email

Juha Manninen
to Martin

2012/1/23 Martin

Show quoted text 5 lines
well that can be in the final stages, when config is added (also including which parts of the structure to show... ) probably also some sort of tiny delay, so it wont flicker while fast scrolling

Nice. With nested functions it shows both the top level function name and the nested function name.
It is useful with codetools methods for example.

One more feature would be nice: clicking the hint text would move you to the top of the function.
With nested functions there is no easy way to do that now. Search -> Find Start of Code Block goes to "begin".

Juha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120124/2b106a5a/attachment.html>

Reply by email

Mattias Gaertner
to Juha Manninen
Show quoted text 16 lines
2012/1/23 Martin > well that can be in the final stages, when config is added (also including > which parts of the structure to show... ) > probably also some sort of tiny delay, so it wont flicker while fast > scrolling > Nice. With nested functions it shows both the top level function name and the nested function name. It is useful with codetools methods for example. One more feature would be nice: clicking the hint text would move you to the top of the function. With nested functions there is no easy way to do that now. Search -> Find Start of Code Block goes to "begin".

The code explorer can show the "Surrounding", which shows nested procedures and sibling nested procedures.

Mattias

Reply by email

Martin
to Juha Manninen: 2012/1/23 Martin Nice. With nested functions it shows both the top level function name and
Juha Manninen wrote 16 lines
2012/1/23 Martin < <mailto:>> well that can be in the final stages, when config is added (also including which parts of the structure to show... ) probably also some sort of tiny delay, so it wont flicker while fast scrolling Nice. With nested functions it shows both the top level function name and the nested function name. It is useful with codetools methods for example. One more feature would be nice: clicking the hint text would move you to the top of the function. With nested functions there is no easy way to do that now. Search -> Find Start of Code Block goes to "begin".

Nice idea...

But I first need the top-info to proper follow editor settings. And also to highlight...

Then improve the search (add cache...) it is very heavy and runs on every caret move....
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120124/a2282540/attachment.html>

Reply by email

Mattias Gaertner
to Juha Manninen: 2012/1/23 Martin Nice. With nested functions it shows both the top level function name and
Show quoted text 16 lines
2012/1/23 Martin > well that can be in the final stages, when config is added (also including > which parts of the structure to show... ) > probably also some sort of tiny delay, so it wont flicker while fast > scrolling > Nice. With nested functions it shows both the top level function name and the nested function name. It is useful with codetools methods for example. One more feature would be nice: clicking the hint text would move you to the top of the function. With nested functions there is no easy way to do that now. Search -> Find Start of Code Block goes to "begin".

It jumps now from the "begin" to the header and so forth.

Mattias

Reply by email

Alexander Shishkin
to Alexander Shishkin

01.02.2012 16:43, Alexander Shishkin ?????:

Another issue: tooltip now disappears after "begin" inside routine and not shown if caret is in routines` "var" section.

more precise: tooltip disappears when caret is "scrolled off" from screen.

Reply by email

Martin
to Alexander Shishkin
Alexander Shishkin wrote 6 lines
01.02.2012 16:43, Alexander Shishkin ?????: > Another issue: tooltip now disappears after "begin" inside routine and > not shown if caret is in routines` "var" section. > more precise: tooltip disappears when caret is "scrolled off" from screen.

this is currently intended. Needs to be configurable.

But also needs a fix (which is why it changed).
Previously the hith stayed, not only if the caret srolled out (on the top) but even if the "end" scrolled out. that was nonsense imho.

I'll have to do some speed improvements first. Try caret movements (hold down key) at the end of a 10000 line unit...

Reply by email

Alexander Shishkin
to Martin

01.02.2012 17:04, Martin ?????:

Show quoted text 18 lines
On 01/02/2012 12:47, Alexander Shishkin wrote: > 01.02.2012 16:43, Alexander Shishkin ?????: >> Another issue: tooltip now disappears after "begin" inside routine and >> not shown if caret is in routines` "var" section. >> > more precise: tooltip disappears when caret is "scrolled off" from > screen. this is currently intended. Needs to be configurable. But also needs a fix (which is why it changed). Previously the hith stayed, not only if the caret srolled out (on the top) but even if the "end" scrolled out. that was nonsense imho. I'll have to do some speed improvements first. Try caret movements (hold down key) at the end of a 10000 line unit...

Yes. its really slow.

Reply by email

Martin
to Alexander Shishkin
Alexander Shishkin wrote 21 lines
01.02.2012 17:04, Martin ?????: > On 01/02/2012 12:47, Alexander Shishkin wrote: >> 01.02.2012 16:43, Alexander Shishkin ?????: >>> Another issue: tooltip now disappears after "begin" inside routine and >>> not shown if caret is in routines` "var" section. >>> >> more precise: tooltip disappears when caret is "scrolled off" from >> screen. > > this is currently intended. Needs to be configurable. > > But also needs a fix (which is why it changed). > Previously the hith stayed, not only if the caret srolled out (on the > top) but even if the "end" scrolled out. that was nonsense imho. > > > I'll have to do some speed improvements first. Try caret movements (hold > down key) at the end of a 10000 line unit... > Yes. its really slow.

I simply re used an old bit of code, that had a diff purpose...

Reply by email