mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
[cardlib] Install a button release callback
[spider] Use the button release callback instead of button click callbacks See issue #6125 for more details. svn path=/trunk/; revision=51416
This commit is contained in:
parent
f3aa24aa4f
commit
7037613d3d
5 changed files with 24 additions and 2 deletions
|
@ -294,8 +294,7 @@ void CreateSpider()
|
|||
pDeck->SetPlacement(CS_XJUST_RIGHT, CS_YJUST_BOTTOM, - X_BORDER, - Y_BORDER);
|
||||
pDeck->SetDragRule(CS_DRAG_NONE, 0);
|
||||
pDeck->SetDropRule(CS_DROP_NONE, 0);
|
||||
pDeck->SetClickProc(DeckClickProc);
|
||||
pDeck->SetDblClickProc(DeckClickProc);
|
||||
pDeck->SetClickReleaseProc(DeckClickProc);
|
||||
|
||||
/* Create the row stacks */
|
||||
for (i = 0; i < NUM_STACKS; i++)
|
||||
|
|
6
reactos/lib/3rdparty/cardlib/cardregion.cpp
vendored
6
reactos/lib/3rdparty/cardlib/cardregion.cpp
vendored
|
@ -46,6 +46,7 @@ CardRegion::CardRegion(CardWindow &parent, int Id, bool visible, int x, int y, i
|
|||
AddCallback = 0;
|
||||
RemoveCallback = 0;
|
||||
ClickCallback = 0;
|
||||
ClickReleaseCallback = 0;
|
||||
DblClickCallback = 0;
|
||||
|
||||
uDragRule = CS_DRAG_ALL;
|
||||
|
@ -187,6 +188,11 @@ void CardRegion::SetClickProc(pClickProc proc)
|
|||
ClickCallback = proc;
|
||||
}
|
||||
|
||||
void CardRegion::SetClickReleaseProc(pClickProc proc)
|
||||
{
|
||||
ClickReleaseCallback = proc;
|
||||
}
|
||||
|
||||
void CardRegion::SetDblClickProc(pClickProc proc)
|
||||
{
|
||||
DblClickCallback = proc;
|
||||
|
|
3
reactos/lib/3rdparty/cardlib/cardregion.h
vendored
3
reactos/lib/3rdparty/cardlib/cardregion.h
vendored
|
@ -40,6 +40,7 @@ public:
|
|||
bool SetDropRule(UINT uDropType, pCanDropProc proc = 0);
|
||||
|
||||
void SetClickProc (pClickProc proc);
|
||||
void SetClickReleaseProc (pClickProc proc);
|
||||
void SetDblClickProc (pClickProc proc);
|
||||
|
||||
void SetAddCardProc (pAddProc proc);
|
||||
|
@ -132,6 +133,7 @@ private:
|
|||
bool OnLButtonDblClk(int x, int y);
|
||||
bool OnMouseMove(int x, int y);
|
||||
bool OnLButtonUp(int x, int y);
|
||||
void ClickRelease(int x, int y);
|
||||
|
||||
|
||||
//
|
||||
|
@ -204,6 +206,7 @@ private:
|
|||
pCanDragProc CanDragCallback;
|
||||
pCanDropProc CanDropCallback;
|
||||
pClickProc ClickCallback;
|
||||
pClickProc ClickReleaseCallback;
|
||||
pClickProc DblClickCallback;
|
||||
pAddProc AddCallback;
|
||||
pRemoveProc RemoveCallback;
|
||||
|
|
|
@ -279,6 +279,14 @@ bool CardRegion::OnLButtonDown(int x, int y)
|
|||
return false;
|
||||
}
|
||||
|
||||
void CardRegion::ClickRelease(int x, int y)
|
||||
{
|
||||
iNumDragCards = GetNumDragCards(x, y);
|
||||
|
||||
if (ClickReleaseCallback)
|
||||
ClickReleaseCallback(*this, iNumDragCards);
|
||||
}
|
||||
|
||||
bool CardRegion::OnLButtonUp(int x, int y)
|
||||
{
|
||||
CardRegion *pDestStack = 0;
|
||||
|
|
6
reactos/lib/3rdparty/cardlib/cardwindow.cpp
vendored
6
reactos/lib/3rdparty/cardlib/cardwindow.cpp
vendored
|
@ -501,6 +501,12 @@ LRESULT CALLBACK CardWindow::WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM
|
|||
return 0;
|
||||
}
|
||||
|
||||
if ((stackptr = CardRegionFromPoint(x, y)) != 0)
|
||||
{
|
||||
stackptr->ClickRelease(x, y);
|
||||
stackptr = 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
case WM_MOUSEMOVE:
|
||||
|
|
Loading…
Reference in a new issue