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 "card.h"
|
||||
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXX11__)
|
||||
#include "pictures.xpm"
|
||||
#include "symbols.xbm"
|
||||
#endif
|
||||
|
@@ -63,6 +63,7 @@
|
||||
BEGIN_EVENT_TABLE(wxEmulatorFrame, wxFrame)
|
||||
EVT_MENU(Emulator_Quit, wxEmulatorFrame::OnQuit)
|
||||
EVT_MENU(Emulator_About, wxEmulatorFrame::OnAbout)
|
||||
EVT_CLOSE(wxEmulatorFrame::OnCloseWindow)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Create a new application object: this macro will allow wxWindows to create
|
||||
@@ -98,11 +99,14 @@ wxEmulatorApp::wxEmulatorApp()
|
||||
m_xnestWindow = NULL;
|
||||
m_containerWindow = NULL;
|
||||
m_displayNumber = wxT("100");
|
||||
m_xnestPID = 0;
|
||||
|
||||
}
|
||||
|
||||
// 'Main program' equivalent: the program execution "starts" here
|
||||
bool wxEmulatorApp::OnInit()
|
||||
{
|
||||
wxLog::SetTimestamp(NULL);
|
||||
wxInitAllImageHandlers();
|
||||
|
||||
wxString currentDir = wxGetCwd();
|
||||
@@ -194,13 +198,14 @@ bool wxEmulatorApp::OnInit()
|
||||
m_xnestWindow = new wxAdoptedWindow;
|
||||
|
||||
wxString cmd;
|
||||
cmd.Printf(wxT("Xnest %s -geometry %dx%d"),
|
||||
cmd.Printf(wxT("Xnest :%s -geometry %dx%d"),
|
||||
m_displayNumber.c_str(),
|
||||
(int) m_emulatorInfo.m_emulatorScreenSize.x,
|
||||
(int) m_emulatorInfo.m_emulatorScreenSize.y);
|
||||
|
||||
// Asynchronously executes Xnest
|
||||
if (0 == wxExecute(cmd))
|
||||
m_xnestPID = wxExecute(cmd);
|
||||
if (0 == m_xnestPID)
|
||||
{
|
||||
frame->Destroy();
|
||||
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);
|
||||
}
|
||||
|
||||
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)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxEmulatorContainer, wxWindow)
|
||||
@@ -322,7 +343,11 @@ void wxEmulatorContainer::OnSize(wxSizeEvent& event)
|
||||
void wxEmulatorContainer::DoResize()
|
||||
{
|
||||
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 deviceHeight = wxGetApp().m_emulatorInfo.m_emulatorDeviceSize.y;
|
||||
|
@@ -96,6 +96,7 @@ public:
|
||||
wxEmulatorContainer* m_containerWindow;
|
||||
wxString m_appDir;
|
||||
wxString m_displayNumber;
|
||||
long m_xnestPID;
|
||||
};
|
||||
|
||||
// The container for the Xnest window. The decorations
|
||||
@@ -124,9 +125,10 @@ public:
|
||||
// ctor(s)
|
||||
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 OnAbout(wxCommandEvent& event);
|
||||
void OnCloseWindow(wxCloseEvent& event);
|
||||
|
||||
private:
|
||||
// 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