haiku/headers/private/interface/MenuWindow.h
Stefano Ceccherini 4e0c2a797d Menus can be scrolled also using the mouse wheel
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-03 06:03:27 +00:00

56 lines
1006 B
C++

/*
* Copyright 2001-2006, Haiku, Inc.
* Distributed under the terms of the MIT License.
*
* Authors:
* Marc Flerackers (mflerackers@androme.be)
* Stefano Ceccherini (burton666@libero.it)
*/
#ifndef __MENUWINDOW_H
#define __MENUWINDOW_H
#include <Window.h>
class BMenu;
namespace BPrivate {
class BMenuFrame;
class BMenuScroller;
class BMenuWindow : public BWindow {
public:
BMenuWindow(const char *name);
virtual ~BMenuWindow();
virtual void DispatchMessage(BMessage *message, BHandler *handler);
void AttachMenu(BMenu *menu);
void DetachMenu();
void AttachScrollers();
void DetachScrollers();
bool CheckForScrolling(const BPoint &cursor);
bool TryScrollBy(const float &step);
private:
BMenu *fMenu;
BMenuFrame *fMenuFrame;
BMenuScroller *fUpperScroller;
BMenuScroller *fLowerScroller;
float fValue;
float fLimit;
bool _Scroll(const BPoint &cursor);
void _ScrollBy(const float &step);
};
} // namespace BPrivate
#endif // __MENUWINDOW_H