1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/gtk/hildon/notifmsg.cpp
3 // Purpose: Hildon implementation of wxNotificationMessage
4 // Author: Vadim Zeitlin
7 // Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 // ============================================================================
13 // ============================================================================
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
19 // for compilers that support precompilation, includes "wx.h".
20 #include "wx/wxprec.h"
26 #if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
31 #include "wx/notifmsg.h"
32 #include "wx/toplevel.h"
35 #include <hildon-widgets/hildon-banner.h>
36 #endif // wxUSE_LIBHILDON
39 #include <hildon/hildon.h>
40 #endif // wxUSE_LIBHILDON2
42 // ============================================================================
43 // wxNotificationMessage implementation
44 // ============================================================================
46 wxString
wxNotificationMessage::HildonGetMarkup() const
48 const wxString
& message
= GetMessage(),
52 if ( message
.empty() )
56 else // combine title with message in a single string
58 text
<< "<big><b>" << title
<< "</b></big>\n"
66 GtkWidget
*wxNotificationMessage::HildonGetWindow() const
68 wxWindow
*parent
= GetParent();
71 parent
= wxGetTopLevelParent(parent
);
74 wxTopLevelWindow
* const
75 tlw
= wxDynamicCast(parent
, wxTopLevelWindow
);
77 return tlw
->m_mainWidget
;
84 bool wxNotificationMessage::Show(int timeout
)
86 if ( timeout
== Timeout_Never
)
88 m_banner
= hildon_banner_show_animation
92 GetFullMessage() // markup not supported here
97 else // the message will time out
99 // we don't have any way to set the timeout interval so we just let it
100 // time out automatically
101 hildon_banner_show_information_with_markup
112 bool wxNotificationMessage::Close()
116 // either we hadn't been shown or we are using an information banner
117 // which will disappear on its own, nothing we can do about it
121 gtk_widget_destroy(m_banner
);
127 wxNotificationMessage::~wxNotificationMessage()
132 #endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2