]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/filedlg.cpp
allow customization of individual grid lines appearance (patch 1496015)
[wxWidgets.git] / src / motif / filedlg.cpp
index e54cb2d4d652020d3d34b8b7e027733d0c077895..9e481db223795b0b58ef95bb525152d563c720ec 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        filedlg.cpp
+// Name:        src/motif/filedlg.cpp
 // Purpose:     wxFileDialog
 // Author:      Julian Smart
 // Modified by:
@@ -9,10 +9,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "filedlg.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #define XtWindow XTWINDOW
 #endif
 
-#include "wx/defs.h"
-#include "wx/utils.h"
 #include "wx/filedlg.h"
-#include "wx/intl.h"
-#include "wx/app.h"
-#include "wx/settings.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/intl.h"
+    #include "wx/app.h"
+    #include "wx/utils.h"
+    #include "wx/settings.h"
+#endif
+
 #include "wx/tokenzr.h"
 #include "wx/stockitem.h"
 
@@ -60,21 +59,21 @@ IMPLEMENT_CLASS(wxFileDialog, wxFileDialogBase)
 #define wxFSB_HEIGHT               500
 
 
-wxString wxFileDialog::m_fileSelectorAnswer = "";
+wxString wxFileDialog::m_fileSelectorAnswer = wxEmptyString;
 bool wxFileDialog::m_fileSelectorReturned = false;
 
 static void wxFileSelClose(Widget WXUNUSED(w),
                            void* WXUNUSED(client_data),
                            XmAnyCallbackStruct *WXUNUSED(call_data))
 {
-    wxFileDialog::m_fileSelectorAnswer = "";
+    wxFileDialog::m_fileSelectorAnswer = wxEmptyString;
     wxFileDialog::m_fileSelectorReturned = true;
 }
 
 void wxFileSelCancel( Widget WXUNUSED(fs), XtPointer WXUNUSED(client_data),
                      XmFileSelectionBoxCallbackStruct *WXUNUSED(cbs) )
 {
-    wxFileDialog::m_fileSelectorAnswer = "";
+    wxFileDialog::m_fileSelectorAnswer = wxEmptyString;
     wxFileDialog::m_fileSelectorReturned = true;
 }
 
@@ -82,7 +81,7 @@ void wxFileSelOk(Widget WXUNUSED(fs), XtPointer WXUNUSED(client_data), XmFileSel
 {
     char *filename = NULL;
     if (!XmStringGetLtoR(cbs->value, XmSTRING_DEFAULT_CHARSET, &filename)) {
-        wxFileDialog::m_fileSelectorAnswer = "";
+        wxFileDialog::m_fileSelectorAnswer = wxEmptyString;
         wxFileDialog::m_fileSelectorReturned = true;
     } else {
         if (filename) {
@@ -118,8 +117,8 @@ static wxString ParseWildCard( const wxString& wild )
 
 wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
                            const wxString& defaultDir, const wxString& defaultFileName, const wxString& wildCard,
-                           long style, const wxPoint& pos)
-             :wxFileDialogBase(parent, message, defaultDir, defaultFileName, wildCard, style, pos)
+                           long style, const wxPoint& pos, const wxSize& sz, const wxString& name)
+             :wxFileDialogBase(parent, message, defaultDir, defaultFileName, wildCard, style, pos, sz, name)
 {
     m_filterIndex = 1;
 }
@@ -182,21 +181,19 @@ int wxFileDialog::ShowModal()
 
     wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
 
-    if ( wxFont::GetFontTag() == (WXString) XmNfontList )
-    {
-        XtSetArg(args[ac], XmNbuttonFontList, font.GetFontTypeC(dpy)); ac++;
-        XtSetArg(args[ac], XmNlabelFontList, font.GetFontTypeC(dpy)); ac++;
-        XtSetArg(args[ac], XmNtextFontList, font.GetFontTypeC(dpy)); ac++;
-    }
-    else
-    {
-        XtSetArg(args[ac], XmNbuttonRenderTable, font.GetFontTypeC(dpy)); ac++;
-        XtSetArg(args[ac], XmNlabelRenderTable, font.GetFontTypeC(dpy)); ac++;
-        XtSetArg(args[ac], XmNtextRenderTable, font.GetFontTypeC(dpy)); ac++;
-    }
+#if __WXMOTIF20__ && !__WXLESSTIF__
+    XtSetArg(args[ac], XmNbuttonRenderTable, font.GetFontTypeC(dpy)); ac++;
+    XtSetArg(args[ac], XmNlabelRenderTable, font.GetFontTypeC(dpy)); ac++;
+    XtSetArg(args[ac], XmNtextRenderTable, font.GetFontTypeC(dpy)); ac++;
+#else
+    XtSetArg(args[ac], XmNbuttonFontList, font.GetFontTypeC(dpy)); ac++;
+    XtSetArg(args[ac], XmNlabelFontList, font.GetFontTypeC(dpy)); ac++;
+    XtSetArg(args[ac], XmNtextFontList, font.GetFontTypeC(dpy)); ac++;
+#endif
 
     Widget fileSel = XmCreateFileSelectionDialog(parentWidget,
-                                                 "file_selector", args, ac);
+                                                 wxMOTIF_STR("file_selector"),
+                                                 args, ac);
 #define wxFSChild( name ) \
     XmFileSelectionBoxGetChild(fileSel, name)
 
@@ -240,12 +237,12 @@ int wxFileDialog::ShowModal()
                       XmNtitle, wxConstCast(m_message.c_str(), char),
                       NULL);
 
-    if (m_wildCard != "")
+    if (!m_wildCard.empty())
     {
         // return something understandable by Motif
         wxString wildCard = ParseWildCard( m_wildCard );
         wxString filter;
-        if (m_dir != "")
+        if (!m_dir.empty())
             filter = m_dir + wxString("/") + wildCard;
         else
             filter = wildCard;
@@ -256,7 +253,7 @@ int wxFileDialog::ShowModal()
 
     // Suggested by Terry Gitnick, 16/9/97, because of change in Motif
     // file selector on Solaris 1.5.1.
-    if ( m_dir != "" )
+    if ( !m_dir.empty() )
     {
         wxXmString thePath( m_dir );
 
@@ -265,9 +262,9 @@ int wxFileDialog::ShowModal()
             NULL);
     }
 
-    wxString entirePath("");
+    wxString entirePath;
 
-    if (m_dir != "")
+    if (!m_dir.empty())
     {
         entirePath = m_dir + wxString("/") + m_fileName;
     }
@@ -276,7 +273,7 @@ int wxFileDialog::ShowModal()
         entirePath = m_fileName;
     }
 
-    if (entirePath != "")
+    if (!entirePath.empty())
     {
         XmTextSetString(selectionWidget,
                         wxConstCast(entirePath.c_str(), char));
@@ -312,7 +309,7 @@ int wxFileDialog::ShowModal()
 
     XtManageChild(fileSel);
 
-    m_fileSelectorAnswer = "";
+    m_fileSelectorAnswer = wxEmptyString;
     m_fileSelectorReturned = false;
 
     wxEndBusyCursor();
@@ -338,9 +335,8 @@ int wxFileDialog::ShowModal()
     m_fileName = wxFileNameFromPath(m_fileSelectorAnswer);
     m_dir = wxPathOnly(m_path);
 
-    if (m_fileName == "")
+    if (m_fileName.empty())
         return wxID_CANCEL;
     else
         return wxID_OK;
 }
-