2017-12-18 3 views
0

Ich habe eine Klasse, die ColumnViewerToolTipSupport erweitert. Diese Klasse überschreibt createViewerToolTipContentArea() und stellt benutzerdefinierten Inhalt für die QuickInfo bereit. Wenn sich ein Mauszeiger auf dem Baumelement befindet, wird der Tooltip angezeigt und kann ebenfalls fokussiert werden. Wenn die QuickInfo im Fokus ist, wird durch Drücken der ESC-Taste die QuickInfo ausgeblendet. Ich denke, dass diese Eigenschaft von jface Tooltip vererbt wird.JFaceTooltip erscheint nicht auf einem nachfolgenden Mauszeiger, nachdem ESC gedrückt wurde

Problem hier ist, sobald der Tooltip durch ESC-Aktion geschlossen wird, wird es nach dem Schweben nicht mehr angezeigt, es sei denn, ein anderes treetitem ist schwebend und sein Tooltip ist erschienen.

Ist das erwartete Verhalten?

+0

Wollen Sie sagen, dass Ihr Code etwas zum Fokussieren des Tooltips verwendet? –

+0

setHideOnMouseDown (false); Dies wird aufgerufen, um den Tooltip beim Mausklick aktiv zu halten. –

+0

Mein Code tut nichts im Fokus. Fokus wird nur bereitgestellt, damit Bildlaufleisten verwendet werden können –

Antwort

0

ColumnViewerToolTipSupport Gibt das ToolTip.NO_RECREATE Flag an, um zu verhindern, dass eine neue QuickInfo erstellt wird, während der Hover im selben Bereich verbleibt. Er definiert den Bereich als den aktuellen ViewerCell (eine Zelle in einer Reihe).

Also, ja, das ist das erwartete Verhalten.

+0

Auch wenn ich ToolTip.RECREATE-Flag verwende, existiert das gleiche Problem –

+0

Sie haben immer noch nicht die Frage beantwortet, was Sie über Fokus tun. Wir können nicht helfen, wenn Sie keine ausreichenden Informationen zur Verfügung stellen. –

+0

Kann ich wissen, wenn ESC gedrückt wird, wenn eine Tooltip geöffnet wird, verursacht die Tooltip zu entsorgen oder verstecken Sie es einfach ?? –

Verwandte Themen