+ return GTK_STOCK_HELP;
+}
+
+void wxMessageDialog::DoSetCustomLabel(wxString& var, const ButtonLabel& label)
+{
+ int stockId = label.GetStockId();
+ if ( stockId == wxID_NONE )
+ {
+ wxMessageDialogBase::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 = "";
+
+ switch ( GetEffectiveIcon() )
+ {
+ case wxICON_ERROR:
+ stockIcon = "qgn_note_gene_syserror";
+ break;
+
+ case wxICON_WARNING:
+ stockIcon = "qgn_note_gene_syswarning";
+ break;
+
+ case wxICON_QUESTION:
+ stockIcon = "qgn_note_confirm";
+ break;
+
+ case wxICON_INFORMATION:
+ stockIcon = "qgn_note_info";
+ break;
+ }
+
+ // 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
+ GtkMessageType type = GTK_MESSAGE_ERROR;
+ GtkButtonsType buttons = GTK_BUTTONS_NONE;
+
+ // when using custom labels, we have to add all the buttons ourselves
+ if ( !HasCustomLabels() )