]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sizer.cpp
Mention that resource forks are deprecated under Mac in wxCursor docs.
[wxWidgets.git] / src / common / sizer.cpp
index ebf81ecc1f267c5cadf75e99d9ce5fd66494a99b..535cae56c5bbea3a2d8e23e4f90cd7573a61b5ff 100644 (file)
@@ -2567,30 +2567,38 @@ void wxStdDialogButtonSizer::Realize()
         // Extra space around and at the right
         Add(12, 40);
 #elif defined(__WXGTK20__)
-        Add(0, 0, 0, wxLEFT, 9);
+        // http://library.gnome.org/devel/hig-book/stable/windows-alert.html.en
+        // says that the correct button order is
+        //
+        //      [Help]                  [Alternative] [Cancel] [Affirmative]
+
+        // Flags ensuring that margins between the buttons are 6 pixels.
+        const wxSizerFlags
+            flagsBtn = wxSizerFlags().Centre().Border(wxLEFT | wxRIGHT, 3);
+
+        // Margin around the entire sizer button should be 12.
+        AddSpacer(9);
+
         if (m_buttonHelp)
-            Add((wxWindow*)m_buttonHelp, 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3);
+            Add(m_buttonHelp, flagsBtn);
 
-        // extra whitespace between help and cancel/ok buttons
-        Add(0, 0, 1, wxEXPAND, 0);
+        // Align the rest of the buttons to the right.
+        AddStretchSpacer();
 
-        if (m_buttonNegative){
-            Add((wxWindow*)m_buttonNegative, 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3);
-        }
+        if (m_buttonNegative)
+            Add(m_buttonNegative, flagsBtn);
 
-        // according to HIG, in explicit apply windows the order is:
-        // [ Help                     Apply   Cancel   OK ]
         if (m_buttonApply)
-            Add((wxWindow*)m_buttonApply, 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3);
+            Add(m_buttonApply, flagsBtn);
 
-        if (m_buttonCancel){
-            Add((wxWindow*)m_buttonCancel, 0, wxALIGN_CENTRE | wxLEFT | wxRIGHT, 3);
-            // Cancel or help should be default
-            // m_buttonCancel->SetDefaultButton();
-        }
+        if (m_buttonCancel)
+            Add(m_buttonCancel, flagsBtn);
 
         if (m_buttonAffirmative)
-            Add((wxWindow*)m_buttonAffirmative, 0, wxALIGN_CENTRE | wxLEFT, 6);
+            Add(m_buttonAffirmative, flagsBtn);
+
+        // Ensure that the right margin is 12 as well.
+        AddSpacer(9);
 #elif defined(__WXMSW__)
         // Windows