ReplicantStatusView.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. * Copyright 2011-2012, Dario Casalinuovo. All rights reserved.
  3. * Distributed under the terms of the MIT License.
  4. *
  5. * Authors:
  6. * Dario Casalinuovo
  7. */
  8. #ifndef _REPLICANT_STATUS_VIEW_H
  9. #define _REPLICANT_STATUS_VIEW_H
  10. #include <Handler.h>
  11. #include <Messenger.h>
  12. #include <Resources.h>
  13. #include <View.h>
  14. #include "AppConstants.h"
  15. #include "AppResources.h"
  16. class BPopUpMenu;
  17. class BMenuField;
  18. class BitmapView;
  19. class NicknameTextControl;
  20. class ReplicantHandler;
  21. class ReplicantStatusView : public BView {
  22. public:
  23. ReplicantStatusView();
  24. ReplicantStatusView(BMessage* archive);
  25. ~ReplicantStatusView();
  26. virtual void MessageReceived(BMessage* msg);
  27. virtual void AttachedToWindow();
  28. virtual void DetachedFromWindow();
  29. virtual void Draw(BRect rect);
  30. void SetStatus(UserStatus status);
  31. virtual status_t Archive(BMessage* archive, bool deep) const;
  32. static ReplicantStatusView* Instantiate(BMessage* archive);
  33. void MouseDown(BPoint point);
  34. static status_t InstallReplicant();
  35. static status_t RemoveReplicant();
  36. private:
  37. void _Init();
  38. void _BuildMenu();
  39. void _ShowMenu(BPoint point);
  40. BBitmap* _GetIcon(const uint32 id);
  41. BBitmap* fAppIcon;
  42. BBitmap* fConnectingIcon;
  43. BBitmap* fIcon;
  44. BBitmap* fOfflineIcon;
  45. BBitmap* fBusyIcon;
  46. BBitmap* fAwayIcon;
  47. BBitmap* fExitMenuIcon;
  48. BBitmap* fPreferencesIcon;
  49. BResources fResources;
  50. BPopUpMenu* fReplicantMenu;
  51. bool fIsInstalled;
  52. BMessenger* fCayaMsg;
  53. ReplicantHandler* fReplicantHandler;
  54. };
  55. #endif