Rename ScrollArrowView to InlineScrollView
InlineScrollView takes a BView instead of a BMenu as well, and it no longer has flags to do drawing respond to frame changes since this view does neither of those things.
This commit is contained in:
parent
e06f13f911
commit
32f840b768
|
@ -58,8 +58,8 @@ All rights reserved.
|
|||
#include "DeskbarUtils.h"
|
||||
#include "ExpandoMenuBar.h"
|
||||
#include "FSUtils.h"
|
||||
#include "InlineScrollView.h"
|
||||
#include "ResourceSet.h"
|
||||
#include "ScrollArrowView.h"
|
||||
#include "StatusView.h"
|
||||
#include "TeamMenuItem.h"
|
||||
|
||||
|
@ -131,7 +131,7 @@ BarViewMessageFilter::Filter(BMessage* message, BHandler** target)
|
|||
TBarView::TBarView(BRect frame, bool vertical, bool left, bool top,
|
||||
uint32 state, float)
|
||||
: BView(frame, "BarView", B_FOLLOW_ALL_SIDES, B_WILL_DRAW),
|
||||
fScrollArrowView(NULL),
|
||||
fInlineScrollView(NULL),
|
||||
fBarMenuBar(NULL),
|
||||
fExpando(NULL),
|
||||
fTrayLocation(1),
|
||||
|
@ -444,8 +444,8 @@ TBarView::PlaceTray(bool vertSwap, bool leftSwap)
|
|||
void
|
||||
TBarView::PlaceApplicationBar()
|
||||
{
|
||||
if (fScrollArrowView != NULL)
|
||||
fScrollArrowView->DetachScrollers();
|
||||
if (fInlineScrollView != NULL)
|
||||
fInlineScrollView->DetachScrollers();
|
||||
|
||||
if (fExpando != NULL) {
|
||||
SaveExpandedItems();
|
||||
|
@ -454,10 +454,10 @@ TBarView::PlaceApplicationBar()
|
|||
fExpando = NULL;
|
||||
}
|
||||
|
||||
if (fScrollArrowView != NULL) {
|
||||
fScrollArrowView->RemoveSelf();
|
||||
delete fScrollArrowView;
|
||||
fScrollArrowView = NULL;
|
||||
if (fInlineScrollView != NULL) {
|
||||
fInlineScrollView->RemoveSelf();
|
||||
delete fInlineScrollView;
|
||||
fInlineScrollView = NULL;
|
||||
}
|
||||
|
||||
BRect screenFrame = (BScreen(Window())).Frame();
|
||||
|
@ -504,8 +504,8 @@ TBarView::PlaceApplicationBar()
|
|||
fExpando = new TExpandoMenuBar(this, expandoFrame, "ExpandoMenuBar",
|
||||
fVertical, !hideLabels && fState != kFullState);
|
||||
|
||||
fScrollArrowView = new TScrollArrowView(menuScrollFrame, fExpando);
|
||||
AddChild(fScrollArrowView);
|
||||
fInlineScrollView = new TInlineScrollView(menuScrollFrame, fExpando);
|
||||
AddChild(fInlineScrollView);
|
||||
|
||||
if (fVertical)
|
||||
ExpandItems();
|
||||
|
@ -577,9 +577,9 @@ TBarView::SizeWindow(BRect screenFrame)
|
|||
|
||||
if (fExpando != NULL) {
|
||||
if (fExpando->CheckForSizeOverrun())
|
||||
fScrollArrowView->AttachScrollers();
|
||||
fInlineScrollView->AttachScrollers();
|
||||
else
|
||||
fScrollArrowView->DetachScrollers();
|
||||
fInlineScrollView->DetachScrollers();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ class TBarMenuBar;
|
|||
class TExpandoMenuBar;
|
||||
class TReplicantTray;
|
||||
class TDragRegion;
|
||||
class TScrollArrowView;
|
||||
class TInlineScrollView;
|
||||
class TTeamMenuItem;
|
||||
|
||||
|
||||
|
@ -168,7 +168,7 @@ class TBarView : public BView {
|
|||
void ExpandItems();
|
||||
void _ChangeState(BMessage* message);
|
||||
|
||||
TScrollArrowView* fScrollArrowView;
|
||||
TInlineScrollView* fInlineScrollView;
|
||||
TBarMenuBar* fBarMenuBar;
|
||||
TExpandoMenuBar* fExpando;
|
||||
|
||||
|
|
|
@ -54,8 +54,8 @@ All rights reserved.
|
|||
#include "BarWindow.h"
|
||||
#include "DeskbarMenu.h"
|
||||
#include "DeskbarUtils.h"
|
||||
#include "InlineScrollView.h"
|
||||
#include "ResourceSet.h"
|
||||
#include "ScrollArrowView.h"
|
||||
#include "ShowHideMenuItem.h"
|
||||
#include "StatusView.h"
|
||||
#include "TeamMenuItem.h"
|
||||
|
@ -269,14 +269,14 @@ TExpandoMenuBar::MessageReceived(BMessage* message)
|
|||
if (deltaY == 0)
|
||||
return;
|
||||
|
||||
TScrollArrowView* scrollMenu
|
||||
= dynamic_cast<TScrollArrowView*>(Parent());
|
||||
if (scrollMenu == NULL)
|
||||
TInlineScrollView* scrollView
|
||||
= dynamic_cast<TInlineScrollView*>(Parent());
|
||||
if (scrollView == NULL)
|
||||
return;
|
||||
|
||||
float largeStep;
|
||||
float smallStep;
|
||||
scrollMenu->GetSteps(&smallStep, &largeStep);
|
||||
scrollView->GetSteps(&smallStep, &largeStep);
|
||||
|
||||
// pressing the option/command/control key scrolls faster
|
||||
if (modifiers() & (B_OPTION_KEY | B_COMMAND_KEY | B_CONTROL_KEY))
|
||||
|
@ -284,7 +284,7 @@ TExpandoMenuBar::MessageReceived(BMessage* message)
|
|||
else
|
||||
deltaY *= smallStep;
|
||||
|
||||
scrollMenu->ScrollBy(deltaY);
|
||||
scrollView->ScrollBy(deltaY);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
*/
|
||||
|
||||
|
||||
#include "ScrollArrowView.h"
|
||||
#include "InlineScrollView.h"
|
||||
|
||||
#include <ControlLook.h>
|
||||
#include <Debug.h>
|
||||
|
@ -125,7 +125,7 @@ UpScrollArrow::MouseDown(BPoint where)
|
|||
if (!IsEnabled())
|
||||
return;
|
||||
|
||||
TScrollArrowView* parent = dynamic_cast<TScrollArrowView*>(Parent());
|
||||
TInlineScrollView* parent = dynamic_cast<TInlineScrollView*>(Parent());
|
||||
|
||||
if (parent != NULL) {
|
||||
parent->ScrollBy(-kDefaultScrollStep);
|
||||
|
@ -178,8 +178,8 @@ DownScrollArrow::MouseDown(BPoint where)
|
|||
if (!IsEnabled())
|
||||
return;
|
||||
|
||||
TScrollArrowView* grandparent
|
||||
= dynamic_cast<TScrollArrowView*>(Parent()->Parent());
|
||||
TInlineScrollView* grandparent
|
||||
= dynamic_cast<TInlineScrollView*>(Parent()->Parent());
|
||||
|
||||
if (grandparent != NULL) {
|
||||
grandparent->ScrollBy(kDefaultScrollStep);
|
||||
|
@ -191,10 +191,10 @@ DownScrollArrow::MouseDown(BPoint where)
|
|||
// #pragma mark -
|
||||
|
||||
|
||||
TScrollArrowView::TScrollArrowView(BRect frame, BMenu* menu)
|
||||
TInlineScrollView::TInlineScrollView(BRect frame, BView* target)
|
||||
:
|
||||
BView(frame, "menu scroll view", B_FOLLOW_NONE, B_WILL_DRAW | B_FRAME_EVENTS),
|
||||
fMenu(menu),
|
||||
BView(frame, "inline scroll view", B_FOLLOW_NONE, 0),
|
||||
fTarget(target),
|
||||
fUpperScrollArrow(NULL),
|
||||
fLowerScrollArrow(NULL),
|
||||
fScrollStep(kDefaultScrollStep),
|
||||
|
@ -204,7 +204,7 @@ TScrollArrowView::TScrollArrowView(BRect frame, BMenu* menu)
|
|||
}
|
||||
|
||||
|
||||
TScrollArrowView::~TScrollArrowView()
|
||||
TInlineScrollView::~TInlineScrollView()
|
||||
{
|
||||
if (fUpperScrollArrow != NULL) {
|
||||
fUpperScrollArrow->RemoveSelf();
|
||||
|
@ -221,25 +221,25 @@ TScrollArrowView::~TScrollArrowView()
|
|||
|
||||
|
||||
void
|
||||
TScrollArrowView::AttachedToWindow()
|
||||
TInlineScrollView::AttachedToWindow()
|
||||
{
|
||||
BView::AttachedToWindow();
|
||||
|
||||
if (fMenu == NULL)
|
||||
if (fTarget == NULL)
|
||||
return;
|
||||
|
||||
AddChild(fMenu);
|
||||
fMenu->MoveTo(0, 0);
|
||||
AddChild(fTarget);
|
||||
fTarget->MoveTo(0, 0);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TScrollArrowView::DetachedFromWindow()
|
||||
TInlineScrollView::DetachedFromWindow()
|
||||
{
|
||||
BView::DetachedFromWindow();
|
||||
|
||||
if (fMenu != NULL)
|
||||
fMenu->RemoveSelf();
|
||||
if (fTarget != NULL)
|
||||
fTarget->RemoveSelf();
|
||||
|
||||
if (fUpperScrollArrow != NULL)
|
||||
fUpperScrollArrow->RemoveSelf();
|
||||
|
@ -253,9 +253,9 @@ TScrollArrowView::DetachedFromWindow()
|
|||
|
||||
|
||||
void
|
||||
TScrollArrowView::AttachScrollers()
|
||||
TInlineScrollView::AttachScrollers()
|
||||
{
|
||||
if (fMenu == NULL)
|
||||
if (fTarget == NULL)
|
||||
return;
|
||||
|
||||
BRect frame = Bounds();
|
||||
|
@ -267,7 +267,7 @@ TScrollArrowView::AttachScrollers()
|
|||
return;
|
||||
}
|
||||
|
||||
fMenu->MakeFocus(true);
|
||||
fTarget->MakeFocus(true);
|
||||
|
||||
if (fUpperScrollArrow == NULL) {
|
||||
fUpperScrollArrow = new UpScrollArrow(
|
||||
|
@ -279,10 +279,10 @@ TScrollArrowView::AttachScrollers()
|
|||
fLowerScrollArrow = new DownScrollArrow(
|
||||
BRect(0, frame.bottom - 2 * kScrollerHeight + 1, frame.right,
|
||||
frame.bottom - kScrollerHeight));
|
||||
fMenu->AddChild(fLowerScrollArrow);
|
||||
fTarget->AddChild(fLowerScrollArrow);
|
||||
}
|
||||
|
||||
fMenu->MoveBy(0, kScrollerHeight);
|
||||
fTarget->MoveBy(0, kScrollerHeight);
|
||||
|
||||
fUpperScrollArrow->SetEnabled(false);
|
||||
fLowerScrollArrow->SetEnabled(true);
|
||||
|
@ -294,7 +294,7 @@ TScrollArrowView::AttachScrollers()
|
|||
|
||||
|
||||
void
|
||||
TScrollArrowView::DetachScrollers()
|
||||
TInlineScrollView::DetachScrollers()
|
||||
{
|
||||
if (!HasScrollers())
|
||||
return;
|
||||
|
@ -311,38 +311,38 @@ TScrollArrowView::DetachScrollers()
|
|||
fUpperScrollArrow = NULL;
|
||||
}
|
||||
|
||||
if (fMenu) {
|
||||
if (fTarget) {
|
||||
// We don't remember the position where the last scrolling
|
||||
// ended, so scroll back to the beginning.
|
||||
fMenu->MoveBy(0, -kScrollerHeight);
|
||||
fMenu->ScrollTo(0, 0);
|
||||
fTarget->MoveBy(0, -kScrollerHeight);
|
||||
fTarget->ScrollTo(0, 0);
|
||||
fValue = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
TScrollArrowView::HasScrollers() const
|
||||
TInlineScrollView::HasScrollers() const
|
||||
{
|
||||
return fMenu != NULL && fUpperScrollArrow != NULL && fLowerScrollArrow != NULL;
|
||||
return fTarget != NULL && fUpperScrollArrow != NULL && fLowerScrollArrow != NULL;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TScrollArrowView::SetSmallStep(float step)
|
||||
TInlineScrollView::SetSmallStep(float step)
|
||||
{
|
||||
fScrollStep = step;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TScrollArrowView::GetSteps(float* _smallStep, float* _largeStep) const
|
||||
TInlineScrollView::GetSteps(float* _smallStep, float* _largeStep) const
|
||||
{
|
||||
if (_smallStep != NULL)
|
||||
*_smallStep = fScrollStep;
|
||||
if (_largeStep != NULL) {
|
||||
if (fMenu != NULL)
|
||||
*_largeStep = fMenu->Frame().Height() - fScrollStep;
|
||||
if (fTarget != NULL)
|
||||
*_largeStep = fTarget->Frame().Height() - fScrollStep;
|
||||
else
|
||||
*_largeStep = fScrollStep * 2;
|
||||
}
|
||||
|
@ -350,7 +350,7 @@ TScrollArrowView::GetSteps(float* _smallStep, float* _largeStep) const
|
|||
|
||||
|
||||
void
|
||||
TScrollArrowView::ScrollBy(const float& step)
|
||||
TInlineScrollView::ScrollBy(const float& step)
|
||||
{
|
||||
if (!HasScrollers())
|
||||
return;
|
||||
|
@ -361,12 +361,12 @@ TScrollArrowView::ScrollBy(const float& step)
|
|||
|
||||
if (fValue + step >= fLimit) {
|
||||
// If we reached the limit, only scroll to the end
|
||||
fMenu->ScrollBy(0, fLimit - fValue);
|
||||
fTarget->ScrollBy(0, fLimit - fValue);
|
||||
fLowerScrollArrow->MoveBy(0, fLimit - fValue);
|
||||
fLowerScrollArrow->SetEnabled(false);
|
||||
fValue = fLimit;
|
||||
} else {
|
||||
fMenu->ScrollBy(0, step);
|
||||
fTarget->ScrollBy(0, step);
|
||||
fLowerScrollArrow->MoveBy(0, step);
|
||||
fValue += step;
|
||||
}
|
||||
|
@ -375,12 +375,12 @@ TScrollArrowView::ScrollBy(const float& step)
|
|||
fLowerScrollArrow->SetEnabled(true);
|
||||
|
||||
if (fValue + step <= 0) {
|
||||
fMenu->ScrollBy(0, -fValue);
|
||||
fTarget->ScrollBy(0, -fValue);
|
||||
fLowerScrollArrow->MoveBy(0, -fValue);
|
||||
fUpperScrollArrow->SetEnabled(false);
|
||||
fValue = 0;
|
||||
} else {
|
||||
fMenu->ScrollBy(0, step);
|
||||
fTarget->ScrollBy(0, step);
|
||||
fLowerScrollArrow->MoveBy(0, step);
|
||||
fValue += step;
|
||||
}
|
|
@ -7,22 +7,21 @@
|
|||
* Stefano Ceccherini (stefano.ceccherini@gmail.com)
|
||||
* John Scipione (jscipione@gmail.com)
|
||||
*/
|
||||
#ifndef SCROLL_ARROW_VIEW_H
|
||||
#define SCROLL_ARROW_VIEW_H
|
||||
#ifndef INLINE_SCROLL_VIEW_H
|
||||
#define INLINE_SCROLL_VIEW_H
|
||||
|
||||
|
||||
#include <View.h>
|
||||
|
||||
class BLayout;
|
||||
class BMenu;
|
||||
class ScrollArrow;
|
||||
class BPoint;
|
||||
|
||||
|
||||
class TScrollArrowView : public BView {
|
||||
class TInlineScrollView : public BView {
|
||||
public:
|
||||
TScrollArrowView(BRect frame, BMenu* menu);
|
||||
virtual ~TScrollArrowView();
|
||||
TInlineScrollView(BRect frame, BView* target);
|
||||
virtual ~TInlineScrollView();
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
|
@ -36,7 +35,7 @@ public:
|
|||
void ScrollBy(const float& step);
|
||||
|
||||
private:
|
||||
BMenu* fMenu;
|
||||
BView* fTarget;
|
||||
ScrollArrow* fUpperScrollArrow;
|
||||
ScrollArrow* fLowerScrollArrow;
|
||||
|
||||
|
@ -46,4 +45,4 @@ private:
|
|||
};
|
||||
|
||||
|
||||
#endif // SCROLL_ARROW_VIEW_H
|
||||
#endif // INLINE_SCROLL_VIEW_H
|
|
@ -27,8 +27,8 @@ Application Deskbar :
|
|||
DeskbarMenu.cpp
|
||||
DeskbarUtils.cpp
|
||||
ExpandoMenuBar.cpp
|
||||
InlineScrollView.cpp
|
||||
PreferencesWindow.cpp
|
||||
ScrollArrowView.cpp
|
||||
ShowHideMenuItem.cpp
|
||||
StatusView.cpp
|
||||
StatusViewShelf.cpp
|
||||
|
|
Loading…
Reference in New Issue