/////////////////////////////////////////////////////////////////////////////
// Name: emulator.cpp
-// Purpose: Emulator wxWindows sample
+// Purpose: Emulator wxWidgets sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// declarations
// ============================================================================
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "emulator.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#endif
// for all others, include the necessary headers (this file is usually all you
-// need because it includes almost all "standard" wxWindows headers)
+// need because it includes almost all "standard" wxWidgets headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/cmdline.h"
#include "wx/image.h"
#include "wx/file.h"
+#include "wx/filename.h"
#ifdef __WXX11__
#include "wx/x11/reparent.h"
// ----------------------------------------------------------------------------
// the application icon (under Windows and OS/2 it is in resources)
-#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) || defined(__WXX11__)
+#ifndef wxHAS_IMAGES_IN_RESOURCES
#include "emulator.xpm"
#endif
// ----------------------------------------------------------------------------
-// event tables and other macros for wxWindows
+// event tables and other macros for wxWidgets
// ----------------------------------------------------------------------------
-// the event tables connect the wxWindows events with the functions (event
+// the event tables connect the wxWidgets events with the functions (event
// handlers) which process them. It can be also done at run-time, but for the
// simple menu events like this the static method is much simpler.
BEGIN_EVENT_TABLE(wxEmulatorFrame, wxFrame)
EVT_CLOSE(wxEmulatorFrame::OnCloseWindow)
END_EVENT_TABLE()
-// Create a new application object: this macro will allow wxWindows to create
+// Create a new application object: this macro will allow wxWidgets to create
// the application object during program execution (it's better than using a
// static object for many reasons) and also declares the accessor function
// wxGetApp() which will return the reference of the right type (i.e. wxEmulatorApp and
static const wxCmdLineEntryDesc sg_cmdLineDesc[] =
{
- { wxCMD_LINE_OPTION, _T("u"), _T("use-display"), _T("display number to use (default 100)") },
+ { wxCMD_LINE_OPTION, "u", "use-display", "display number to use (default 100)" },
- { wxCMD_LINE_SWITCH, _T("h"), _T("help"), _T("displays help on the command line parameters") },
- { wxCMD_LINE_SWITCH, _T("v"), _T("version"), _T("print version") },
+ { wxCMD_LINE_SWITCH, "h", "help", "displays help on the command line parameters" },
+ { wxCMD_LINE_SWITCH, "v", "version", "print version" },
- { wxCMD_LINE_PARAM, NULL, NULL, _T("config file 1"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
+ { wxCMD_LINE_PARAM, NULL, NULL, "config file 1", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
- { wxCMD_LINE_NONE }
+ wxCMD_LINE_DESC_END
};
// 'Main program' equivalent: the program execution "starts" here
bool wxEmulatorApp::OnInit()
{
- wxLog::SetTimestamp(NULL);
+#if wxUSE_LOG
+ wxLog::DisableTimestamp();
+#endif // wxUSE_LOG
wxInitAllImageHandlers();
wxString currentDir = wxGetCwd();
// If the development version, go up a directory.
#ifdef __WXMSW__
- if ((m_appDir.Right(5).CmpNoCase(_T("DEBUG")) == 0) ||
- (m_appDir.Right(11).CmpNoCase(_T("DEBUGSTABLE")) == 0) ||
- (m_appDir.Right(7).CmpNoCase(_T("RELEASE")) == 0) ||
- (m_appDir.Right(13).CmpNoCase(_T("RELEASESTABLE")) == 0)
+ if ((m_appDir.Right(5).CmpNoCase(wxT("DEBUG")) == 0) ||
+ (m_appDir.Right(11).CmpNoCase(wxT("DEBUGSTABLE")) == 0) ||
+ (m_appDir.Right(7).CmpNoCase(wxT("RELEASE")) == 0) ||
+ (m_appDir.Right(13).CmpNoCase(wxT("RELEASESTABLE")) == 0)
)
m_appDir = wxPathOnly(m_appDir);
#endif
wxLog::SetActiveTarget(new wxLogStderr);
#endif
wxString msg;
- msg.Printf(wxT("wxWindows PDA Emulator (c) Julian Smart, 2002 Version %.2f, %s"), wxEMULATOR_VERSION, __DATE__);
+ msg.Printf(wxT("wxWidgets PDA Emulator (c) Julian Smart, 2002 Version %.2f, %s"), wxEMULATOR_VERSION, __DATE__);
wxLogMessage(msg);
return false;
}
}
// create the main application window
- wxEmulatorFrame *frame = new wxEmulatorFrame(_T("wxEmulator"),
+ wxEmulatorFrame *frame = new wxEmulatorFrame(wxT("wxEmulator"),
wxPoint(50, 50), wxSize(450, 340));
+#if wxUSE_STATUSBAR
frame->SetStatusText(m_emulatorInfo.m_emulatorTitle, 0);
wxString sizeStr;
sizeStr.Printf(wxT("Screen: %dx%d"), (int) m_emulatorInfo.m_emulatorScreenSize.x,
(int) m_emulatorInfo.m_emulatorScreenSize.y);
frame->SetStatusText(sizeStr, 1);
+#endif // wxUSE_STATUSBAR
m_containerWindow = new wxEmulatorContainer(frame, wxID_ANY);
// the "About" item should be in the help menu
wxMenu *helpMenu = new wxMenu;
- helpMenu->Append(Emulator_About, _T("&About...\tF1"), _T("Show about dialog"));
+ helpMenu->Append(Emulator_About, wxT("&About\tF1"), wxT("Show about dialog"));
- menuFile->Append(Emulator_Quit, _T("E&xit\tAlt-X"), _T("Quit this program"));
+ menuFile->Append(Emulator_Quit, wxT("E&xit\tAlt-X"), wxT("Quit this program"));
// now append the freshly created menu to the menu bar...
wxMenuBar *menuBar = new wxMenuBar();
- menuBar->Append(menuFile, _T("&File"));
- menuBar->Append(helpMenu, _T("&Help"));
+ menuBar->Append(menuFile, wxT("&File"));
+ menuBar->Append(helpMenu, wxT("&Help"));
// ... and attach this menu bar to the frame
SetMenuBar(menuBar);
void wxEmulatorFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
wxString msg;
- msg.Printf( _T("wxEmulator is an environment for testing embedded X11 apps.\n"));
+ msg.Printf( wxT("wxEmulator is an environment for testing embedded X11 apps.\n"));
- wxMessageBox(msg, _T("About wxEmulator"), wxOK | wxICON_INFORMATION, this);
+ wxMessageBox(msg, wxT("About wxEmulator"), wxOK | wxICON_INFORMATION, this);
}
void wxEmulatorFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
wxSize sz = GetClientSize();
if (wxGetApp().m_xnestWindow
#ifdef __WXX11__
- && wxGetApp().m_xnestWindow->GetMainWindow()
+ && wxGetApp().m_xnestWindow->X11GetMainWindow()
#endif
)
{
wxPaintDC dc(this);
wxSize sz = GetClientSize();
- if (wxGetApp().m_emulatorInfo.m_emulatorBackgroundBitmap.Ok())
+ if (wxGetApp().m_emulatorInfo.m_emulatorBackgroundBitmap.IsOk())
{
int deviceWidth = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.x;
int deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
wxString rootPath = wxPathOnly(absoluteConfigPath);
{
- wxFileConfig config(wxT("wxEmulator"), wxT("wxWindows"),
+ wxFileConfig config(wxT("wxEmulator"), wxT("wxWidgets"),
absoluteConfigPath, wxEmptyString, wxCONFIG_USE_LOCAL_FILE);
config.Read(wxT("/General/title"), & m_emulatorTitle);
m_emulatorScreenSize = wxSize(w, h);
}
- if (!m_emulatorBackgroundBitmapName.IsEmpty())
+ if (!m_emulatorBackgroundBitmapName.empty())
{
wxString absoluteBackgroundBitmapName = rootPath + wxString(wxFILE_SEP_PATH) + m_emulatorBackgroundBitmapName;
if ( !wxFile::Exists(absoluteBackgroundBitmapName) )
{
wxString path, name, ext;
- wxSplitPath(filename, & path, & name, & ext);
+ wxFileName::SplitPath(filename, & path, & name, & ext);
ext.MakeLower();
- if (ext == _T("jpg") || ext == _T("jpeg"))
+ if (ext == wxT("jpg") || ext == wxT("jpeg"))
return wxBITMAP_TYPE_JPEG;
- if (ext == _T("gif"))
+ if (ext == wxT("gif"))
return wxBITMAP_TYPE_GIF;
- if (ext == _T("bmp"))
+ if (ext == wxT("bmp"))
return wxBITMAP_TYPE_BMP;
- if (ext == _T("png"))
+ if (ext == wxT("png"))
return wxBITMAP_TYPE_PNG;
- if (ext == _T("pcx"))
+ if (ext == wxT("pcx"))
return wxBITMAP_TYPE_PCX;
- if (ext == _T("tif") || ext == _T("tiff"))
- return wxBITMAP_TYPE_TIF;
+ if (ext == wxT("tif") || ext == wxT("tiff"))
+ return wxBITMAP_TYPE_TIFF;
return wxBITMAP_TYPE_INVALID;
}
// Convert 6-digit hex string to a colour
wxColour wxHexStringToColour(const wxString& hex)
{
- unsigned int r = wxHexToDec(hex.Mid(0, 2));
- unsigned int g = wxHexToDec(hex.Mid(2, 2));
- unsigned int b = wxHexToDec(hex.Mid(4, 2));
+ unsigned char r = (unsigned char)wxHexToDec(hex.Mid(0, 2));
+ unsigned char g = (unsigned char)wxHexToDec(hex.Mid(2, 2));
+ unsigned char b = (unsigned char)wxHexToDec(hex.Mid(4, 2));
return wxColour(r, g, b);
}
wxString str;
// Try appVariableName
- if (!appVariableName.IsEmpty())
+ if (!appVariableName.empty())
{
str = wxGetenv(appVariableName);
- if (!str.IsEmpty())
+ if (!str.empty())
return str;
}
wxPathList pathList;
pathList.AddEnvList(wxT("PATH"));
str = pathList.FindAbsoluteValidPath(argv0);
- if (!str.IsEmpty())
+ if (!str.empty())
return wxPathOnly(str);
// Failed