Many style fixes to ListView

This commit is contained in:
John Scipione
2013-04-09 00:17:37 -04:00
parent 29ceb649f8
commit 63f3755c5f
2 changed files with 68 additions and 56 deletions
+5 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2002-2009, Haiku, Inc. All rights reserved.
* Copyright 2002-2013 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _LIST_VIEW_H
@@ -58,13 +58,13 @@ public:
virtual void MessageReceived(BMessage* message);
virtual void KeyDown(const char* bytes, int32 numBytes);
virtual void MouseDown(BPoint where);
virtual void MouseUp(BPoint point);
virtual void MouseMoved(BPoint point, uint32 code,
virtual void MouseUp(BPoint where);
virtual void MouseMoved(BPoint where, uint32 code,
const BMessage* dragMessage);
virtual void ResizeToPreferred();
virtual void GetPreferredSize(float* _width,
float* _height);
virtual void GetPreferredSize(float *_width,
float *_height);
virtual BSize MinSize();
virtual BSize MaxSize();
+63 -51
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2001-2009, Haiku, Inc. All rights resrerved.
* Copyright 2001-2013 Haiku, Inc. All rights resrerved.
* Distributed under the terms of the MIT license.
*
* Authors:
@@ -39,12 +39,15 @@ const float kDoubleClickTresh = 6;
static property_info sProperties[] = {
{ "Item", { B_COUNT_PROPERTIES, 0 }, { B_DIRECT_SPECIFIER, 0 },
"Returns the number of BListItems currently in the list.", 0, { B_INT32_TYPE }
"Returns the number of BListItems currently in the list.", 0,
{ B_INT32_TYPE }
},
{ "Item", { B_EXECUTE_PROPERTY, 0 }, { B_INDEX_SPECIFIER, B_REVERSE_INDEX_SPECIFIER,
B_RANGE_SPECIFIER, B_REVERSE_RANGE_SPECIFIER, 0 },
"Select and invoke the specified items, first removing any existing selection."
{ "Item", { B_EXECUTE_PROPERTY, 0 }, { B_INDEX_SPECIFIER,
B_REVERSE_INDEX_SPECIFIER, B_RANGE_SPECIFIER,
B_REVERSE_RANGE_SPECIFIER, 0 },
"Select and invoke the specified items, first removing any existing "
"selection."
},
{ "Selection", { B_COUNT_PROPERTIES, 0 }, { B_DIRECT_SPECIFIER, 0 },
@@ -56,46 +59,52 @@ static property_info sProperties[] = {
},
{ "Selection", { B_GET_PROPERTY, 0 }, { B_DIRECT_SPECIFIER, 0 },
"Returns int32 indices of all items in the selection.", 0, { B_INT32_TYPE }
"Returns int32 indices of all items in the selection.", 0,
{ B_INT32_TYPE }
},
{ "Selection", { B_SET_PROPERTY, 0 }, { B_INDEX_SPECIFIER, B_REVERSE_INDEX_SPECIFIER,
B_RANGE_SPECIFIER, B_REVERSE_RANGE_SPECIFIER, 0 },
"Extends current selection or deselects specified items. Boolean field \"data\" "
"chooses selection or deselection.", 0, { B_BOOL_TYPE }
{ "Selection", { B_SET_PROPERTY, 0 }, { B_INDEX_SPECIFIER,
B_REVERSE_INDEX_SPECIFIER, B_RANGE_SPECIFIER,
B_REVERSE_RANGE_SPECIFIER, 0 },
"Extends current selection or deselects specified items. Boolean field "
"\"data\" chooses selection or deselection.", 0, { B_BOOL_TYPE }
},
{ "Selection", { B_SET_PROPERTY, 0 }, { B_DIRECT_SPECIFIER, 0 },
"Select or deselect all items in the selection. Boolean field \"data\" chooses "
"selection or deselection.", 0, { B_BOOL_TYPE }
"Select or deselect all items in the selection. Boolean field \"data\" "
"chooses selection or deselection.", 0, { B_BOOL_TYPE }
},
};
BListView::BListView(BRect frame, const char* name, list_view_type type,
uint32 resizingMode, uint32 flags)
: BView(frame, name, resizingMode, flags)
uint32 resizingMode, uint32 flags)
:
BView(frame, name, resizingMode, flags)
{
_InitObject(type);
}
BListView::BListView(const char* name, list_view_type type, uint32 flags)
: BView(name, flags)
:
BView(name, flags)
{
_InitObject(type);
}
BListView::BListView(list_view_type type)
: BView(NULL, B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE)
:
BView(NULL, B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE)
{
_InitObject(type);
}
BListView::BListView(BMessage* archive)
: BView(archive)
:
BView(archive)
{
int32 listType;
archive->FindInt32("_lv_type", &listType);
@@ -104,24 +113,24 @@ BListView::BListView(BMessage* archive)
int32 i = 0;
BMessage subData;
while (archive->FindMessage("_l_items", i++, &subData) == B_OK) {
BArchivable *object = instantiate_object(&subData);
if (!object)
BArchivable* object = instantiate_object(&subData);
if (object == NULL)
continue;
BListItem *item = dynamic_cast<BListItem*>(object);
if (item)
BListItem* item = dynamic_cast<BListItem*>(object);
if (item != NULL)
AddItem(item);
}
if (archive->HasMessage("_msg")) {
BMessage *invokationMessage = new BMessage;
BMessage* invokationMessage = new BMessage;
archive->FindMessage("_msg", invokationMessage);
SetInvocationMessage(invokationMessage);
}
if (archive->HasMessage("_2nd_msg")) {
BMessage *selectionMessage = new BMessage;
BMessage* selectionMessage = new BMessage;
archive->FindMessage("_2nd_msg", selectionMessage);
SetSelectionMessage(selectionMessage);
@@ -159,7 +168,7 @@ BListView::Archive(BMessage* archive, bool deep) const
status = archive->AddInt32("_lv_type", fListType);
if (status == B_OK && deep) {
BListItem *item;
BListItem* item;
int32 i = 0;
while ((item = ItemAt(i++))) {
@@ -379,11 +388,10 @@ BListView::MessageReceived(BMessage* msg)
void
BListView::KeyDown(const char *bytes, int32 numBytes)
BListView::KeyDown(const char* bytes, int32 numBytes)
{
bool extend
= fListType == B_MULTIPLE_SELECTION_LIST
&& (modifiers() & B_SHIFT_KEY) != 0;
bool extend = fListType == B_MULTIPLE_SELECTION_LIST
&& (modifiers() & B_SHIFT_KEY) != 0;
switch (bytes[0]) {
case B_UP_ARROW:
@@ -427,6 +435,7 @@ BListView::KeyDown(const char *bytes, int32 numBytes)
fAnchorIndex = 0;
} else
Select(0, false);
ScrollToSelection();
break;
case B_END:
@@ -435,6 +444,7 @@ BListView::KeyDown(const char *bytes, int32 numBytes)
fAnchorIndex = CountItems() - 1;
} else
Select(CountItems() - 1, false);
ScrollToSelection();
break;
@@ -477,7 +487,7 @@ BListView::MouseDown(BPoint point)
Window()->UpdateIfNeeded();
}
BMessage *message = Looper()->CurrentMessage();
BMessage* message = Looper()->CurrentMessage();
int32 index = IndexOf(point);
// If the user double (or more) clicked within the current selection,
@@ -533,9 +543,8 @@ BListView::MouseDown(BPoint point)
Deselect(index);
else
Select(index, true);
} else {
} else
Select(index);
}
}
} else {
// toggle selection state of clicked item
@@ -544,15 +553,13 @@ BListView::MouseDown(BPoint point)
else
Select(index);
}
} else {
if (!(modifiers & B_COMMAND_KEY))
DeselectAll();
}
} else if ((modifiers & B_COMMAND_KEY) == 0)
DeselectAll();
}
void
BListView::MouseUp(BPoint pt)
BListView::MouseUp(BPoint where)
{
fTrack->try_drag = false;
}
@@ -596,7 +603,7 @@ BListView::ResizeToPreferred()
void
BListView::GetPreferredSize(float* _width, float* _height)
BListView::GetPreferredSize(float *_width, float *_height)
{
int32 count = CountItems();
@@ -612,9 +619,8 @@ BListView::GetPreferredSize(float* _width, float* _height)
*_width = maxWidth;
if (_height != NULL)
*_height = ItemAt(count - 1)->Bottom();
} else {
} else
BView::GetPreferredSize(_width, _height);
}
}
@@ -774,7 +780,7 @@ BListView::AddList(BList* list)
BListItem*
BListView::RemoveItem(int32 index)
{
BListItem *item = ItemAt(index);
BListItem* item = ItemAt(index);
if (!item)
return NULL;
@@ -803,7 +809,7 @@ BListView::RemoveItem(int32 index)
bool
BListView::RemoveItem(BListItem *item)
BListView::RemoveItem(BListItem* item)
{
return BListView::RemoveItem(IndexOf(item)) != NULL;
}
@@ -824,6 +830,7 @@ BListView::RemoveItems(int32 index, int32 count)
fList.RemoveItems(index, count);
if (index < fList.CountItems())
_RecalcItemTops(index);
Invalidate();
return true;
}
@@ -879,8 +886,9 @@ void
BListView::SetListType(list_view_type type)
{
if (fListType == B_MULTIPLE_SELECTION_LIST &&
type == B_SINGLE_SELECTION_LIST)
type == B_SINGLE_SELECTION_LIST) {
Select(CurrentSelection(0));
}
fListType = type;
}
@@ -908,6 +916,7 @@ BListView::IndexOf(BListItem *item) const
int32 index = IndexOf(BPoint(0.0, item->Top()));
if (index >= 0 && fList.ItemAt(index) == item)
return index;
return -1;
}
}
@@ -923,6 +932,7 @@ BListView::IndexOf(BPoint point) const
int32 mid = -1;
float frameTop = -1.0;
float frameBottom = 1.0;
// binary search the list
while (high >= low) {
mid = (low + high) / 2;
@@ -1057,8 +1067,8 @@ BListView::Select(int32 start, int32 finish, bool extend)
bool
BListView::IsItemSelected(int32 index) const
{
BListItem *item = ItemAt(index);
if (item)
BListItem* item = ItemAt(index);
if (item != NULL)
return item->IsSelected();
return false;
@@ -1211,7 +1221,7 @@ BListView::MoveItem(int32 from, int32 to)
bool
BListView::ReplaceItem(int32 index, BListItem *item)
BListView::ReplaceItem(int32 index, BListItem* item)
{
MiscData data;
@@ -1504,7 +1514,8 @@ BListView::_Select(int32 index, bool extend)
}
/*! Selects the items between \a from and \a to, and returns \c true in
/*!
Selects the items between \a from and \a to, and returns \c true in
case the selection was changed because of this method.
If \a extend is \c false, all previously selected items are deselected.
*/
@@ -1692,8 +1703,10 @@ BListView::_SwapItems(int32 a, int32 b)
int32 first = min_c(a, b);
int32 last = max_c(a, b);
if (ItemAt(a)->IsSelected() != ItemAt(b)->IsSelected()) {
if (first < fFirstSelected || last > fLastSelected)
_RescanSelection(min_c(first, fFirstSelected), max_c(last, fLastSelected));
if (first < fFirstSelected || last > fLastSelected) {
_RescanSelection(min_c(first, fFirstSelected),
max_c(last, fLastSelected));
}
// though the actually selected items stayed the
// same, the selection has still changed
SelectionChanged();
@@ -1754,9 +1767,9 @@ BListView::_MoveItem(int32 from, int32 to)
bool
BListView::_ReplaceItem(int32 index, BListItem *item)
BListView::_ReplaceItem(int32 index, BListItem* item)
{
if (!item)
if (item == NULL)
return false;
BListItem* old = ItemAt(index);
@@ -1853,4 +1866,3 @@ BListView::_RecalcItemTops(int32 start, int32 end)
top += ceilf(item->Height());
}
}