View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0037599 | Lazarus | Widgetset | public | 2020-08-19 21:02 | 2020-09-20 08:56 |
Reporter | CudaText man | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | Ubuntu 20 x64 | ||||
Product Version | 2.1 (SVN) | ||||
Summary | 0037599: gtk3: Bugs in ATTabs | ||||
Description | ATFlatControls https://github.com/Alexey-T/ATFlatControls it has app/demo_tabs project. run it to see bugs on GTK3 a) tabs on top are 0-based. tabs 1 and 2 have Hints. but mouse over for them shows hint for very short time! b) if you see Hint for short time, its ugly and very tall and yellow offtopic: z) form background is black | ||||
Tags | No tags attached. | ||||
Fixed in Revision | |||||
LazTarget | |||||
Widgetset | GTK 3 | ||||
Attached Files |
|
related to | 0037712 | new | gtk3: TApplication.ActivateHint refreshes hint on every mouse move |
|
And bug c) bad colors of top UI tabs when tabs are painted with angled sides (to toggle angled sides, demo gives the checkbox). |
|
|
|
The patch fixes HintWindow sizing issue caused by crazy LCL<->GTK3 interaction. And probably creates new issues. Corner painting problem caused by generic RGBA <->BGRA bitmap problem. Please provide simpler testcase. ATTabs code is too big for digging. |
|
gtk3hint.diff (1,202 bytes)
Index: lcl/interfaces/gtk3/gtk3widgets.pas =================================================================== --- lcl/interfaces/gtk3/gtk3widgets.pas (revision 63866) +++ lcl/interfaces/gtk3/gtk3widgets.pas (working copy) @@ -1494,7 +1494,7 @@ Msg.SizeType := Msg.SizeType or Size_SourceIsInterface; - if ACtl.WidgetType*[wtEntry,wtComboBox,wtScrollBar,wtSpinEdit]<>[] then + if ACtl.WidgetType*[wtEntry,wtComboBox,wtScrollBar,wtSpinEdit,wtHintWindow]<>[] then begin Msg.Width := ACtl.LCLObject.Width;//Word(NewSize.cx); Msg.Height := ACtl.LCLObject.Height;//Word(NewSize.cy); @@ -1511,7 +1511,7 @@ end; ACtl.DeliverMessage(Msg); - if (wtWindow in ACtl.WidgetType) and + (* if (wtWindow in ACtl.WidgetType) and ((AGdkRect^.x <> ACtl.LCLObject.Left) or (AGdkRect^.y <> ACtl.LCLObject.Top)) then begin FillChar(MoveMsg, SizeOf(MoveMsg), #0); @@ -1523,7 +1523,7 @@ DebugLn('SEND MOVE MESSAGE X=',dbgs(AGdkRect^.x),' Y=',dbgs(AGdkRect^.y),' control ',dbgsName(ACtl.LCLObject)); {$ENDIF} ACtl.DeliverMessage(MoveMsg); - end; + end; *) end; function Gtk3ResizeEvent(AWidget: PGtkWidget; AEvent: PGdkEvent; Data: gpointer): gboolean; cdecl; |
|
Hint: better now.... but still hint flickers (less now) on moving mouse between first 4 tabs in the ATTabs demo. Tabs code in attabs.pas if Hint<>'' then Application.ActivateHint(Mouse.CursorPos) else Application.HideHint; maybe ActivateHint is not ok. |
|
Maybe GTK3 timer implementation IMO hint behaves properly. Moving mouse along tabs periodically shows hint on cross button. |
|
About color of triangles: I have this repro https://github.com/Alexey-T/FreePascal-tests/tree/master/Canvas%20figures%20tests gtk2 - triangles are yellow + purple edge gtk3 - triangles are greenish + blue edge |
|
>IMO hint behaves properly. Moving mouse along tabs periodically shows hint on cross button. I see in breakpoint when MY code calls Application.ShowHint+HideHint; it calls them only when I move mouse to another tab. So moving hint (mouse moves on the same tab) is not my action! WS does it! it's a bug. |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-08-19 21:02 | CudaText man | New Issue | |
2020-08-30 18:11 | CudaText man | Note Added: 0125222 | |
2020-08-30 18:12 | CudaText man | Note Added: 0125223 | |
2020-08-30 18:12 | CudaText man | File Added: Screenshot from 2020-08-30 19-11-51.png | |
2020-09-05 08:00 | Anton Kavalenka | Note Added: 0125383 | |
2020-09-05 08:01 | Anton Kavalenka | Note Added: 0125384 | |
2020-09-05 08:01 | Anton Kavalenka | File Added: gtk3hint.diff | |
2020-09-05 08:12 | CudaText man | Note Added: 0125385 | |
2020-09-05 08:21 | Anton Kavalenka | Note Added: 0125386 | |
2020-09-05 08:30 | Anton Kavalenka | Note Edited: 0125386 | View Revisions |
2020-09-06 08:54 | CudaText man | Note Added: 0125402 | |
2020-09-06 08:55 | CudaText man | Note Edited: 0125402 | View Revisions |
2020-09-06 09:05 | CudaText man | Note Added: 0125403 | |
2020-09-20 08:56 | Juha Manninen | Relationship added | related to 0037712 |