/* * 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 #include 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