Added XPM icon; minor mods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -41,7 +41,7 @@
|
|||||||
#include "forty.h"
|
#include "forty.h"
|
||||||
#include "card.h"
|
#include "card.h"
|
||||||
|
|
||||||
#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
|
#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXX11__)
|
||||||
#include "pictures.xpm"
|
#include "pictures.xpm"
|
||||||
#include "symbols.xbm"
|
#include "symbols.xbm"
|
||||||
#endif
|
#endif
|
||||||
|
@@ -63,6 +63,7 @@
|
|||||||
BEGIN_EVENT_TABLE(wxEmulatorFrame, wxFrame)
|
BEGIN_EVENT_TABLE(wxEmulatorFrame, wxFrame)
|
||||||
EVT_MENU(Emulator_Quit, wxEmulatorFrame::OnQuit)
|
EVT_MENU(Emulator_Quit, wxEmulatorFrame::OnQuit)
|
||||||
EVT_MENU(Emulator_About, wxEmulatorFrame::OnAbout)
|
EVT_MENU(Emulator_About, wxEmulatorFrame::OnAbout)
|
||||||
|
EVT_CLOSE(wxEmulatorFrame::OnCloseWindow)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
// Create a new application object: this macro will allow wxWindows to create
|
// Create a new application object: this macro will allow wxWindows to create
|
||||||
@@ -98,11 +99,14 @@ wxEmulatorApp::wxEmulatorApp()
|
|||||||
m_xnestWindow = NULL;
|
m_xnestWindow = NULL;
|
||||||
m_containerWindow = NULL;
|
m_containerWindow = NULL;
|
||||||
m_displayNumber = wxT("100");
|
m_displayNumber = wxT("100");
|
||||||
|
m_xnestPID = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 'Main program' equivalent: the program execution "starts" here
|
// 'Main program' equivalent: the program execution "starts" here
|
||||||
bool wxEmulatorApp::OnInit()
|
bool wxEmulatorApp::OnInit()
|
||||||
{
|
{
|
||||||
|
wxLog::SetTimestamp(NULL);
|
||||||
wxInitAllImageHandlers();
|
wxInitAllImageHandlers();
|
||||||
|
|
||||||
wxString currentDir = wxGetCwd();
|
wxString currentDir = wxGetCwd();
|
||||||
@@ -194,13 +198,14 @@ bool wxEmulatorApp::OnInit()
|
|||||||
m_xnestWindow = new wxAdoptedWindow;
|
m_xnestWindow = new wxAdoptedWindow;
|
||||||
|
|
||||||
wxString cmd;
|
wxString cmd;
|
||||||
cmd.Printf(wxT("Xnest %s -geometry %dx%d"),
|
cmd.Printf(wxT("Xnest :%s -geometry %dx%d"),
|
||||||
m_displayNumber.c_str(),
|
m_displayNumber.c_str(),
|
||||||
(int) m_emulatorInfo.m_emulatorScreenSize.x,
|
(int) m_emulatorInfo.m_emulatorScreenSize.x,
|
||||||
(int) m_emulatorInfo.m_emulatorScreenSize.y);
|
(int) m_emulatorInfo.m_emulatorScreenSize.y);
|
||||||
|
|
||||||
// Asynchronously executes Xnest
|
// Asynchronously executes Xnest
|
||||||
if (0 == wxExecute(cmd))
|
m_xnestPID = wxExecute(cmd);
|
||||||
|
if (0 == m_xnestPID)
|
||||||
{
|
{
|
||||||
frame->Destroy();
|
frame->Destroy();
|
||||||
wxMessageBox(wxT("Sorry, could not run Xnest. Please check your PATH."));
|
wxMessageBox(wxT("Sorry, could not run Xnest. Please check your PATH."));
|
||||||
@@ -301,6 +306,22 @@ void wxEmulatorFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
|
|||||||
wxMessageBox(msg, _T("About wxEmulator"), wxOK | wxICON_INFORMATION, this);
|
wxMessageBox(msg, _T("About wxEmulator"), wxOK | wxICON_INFORMATION, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxEmulatorFrame::OnCloseWindow(wxCloseEvent& event)
|
||||||
|
{
|
||||||
|
#ifdef __WXX11__
|
||||||
|
if (wxGetApp().m_xnestWindow)
|
||||||
|
{
|
||||||
|
wxGetApp().m_xnestWindow->SetHandle((WXWindow) NULL);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
this->Destroy();
|
||||||
|
if (wxGetApp().m_xnestPID > 0)
|
||||||
|
{
|
||||||
|
wxKill(wxGetApp().m_xnestPID);
|
||||||
|
wxGetApp().m_xnestPID = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
IMPLEMENT_CLASS(wxEmulatorContainer, wxWindow)
|
IMPLEMENT_CLASS(wxEmulatorContainer, wxWindow)
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxEmulatorContainer, wxWindow)
|
BEGIN_EVENT_TABLE(wxEmulatorContainer, wxWindow)
|
||||||
@@ -322,7 +343,11 @@ void wxEmulatorContainer::OnSize(wxSizeEvent& event)
|
|||||||
void wxEmulatorContainer::DoResize()
|
void wxEmulatorContainer::DoResize()
|
||||||
{
|
{
|
||||||
wxSize sz = GetClientSize();
|
wxSize sz = GetClientSize();
|
||||||
if (wxGetApp().m_xnestWindow)
|
if (wxGetApp().m_xnestWindow
|
||||||
|
#ifdef __WXX11__
|
||||||
|
&& wxGetApp().m_xnestWindow->GetMainWindow()
|
||||||
|
#endif
|
||||||
|
)
|
||||||
{
|
{
|
||||||
int deviceWidth = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.x;
|
int deviceWidth = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.x;
|
||||||
int deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
|
int deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
|
||||||
|
@@ -96,6 +96,7 @@ public:
|
|||||||
wxEmulatorContainer* m_containerWindow;
|
wxEmulatorContainer* m_containerWindow;
|
||||||
wxString m_appDir;
|
wxString m_appDir;
|
||||||
wxString m_displayNumber;
|
wxString m_displayNumber;
|
||||||
|
long m_xnestPID;
|
||||||
};
|
};
|
||||||
|
|
||||||
// The container for the Xnest window. The decorations
|
// The container for the Xnest window. The decorations
|
||||||
@@ -124,9 +125,10 @@ public:
|
|||||||
// ctor(s)
|
// ctor(s)
|
||||||
wxEmulatorFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
|
wxEmulatorFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
|
||||||
|
|
||||||
// event handlers (these functions should _not_ be virtual)
|
// event handlers
|
||||||
void OnQuit(wxCommandEvent& event);
|
void OnQuit(wxCommandEvent& event);
|
||||||
void OnAbout(wxCommandEvent& event);
|
void OnAbout(wxCommandEvent& event);
|
||||||
|
void OnCloseWindow(wxCloseEvent& event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// any class wishing to process wxWindows events must use this macro
|
// any class wishing to process wxWindows events must use this macro
|
||||||
|
52
utils/emulator/src/emulator.xpm
Normal file
52
utils/emulator/src/emulator.xpm
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * emulator_xpm[] = {
|
||||||
|
"32 32 17 1",
|
||||||
|
"( c #000000",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #008484",
|
||||||
|
"@ c #848484",
|
||||||
|
"# c #A5A5A5",
|
||||||
|
"$ c None",
|
||||||
|
"% c #FFFFF7",
|
||||||
|
"& c #FFFFFF",
|
||||||
|
"* c #FFFFFF",
|
||||||
|
"= c #FFFFFF",
|
||||||
|
"- c #FFFFFF",
|
||||||
|
"; c #FFFFFF",
|
||||||
|
"> c #FFFFFF",
|
||||||
|
", c #FFFFFF",
|
||||||
|
"' c #FFFFFF",
|
||||||
|
") c #FFFFFF",
|
||||||
|
"! c #FFFFFF",
|
||||||
|
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
|
||||||
|
"$$$%%%%%%%%%%%%%%%%%%%%%%%&@$$$$",
|
||||||
|
"$$$%######################@.$$$$",
|
||||||
|
"$$$%######################@.$$$$",
|
||||||
|
"$$$%##++++++++++++++++++##@.$$$$",
|
||||||
|
"$$$%##++++++++++++++++++##@.$$.$",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%##++++++++++++++++++##@.$&.#",
|
||||||
|
"$$$%######################@.$&.#",
|
||||||
|
"$$$%######################@.$&.#",
|
||||||
|
"$$$%##@####@##########@###@.$&.#",
|
||||||
|
"$$$%#@@@##@@@########@@@##@.$&.#",
|
||||||
|
"$$$%##@####@##########@###@.$&.#",
|
||||||
|
"$$$%######################@.$&.#",
|
||||||
|
"$$$&@@@@@@@@@@@@@@@@@@@@@@@.$&.#",
|
||||||
|
"$$$@........................$$$$"};
|
Reference in New Issue
Block a user