+wxString wxMessageDialog::GetDefaultOKLabel() const
+{
+ return GTK_STOCK_OK;
+}
+
+wxString wxMessageDialog::GetDefaultCancelLabel() const
+{
+ return GTK_STOCK_CANCEL;
+}
+
+void wxMessageDialog::DoSetCustomLabel(wxString& var, const ButtonLabel& label)
+{
+ int stockId = label.GetStockId();
+ if ( stockId == wxID_NONE )
+ {
+ wxMessageDialogWithCustomLabels::DoSetCustomLabel(var, label);
+ var = wxConvertMnemonicsToGTK(var);
+ }
+ else // stock label
+ {
+ var = wxGetStockGtkID(stockId);
+ }
+}
+
+void wxMessageDialog::GTKCreateMsgDialog()
+{
+ GtkWindow * const parent = m_parent ? GTK_WINDOW(m_parent->m_widget) : NULL;
+
+#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
+ const char *stockIcon;
+ if ( m_dialogStyle & wxICON_NONE )
+ stockIcon = "";
+ else if ( m_dialogStyle & wxICON_ERROR )
+ stockIcon = "qgn_note_gene_syserror";
+ else if ( m_dialogStyle & wxICON_EXCLAMATION )
+ stockIcon = "qgn_note_gene_syswarning";
+ else if ( m_dialogStyle & wxICON_INFORMATION )
+ stockIcon = "qgn_note_info";
+ else if ( m_dialogStyle & wxICON_QUESTION )
+ stockIcon = "qgn_note_confirm";
+ else
+ stockIcon = "";
+
+ // there is no generic note creation function in public API so we have no
+ // choice but to use g_object_new() directly
+ m_widget = (GtkWidget *)g_object_new
+ (
+ HILDON_TYPE_NOTE,
+#if wxUSE_LIBHILDON
+ "note_type", HILDON_NOTE_CONFIRMATION_BUTTON_TYPE,
+#else // wxUSE_LIBHILDON
+ "note_type", HILDON_NOTE_TYPE_CONFIRMATION_BUTTON,
+#endif // wxUSE_LIBHILDON /wxUSE_LIBHILDON2
+ "description", (const char *)GetFullMessage().utf8_str(),
+ "icon", stockIcon,
+ NULL
+ );
+#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2