#1245: implement notification service and API ----------------------------------+----------------------------------------- Reporter: wkornewald | Owner: stippi Type: enhancement | Status: in-progress Priority: normal | Milestone: Unscheduled Component: Kits/Application Kit | Version: R1/Development Keywords: | Blockedby: Patch: 1 | Platform: All Blocking: | ----------------------------------+----------------------------------------- Comment(by plfiorini): Here's a brief summary for notifications1.patch. Obviously, it's still work in progress (for example since AppGroupView now inherits from BBox has lost the collapse and close widgets that will be added soon, there are still OnClick* methods to be replace by methods to set the on click app signature and message and other things). {{{ Changes to Application Kit: * BNotification now inherits from BArchivable. * Archiving fields in BNotification starts with an underscore now, as done by other Haiku archivable classes. * BRoster::Notify() doesn't exist anymore, use BNotification::Send() instead so it's all self-contained in BNotification. * BNotification::Progress() returns -1 if notification's type is not B_PROGRESS_NOTIFICATION. * BNotification::SetProgress() validates the progress passed as argument. * By default icon is not automatically set. * Renamed Application() and SetApplication() to Group() and SetGroup(). * Added BNotification::InitCheck() that returns B_OK if the notification object has a valid type otherwise an error code. * Methods that returns const char* properties now returns NULL if the string is empty. * Added documentation to BNotification except for OnClick methods that will probably be removed soon. * Only notification's type is mandatory for BNotification. Changes to notification_server: * Removed BorderView. * Fixed NotificationView::MouseDown() switching on buttons is not valid because it is a bitfield. * Fixed typo in NotificationWidow::MessageReceived(), it's "error" not "Error". * Removed infoview_layout and layout settings. * Renamed NotificationWindow::ViewWidth() to NotificationWindow::Width(). * Methods returning icon size, width and timeout in NotificationWindow are now const. * Check if notification is allowed by looking for sender's signature. * Property lists indentation. * Removed some PushState()/PopState() and Sync() from NotificationView::Draw(). * Removed some PushState()/PopState() and Sync() in AppGroupView::Draw(). * Removed NotificationView::SetPosition(). * AppGroupView inherits from BBox. Changes to notify: * No manual memory allocation, use BString instead of char*. * Renamed all application occurences to group. * Title and group are not mandatory. }}} -- Ticket URL: <http://dev.haiku-os.org/ticket/1245#comment:24> Haiku <http://dev.haiku-os.org> Haiku - the operating system.