More style cleanup patches from John Scipione as part of #7052.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40847 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
e0728fa558
commit
1ad8c760ed
@ -35,8 +35,7 @@ PreferencesWindow::PreferencesWindow(BRect frame)
|
||||
// Controls
|
||||
fMenuRecentDocuments = new BCheckBox(B_TRANSLATE("Recent documents:"),
|
||||
new BMessage(kUpdateRecentCounts));
|
||||
fMenuRecentApplications = new BCheckBox(
|
||||
B_TRANSLATE("Recent applications:"),
|
||||
fMenuRecentApplications = new BCheckBox(B_TRANSLATE("Recent applications:"),
|
||||
new BMessage(kUpdateRecentCounts));
|
||||
fMenuRecentFolders = new BCheckBox(B_TRANSLATE("Recent folders:"),
|
||||
new BMessage(kUpdateRecentCounts));
|
||||
@ -52,8 +51,7 @@ PreferencesWindow::PreferencesWindow(BRect frame)
|
||||
new BMessage(kSortRunningApps));
|
||||
fAppsSortTrackerFirst = new BCheckBox(B_TRANSLATE("Tracker always first"),
|
||||
new BMessage(kTrackerFirst));
|
||||
fAppsShowExpanders = new BCheckBox(
|
||||
B_TRANSLATE("Show application expander"),
|
||||
fAppsShowExpanders = new BCheckBox(B_TRANSLATE("Show application expander"),
|
||||
new BMessage(kSuperExpando));
|
||||
fAppsExpandNew = new BCheckBox(B_TRANSLATE("Expand new applications"),
|
||||
new BMessage(kExpandNewTeams));
|
||||
@ -83,7 +81,7 @@ PreferencesWindow::PreferencesWindow(BRect frame)
|
||||
|
||||
// Values
|
||||
TBarApp* barApp = static_cast<TBarApp*>(be_app);
|
||||
desk_settings* appSettings = barApp->Settings();;
|
||||
desk_settings* appSettings = barApp->Settings();
|
||||
|
||||
fAppsSort->SetValue(appSettings->sortRunningApps);
|
||||
fAppsSortTrackerFirst->SetValue(appSettings->trackerAlwaysFirst);
|
||||
|
@ -28,8 +28,8 @@ public:
|
||||
PreferencesWindow(BRect frame);
|
||||
~PreferencesWindow();
|
||||
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
virtual void WindowActivated(bool active);
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
virtual void WindowActivated(bool active);
|
||||
|
||||
private:
|
||||
void _UpdateRecentCounts();
|
||||
|
@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
|
||||
@ -70,78 +71,78 @@ namespace TResourcePrivate {
|
||||
: fDeleteOK(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
virtual ~TypeObject()
|
||||
{
|
||||
if (!fDeleteOK)
|
||||
debugger("deleting object owned by BResourceSet");
|
||||
}
|
||||
|
||||
|
||||
void Delete()
|
||||
{
|
||||
fDeleteOK = true;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
TypeObject(const TypeObject &);
|
||||
TypeObject &operator=(const TypeObject &);
|
||||
bool operator==(const TypeObject &);
|
||||
bool operator!=(const TypeObject &);
|
||||
|
||||
|
||||
bool fDeleteOK;
|
||||
};
|
||||
|
||||
|
||||
class BitmapTypeItem : public BBitmap, public TypeObject {
|
||||
public:
|
||||
BitmapTypeItem(BRect bounds, uint32 flags, color_space depth,
|
||||
int32 bytesPerRow=B_ANY_BYTES_PER_ROW, screen_id screenID
|
||||
int32 bytesPerRow = B_ANY_BYTES_PER_ROW, screen_id screenID
|
||||
= B_MAIN_SCREEN_ID)
|
||||
: BBitmap(bounds, flags, depth, bytesPerRow, screenID)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BitmapTypeItem(const BBitmap* source, bool accepts_views = false,
|
||||
bool need_contiguous = false)
|
||||
: BBitmap(source, accepts_views, need_contiguous)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BitmapTypeItem(BMessage* data)
|
||||
: BBitmap(data)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
virtual ~BitmapTypeItem()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class StringBlockTypeItem : public TStringBlock, public TypeObject {
|
||||
public:
|
||||
StringBlockTypeItem(BDataIO* data)
|
||||
: TStringBlock(data)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
StringBlockTypeItem(const void* block, size_t size)
|
||||
: TStringBlock(block, size)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
virtual ~StringBlockTypeItem()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class TypeItem {
|
||||
public:
|
||||
TypeItem(int32 id, const char* name, const void* data, size_t size)
|
||||
: fID(id), fName(name),
|
||||
fData(const_cast<void*>(data)), fSize(size), fObject(0),
|
||||
fOwnData(false), fSourceIsFile(false)
|
||||
: fID(id), fName(name),
|
||||
fData(const_cast<void*>(data)), fSize(size), fObject(0),
|
||||
fOwnData(false), fSourceIsFile(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
TypeItem(int32 id, const char* name, BFile* file)
|
||||
: fID(id),
|
||||
fName(name),
|
||||
@ -162,7 +163,7 @@ namespace TResourcePrivate {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
virtual ~TypeItem()
|
||||
{
|
||||
if (fOwnData) {
|
||||
@ -172,19 +173,27 @@ namespace TResourcePrivate {
|
||||
}
|
||||
SetObject(NULL);
|
||||
}
|
||||
|
||||
|
||||
int32 ID() const
|
||||
{ return fID; }
|
||||
{
|
||||
return fID;
|
||||
}
|
||||
|
||||
const char* Name() const
|
||||
{ return fName.String(); }
|
||||
{
|
||||
return fName.String();
|
||||
}
|
||||
|
||||
const void* Data() const
|
||||
{ return fData; }
|
||||
{
|
||||
return fData;
|
||||
}
|
||||
|
||||
size_t Size() const
|
||||
{ return fSize; }
|
||||
|
||||
{
|
||||
return fSize;
|
||||
}
|
||||
|
||||
void SetObject(TypeObject* object)
|
||||
{
|
||||
if (object == fObject)
|
||||
@ -195,14 +204,20 @@ namespace TResourcePrivate {
|
||||
}
|
||||
|
||||
TypeObject* Object() const
|
||||
{ return fObject; }
|
||||
|
||||
{
|
||||
return fObject;
|
||||
}
|
||||
|
||||
void SetSourceIsFile(bool state)
|
||||
{ fSourceIsFile = state; }
|
||||
{
|
||||
fSourceIsFile = state;
|
||||
}
|
||||
|
||||
bool SourceIsFile() const
|
||||
{ return fSourceIsFile; }
|
||||
|
||||
{
|
||||
return fSourceIsFile;
|
||||
}
|
||||
|
||||
private:
|
||||
int32 fID;
|
||||
BString fName;
|
||||
@ -212,7 +227,7 @@ namespace TResourcePrivate {
|
||||
bool fOwnData;
|
||||
bool fSourceIsFile;
|
||||
};
|
||||
|
||||
|
||||
static bool FreeTypeItemFunc(void* item)
|
||||
{
|
||||
delete reinterpret_cast<TypeItem*>(item);
|
||||
@ -225,16 +240,18 @@ namespace TResourcePrivate {
|
||||
: fType(type)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
virtual ~TypeList()
|
||||
{
|
||||
fItems.DoForEach(FreeTypeItemFunc);
|
||||
fItems.MakeEmpty();
|
||||
}
|
||||
|
||||
|
||||
type_code Type() const
|
||||
{ return fType; }
|
||||
|
||||
{
|
||||
return fType;
|
||||
}
|
||||
|
||||
TypeItem* FindItemByID(int32 id)
|
||||
{
|
||||
for (int32 i = 0; i < fItems.CountItems(); i++ ) {
|
||||
@ -254,17 +271,16 @@ namespace TResourcePrivate {
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void AddItem(TypeItem* item)
|
||||
{
|
||||
fItems.AddItem(item);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
type_code fType;
|
||||
BList fItems;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
using namespace TResourcePrivate;
|
||||
@ -282,13 +298,13 @@ TStringBlock::TStringBlock(BDataIO* data)
|
||||
fStrings = (char*)malloc(1024);
|
||||
size_t pos = 0;
|
||||
ssize_t amount;
|
||||
while ((amount=data->Read(fStrings + pos, 1024)) == 1024) {
|
||||
while ((amount = data->Read(fStrings + pos, 1024)) == 1024) {
|
||||
pos += amount;
|
||||
fStrings = (char*)realloc(fStrings, pos + 1024);
|
||||
}
|
||||
if (amount > 0)
|
||||
pos += amount;
|
||||
|
||||
|
||||
fNumEntries = PreIndex(fStrings, amount);
|
||||
fIndex = (size_t*)malloc(sizeof(size_t) * fNumEntries);
|
||||
MakeIndex(fStrings, amount, fNumEntries, fIndex);
|
||||
@ -304,7 +320,7 @@ TStringBlock::TStringBlock(const void* block, size_t size)
|
||||
{
|
||||
fIndex = (size_t*)const_cast<void*>(block);
|
||||
fStrings = (char*)const_cast<void*>(block);
|
||||
|
||||
|
||||
// Figure out how many entries there are.
|
||||
size_t last_off = 0;
|
||||
while (fIndex[fNumEntries] > last_off && fIndex[fNumEntries] < size ) {
|
||||
@ -339,12 +355,12 @@ size_t
|
||||
TStringBlock::PreIndex(char* strings, ssize_t len)
|
||||
{
|
||||
size_t count = 0;
|
||||
|
||||
char* orig = strings;
|
||||
char* end = strings + len;
|
||||
bool in_cr = false;
|
||||
bool first = true;
|
||||
bool skipping = false;
|
||||
|
||||
while (orig < end) {
|
||||
if (*orig == '\n' || *orig == '\r' || *orig == 0) {
|
||||
if (!in_cr && *orig == '\r')
|
||||
@ -371,30 +387,29 @@ TStringBlock::PreIndex(char* strings, ssize_t len)
|
||||
case '\\':
|
||||
*strings = '\\';
|
||||
break;
|
||||
|
||||
|
||||
case '\n':
|
||||
*strings = '\n';
|
||||
break;
|
||||
|
||||
|
||||
case '\r':
|
||||
*strings = '\r';
|
||||
break;
|
||||
|
||||
|
||||
case '\t':
|
||||
*strings = '\t';
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
*strings = *orig;
|
||||
break;
|
||||
}
|
||||
} else
|
||||
} else
|
||||
*strings = *orig;
|
||||
|
||||
orig++;
|
||||
strings++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
@ -405,7 +420,7 @@ TStringBlock::MakeIndex(const char* strings, ssize_t len,
|
||||
{
|
||||
*resultingIndex++ = 0;
|
||||
indexLength--;
|
||||
|
||||
|
||||
ssize_t pos = 0;
|
||||
while (pos < len && indexLength > 0) {
|
||||
if (strings[pos] == 0 ) {
|
||||
@ -475,7 +490,7 @@ TResourceSet::AddResources(BResources* RESOURCES_ONLY(resources))
|
||||
#if USE_RESOURCES
|
||||
if (!resources)
|
||||
return B_BAD_VALUE;
|
||||
|
||||
|
||||
BAutolock lock(&fLock);
|
||||
status_t err = fResources.AddItem(resources) ? B_OK : B_ERROR;
|
||||
if (err != B_OK)
|
||||
@ -499,7 +514,7 @@ TResourceSet::AddDirectory(const char* fullPath)
|
||||
delete path;
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
BAutolock lock(&fLock);
|
||||
err = fDirectories.AddItem(path) ? B_OK : B_ERROR;
|
||||
if (err != B_OK)
|
||||
@ -514,13 +529,13 @@ TResourceSet::AddEnvDirectory(const char* in, const char* defaultValue)
|
||||
{
|
||||
BString buf;
|
||||
status_t err = ExpandString(&buf, in);
|
||||
|
||||
|
||||
if (err != B_OK) {
|
||||
if (defaultValue)
|
||||
return AddDirectory(defaultValue);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
return AddDirectory(buf.String());
|
||||
}
|
||||
|
||||
@ -529,11 +544,12 @@ status_t
|
||||
TResourceSet::ExpandString(BString* out, const char* in)
|
||||
{
|
||||
const char* start = in;
|
||||
|
||||
while (*in) {
|
||||
if (*in == '$') {
|
||||
if (start < in)
|
||||
out->Append(start, (int32)(in - start));
|
||||
|
||||
out->Append(start, (int32)(in - start));
|
||||
|
||||
in++;
|
||||
char variableName[1024];
|
||||
size_t i = 0;
|
||||
@ -545,25 +561,25 @@ TResourceSet::ExpandString(BString* out, const char* in)
|
||||
if (*in)
|
||||
in++;
|
||||
|
||||
} else
|
||||
while ((isalnum(*in) || *in == '_') && i
|
||||
< sizeof(variableName) - 1)
|
||||
} else {
|
||||
while ((isalnum(*in) || *in == '_')
|
||||
&& i < sizeof(variableName) - 1)
|
||||
variableName[i++] = *in++;
|
||||
|
||||
}
|
||||
|
||||
start = in;
|
||||
|
||||
variableName[i] = '\0';
|
||||
|
||||
|
||||
const char* val = getenv(variableName);
|
||||
if (!val) {
|
||||
PRINT(("Error: env var %s not found.\n", &variableName[0]));
|
||||
return B_NAME_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
||||
status_t err = ExpandString(out, val);
|
||||
if (err != B_OK)
|
||||
return err;
|
||||
|
||||
|
||||
} else if (*in == '\\') {
|
||||
if (start < in)
|
||||
out->Append(start, (int32)(in - start));
|
||||
@ -576,7 +592,7 @@ TResourceSet::ExpandString(BString* out, const char* in)
|
||||
|
||||
if (start < in)
|
||||
out->Append(start, (int32)(in - start));
|
||||
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@ -585,7 +601,7 @@ const void*
|
||||
TResourceSet::FindResource(type_code type, int32 id, size_t* outSize)
|
||||
{
|
||||
TypeItem* item = FindItemID(type, id);
|
||||
|
||||
|
||||
if (outSize)
|
||||
*outSize = item ? item->Size() : 0;
|
||||
|
||||
@ -597,7 +613,7 @@ const void*
|
||||
TResourceSet::FindResource(type_code type, const char* name, size_t* outSize)
|
||||
{
|
||||
TypeItem* item = FindItemName(type, name);
|
||||
|
||||
|
||||
if (outSize)
|
||||
*outSize = item ? item->Size() : 0;
|
||||
|
||||
@ -632,11 +648,12 @@ TResourceSet::FindStringBlock(type_code type, const char* name)
|
||||
return ReturnStringBlockItem(FindItemName(type, name));
|
||||
}
|
||||
|
||||
|
||||
|
||||
const char*
|
||||
TResourceSet::FindString(type_code type, int32 id, uint32 index)
|
||||
{
|
||||
const TStringBlock* stringBlock = FindStringBlock(type, id);
|
||||
|
||||
if (!stringBlock)
|
||||
return NULL;
|
||||
|
||||
@ -648,25 +665,26 @@ const char*
|
||||
TResourceSet::FindString(type_code type, const char* name, uint32 index)
|
||||
{
|
||||
const TStringBlock* stringBlock = FindStringBlock(type, name);
|
||||
|
||||
if (!stringBlock)
|
||||
return NULL;
|
||||
|
||||
return stringBlock->String(index);
|
||||
}
|
||||
|
||||
|
||||
|
||||
TypeList*
|
||||
TResourceSet::FindTypeList(type_code type)
|
||||
{
|
||||
BAutolock lock(&fLock);
|
||||
|
||||
|
||||
int32 count = fTypes.CountItems();
|
||||
for (int32 i = 0; i < count; i++ ) {
|
||||
TypeList* list = (TypeList*)fTypes.ItemAt(i);
|
||||
if (list && list->Type() == type)
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -676,12 +694,13 @@ TResourceSet::FindItemID(type_code type, int32 id)
|
||||
{
|
||||
TypeList* list = FindTypeList(type);
|
||||
TypeItem* item = NULL;
|
||||
|
||||
if (list) item = list->FindItemByID(id);
|
||||
|
||||
|
||||
if (list)
|
||||
item = list->FindItemByID(id);
|
||||
|
||||
if (!item)
|
||||
item = LoadResource(type, id, 0, &list);
|
||||
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
@ -691,13 +710,13 @@ TResourceSet::FindItemName(type_code type, const char* name)
|
||||
{
|
||||
TypeList* list = FindTypeList(type);
|
||||
TypeItem* item = NULL;
|
||||
|
||||
|
||||
if (list)
|
||||
item = list->FindItemByName(name);
|
||||
|
||||
|
||||
if (!item)
|
||||
item = LoadResource(type, -1, name, &list);
|
||||
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
@ -707,10 +726,10 @@ TResourceSet::LoadResource(type_code type, int32 id, const char* name,
|
||||
TypeList** inOutList)
|
||||
{
|
||||
TypeItem* item = NULL;
|
||||
|
||||
|
||||
if (name) {
|
||||
BEntry entry;
|
||||
|
||||
|
||||
// If a named resource, first look in directories.
|
||||
fLock.Lock();
|
||||
int32 count = fDirectories.CountItems();
|
||||
@ -731,7 +750,7 @@ TResourceSet::LoadResource(type_code type, int32 id, const char* name,
|
||||
}
|
||||
fLock.Unlock();
|
||||
}
|
||||
|
||||
|
||||
#if USE_RESOURCES
|
||||
if (!item) {
|
||||
// Look through resource objects for data.
|
||||
@ -746,7 +765,7 @@ TResourceSet::LoadResource(type_code type, int32 id, const char* name,
|
||||
data = resource->LoadResource(type, id, &size);
|
||||
else if (name != NULL)
|
||||
data = resource->LoadResource(type, name, &size);
|
||||
|
||||
|
||||
if (data && size) {
|
||||
item = new TypeItem(id, name, data, size);
|
||||
item->SetSourceIsFile(false);
|
||||
@ -787,7 +806,7 @@ TResourceSet::ReturnBitmapItem(type_code, TypeItem* from)
|
||||
{
|
||||
if (!from)
|
||||
return NULL;
|
||||
|
||||
|
||||
TypeObject* obj = from->Object();
|
||||
BitmapTypeItem* bitmap = dynamic_cast<BitmapTypeItem*>(obj);
|
||||
if (bitmap)
|
||||
@ -803,10 +822,11 @@ TResourceSet::ReturnBitmapItem(type_code, TypeItem* from)
|
||||
// Try to read as an archived bitmap.
|
||||
stream.Seek(0, SEEK_SET);
|
||||
BMessage archive;
|
||||
if (archive.Unflatten(&stream) == B_OK ) {
|
||||
if (archive.Unflatten(&stream) == B_OK) {
|
||||
bitmap = new BitmapTypeItem(&archive);
|
||||
if (bitmap && bitmap->InitCheck() != B_OK) {
|
||||
bitmap->Delete(); // allows us to delete this bitmap...
|
||||
bitmap->Delete();
|
||||
// allows us to delete this bitmap...
|
||||
delete bitmap;
|
||||
bitmap = NULL;
|
||||
}
|
||||
@ -815,11 +835,11 @@ TResourceSet::ReturnBitmapItem(type_code, TypeItem* from)
|
||||
if (bitmap) {
|
||||
BAutolock lock(&fLock);
|
||||
if (from->Object() != NULL) {
|
||||
// Whoops! Someone snuck in under us.
|
||||
// Whoops! Someone snuck in under us.
|
||||
bitmap->Delete();
|
||||
delete bitmap;
|
||||
bitmap = dynamic_cast<BitmapTypeItem*>(from->Object());
|
||||
} else
|
||||
} else
|
||||
from->SetObject(bitmap);
|
||||
}
|
||||
|
||||
@ -832,33 +852,33 @@ TResourceSet::ReturnStringBlockItem(TypeItem* from)
|
||||
{
|
||||
if (!from)
|
||||
return NULL;
|
||||
|
||||
|
||||
TypeObject* obj = from->Object();
|
||||
StringBlockTypeItem* stringBlock = dynamic_cast<StringBlockTypeItem*>(obj);
|
||||
if (stringBlock)
|
||||
return stringBlock;
|
||||
|
||||
|
||||
// Can't change an existing object.
|
||||
if (obj)
|
||||
return NULL;
|
||||
|
||||
|
||||
// Don't have a string block in the item -- we'll create one.
|
||||
if (from->SourceIsFile() ) {
|
||||
BMemoryIO stream(from->Data(), from->Size());
|
||||
stringBlock = new StringBlockTypeItem(&stream);
|
||||
} else
|
||||
stringBlock = new StringBlockTypeItem(from->Data(), from->Size());
|
||||
|
||||
|
||||
if (stringBlock) {
|
||||
BAutolock lock(&fLock);
|
||||
if (from->Object() != NULL) {
|
||||
// Whoops! Someone snuck in under us.
|
||||
// Whoops! Someone snuck in under us.
|
||||
delete stringBlock;
|
||||
stringBlock = dynamic_cast<StringBlockTypeItem*>(from->Object());
|
||||
} else
|
||||
from->SetObject(stringBlock);
|
||||
}
|
||||
|
||||
|
||||
return stringBlock;
|
||||
}
|
||||
|
||||
@ -867,10 +887,8 @@ TResourceSet::ReturnStringBlockItem(TypeItem* from)
|
||||
|
||||
|
||||
namespace TResourcePrivate {
|
||||
|
||||
TResourceSet* gResources = NULL;
|
||||
BLocker gResourceLocker;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -880,7 +898,7 @@ AppResSet()
|
||||
// If already have it, return immediately.
|
||||
if (gResources)
|
||||
return gResources;
|
||||
|
||||
|
||||
// Don't have 'em, lock access to make 'em.
|
||||
if (!gResourceLocker.Lock())
|
||||
return NULL;
|
||||
@ -889,7 +907,7 @@ AppResSet()
|
||||
gResourceLocker.Unlock();
|
||||
return gResources;
|
||||
}
|
||||
|
||||
|
||||
// Make 'em.
|
||||
gResources = new TResourceSet;
|
||||
gResources->AddResources(BApplication::AppResources());
|
||||
|
@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
#ifndef _T_RESOURCE_SET_H
|
||||
@ -57,14 +58,14 @@ public:
|
||||
TStringBlock(BDataIO* data);
|
||||
TStringBlock(const void* block, size_t size);
|
||||
virtual ~TStringBlock();
|
||||
|
||||
|
||||
const char* String(size_t index) const;
|
||||
|
||||
private:
|
||||
size_t PreIndex(char* strings, ssize_t len);
|
||||
void MakeIndex(const char* strings, ssize_t len,
|
||||
size_t indexLen, size_t* outIndex);
|
||||
|
||||
void MakeIndex(const char* strings, ssize_t len, size_t indexLen,
|
||||
size_t* outIndex);
|
||||
|
||||
size_t fNumEntries;
|
||||
size_t* fIndex;
|
||||
char* fStrings;
|
||||
@ -80,34 +81,32 @@ public:
|
||||
status_t AddDirectory(const char* fullPath);
|
||||
status_t AddEnvDirectory(const char* envPath,
|
||||
const char* defaultValue = NULL);
|
||||
|
||||
const void* FindResource(type_code type, int32 id,
|
||||
size_t* outSize);
|
||||
const void* FindResource(type_code type, const char* name,
|
||||
size_t* outSize);
|
||||
|
||||
|
||||
const void* FindResource(type_code type, int32 id, size_t* outSize);
|
||||
const void* FindResource(type_code type, const char* name, size_t* outSize);
|
||||
|
||||
const BBitmap* FindBitmap(type_code type, int32 id);
|
||||
const BBitmap* FindBitmap(type_code type, const char* name);
|
||||
|
||||
|
||||
const TStringBlock* FindStringBlock(type_code type, int32 id);
|
||||
const TStringBlock* FindStringBlock(type_code type, const char* name);
|
||||
|
||||
|
||||
const char* FindString(type_code type, int32 id, uint32 index);
|
||||
const char* FindString(type_code type, const char* name, uint32 index);
|
||||
|
||||
|
||||
private:
|
||||
status_t ExpandString(BString* out, const char* in);
|
||||
TypeList* FindTypeList(type_code type);
|
||||
|
||||
|
||||
TypeItem* FindItemID(type_code type, int32 id);
|
||||
TypeItem* FindItemName(type_code type, const char* name);
|
||||
|
||||
|
||||
TypeItem* LoadResource(type_code type, int32 id, const char* name,
|
||||
TypeList** inoutList = NULL);
|
||||
|
||||
|
||||
BBitmap* ReturnBitmapItem(type_code type, TypeItem* from);
|
||||
TStringBlock* ReturnStringBlockItem(TypeItem* from);
|
||||
|
||||
|
||||
BLocker fLock; // access control.
|
||||
BList fResources; // containing BResources objects.
|
||||
BList fDirectories; // containing BPath objects.
|
||||
|
@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
|
||||
|
@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
|
||||
@ -43,20 +44,20 @@ All rights reserved.
|
||||
|
||||
class TShowHideMenuItem : public BMenuItem {
|
||||
public:
|
||||
TShowHideMenuItem(const char* title,
|
||||
TShowHideMenuItem(const char* title,
|
||||
const BList* teams,
|
||||
uint32 action);
|
||||
|
||||
static status_t TeamShowHideCommon(int32 action,
|
||||
const BList* teamList,
|
||||
BRect zoomRect = BRect(0, 0, 0, 0),
|
||||
static status_t TeamShowHideCommon(int32 action,
|
||||
const BList* teamList,
|
||||
BRect zoomRect = BRect(0, 0, 0, 0),
|
||||
bool doZoom = false);
|
||||
protected:
|
||||
virtual void GetContentSize(float* width, float* height);
|
||||
virtual void DrawContent();
|
||||
virtual status_t Invoke(BMessage* message = NULL);
|
||||
|
||||
private:
|
||||
private:
|
||||
const BList* fTeams;
|
||||
uint32 fAction;
|
||||
float fTitleWidth;
|
||||
|
@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
|
||||
@ -74,19 +75,19 @@ All rights reserved.
|
||||
using std::max;
|
||||
|
||||
#ifdef DB_ADDONS
|
||||
// Add-on support
|
||||
// Add-on support
|
||||
//
|
||||
// Item - internal item list (node, eref, etc)
|
||||
// Icon - physical replicant handed to the DeskbarClass class
|
||||
// AddOn - attribute based add-on
|
||||
// Item - internal item list (node, eref, etc)
|
||||
// Icon - physical replicant handed to the DeskbarClass class
|
||||
// AddOn - attribute based add-on
|
||||
|
||||
const char* const kInstantiateItemCFunctionName = "instantiate_deskbar_item";
|
||||
const char* const kInstantiateEntryCFunctionName = "instantiate_deskbar_entry";
|
||||
const char* const kDeskbarSecurityCodeFile = "Deskbar_security_code";
|
||||
const char* const kDeskbarSecurityCodeAttr = "be:deskbar_security_code";
|
||||
const char* const kStatusPredicate = "be:deskbar_item_status";
|
||||
const char* const kEnabledPredicate = "be:deskbar_item_status=enabled";
|
||||
const char* const kDisabledPredicate = "be:deskbar_item_status=disabled";
|
||||
const char* const kEnabledPredicate = "be:deskbar_item_status = enabled";
|
||||
const char* const kDisabledPredicate = "be:deskbar_item_status = disabled";
|
||||
|
||||
float sMinimumWindowWidth = kGutter + kMinimumTrayWidth + kDragRegionWidth;
|
||||
|
||||
@ -240,8 +241,7 @@ TReplicantTray::DealWithClock(bool showClock)
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
Width is set to a minimum of kMinimumReplicantCount by kMaxReplicantWidth
|
||||
/*! Width is set to a minimum of kMinimumReplicantCount by kMaxReplicantWidth
|
||||
if not in multirowmode and greater than kMinimumReplicantCount
|
||||
the width should be calculated based on the actual
|
||||
replicant widths
|
||||
@ -255,17 +255,15 @@ TReplicantTray::GetPreferredSize(float* preferredWidth, float* preferredHeight)
|
||||
if (fShelf->CountReplicants() > 0)
|
||||
height = fRightBottomReplicant.bottom;
|
||||
|
||||
// the height will be uniform for the number of rows
|
||||
// necessary to show all the reps + any gutters
|
||||
// necessary for spacing
|
||||
// the height will be uniform for the number of rows necessary to show
|
||||
// all the reps + any gutters necessary for spacing
|
||||
int32 rowCount = (int32)(height / kMaxReplicantHeight);
|
||||
height = kGutter + (rowCount * kMaxReplicantHeight)
|
||||
+ ((rowCount - 1) * kIconGap) + kGutter;
|
||||
height = max(kMinimumTrayHeight, height);
|
||||
width = fMinimumTrayWidth;
|
||||
} else {
|
||||
// if last replicant overruns clock then
|
||||
// resize to accomodate
|
||||
// if last replicant overruns clock then resize to accomodate
|
||||
if (fShelf->CountReplicants() > 0) {
|
||||
if (fBarView->ShowingClock()
|
||||
&& fRightBottomReplicant.right + 6 >= fClock->Frame().left) {
|
||||
@ -274,12 +272,13 @@ TReplicantTray::GetPreferredSize(float* preferredWidth, float* preferredHeight)
|
||||
} else
|
||||
width = fRightBottomReplicant.right + 3;
|
||||
}
|
||||
|
||||
// this view has a fixed minimum width
|
||||
width = max(fMinimumTrayWidth, width);
|
||||
}
|
||||
|
||||
*preferredWidth = width;
|
||||
// add 2 for the border
|
||||
// add 1 for the border
|
||||
*preferredHeight = height + 1;
|
||||
}
|
||||
|
||||
@ -350,8 +349,7 @@ TReplicantTray::ShowReplicantMenu(BPoint point)
|
||||
BPopUpMenu* menu = new BPopUpMenu("", false, false);
|
||||
menu->SetFont(be_plain_font);
|
||||
|
||||
// If the clock is visible, show the extended menu
|
||||
// otheriwse, show "Show Time".
|
||||
// If clock is visible show the extended menu, otherwise show "Show Time"
|
||||
|
||||
if (fBarView->ShowingClock())
|
||||
fClock->ShowClockOptions(ConvertToScreen(point));
|
||||
@ -375,7 +373,7 @@ TReplicantTray::MouseDown(BPoint where)
|
||||
DumpList(fItemList);
|
||||
#endif
|
||||
|
||||
uint32 buttons;
|
||||
uint32 buttons;
|
||||
|
||||
Window()->CurrentMessage()->FindInt32("buttons", (int32*)&buttons);
|
||||
if (buttons == B_SECONDARY_MOUSE_BUTTON) {
|
||||
@ -412,15 +410,15 @@ TReplicantTray::InitAddOnSupport()
|
||||
{
|
||||
// list to maintain refs to each rep added/deleted
|
||||
fItemList = new BList();
|
||||
|
||||
bool haveKey = false;
|
||||
BPath path;
|
||||
BPath path;
|
||||
|
||||
if (find_directory(B_USER_SETTINGS_DIRECTORY, &path, true) == B_OK) {
|
||||
path.Append(kDeskbarSecurityCodeFile);
|
||||
|
||||
BFile file(path.Path(),B_READ_ONLY);
|
||||
BFile file(path.Path(), B_READ_ONLY);
|
||||
if (file.InitCheck() == B_OK
|
||||
&& file.Read(&fDeskbarSecurityCode, sizeof(fDeskbarSecurityCode))
|
||||
&& file.Read(&fDeskbarSecurityCode, sizeof(fDeskbarSecurityCode))
|
||||
== sizeof(fDeskbarSecurityCode))
|
||||
haveKey = true;
|
||||
}
|
||||
@ -443,8 +441,7 @@ TReplicantTray::InitAddOnSupport()
|
||||
}
|
||||
}
|
||||
|
||||
// for each volume currently mounted
|
||||
// index the volume with our indices
|
||||
// for each volume currently mounted index the volume with our indices
|
||||
BVolumeRoster roster;
|
||||
BVolume volume;
|
||||
while (roster.GetNextVolume(&volume) == B_OK) {
|
||||
@ -488,8 +485,7 @@ TReplicantTray::RunAddOnQuery(BVolume* volume, const char* predicate)
|
||||
|| fs_stat_index(volume->Device(), kStatusPredicate, &info) != 0)
|
||||
return;
|
||||
|
||||
// run a new query on a specific volume
|
||||
// make it live
|
||||
// run a new query on a specific volume and make it live
|
||||
BQuery query;
|
||||
query.SetVolume(volume);
|
||||
query.SetPredicate(predicate);
|
||||
@ -557,7 +553,7 @@ TReplicantTray::NodeExists(node_ref& nodeRef)
|
||||
}
|
||||
|
||||
|
||||
/*! This handles B_NODE_MONITOR & B_QUERY_UPDATE messages received
|
||||
/*! This handles B_NODE_MONITOR & B_QUERY_UPDATE messages received
|
||||
for the registered add-ons.
|
||||
*/
|
||||
void
|
||||
@ -697,8 +693,7 @@ TReplicantTray::HandleEntryUpdate(BMessage* message)
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
The add-ons must support the exported C function API
|
||||
/*! The add-ons must support the exported C function API
|
||||
if they do, they will be loaded and added to deskbar
|
||||
primary function is the Instantiate function
|
||||
*/
|
||||
@ -883,7 +878,7 @@ TReplicantTray::MoveItem(entry_ref* ref, ino_t toDirectory)
|
||||
}
|
||||
}
|
||||
|
||||
#endif // add-on support
|
||||
#endif // add-on support
|
||||
|
||||
// external add-on API routines
|
||||
// called using the new BDeskbar class
|
||||
@ -989,7 +984,7 @@ TReplicantTray::IconCount() const
|
||||
}
|
||||
|
||||
|
||||
/*! Message must contain an archivable view for later rehydration.
|
||||
/*! Message must contain an archivable view for later rehydration.
|
||||
This function takes over ownership of the provided message on success
|
||||
only.
|
||||
Returns the current replicant ID.
|
||||
@ -1008,6 +1003,7 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
|
||||
ref = *addOn;
|
||||
} else {
|
||||
const char* signature;
|
||||
|
||||
status_t status = archive->FindString("add_on", &signature);
|
||||
if (status == B_OK) {
|
||||
BRoster roster;
|
||||
@ -1028,10 +1024,9 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
|
||||
return status;
|
||||
|
||||
BEntry entry(&ref, true);
|
||||
// ToDo: this resolves an eventual link for the item
|
||||
// being added - this is okay for now, but in multi-user
|
||||
// environments, one might want to have links that
|
||||
// carry the be:deskbar_item_status attribute
|
||||
// TODO: this resolves an eventual link for the item being added - this
|
||||
// is okay for now, but in multi-user environments, one might want to
|
||||
// have links that carry the be:deskbar_item_status attribute
|
||||
status = entry.InitCheck();
|
||||
if (status != B_OK)
|
||||
return status;
|
||||
@ -1041,10 +1036,10 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
|
||||
archive->what = 0;
|
||||
|
||||
BRect originalBounds = archive->FindRect("_frame");
|
||||
// this is a work-around for buggy replicants that change their
|
||||
// size in AttachedToWindow() (such as "SVM")
|
||||
// this is a work-around for buggy replicants that change their size in
|
||||
// AttachedToWindow() (such as "SVM")
|
||||
|
||||
// !! check for name collisions?
|
||||
// TODO: check for name collisions?
|
||||
status = fShelf->AddReplicant(archive, BPoint(1, 1));
|
||||
if (status != B_OK)
|
||||
return status;
|
||||
@ -1070,7 +1065,7 @@ TReplicantTray::AddIcon(BMessage* archive, int32* id, const entry_ref* addOn)
|
||||
// add the item to the add-on list
|
||||
|
||||
AddItem(*id, nodeRef, entry, addOn != NULL);
|
||||
return B_OK;
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
@ -1129,8 +1124,7 @@ TReplicantTray::RealReplicantAdjustment(int32 startIndex)
|
||||
float width, height;
|
||||
GetPreferredSize(&width, &height);
|
||||
if (oldWidth != width || oldHeight != height) {
|
||||
// resize view to accomodate the replicants
|
||||
// redraw as necessary
|
||||
// resize view to accomodate the replicants, redraw as necessary
|
||||
AdjustPlacement();
|
||||
}
|
||||
}
|
||||
@ -1154,7 +1148,7 @@ TReplicantTray::ViewAt(int32* index, int32* id, int32 target, bool byIndex)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int32 count = fShelf->CountReplicants()-1;
|
||||
int32 count = fShelf->CountReplicants() - 1;
|
||||
int32 localid;
|
||||
for (int32 repIndex = count ; repIndex >= 0 ; repIndex--) {
|
||||
fShelf->ReplicantAt(repIndex, &view, (uint32*)&localid);
|
||||
@ -1165,7 +1159,6 @@ TReplicantTray::ViewAt(int32* index, int32* id, int32 target, bool byIndex)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -1189,7 +1182,6 @@ TReplicantTray::ViewAt(int32* index, int32* id, const char* name)
|
||||
return view;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -1353,7 +1345,7 @@ TReplicantTray::SetMultiRow(bool state)
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
/*! Draggable region that is asynchronous so that dragging does not block
|
||||
/*! Draggable region that is asynchronous so that dragging does not block
|
||||
other activities.
|
||||
*/
|
||||
TDragRegion::TDragRegion(TBarView* parent, BView* child)
|
||||
@ -1583,16 +1575,16 @@ bool
|
||||
TDragRegion::SwitchModeForRect(BPoint mouse, BRect rect,
|
||||
bool newVertical, bool newLeft, bool newTop, int32 newState)
|
||||
{
|
||||
if (!rect.Contains(mouse))
|
||||
if (!rect.Contains(mouse)) {
|
||||
// not our rect
|
||||
return false;
|
||||
}
|
||||
|
||||
if (newVertical == fBarView->Vertical()
|
||||
&& newLeft == fBarView->Left()
|
||||
&& newTop == fBarView->Top()
|
||||
&& newState == fBarView->State())
|
||||
if (newVertical == fBarView->Vertical() && newLeft == fBarView->Left()
|
||||
&& newTop == fBarView->Top() && newState == fBarView->State()) {
|
||||
// already in the correct mode
|
||||
return true;
|
||||
}
|
||||
|
||||
fBarView->ChangeState(newState, newVertical, newLeft, newTop);
|
||||
return true;
|
||||
|
@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
|
||||
@ -51,12 +52,11 @@ const int32 kIconGap = 2;
|
||||
const int32 kGutter = 1;
|
||||
const int32 kDragRegionWidth = 6;
|
||||
|
||||
// 1 pixel left gutter
|
||||
// space for replicant tray (6 items)
|
||||
// 6 pixel drag region
|
||||
const float kMinimumTrayWidth = kIconGap
|
||||
+ (kMinimumReplicantCount * kIconGap)
|
||||
+ (kMinimumReplicantCount * kMaxReplicantWidth) + kGutter;
|
||||
// 1 pixel left gutter
|
||||
// space for replicant tray (6 items)
|
||||
// 6 pixel drag region
|
||||
const float kMinimumTrayWidth = kIconGap + (kMinimumReplicantCount * kIconGap)
|
||||
+ (kMinimumReplicantCount * kMaxReplicantWidth) + kGutter;
|
||||
const float kMinimumTrayHeight = kGutter + kMaxReplicantHeight + kGutter;
|
||||
|
||||
extern float sMinimumWindowWidth;
|
||||
@ -104,7 +104,7 @@ public:
|
||||
void RemoveIcon(int32 target, bool byIndex = false);
|
||||
void RemoveIcon(const char* name);
|
||||
|
||||
BRect IconFrame(int32 target, bool byIndex=false);
|
||||
BRect IconFrame(int32 target, bool byIndex = false);
|
||||
BRect IconFrame(const char* name);
|
||||
|
||||
bool AcceptAddon(BRect frame, BMessage* message);
|
||||
|
@ -26,9 +26,10 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
|
||||
@ -68,15 +69,16 @@ TReplicantShelf::MessageReceived(BMessage* message)
|
||||
// since we can't use ReplicantDeleted
|
||||
// catch the message and find the id or name specifier
|
||||
// then delete the rep vi the api,
|
||||
//
|
||||
|
||||
// this will fix the problem of realigning the reps
|
||||
// after a remove when done through scripting
|
||||
//
|
||||
|
||||
// note: if specified by index its the index not the id!
|
||||
|
||||
while (message->FindMessage("specifiers", index++, &repspec)
|
||||
== B_OK) {
|
||||
const char* str;
|
||||
|
||||
if (repspec.FindString("property", &str) == B_OK) {
|
||||
if (strcmp(str, "Replicant") == 0) {
|
||||
int32 index;
|
||||
@ -103,7 +105,7 @@ TReplicantShelf::MessageReceived(BMessage* message)
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
bool
|
||||
TReplicantShelf::CanAcceptReplicantView(BRect frame, BView* view,
|
||||
BMessage* message) const
|
||||
{
|
||||
|
@ -26,14 +26,15 @@ Except as contained in this notice, the name of Be Incorporated shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings in
|
||||
this Software without prior written authorization from Be Incorporated.
|
||||
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered trademarks
|
||||
of Be Incorporated in the United States and other countries. Other brand product
|
||||
names are registered trademarks or trademarks of their respective holders.
|
||||
Tracker(TM), Be(R), BeOS(R), and BeIA(TM) are trademarks or registered
|
||||
trademarks 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.
|
||||
*/
|
||||
|
||||
// overrides BShelf; rejects draggers that won't fit into the shelf
|
||||
// alligns received draggers into a grid
|
||||
// overrides BShelf; rejects draggers that won't fit into the shelf
|
||||
// alligns received draggers into a grid
|
||||
|
||||
#ifndef __STATUS_VIEW_SHELF__
|
||||
#define __STATUS_VIEW_SHELF__
|
||||
@ -45,12 +46,12 @@ class TReplicantShelf : public BShelf {
|
||||
public:
|
||||
TReplicantShelf(TReplicantTray* view);
|
||||
~TReplicantShelf();
|
||||
|
||||
|
||||
void MessageReceived(BMessage*);
|
||||
|
||||
|
||||
protected:
|
||||
bool CanAcceptReplicantView(BRect, BView*, BMessage*) const;
|
||||
BPoint AdjustReplicantBy(BRect, BMessage*) const;
|
||||
BPoint AdjustReplicantBy(BRect, BMessage*) const;
|
||||
void ReplicantDeleted(int32, const BMessage*, const BView*);
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user