* Added a basic tool tip API, and implementation.

* The BView API can probably be regarded as good enough; the implementation
  might need to be improved over time (also, some things as archivability
  aren't fully implemented yet). The ToolTip.h header should get public once
  finalized.
* Added new B_MOUSE_IDLE message that is sent to a BView after a certain
  time has passed (BToolTipManager::ShowDelay()).
* Added small test app (ToolTipTest) that shows what is already working.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32078 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2009-08-03 14:47:41 +00:00
parent 360495a3bf
commit 8318af01b9
16 changed files with 1011 additions and 16 deletions
+17 -3
View File
@@ -124,6 +124,7 @@ class BScrollView;
class BShape;
class BShelf;
class BString;
class BToolTip;
class BWindow;
struct _array_data_;
struct _array_hdr_;
@@ -503,7 +504,6 @@ public:
virtual void DrawAfterChildren(BRect r);
// layout related
virtual BSize MinSize();
@@ -542,6 +542,19 @@ public:
protected:
virtual void DoLayout();
public:
// tool tip support
void SetToolTip(const char* text);
void SetToolTip(BToolTip* tip);
BToolTip* ToolTip() const;
void ShowToolTip(BToolTip* tip = NULL);
void HideToolTip();
protected:
virtual bool GetToolTipAt(BPoint point, BToolTip** _tip);
private:
void _Layout(bool force, BLayoutContext* context);
@@ -556,7 +569,6 @@ private:
friend class BTabView;
friend class BWindow;
virtual void _ReservedView11();
virtual void _ReservedView12();
virtual void _ReservedView13();
virtual void _ReservedView14();
@@ -653,8 +665,10 @@ private:
uint32 fMouseEventOptions;
LayoutData* fLayoutData;
BToolTip* fToolTip;
BToolTip* fVisibleToolTip;
uint32 _reserved[7];
uint32 _reserved[5];
};