diff --git a/src/kits/tracker/PoseList.cpp b/src/kits/tracker/PoseList.cpp index 78f547cf3b..48e480000e 100644 --- a/src/kits/tracker/PoseList.cpp +++ b/src/kits/tracker/PoseList.cpp @@ -49,12 +49,13 @@ PoseList::FindPose(const node_ref* node, int32* resultingIndex) const BPose* pose = ItemAt(index); ASSERT(pose->TargetModel()); if (*pose->TargetModel()->NodeRef() == *node) { - if (resultingIndex) + if (resultingIndex != NULL) *resultingIndex = index; return pose; } } + return NULL; } @@ -67,7 +68,7 @@ PoseList::FindPose(const entry_ref* entry, int32* resultingIndex) const BPose* pose = ItemAt(index); ASSERT(pose->TargetModel()); if (*pose->TargetModel()->EntryRef() == *entry) { - if (resultingIndex) + if (resultingIndex != NULL) *resultingIndex = index; return pose; @@ -92,7 +93,7 @@ PoseList::DeepFindPose(const node_ref* node, int32* resultingIndex) const BPose* pose = ItemAt(index); Model* model = pose->TargetModel(); if (*model->NodeRef() == *node) { - if (resultingIndex) + if (resultingIndex != NULL) *resultingIndex = index; return pose; @@ -101,8 +102,8 @@ PoseList::DeepFindPose(const node_ref* node, int32* resultingIndex) const // of the link if (model->IsSymLink()) { model = model->LinkTo(); - if (model && *model->NodeRef() == *node) { - if (resultingIndex) + if (model != NULL && *model->NodeRef() == *node) { + if (resultingIndex != NULL) *resultingIndex = index; return pose; @@ -142,6 +143,7 @@ PoseList::FindAllPoses(const node_ref* node) const result->AddItem(pose); } } + return result; } @@ -154,11 +156,12 @@ PoseList::FindPoseByFileName(const char* name, int32* _index) const BPose* pose = ItemAt(index); ASSERT(pose->TargetModel()); if (strcmp(pose->TargetModel()->EntryRef()->name, name) == 0) { - if (_index) + if (_index != NULL) *_index = index; return pose; } } + return NULL; } diff --git a/src/kits/tracker/PoseList.h b/src/kits/tracker/PoseList.h index 7483ae1890..7ac217e20b 100644 --- a/src/kits/tracker/PoseList.h +++ b/src/kits/tracker/PoseList.h @@ -31,15 +31,15 @@ of Be Incorporated in the United States and other countries. Other brand product names are registered trademarks or trademarks of their respective holders. All rights reserved. */ + +// PoseList is a commonly used instance of BObjectList +// Defines convenience find and iteration calls #ifndef _POSE_LIST_H #define _POSE_LIST_H -// PoseList is a commonly used instance of BObjectList -// Defines convenience find and iteration calls +#include - -#include "ObjectList.h" #include "Pose.h" @@ -50,15 +50,20 @@ namespace BPrivate { class Model; + class PoseList : public BObjectList { public: PoseList(int32 itemsPerBlock = 20, bool owning = false) - : BObjectList(itemsPerBlock, owning) - {} + : + BObjectList(itemsPerBlock, owning) + { + } PoseList(const PoseList &list) - : BObjectList(list) - {} + : + BObjectList(list) + { + } BPose* FindPose(const node_ref* node, int32* index = NULL) const; BPose* FindPose(const entry_ref* entry, int32* index = NULL) const; @@ -71,6 +76,7 @@ public: BPose* FindPoseByFileName(const char* name, int32* _index = NULL) const; }; + // iteration glue, add permutations as needed @@ -83,7 +89,7 @@ EachPoseAndModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel(); - if (model) + if (model != NULL) (eachFunction)(pose, model, eachParam1); } } @@ -98,7 +104,7 @@ EachPoseAndModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel(); - if (model) + if (model != NULL) (eachFunction)(pose, model, index, eachParam1); } } @@ -113,11 +119,12 @@ EachPoseAndModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel(); - if (model) + if (model != NULL) (eachFunction)(pose, model, eachParam1, eachParam2); } } + template void EachPoseAndModel(PoseList* list, @@ -127,11 +134,12 @@ EachPoseAndModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel(); - if (model) + if (model != NULL) (eachFunction)(pose, model, index, eachParam1, eachParam2); } } + template void EachPoseAndResolvedModel(PoseList* list, @@ -140,11 +148,12 @@ EachPoseAndResolvedModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel()->ResolveIfLink(); - if (model) + if (model != NULL) (eachFunction)(pose, model, eachParam1); } } + template void EachPoseAndResolvedModel(PoseList* list, @@ -154,11 +163,12 @@ EachPoseAndResolvedModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel()->ResolveIfLink(); - if (model) + if (model != NULL) (eachFunction)(pose, model, index, eachParam1); } } + template void EachPoseAndResolvedModel(PoseList* list, @@ -168,11 +178,12 @@ EachPoseAndResolvedModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel()->ResolveIfLink(); - if (model) + if (model != NULL) (eachFunction)(pose, model, eachParam1, eachParam2); } } + template void EachPoseAndResolvedModel(PoseList* list, @@ -182,7 +193,7 @@ EachPoseAndResolvedModel(PoseList* list, for (int32 index = list->CountItems() - 1; index >= 0; index--) { BPose* pose = list->ItemAt(index); Model* model = pose->TargetModel()->ResolveIfLink(); - if (model) + if (model != NULL) (eachFunction)(pose, model, index, eachParam1, eachParam2); } } @@ -191,4 +202,5 @@ EachPoseAndResolvedModel(PoseList* list, using namespace BPrivate; + #endif // _POSE_LIST_H