mirror of
https://github.com/reactos/reactos.git
synced 2025-06-18 10:35:40 +00:00
[RSHELL]
* Redesigned large portions of the focus manager. All the mouse interactions seem to work now CORE-7586. svn path=/branches/shell-experiments/; revision=62567
This commit is contained in:
parent
d2b33acd15
commit
8676a39ebc
7 changed files with 404 additions and 278 deletions
|
@ -133,7 +133,7 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::QueryService(REFGUID guidService, REFIID
|
|||
{
|
||||
return this->QueryInterface(riid, ppvObject);
|
||||
}
|
||||
|
||||
|
||||
if (IsEqualGUID(guidService, SID_SMenuBandBottom) ||
|
||||
IsEqualGUID(guidService, SID_SMenuBandBottomSelected) ||
|
||||
IsEqualGUID(guidService, SID_SMenuBandChild))
|
||||
|
@ -299,7 +299,7 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::Popup(POINTL *ppt, RECTL *prcExclude, MP
|
|||
::GetObject(m_Banner, sizeof(bm), &bm);
|
||||
rc.right += bm.bmWidth;
|
||||
}
|
||||
|
||||
|
||||
int x, y, cx, cy;
|
||||
|
||||
RECT rcWorkArea;
|
||||
|
@ -350,7 +350,7 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::Popup(POINTL *ppt, RECTL *prcExclude, MP
|
|||
{
|
||||
cy = waHeight;
|
||||
}
|
||||
|
||||
|
||||
if (y + cy > rcWorkArea.bottom)
|
||||
{
|
||||
y = rcWorkArea.bottom - cy;
|
||||
|
@ -438,23 +438,23 @@ HRESULT STDMETHODCALLTYPE CMenuDeskBar::SetSubMenu(IMenuPopup *pmp, BOOL fSet)
|
|||
HRESULT STDMETHODCALLTYPE CMenuDeskBar::OnSelect(DWORD dwSelectType)
|
||||
{
|
||||
/* As far as I can tell, the submenu hierarchy looks like this:
|
||||
|
||||
The DeskBar's Child is the Band it contains.
|
||||
The DeskBar's Parent is the SID_SMenuPopup of the Site.
|
||||
|
||||
The Band's Child is the IMenuPopup of the child submenu.
|
||||
The Band's Parent is the SID_SMenuPopup of the Site (the DeskBar).
|
||||
|
||||
When the DeskBar receives a selection event:
|
||||
If it requires closing the window, it will notify the Child (Band) using CancelLevel.
|
||||
If it has to spread upwards (everything but CancelLevel), it will notify the Parent.
|
||||
|
||||
When the Band receives a selection event, this is where it gets fuzzy:
|
||||
In which cases does it call the Parent? Probably not CancelLevel.
|
||||
In which cases does it call the Child?
|
||||
How does it react to calls?
|
||||
|
||||
*/
|
||||
*
|
||||
* The DeskBar's Child is the Band it contains.
|
||||
* The DeskBar's Parent is the SID_SMenuPopup of the Site.
|
||||
*
|
||||
* The Band's Child is the IMenuPopup of the child submenu.
|
||||
* The Band's Parent is the SID_SMenuPopup of the Site (the DeskBar).
|
||||
*
|
||||
* When the DeskBar receives a selection event:
|
||||
* If it requires closing the window, it will notify the Child (Band) using CancelLevel.
|
||||
* If it has to spread upwards (everything but CancelLevel), it will notify the Parent.
|
||||
*
|
||||
* When the Band receives a selection event, this is where it gets fuzzy:
|
||||
* In which cases does it call the Parent? Probably not CancelLevel.
|
||||
* In which cases does it call the Child?
|
||||
* How does it react to calls?
|
||||
*
|
||||
*/
|
||||
|
||||
switch (dwSelectType)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue