54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
/*
|
|
* Copyright 2008-2009, Axel Dörfler, axeld@pinc-software.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef ACTIVITY_WINDOW_H
|
|
#define ACTIVITY_WINDOW_H
|
|
|
|
|
|
#include <Messenger.h>
|
|
#include <Window.h>
|
|
|
|
class BFile;
|
|
class BGroupLayout;
|
|
class BMenuItem;
|
|
class ActivityView;
|
|
|
|
|
|
class ActivityWindow : public BWindow {
|
|
public:
|
|
ActivityWindow();
|
|
virtual ~ActivityWindow();
|
|
|
|
virtual void MessageReceived(BMessage* message);
|
|
virtual bool QuitRequested();
|
|
|
|
int32 ActivityViewCount() const;
|
|
ActivityView* ActivityViewAt(int32 index) const;
|
|
void BroadcastToActivityViews(BMessage* message,
|
|
BView* exceptToView = NULL);
|
|
|
|
bigtime_t RefreshInterval() const;
|
|
bool IsAlwaysOnTop() const;
|
|
|
|
private:
|
|
status_t _OpenSettings(BFile& file, uint32 mode);
|
|
status_t _LoadSettings(BMessage& settings);
|
|
status_t _SaveSettings();
|
|
|
|
void _AddDefaultView();
|
|
void _MessageDropped(BMessage *message);
|
|
void _SetAlwaysOnTop(bool alwaysOnTop);
|
|
|
|
BMenuItem* fAlwaysOnTop;
|
|
#ifdef __HAIKU__
|
|
BGroupLayout* fLayout;
|
|
#endif
|
|
BMessenger fSettingsWindow;
|
|
|
|
};
|
|
|
|
static const uint32 kMsgRemoveView = 'rmvw';
|
|
|
|
#endif // ACTIVITY_WINDOW_H
|