]> git.saurik.com Git - wxWidgets.git/blame - src/os2/filedlg.cpp
updates for DoGetBestSize
[wxWidgets.git] / src / os2 / filedlg.cpp
CommitLineData
0e320a79
DW
1/////////////////////////////////////////////////////////////////////////////
2// Name: filedlg.cpp
3// Purpose: wxFileDialog
f0a56ab0 4// Author: David Webster
0e320a79 5// Modified by:
f0a56ab0 6// Created: 10/05/99
0e320a79 7// RCS-ID: $Id$
f0a56ab0 8// Copyright: (c) David Webster
0e320a79
DW
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
fb46a9a6
DW
12// For compilers that support precompilation, includes "wx.h".
13#include "wx/wxprec.h"
14
15#ifdef __BORLANDC__
16 #pragma hdrstop
17#endif
18
19#ifndef WX_PRECOMP
20 #include <stdio.h>
21 #include "wx/defs.h"
22 #include "wx/utils.h"
23 #include "wx/msgdlg.h"
24 #include "wx/dialog.h"
25 #include "wx/filedlg.h"
26 #include "wx/intl.h"
27 #include "wx/log.h"
28#endif
29
30#define INCL_PM
31#include <os2.h>
32
33#include "wx/os2/private.h"
34
35#include <math.h>
36#include <stdlib.h>
37#include <string.h>
0e320a79
DW
38
39#if !USE_SHARED_LIBRARY
40IMPLEMENT_CLASS(wxFileDialog, wxDialog)
41#endif
42
f0a56ab0
DW
43wxString wxFileSelector( const char* title
44 ,const char* defaultDir
45 ,const char* defaultFileName
46 ,const char* defaultExtension
47 ,const char* filter
48 ,int flags
49 ,wxWindow* parent
50 ,int x
51 ,int y
52 )
0e320a79
DW
53{
54 // If there's a default extension specified but no filter, we create a suitable
55 // filter.
56
57 wxString filter2("");
58 if ( defaultExtension && !filter )
59 filter2 = wxString("*.") + wxString(defaultExtension) ;
60 else if ( filter )
61 filter2 = filter;
62
63 wxString defaultDirString;
64 if (defaultDir)
65 defaultDirString = defaultDir;
66 else
67 defaultDirString = "";
68
69 wxString defaultFilenameString;
70 if (defaultFileName)
71 defaultFilenameString = defaultFileName;
72 else
73 defaultFilenameString = "";
74
75 wxFileDialog fileDialog(parent, title, defaultDirString, defaultFilenameString, filter2, flags, wxPoint(x, y));
76
77 if ( fileDialog.ShowModal() == wxID_OK )
78 {
79 return fileDialog.GetPath();
80 }
81 else
82 return wxEmptyString;
83}
84
fb46a9a6
DW
85# ifndef MAXPATH
86# define MAXPATH 400
87# endif
88
89# ifndef MAXDRIVE
90# define MAXDRIVE 3
91# endif
92
93# ifndef MAXFILE
94# define MAXFILE 9
95# endif
96
97# ifndef MAXEXT
98# define MAXEXT 5
99# endif
100
f0a56ab0
DW
101wxString wxFileSelectorEx( const char* title
102 ,const char* defaultDir
103 ,const char* defaultFileName
104 ,int* defaultFilterIndex
105 ,const char* filter
106 ,int flags
107 ,wxWindow* parent
108 ,int x
109 ,int y
110 )
0e320a79
DW
111{
112 wxFileDialog fileDialog(parent, title ? title : "", defaultDir ? defaultDir : "",
113 defaultFileName ? defaultFileName : "", filter ? filter : "", flags, wxPoint(x, y));
114
115 if ( fileDialog.ShowModal() == wxID_OK )
116 {
117 *defaultFilterIndex = fileDialog.GetFilterIndex();
118 return fileDialog.GetPath();
119 }
120 else
121 return wxEmptyString;
122}
123
f0a56ab0
DW
124wxFileDialog::wxFileDialog( wxWindow* parent
125 ,const wxString& message
126 ,const wxString& defaultDir
127 ,const wxString& defaultFileName
128 ,const wxString& wildCard
129 ,long style
130 ,const wxPoint& pos
131 )
0e320a79
DW
132{
133 m_message = message;
134 m_dialogStyle = style;
135 m_parent = parent;
136 m_path = "";
137 m_fileName = defaultFileName;
138 m_dir = defaultDir;
139 m_wildCard = wildCard;
140 m_filterIndex = 1;
141}
142
143int wxFileDialog::ShowModal()
144{
145 // TODO
146 return wxID_CANCEL;
147}
148
149// Generic file load/save dialog
f0a56ab0
DW
150static wxString wxDefaultFileSelector( bool load
151 ,const char* what
152 ,const char* extension
153 ,const char* default_name
154 ,wxWindow* parent
155 )
0e320a79
DW
156{
157 char *ext = (char *)extension;
f0a56ab0 158
0e320a79
DW
159 char prompt[50];
160 wxString str;
161 if (load)
162 str = "Load %s file";
163 else
164 str = "Save %s file";
165 sprintf(prompt, wxGetTranslation(str), what);
166
167 if (*ext == '.') ext++;
168 char wild[60];
169 sprintf(wild, "*.%s", ext);
170
171 return wxFileSelector (prompt, NULL, default_name, ext, wild, 0, parent);
172}
173
174// Generic file load dialog
f0a56ab0
DW
175wxString wxLoadFileSelector( const char* what
176 ,const char* extension
177 ,const char* default_name
178 ,wxWindow* parent
179 )
0e320a79
DW
180{
181 return wxDefaultFileSelector(TRUE, what, extension, default_name, parent);
182}
183
184
185// Generic file save dialog
f0a56ab0
DW
186wxString wxSaveFileSelector( const char* what
187 ,const char* extension
188 ,const char* default_name
189 ,wxWindow* parent
190 )
0e320a79
DW
191{
192 return wxDefaultFileSelector(FALSE, what, extension, default_name, parent);
193}
194
195