#ifndef _APP_GROUP_VIEW_H
#define _APP_GROUP_VIEW_H
#include <vector>
#include <GroupView.h>
#include <Messenger.h>
#include <String.h>
class BGroupView;
class NotificationWindow;
class NotificationView;
typedef std::vector<NotificationView*> infoview_t;
class AppGroupView : public BGroupView {
public:
AppGroupView(const BMessenger& messenger, const char* label);
virtual void Draw(BRect updateRect);
virtual void MouseDown(BPoint point);
virtual void MessageReceived(BMessage* msg);
bool HasChildren();
int32 ChildrenCount();
void AddInfo(NotificationView* view);
void SetPreviewModeOn(bool enabled);
const BString& Group() const;
void SetGroup(const char* group);
void DrawCloseButton(const BRect& updateRect);
float CloseButtonSize() const;
private:
BString fLabel;
BMessenger fMessenger;
infoview_t fInfo;
bool fCollapsed;
BRect fCloseRect;
BRect fCollapseRect;
float fHeaderSize;
bool fCloseClicked;
bool fPreviewModeOn;
};
#endif