wxNotebook::HitTest() for wxMSW added (patch 748469)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-07-06 21:02:24 +00:00
parent ae79d31557
commit e450aa692b
6 changed files with 84 additions and 25 deletions

View File

@@ -27,15 +27,6 @@
// wxNotebook
// ----------------------------------------------------------------------------
/*
* Flags returned by HitTest
*/
#define wxNB_HITTEST_NOWHERE 1
#define wxNB_HITTEST_ONICON 2
#define wxNB_HITTEST_ONLABEL 4
#define wxNB_HITTEST_ONITEM 6
class WXDLLEXPORT wxNotebook : public wxNotebookBase
{
public:
@@ -103,6 +94,7 @@ public:
// ----------
// remove all pages
bool DeleteAllPages();
// inserts a new page to the notebook (it will be deleted ny the notebook,
// don't delete it yourself). If bSelect, this page becomes active.
bool InsertPage(int nPage,
@@ -118,9 +110,10 @@ public:
// Windows only: attempts to apply the UX theme page background to this page
void ApplyThemeBackground(wxWindow* window, const wxColour& colour);
// Hit test
int HitTest(const wxPoint& pt, long& flags);
// calculate the size of the notebook from the size of its page
// hit test
virtual int HitTest(const wxPoint& pt, long *flags = NULL) const;
// calculate the size of the notebook from the size of its page
virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const;
// callbacks

View File

@@ -28,6 +28,19 @@
#include "wx/dynarray.h"
#include "wx/imaglist.h"
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// wxNotebook hit results
enum
{
wxNB_HITTEST_NOWHERE = 1, // not on tab
wxNB_HITTEST_ONICON = 2, // on icon
wxNB_HITTEST_ONLABEL = 4, // on label
wxNB_HITTEST_ONITEM = wxNB_HITTEST_ONICON | wxNB_HITTEST_ONLABEL
};
// ----------------------------------------------------------------------------
// types
// ----------------------------------------------------------------------------
@@ -144,6 +157,13 @@ public:
// NB: this function will _not_ generate wxEVT_NOTEBOOK_PAGE_xxx events
virtual int SetSelection(int nPage) = 0;
// hit test, returns which tab is hit and, optionally, where (icon, label)
// (not implemented on all platforms)
virtual int HitTest(const wxPoint& pt, long *flags = NULL) const
{
return wxNOT_FOUND;
}
// cycle thru the tabs
void AdvanceSelection(bool forward = TRUE)
{

View File

@@ -105,8 +105,7 @@ public:
// hit testing
// -----------
// return the tab at this position or -1 if none
int HitTest(const wxPoint& pt) const;
virtual int HitTest(const wxPoint& pt, long *flags = NULL) const;
// input handling
// --------------