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:
Julian Smart
2002-03-11 12:50:06 +00:00
parent 62313c2788
commit d27294ac6e
4 changed files with 85 additions and 6 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View 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",
"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
"$$$%%%%%%%%%%%%%%%%%%%%%%%&@$$$$",
"$$$%######################@.$$$$",
"$$$%######################@.$$$$",
"$$$%##++++++++++++++++++##@.$$$$",
"$$$%##++++++++++++++++++##@.$$.$",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%##++++++++++++++++++##@.$&.#",
"$$$%######################@.$&.#",
"$$$%######################@.$&.#",
"$$$%##@####@##########@###@.$&.#",
"$$$%#@@@##@@@########@@@##@.$&.#",
"$$$%##@####@##########@###@.$&.#",
"$$$%######################@.$&.#",
"$$$&@@@@@@@@@@@@@@@@@@@@@@@.$&.#",
"$$$@........................$$$$"};