View Issue Details

IDProjectCategoryView StatusLast Update
0018258PatchesIDEpublic2020-10-10 20:03
ReporterSven Barth Assigned ToPaul Ishenin  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version0.9.29 (SVN) 
Target Version0.99.0Fixed in Version0.9.31 (SVN) 
Summary0018258: Display hints in Object inspector directly on its corresponding cell
DescriptionJust today I've noticed that I need to enable hints in object inspector for too long property names and values in the popup menu.

As I'm using Delphi 2007 at work I've noticed a small difference between how Lazarus displays the hint and how Delphi does. I'm not talking about Delphi compatibilty here, but about the look.

Delphi displays the hint for a property or value directly above the cell which place is too small instead of below it. That is way more intuitive in my opinion (and looks more nice as well ^^).

For the extended hint window that is displayed after some time, I'd keep the position below the cell, but for the "short time" hint I'd place them directly on the cell.
TagsNo tags attached.
Fixed in Revision28862
LazTarget0.99.0
WidgetsetGTK, GTK 2, Win32/Win64, WinCE, Carbon, Cocoa, QT, fpGUI
Attached Files

Relationships

related to 0018475 closedJuha Manninen Lazarus [Patch] Object inspector hints block input 
related to 0037901 resolvedJuha Manninen Lazarus Feature request: Add hints for object inspector property's names 

Activities

Sven Barth

2010-12-19 12:37

manager   ~0044369

Ok... that one was rather easy ^^

The attached patch displays the short hints above the corresponding cell. Only the horizontal position is of by one or two pixels (at least on GTK2, I haven't tested on other Widgetsets). So I'll need to find how to get the correct position of the text in the OI grid so I can display the hint at the correct position.
Also the hint is flickering if the mouse is moved on one cell without moving to another cell (seems like the hint is disabled and enabled every time the mouse is moved). But those two issues might be solved another time. :)

Regards,
Sven

2010-12-19 12:37

 

objinsp-hints.patch (1,081 bytes)   
Index: ideintf/objectinspector.pp
===================================================================
--- ideintf/objectinspector.pp	(Revision 28764)
+++ ideintf/objectinspector.pp	(Arbeitskopie)
@@ -2069,7 +2069,7 @@
             fHintRect := FHintWindow.CalcHintRect(0,fHint,nil);
             fPoint := ClientToScreen(
                                    Point(BorderWidth+GetTreeIconX(Index)+Indent,
-                                   fPropRow.Bottom - TopY-1));
+                                   fPropRow.Top - TopY-1));
             MoveRect(fHintRect,fPoint.x,fPoint.y);
             FHintWindow.ActivateHint(fHintRect,fHint);
           end;
@@ -2083,7 +2083,7 @@
              InitHints then 
           begin
             fHintRect := FHintWindow.CalcHintRect(0,fHint,nil);
-            fpoint := ClientToScreen(Point(SplitterX, fPropRow.Bottom - TopY - 1));
+            fpoint := ClientToScreen(Point(SplitterX, fPropRow.Top - TopY - 1));
             MoveRect(fHintRect, fPoint.x, fPoint.y);
             FHintWindow.ActivateHint(fHintRect, fHint);
           end;
objinsp-hints.patch (1,081 bytes)   

Paul Ishenin

2011-01-04 11:11

manager   ~0044858

Thanks, applied. Please close if ok.

Stephano

2011-01-04 22:46

developer   ~0044885

The following applies only to values which are partly hidden due to their length. Let hint1 be the full text of the value, and hint2 be the real hint.

Previously, hint1 appeared somewhere close to the value in the OI, and was very quickly replaced by hint2.

Now almost always, the hint blocks the value so that it cannot be clicked and edited. Sometimes, hint2 gets to be displayed.

Lazarus 0.9.31 r28865M FPC 2.4.2 i386-linux-gtk 2

Issue History

Date Modified Username Field Change
2010-12-18 18:41 Sven Barth New Issue
2010-12-18 18:41 Sven Barth Widgetset => GTK, GTK 2, Win32/Win64, WinCE, Carbon, Cocoa, QT, fpGUI
2010-12-18 22:17 Vincent Snijders LazTarget => -
2010-12-18 22:17 Vincent Snijders Status new => acknowledged
2010-12-19 12:37 Sven Barth Note Added: 0044369
2010-12-19 12:37 Sven Barth File Added: objinsp-hints.patch
2010-12-19 15:43 Vincent Snijders LazTarget - => 0.99.0
2010-12-19 15:43 Vincent Snijders Target Version => 0.99.0
2010-12-30 12:45 Vincent Snijders Project Lazarus => Patches
2011-01-04 11:11 Paul Ishenin Fixed in Revision => 28862
2011-01-04 11:11 Paul Ishenin Status acknowledged => resolved
2011-01-04 11:11 Paul Ishenin Fixed in Version => 0.9.31
2011-01-04 11:11 Paul Ishenin Resolution open => fixed
2011-01-04 11:11 Paul Ishenin Assigned To => Paul Ishenin
2011-01-04 11:11 Paul Ishenin Note Added: 0044858
2011-01-04 22:46 Stephano Note Added: 0044885
2011-01-12 20:46 Vincent Snijders Relationship added child of 0018475
2011-01-12 22:24 Vincent Snijders Relationship replaced related to 0018475
2011-12-01 11:25 Marc Weustink Status resolved => closed
2020-10-10 20:03 Juha Manninen Relationship added related to 0037901