Added wxStandardPaths implementation for OS/2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -153,6 +153,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
<set var="BASE_OS2_SRC" hints="files">
|
||||
src/os2/dir.cpp
|
||||
src/os2/mimetype.cpp
|
||||
src/os2/stdpaths.cpp
|
||||
src/os2/thread.cpp
|
||||
src/os2/utils.cpp
|
||||
src/os2/utilsexc.cpp
|
||||
@@ -160,6 +161,10 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
<set var="BASE_AND_GUI_OS2_SRC" hints="files">
|
||||
</set>
|
||||
<set var="BASE_OS2_HDR" hints="files">
|
||||
wx/os2/apptbase.h
|
||||
wx/os2/apptrait.h
|
||||
wx/os2/mimetype.h
|
||||
wx/os2/stdpaths.h
|
||||
</set>
|
||||
|
||||
<set var="BASE_CMN_SRC" hints="files">
|
||||
|
47
include/wx/os2/stdpaths.h
Normal file
47
include/wx/os2/stdpaths.h
Normal file
@@ -0,0 +1,47 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/msw/stdpaths.h
|
||||
// Purpose: wxStandardPaths for OS/2
|
||||
// Author: Stefan Neis
|
||||
// Modified by:
|
||||
// Created: 2004-11-06
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2004 Stefan Neis <Stefan.Neis@t-online.de>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_OS2_STDPATHS_H_
|
||||
#define _WX_OS2_STDPATHS_H_
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxStandardPaths
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_BASE wxStandardPaths : public wxStandardPathsBase
|
||||
{
|
||||
public:
|
||||
// set the program installation directory which is /usr/local by default
|
||||
//
|
||||
// The program directory can be determined automatically from argv[0],
|
||||
// this function is automatically called from application initialisation.
|
||||
// If you override the initialisation routine, you should call it
|
||||
// explicitely yourself.
|
||||
static void SetInstallPrefix(const wxString& prefix);
|
||||
|
||||
// get the program installation prefix
|
||||
//
|
||||
// if the prefix had been previously by SetInstallPrefix, returns that
|
||||
// value, otherwise returns /usr/local if it failed
|
||||
wxString GetInstallPrefix() const;
|
||||
|
||||
// implement base class pure virtuals
|
||||
virtual wxString GetConfigDir() const;
|
||||
virtual wxString GetUserConfigDir() const;
|
||||
virtual wxString GetDataDir() const;
|
||||
virtual wxString GetUserDataDir() const;
|
||||
virtual wxString GetPluginsDir() const;
|
||||
|
||||
private:
|
||||
static wxString m_prefix;
|
||||
};
|
||||
|
||||
#endif // _WX_OS2_STDPATHS_H_
|
@@ -91,6 +91,8 @@ protected:
|
||||
#include "wx/msw/stdpaths.h"
|
||||
#elif defined(__WXMAC__) || defined(__WXCOCOA__)
|
||||
#include "wx/mac/corefoundation/stdpaths.h"
|
||||
#elif defined(__OS2__)
|
||||
#include "wx/os2/stdpaths.h"
|
||||
#elif defined(__UNIX__)
|
||||
#include "wx/unix/stdpaths.h"
|
||||
#endif
|
||||
|
@@ -33,6 +33,8 @@
|
||||
#include "wx/dynarray.h"
|
||||
#include "wx/wxchar.h"
|
||||
#include "wx/icon.h"
|
||||
#include "wx/stdpaths.h"
|
||||
#include "wx/filename.h"
|
||||
#endif
|
||||
|
||||
#include "wx/log.h"
|
||||
@@ -219,7 +221,9 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
|
||||
// OS2 has to have an anchorblock
|
||||
//
|
||||
vHabmain = WinInitialize(0);
|
||||
|
||||
wxFileName GetPrefix(argv[0]);
|
||||
GetPrefix.MakeAbsolute();
|
||||
wxStandardPaths::SetInstallPrefix(GetPrefix.GetPath());
|
||||
if (!vHabmain)
|
||||
{
|
||||
// TODO: at least give some error message here...
|
||||
|
89
src/os2/stdpaths.cpp
Normal file
89
src/os2/stdpaths.cpp
Normal file
@@ -0,0 +1,89 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: unix/stdpaths.cpp
|
||||
// Purpose: wxStandardPaths implementation for OS/2 systems
|
||||
// Author: Stefan Neis
|
||||
// Modified by:
|
||||
// Created: 2004-11-06
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2004 Stefan Neis <Stefan.Neis@t-online.de>
|
||||
// License: wxWindows license
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ============================================================================
|
||||
// declarations
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// for compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/app.h"
|
||||
#endif //WX_PRECOMP
|
||||
|
||||
#include "wx/filename.h"
|
||||
|
||||
#include "wx/stdpaths.h"
|
||||
|
||||
|
||||
// ============================================================================
|
||||
// wxStandardPaths implementation
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// prefix management
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxString wxStandardPaths::m_prefix;
|
||||
|
||||
void wxStandardPaths::SetInstallPrefix(const wxString& prefix)
|
||||
{
|
||||
m_prefix = prefix;
|
||||
}
|
||||
|
||||
wxString wxStandardPaths::GetInstallPrefix() const
|
||||
{
|
||||
if ( m_prefix.empty() )
|
||||
{
|
||||
wxStandardPaths *self = wx_const_cast(wxStandardPaths *, this);
|
||||
|
||||
self->m_prefix = _T("/usr/local");
|
||||
}
|
||||
return m_prefix;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// public functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxString wxStandardPaths::GetConfigDir() const
|
||||
{
|
||||
return m_prefix;
|
||||
}
|
||||
|
||||
wxString wxStandardPaths::GetUserConfigDir() const
|
||||
{
|
||||
return wxFileName::GetHomeDir();
|
||||
}
|
||||
|
||||
wxString wxStandardPaths::GetDataDir() const
|
||||
{
|
||||
return GetInstallPrefix() + _T("\\data");
|
||||
}
|
||||
|
||||
wxString wxStandardPaths::GetUserDataDir() const
|
||||
{
|
||||
return AppendAppName(wxFileName::GetHomeDir() + _T("\\."));
|
||||
}
|
||||
|
||||
wxString wxStandardPaths::GetPluginsDir() const
|
||||
{
|
||||
return wxString();
|
||||
}
|
Reference in New Issue
Block a user