diff --git a/flukeEmuWx/EmuPanel.cpp b/flukeEmuWx/EmuPanel.cpp index e58fc8a..8d2439e 100644 --- a/flukeEmuWx/EmuPanel.cpp +++ b/flukeEmuWx/EmuPanel.cpp @@ -15,6 +15,8 @@ Boston, MA 02111-1307 USA // ******************************** // Emulator window +#include +#include #include "wx/wx.h" #include "wx/image.h" @@ -46,11 +48,36 @@ wxEND_EVENT_TABLE() EmuPanel::EmuPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size) :wxWindow( parent, id, pos, size, wxSUNKEN_BORDER ) { + // Check media path + DIR* mediaDir = opendir("media"); + if(mediaDir) + { // all ok, just close dir + closedir(mediaDir); + } + else if (ENOENT == errno) + { // dir does not exists + wxMessageBox (wxString::Format("Media directory not found!\nThe folder 'media' must be in the same folder as\nthe flukeEmuWx executable!"), wxString("Media Folder missing")); + //throw std::domain_error("Media directory not found!"); + exit(EXIT_FAILURE); + } + else + { // error opening dir + wxMessageBox (wxString::Format("Media directory not accessible!\nDo you have the correct permissions?"), wxString("Media Folder")); + //throw std::domain_error("Media directory not accessible!"); + exit(EXIT_FAILURE); + } + // Load background bitmap if (m_bgndImage.LoadFile(F9010PANEL_BMP, wxBITMAP_TYPE_BMP)) { wxLogDebug("BGND Image ok"); m_bgndPanel = new wxBitmap(m_bgndImage); + } + else + { + wxMessageBox (wxString::Format("Panel image: %s not found!\nThe image must be in the folder 'media'!", F9010PANEL_BMP), wxString("Panel image missing")); + //throw std::domain_error("Panel image not found!"); + exit(EXIT_FAILURE); } m_keyDown = false; @@ -84,6 +111,12 @@ EmuPanel::EmuPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wx m_tapeFileName = ""; m_tapeFileSet = false; m_tapeFont = new wxFont(wxFontInfo(15).Family(wxFONTFAMILY_MODERN).Bold()); + + // Serial port files + m_serPortDispName = "/dev/serial0"; + m_serInFileDispName = ""; + m_serOutFileDispName = ""; + // Sounds m_snd.init(); @@ -175,7 +208,9 @@ void EmuPanel::OnRunEmu(wxTimerEvent& event) { m_tapeFileSet = fset; Refresh(true, NULL); // TEST DO BETTER - } + } + // update serial port/file status + updateSerialStatus(); } wxSize EmuPanel::GetNativeSize() @@ -381,7 +416,7 @@ void EmuPanel::OnMouseEvent(wxMouseEvent& event) { // Open cassette file dialog wxLogDebug("TAPE: insert cassette"); - ShowFileDialog(); + TapeFileDialog(); Refresh(true, NULL); // TEST DO BETTER notConsumed = false; } @@ -626,7 +661,7 @@ uint8_t EmuPanel::GetKey(int x, int y, wxRect* pKr) } -void EmuPanel::ShowFileDialog(void) +void EmuPanel::TapeFileDialog(void) { wxFileDialog openFileDialog(this, _("Open cassette file"), "", "DefaultName", "Cassette files (*.txt)|*.*|All files|*.*", wxFD_OPEN); @@ -649,4 +684,110 @@ void EmuPanel::ShowFileDialog(void) m_emuHw.m_tapeUnit.setTapeFileName(""); ((FlukeEmuWxFrame*)GetParent())->GetStatusBar()->SetStatusText(_("Tape file: ") + "", 0); } +} + +void EmuPanel::SerPortDialog(void) +{ + wxString pName = wxGetTextFromUser(wxString("Port Name"), wxString("Serial Port"), m_serPortDispName); + + if(setSerialPort(pName, 9600) != 0) + { + //SetStatusText(_("Serial port: ") + (pName == "" ? "" : pName) + " [8N1 9600]", 1); + m_serPortDispName = pName; + } + else + { + wxMessageBox (wxString::Format("Failed to open port: %s", pName), wxString("Serial Port")); + //SetStatusText(_("Serial port: ") + "", 1); + m_serPortDispName = ""; + } + updateSerialStatus(); // update serial status +} + +void EmuPanel::SerInFileDialog(void) +{ + wxFileDialog openFileDialog(this, _("Open serial input file"), "", "DefaultName", + "All files (*.txt)|*.*|All files|*.*", wxFD_OPEN); + + int ret = openFileDialog.ShowModal(); + if (ret != wxID_CANCEL) + { + wxFileName fn = openFileDialog.GetPath(); + //bool isWrite = fn.IsFileWritable(); + //if(isWrite) + { + if(m_emuHw.m_serPort.openInFile(openFileDialog.GetPath())) + { + m_serInFileDispName = openFileDialog.GetPath(); + } + else + { + m_serInFileDispName = ""; + wxLogDebug("SER OUT FILE: opening failed!"); + } + } + //else + // wxLogDebug("SER OUT FILE: %s write protected", openFileDialog.GetFilename() ); + } + else if (ret == wxID_CANCEL) + { // close any open files + m_emuHw.m_serPort.openInFile(""); + } + //updateSerialStatus(); // update serial status +} + +void EmuPanel::SerOutFileDialog(void) +{ + wxFileDialog openFileDialog(this, _("Open serial output file"), "", "DefaultName", + "All files (*.txt)|*.*|All files|*.*", wxFD_SAVE); + + int ret = openFileDialog.ShowModal(); + if (ret != wxID_CANCEL) + { + wxFileName fn = openFileDialog.GetPath(); + //bool isWrite = fn.IsFileWritable(); + //if(isWrite) + { + if(m_emuHw.m_serPort.openOutFile(openFileDialog.GetPath())) + { + m_serOutFileDispName = openFileDialog.GetPath(); + } + else + { + m_serOutFileDispName = ""; + wxLogDebug("SER OUT FILE: opening failed!"); + } + } + //else + // wxLogDebug("SER OUT FILE: %s write protected", openFileDialog.GetFilename() ); + } + else if (ret == wxID_CANCEL) + { // close any open files + m_emuHw.m_serPort.openOutFile(""); + } + //updateSerialStatus(); // update serial status +} + +void EmuPanel::updateSerialStatus(void) +{ + int sm = m_emuHw.m_serPort.getMode(); + if(sm & SER_UPD_FLAG) + { + wxString serStat; + if((sm & SER_MODE_MASK) == 0) // port mode? + { + if(sm & SER_PORT_OPEN) + serStat = wxString::Format("Serial port: %s : [8N1 9600]", m_serPortDispName); + else + serStat = wxString::Format("Serial port: "); + } + else + { + wxString istr = sm & SER_INFILE_OPEN ? m_serInFileDispName : "-"; + wxString ostr = sm & SER_OUTFILE_OPEN ? m_serOutFileDispName : "-"; + serStat = wxString::Format("Serial file: IN:%s / OUT: %s ", istr, ostr); + } + wxLogDebug("SERSTAT: %s", serStat); + ((FlukeEmuWxFrame*)GetParent())->GetStatusBar()->SetStatusText(serStat, 1); + } } diff --git a/flukeEmuWx/EmuPanel.h b/flukeEmuWx/EmuPanel.h index bdd1f46..ba43685 100644 --- a/flukeEmuWx/EmuPanel.h +++ b/flukeEmuWx/EmuPanel.h @@ -51,7 +51,11 @@ class EmuPanel: public wxWindow wxRect GetDispPanelRect(void) { return m_dispPanelRect; }; void OnKeyEvent(wxKeyEvent& event); - void ShowFileDialog(void); + void TapeFileDialog(void); + void SerPortDialog(void); + void SerInFileDialog(void); + void SerOutFileDialog(void); + void updateSerialStatus(void); int setSerialPort(wxString pname, int speed) { return m_emuHw.m_serPort.setSerPort(pname, speed); }; @@ -128,6 +132,11 @@ class EmuPanel: public wxWindow wxFileName m_tapeFileName; wxString m_tapeFileDispName; bool m_tapeFileSet; + + // Serial port file + wxString m_serPortDispName; + wxString m_serInFileDispName; + wxString m_serOutFileDispName; wxSndWrap m_snd; diff --git a/flukeEmuWx/EmuSerPort.cpp b/flukeEmuWx/EmuSerPort.cpp index 8e3f154..f1376bc 100644 --- a/flukeEmuWx/EmuSerPort.cpp +++ b/flukeEmuWx/EmuSerPort.cpp @@ -25,23 +25,38 @@ emuSerPort::emuSerPort(void) m_portName = "/dev/tty0"; m_baudRate = 9600; m_portOpen = false; - m_fhPort = 0; + m_fhPort = 0; + + m_inFileName = ""; + m_outFileName = ""; + m_fhInFile = NULL; + m_fhOutFile = NULL; + m_inFileOpen = false; + m_outFileOpen = false; + m_serMode = SER_MODE_PORT; + m_serStat = 0; + Reset(); } void emuSerPort::Reset(void) { // Fluke will report no aux if port not open - m_status = 0x00 | (m_portOpen ? SER_TX_EMPTY : 0); + //m_status = 0x00 | (m_portOpen ? SER_TX_EMPTY : 0); + + m_status = 0x00 | SER_TX_EMPTY; } void emuSerPort::Write(uint16_t addr, uint8_t data) { if (addr == 0x00E3) { // Send data - wxLogDebug("SERPORT: TX %02x", data); - // Write to port - int ok = writeSerPort(&data, 1); + wxLogDebug("SERPORT: TX %02x : %s", data, m_serMode == SER_MODE_PORT ? "PORT":"FILE"); + int ok; + if(m_serMode == SER_MODE_PORT) + ok = writeSerPort(&data, 1); // Write to port + else + ok = writeOutFile(&data, 1);// Write to file m_status |= SER_TX_EMPTY; // indicate byte sent } else @@ -68,17 +83,32 @@ uint8_t emuSerPort::Read(uint16_t addr) } else if (addr == 0x00E2) { // read status - val = m_status | (m_portOpen ? SER_TX_EMPTY : 0); + val = m_status | SER_TX_EMPTY; // Read the real port if((m_status & SER_DATA_RX) == 0) { uint8_t b; - int n = readSerPort(&b, 1); + int n; + if(m_serMode == SER_MODE_PORT) + n = readSerPort(&b, 1); + else + n = readInFile(&b, 1); if(n == 1) { m_rxBuf[0] = b; m_status |= SER_DATA_RX; - wxLogDebug("SERPORT: RX %02x", b); + wxLogDebug("SERPORT: RX %02x : %s", b, m_serMode == SER_MODE_PORT ? "PORT":"FILE"); + } + else if(m_serMode == SER_MODE_FILE) + { // File sent -> close + if(m_inFileOpen) + { + wxLogDebug("SERPORT: File sent!"); + fclose(m_fhInFile); + m_serStat &= ~SER_INFILE_OPEN; + m_serStat |= SER_UPD_FLAG; + m_inFileOpen = false; + } } } } @@ -102,7 +132,9 @@ int emuSerPort::setSerPort(wxString pname, int speed) // if port already open if(m_portOpen) { // close - closeSerPort(); + closeSerPort(); + m_serStat &= ~SER_PORT_OPEN; + m_serStat |= SER_UPD_FLAG; m_portOpen = false; } @@ -112,7 +144,9 @@ int emuSerPort::setSerPort(wxString pname, int speed) { m_portName = pname; m_baudRate = speed; - m_portOpen = true; + m_portOpen = true; + m_serStat |= SER_PORT_OPEN | SER_UPD_FLAG; + setMode(SER_MODE_PORT); ret = 1; } } @@ -263,4 +297,127 @@ void set_blocking(int fd, int should_block) if (tcsetattr (fd, TCSANOW, &tty) != 0) fprintf(stdout, "error %d setting term attributes\n", errno); } -#endif +#endif + +// Serial port to file mapping +void emuSerPort::setMode(int newMode) +{ + if(newMode != m_serMode) + { + if(newMode == SER_MODE_PORT) + { + if(m_outFileOpen) + { + fclose(m_fhOutFile); + m_outFileOpen = false; + } + if(m_inFileOpen) + { + fclose(m_fhInFile); + m_inFileOpen = false; + } + m_serStat &= ~(SER_INFILE_OPEN | SER_OUTFILE_OPEN); + m_serStat |= SER_UPD_FLAG; + m_serMode = SER_MODE_PORT; + } + else if(newMode == SER_MODE_FILE) + { + if(m_portOpen) + { // close + closeSerPort(); + m_portOpen = false; + } + m_serStat &= ~SER_PORT_OPEN; + m_serStat |= SER_UPD_FLAG; + m_serMode = SER_MODE_FILE; + } + else + {} + } +} + +int emuSerPort::getMode(void) +{ + int modeStat = m_serMode | m_serStat; + m_serStat &= ~SER_UPD_FLAG; + return modeStat; +} + +int emuSerPort::openInFile(wxString pname) +{ + int ret = 0; + if(m_inFileOpen) + { + fclose(m_fhInFile); + m_serStat &= ~SER_INFILE_OPEN; + m_serStat |= SER_UPD_FLAG; + m_inFileOpen = false; + } + + if(pname != "") + { + m_fhInFile = fopen (pname, "r"); + if (m_fhInFile < 0) + wxLogDebug("m_fhInFile: error %d opening %s %s\n", errno, pname, strerror (errno)); + else + { + ret = 1; + m_inFileOpen = true; + m_serStat |= SER_UPD_FLAG | SER_INFILE_OPEN; + setMode(SER_MODE_FILE); + } + } + return ret; +} + +int emuSerPort::openOutFile(wxString pname) +{ + int ret = 0; + if(m_outFileOpen) + { + fclose(m_fhOutFile); + m_outFileOpen = false; + m_serStat &= ~SER_OUTFILE_OPEN; + m_serStat |= SER_UPD_FLAG; + } + + if(pname != "") + { + m_fhOutFile = fopen (pname, "w"); + if (m_fhOutFile < 0) + wxLogDebug("m_fhOutFile: error %d opening %s %s\n", errno, pname, strerror (errno)); + else + { + ret = 1; + m_outFileOpen = true; + m_serStat |= SER_UPD_FLAG | SER_OUTFILE_OPEN; + setMode(SER_MODE_FILE); + } + } + return ret; +} + +int emuSerPort::readInFile(uint8_t* pdata, int maxNum) +{ + int ret = -1; + if(m_inFileOpen) + { + int n = fread(pdata, 1, maxNum, m_fhInFile); // read data + //wxLogDebug("SERPORT: File read %d", n); + if(n > 0) + ret = 1; + } + return ret; +} + +int emuSerPort::writeOutFile(uint8_t* pdata, int num) +{ + int ret = -1; + if(m_outFileOpen) + { + int n = fwrite(pdata, 1, num, m_fhOutFile); // write data + if(n == num) + ret = 1; + } + return ret; +} diff --git a/flukeEmuWx/EmuSerPort.h b/flukeEmuWx/EmuSerPort.h index f599f2b..67eafa2 100644 --- a/flukeEmuWx/EmuSerPort.h +++ b/flukeEmuWx/EmuSerPort.h @@ -33,6 +33,15 @@ Boston, MA 02111-1307 USA #define SER_TX_EMPTY 0x10 #define SERPORT_RXBUF_SIZE (16*1024) + +#define SER_MODE_PORT 0 +#define SER_MODE_FILE 1 +#define SER_MODE_MASK 0x000F + +#define SER_PORT_OPEN 0x0100 +#define SER_INFILE_OPEN 0x0200 +#define SER_OUTFILE_OPEN 0x0400 +#define SER_UPD_FLAG 0x0800 class emuSerPort { @@ -47,7 +56,14 @@ class emuSerPort int openSerPort(wxString pname, int speed); int closeSerPort(void); int readSerPort(uint8_t* pdata, int maxNum); - int writeSerPort(uint8_t* pdata, int num); + int writeSerPort(uint8_t* pdata, int num); + + void setMode(int newMode); + int getMode(void); + int openInFile(wxString pname); + int openOutFile(wxString pname); + int readInFile(uint8_t* pdata, int maxNum); + int writeOutFile(uint8_t* pdata, int num); private: uint8_t m_status; @@ -58,8 +74,20 @@ class emuSerPort bool m_portOpen; uint8_t m_rxBuf[SERPORT_RXBUF_SIZE]; - int m_rxBufWind; - int m_rxBufRind; + //int m_rxBufWind; + //int m_rxBufRind; + + int m_serMode; // serial emulation mode: port or file + int m_serStat; // serial emulation status + + // Serial port file mode + wxString m_inFileName; + wxString m_outFileName; + FILE* m_fhInFile; // in file handle + FILE* m_fhOutFile; // out file handle + bool m_inFileOpen; + bool m_outFileOpen; + }; #endif diff --git a/flukeEmuWx/FlukeEmuHw.cpp b/flukeEmuWx/FlukeEmuHw.cpp index 8f10068..f6f6316 100644 --- a/flukeEmuWx/FlukeEmuHw.cpp +++ b/flukeEmuWx/FlukeEmuHw.cpp @@ -117,7 +117,7 @@ void flukeEmuHw::execCtrl(int cmd) // Start, pause, reset, end emulation thread void flukeEmuHw::dispStats(void) { - wxLogDebug("EMU: avg:%.1f max: %.1f ms runs: %d - %d", m_avgEmuTime, m_maxEmuTime, m_cntEmuRuns, m_cntEmuRuns - m_cntEmuRunsLast); + //wxLogDebug("EMU: avg:%.1f max: %.1f ms runs: %d - %d", m_avgEmuTime, m_maxEmuTime, m_cntEmuRuns, m_cntEmuRuns - m_cntEmuRunsLast); m_cntEmuRunsLast = m_cntEmuRuns; } @@ -254,14 +254,16 @@ void flukeEmuHw::LoadROMs(uint8_t *ROM, ROMPage *romp) if ((romFile = fopen(romp->name,"rb")) == NULL) { wxLogDebug("Unable to open file %s\n",romp->name); - } - - if (fread(ROM + romp->startAddress,1,romp->size,romFile) != romp->size) + } + else { - wxLogDebug("Unable to read file %s\n",romp->name); - fclose(romFile); - } - fclose(romFile); + if (fread(ROM + romp->startAddress,1,romp->size,romFile) != romp->size) + { + wxLogDebug("Unable to read file %s\n",romp->name); + fclose(romFile); + } + fclose(romFile); + } romp++; } } diff --git a/flukeEmuWx/FlukeEmuWx.depend b/flukeEmuWx/FlukeEmuWx.depend new file mode 100644 index 0000000..3ae41e4 --- /dev/null +++ b/flukeEmuWx/FlukeEmuWx.depend @@ -0,0 +1,1771 @@ +# depslib dependency file v1.0 +1651924572 source:/home/pi/github/flukeEmuWx/EmuDispKeyb.cpp + "EmuDispKeyb.h" + +1651924572 /home/pi/github/flukeEmuWx/EmuDispKeyb.h + + "wx/wx.h" + +1644026420 /usr/local/include/wx-3.1/wx/wx.h + "wx/defs.h" + "wx/object.h" + "wx/dynarray.h" + "wx/list.h" + "wx/hash.h" + "wx/string.h" + "wx/hashmap.h" + "wx/arrstr.h" + "wx/intl.h" + "wx/log.h" + "wx/event.h" + "wx/app.h" + "wx/utils.h" + "wx/stream.h" + "wx/memory.h" + "wx/math.h" + "wx/stopwatch.h" + "wx/timer.h" + "wx/module.h" + "wx/wxcrt.h" + "wx/wxcrtvararg.h" + "wx/window.h" + "wx/containr.h" + "wx/panel.h" + "wx/toplevel.h" + "wx/frame.h" + "wx/gdicmn.h" + "wx/gdiobj.h" + "wx/region.h" + "wx/bitmap.h" + "wx/image.h" + "wx/colour.h" + "wx/font.h" + "wx/dc.h" + "wx/dcclient.h" + "wx/dcmemory.h" + "wx/dcprint.h" + "wx/dcscreen.h" + "wx/button.h" + "wx/menuitem.h" + "wx/menu.h" + "wx/pen.h" + "wx/brush.h" + "wx/palette.h" + "wx/icon.h" + "wx/cursor.h" + "wx/dialog.h" + "wx/settings.h" + "wx/msgdlg.h" + "wx/dataobj.h" + "wx/control.h" + "wx/ctrlsub.h" + "wx/bmpbuttn.h" + "wx/checkbox.h" + "wx/checklst.h" + "wx/choice.h" + "wx/scrolbar.h" + "wx/stattext.h" + "wx/statbmp.h" + "wx/statbox.h" + "wx/listbox.h" + "wx/radiobox.h" + "wx/radiobut.h" + "wx/textctrl.h" + "wx/slider.h" + "wx/gauge.h" + "wx/scrolwin.h" + "wx/dirdlg.h" + "wx/toolbar.h" + "wx/combobox.h" + "wx/layout.h" + "wx/sizer.h" + "wx/statusbr.h" + "wx/choicdlg.h" + "wx/textdlg.h" + "wx/filedlg.h" + "wx/mdi.h" + "wx/validate.h" + "wx/valtext.h" + +1644026418 /usr/local/include/wx-3.1/wx/defs.h + "wx/msw/winundef.h" + "wx/platform.h" + "wx/version.h" + "wx/dlimpexp.h" + + "wx/types.h" + "wx/debug.h" + + "wx/qt/defs.h" + "wx/features.h" + +1644026419 /usr/local/include/wx-3.1/wx/platform.h + + + + "wx/android/config_android.h" + "wx/compiler.h" + "wx/setup.h" + "wx/msw/libraries.h" + "wx/msw/gccpriv.h" + + + "wx/chkconf.h" + +1644026418 /usr/local/include/wx-3.1/wx/compiler.h + +1644026417 /usr/local/lib/wx/include/gtk3-unicode-static-3.1/wx/setup.h + +1644026418 /usr/local/include/wx-3.1/wx/chkconf.h + "wx/msw/chkconf.h" + "wx/gtk/chkconf.h" + "wx/gtk/chkconf.h" + "wx/osx/chkconf.h" + "wx/dfb/chkconf.h" + "wx/motif/chkconf.h" + "wx/x11/chkconf.h" + "wx/android/chkconf.h" + "wx/unix/chkconf.h" + "wx/univ/chkconf.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/chkconf.h + +1644026420 /usr/local/include/wx-3.1/wx/unix/chkconf.h + +1644026420 /usr/local/include/wx-3.1/wx/version.h + "wx/cpp.h" + +1644026418 /usr/local/include/wx-3.1/wx/cpp.h + "wx/compiler.h" + +1644026418 /usr/local/include/wx-3.1/wx/dlimpexp.h + +1644026420 /usr/local/include/wx-3.1/wx/types.h + "wx/platform.h" + + + +1644026418 /usr/local/include/wx-3.1/wx/debug.h + + + "wx/chartype.h" + "wx/cpp.h" + "wx/dlimpexp.h" + +1644026418 /usr/local/include/wx-3.1/wx/chartype.h + "wx/types.h" + + + + + + + + + + + +1644026418 /usr/local/include/wx-3.1/wx/features.h + +1644026419 /usr/local/include/wx-3.1/wx/object.h + "wx/memory.h" + "wx/xti.h" + "wx/rtti.h" + "wx/xti2.h" + "wx/msw/msvcrt.h" + +1644026419 /usr/local/include/wx-3.1/wx/memory.h + "wx/defs.h" + "wx/string.h" + "wx/msgout.h" + + +1644026419 /usr/local/include/wx-3.1/wx/string.h + "wx/defs.h" + + + + + + + "wx/wxcrtbase.h" + "wx/strvararg.h" + "wx/buffer.h" + "wx/strconv.h" + "wx/stringimpl.h" + "wx/stringops.h" + "wx/unichar.h" + "wx/tls.h" + + "wx/iosfwrap.h" + "wx/crt.h" + +1644026420 /usr/local/include/wx-3.1/wx/wxcrtbase.h + "wx/chartype.h" + + + + + + + +1644026419 /usr/local/include/wx-3.1/wx/strvararg.h + "wx/platform.h" + "wx/cpp.h" + "wx/chartype.h" + "wx/strconv.h" + "wx/buffer.h" + "wx/unichar.h" + + + + "wx/stringimpl.h" + +1644026419 /usr/local/include/wx-3.1/wx/strconv.h + "wx/defs.h" + "wx/chartype.h" + "wx/buffer.h" + + "wx/fontenc.h" + +1644026418 /usr/local/include/wx-3.1/wx/buffer.h + "wx/defs.h" + "wx/wxcrtbase.h" + + +1644026418 /usr/local/include/wx-3.1/wx/fontenc.h + +1644026420 /usr/local/include/wx-3.1/wx/unichar.h + "wx/defs.h" + "wx/chartype.h" + "wx/stringimpl.h" + + + +1644026419 /usr/local/include/wx-3.1/wx/stringimpl.h + "wx/defs.h" + "wx/chartype.h" + "wx/wxcrtbase.h" + + "wx/beforestd.h" + + "wx/afterstd.h" + +1644026418 /usr/local/include/wx-3.1/wx/beforestd.h + +1644026417 /usr/local/include/wx-3.1/wx/afterstd.h + "wx/msw/winundef.h" + +1644026419 /usr/local/include/wx-3.1/wx/stringops.h + "wx/chartype.h" + "wx/stringimpl.h" + "wx/unichar.h" + "wx/buffer.h" + +1644026419 /usr/local/include/wx-3.1/wx/tls.h + "wx/defs.h" + "wx/msw/tls.h" + "wx/unix/tls.h" + + +1644026420 /usr/local/include/wx-3.1/wx/unix/tls.h + + +1644026418 /usr/local/include/wx-3.1/wx/iosfwrap.h + + "wx/msw/winundef.h" + +1644026418 /usr/local/include/wx-3.1/wx/crt.h + "wx/defs.h" + "wx/chartype.h" + "wx/wxcrt.h" + "wx/wxcrtvararg.h" + +1644026420 /usr/local/include/wx-3.1/wx/wxcrt.h + "wx/wxcrtbase.h" + "wx/string.h" + + +1644026420 /usr/local/include/wx-3.1/wx/wxcrtvararg.h + "wx/wxcrt.h" + "wx/strvararg.h" + "wx/string.h" + + +1644026419 /usr/local/include/wx-3.1/wx/msgout.h + "wx/defs.h" + "wx/chartype.h" + "wx/strvararg.h" + +1644026420 /usr/local/include/wx-3.1/wx/xti.h + "wx/defs.h" + "wx/xtitypes.h" + "wx/xtihandler.h" + +1644026420 /usr/local/include/wx-3.1/wx/xtitypes.h + "wx/defs.h" + "wx/string.h" + "wx/hashmap.h" + "wx/arrstr.h" + "wx/flags.h" + "wx/intl.h" + "wx/log.h" + + +1644026418 /usr/local/include/wx-3.1/wx/hashmap.h + "wx/string.h" + "wx/wxcrt.h" + + + + + + +1644026418 /usr/local/include/wx-3.1/wx/arrstr.h + "wx/defs.h" + "wx/string.h" + "wx/dynarray.h" + + "wx/beforestd.h" + + "wx/afterstd.h" + +1644026418 /usr/local/include/wx-3.1/wx/dynarray.h + "wx/defs.h" + "wx/vector.h" + +1644026420 /usr/local/include/wx-3.1/wx/vector.h + "wx/defs.h" + + + "wx/scopeguard.h" + "wx/meta/movable.h" + "wx/meta/if.h" + "wx/beforestd.h" + + + "wx/afterstd.h" + +1644026424 /usr/local/include/wx-3.1/wx/scopeguard.h + "wx/defs.h" + "wx/except.h" + +1644026418 /usr/local/include/wx-3.1/wx/except.h + "wx/defs.h" + +1644026420 /usr/local/include/wx-3.1/wx/meta/movable.h + "wx/meta/pod.h" + "wx/string.h" + +1644026420 /usr/local/include/wx-3.1/wx/meta/pod.h + "wx/defs.h" + +1644026420 /usr/local/include/wx-3.1/wx/meta/if.h + "wx/defs.h" + +1644026418 /usr/local/include/wx-3.1/wx/flags.h + +1644026418 /usr/local/include/wx-3.1/wx/intl.h + "wx/defs.h" + "wx/string.h" + "wx/translation.h" + "wx/fontenc.h" + "wx/language.h" + +1644026419 /usr/local/include/wx-3.1/wx/translation.h + "wx/defs.h" + "wx/string.h" + "wx/buffer.h" + "wx/language.h" + "wx/hashmap.h" + "wx/strconv.h" + "wx/scopedptr.h" + +1644026418 /usr/local/include/wx-3.1/wx/language.h + "wx/defs.h" + +1644026419 /usr/local/include/wx-3.1/wx/scopedptr.h + "wx/defs.h" + "wx/checkeddelete.h" + +1644026418 /usr/local/include/wx-3.1/wx/checkeddelete.h + "wx/cpp.h" + +1644026419 /usr/local/include/wx-3.1/wx/log.h + "wx/defs.h" + "wx/cpp.h" + "wx/string.h" + "wx/strvararg.h" + "wx/arrstr.h" + + "wx/dynarray.h" + "wx/hashmap.h" + "wx/msgout.h" + "wx/time.h" + "wx/thread.h" + "wx/iosfwrap.h" + "wx/generic/logg.h" + +1644026419 /usr/local/include/wx-3.1/wx/time.h + "wx/longlong.h" + +1644026419 /usr/local/include/wx-3.1/wx/longlong.h + "wx/defs.h" + "wx/string.h" + + "wx/iosfwrap.h" + + "wx/strvararg.h" + +1644026419 /usr/local/include/wx-3.1/wx/thread.h + "wx/defs.h" + +1644026421 /usr/local/include/wx-3.1/wx/generic/logg.h + +1644026420 /usr/local/include/wx-3.1/wx/xtihandler.h + "wx/defs.h" + "wx/xti.h" + +1644026419 /usr/local/include/wx-3.1/wx/rtti.h + "wx/memory.h" + "wx/flags.h" + +1644026420 /usr/local/include/wx-3.1/wx/xti2.h + "wx/xtiprop.h" + "wx/xtictor.h" + +1644026420 /usr/local/include/wx-3.1/wx/xtiprop.h + "wx/defs.h" + "wx/xti.h" + "wx/any.h" + +1644026417 /usr/local/include/wx-3.1/wx/any.h + "wx/defs.h" + + "wx/string.h" + "wx/meta/if.h" + "wx/typeinfo.h" + "wx/list.h" + "wx/datetime.h" + "wx/variant.h" + +1644026420 /usr/local/include/wx-3.1/wx/typeinfo.h + "wx/defs.h" + + + +1644026419 /usr/local/include/wx-3.1/wx/list.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/vector.h" + "wx/beforestd.h" + + + + "wx/afterstd.h" + + +1644026418 /usr/local/include/wx-3.1/wx/datetime.h + "wx/defs.h" + + + "wx/longlong.h" + "wx/anystr.h" + "wx/dynarray.h" + +1644026417 /usr/local/include/wx-3.1/wx/anystr.h + "wx/string.h" + +1644026420 /usr/local/include/wx-3.1/wx/variant.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/arrstr.h" + "wx/list.h" + "wx/cpp.h" + "wx/longlong.h" + "wx/datetime.h" + "wx/iosfwrap.h" + "wx/any.h" + +1644026420 /usr/local/include/wx-3.1/wx/xtictor.h + "wx/defs.h" + "wx/xti.h" + +1644026418 /usr/local/include/wx-3.1/wx/hash.h + "wx/defs.h" + "wx/string.h" + "wx/object.h" + +1644026418 /usr/local/include/wx-3.1/wx/event.h + "wx/defs.h" + "wx/cpp.h" + "wx/object.h" + "wx/clntdata.h" + "wx/math.h" + "wx/gdicmn.h" + "wx/cursor.h" + "wx/mousestate.h" + "wx/dynarray.h" + "wx/thread.h" + "wx/tracker.h" + "wx/typeinfo.h" + "wx/any.h" + "wx/vector.h" + "wx/meta/convertible.h" + "wx/meta/removeref.h" + +1644026418 /usr/local/include/wx-3.1/wx/clntdata.h + "wx/defs.h" + "wx/string.h" + "wx/hashmap.h" + +1644026419 /usr/local/include/wx-3.1/wx/math.h + "wx/defs.h" + + + + + +1644026421 /usr/local/include/wx-3.1/wx/gdicmn.h + "wx/defs.h" + "wx/list.h" + "wx/string.h" + "wx/fontenc.h" + "wx/hashmap.h" + "wx/math.h" + +1644026421 /usr/local/include/wx-3.1/wx/cursor.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/gdiimage.h" + "wx/msw/cursor.h" + "wx/motif/cursor.h" + "wx/gtk/cursor.h" + "wx/gtk1/cursor.h" + "wx/x11/cursor.h" + "wx/dfb/cursor.h" + "wx/osx/cursor.h" + "wx/qt/cursor.h" + "wx/utils.h" + +1644026423 /usr/local/include/wx-3.1/wx/gdiobj.h + "wx/object.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/cursor.h + +1644026420 /usr/local/include/wx-3.1/wx/utils.h + "wx/object.h" + "wx/list.h" + "wx/filefn.h" + "wx/hashmap.h" + "wx/versioninfo.h" + "wx/meta/implicitconversion.h" + "wx/gdicmn.h" + "wx/mousestate.h" + "wx/vector.h" + "wx/longlong.h" + "wx/platinfo.h" + + + + +1644026418 /usr/local/include/wx-3.1/wx/filefn.h + "wx/list.h" + "wx/arrstr.h" + + + + + + + + + + + +1644026420 /usr/local/include/wx-3.1/wx/versioninfo.h + "wx/string.h" + +1644026420 /usr/local/include/wx-3.1/wx/meta/implicitconversion.h + "wx/defs.h" + "wx/meta/if.h" + +1644026419 /usr/local/include/wx-3.1/wx/mousestate.h + "wx/gdicmn.h" + "wx/kbdstate.h" + +1644026418 /usr/local/include/wx-3.1/wx/kbdstate.h + "wx/defs.h" + +1644026419 /usr/local/include/wx-3.1/wx/platinfo.h + "wx/string.h" + +1644026419 /usr/local/include/wx-3.1/wx/tracker.h + "wx/defs.h" + +1644026420 /usr/local/include/wx-3.1/wx/meta/convertible.h + +1644026420 /usr/local/include/wx-3.1/wx/meta/removeref.h + +1644026417 /usr/local/include/wx-3.1/wx/app.h + "wx/event.h" + "wx/eventfilter.h" + "wx/build.h" + "wx/cmdargs.h" + "wx/init.h" + "wx/intl.h" + "wx/log.h" + "wx/unix/app.h" + "wx/msw/app.h" + "wx/motif/app.h" + "wx/dfb/app.h" + "wx/gtk/app.h" + "wx/gtk1/app.h" + "wx/x11/app.h" + "wx/osx/app.h" + "wx/qt/app.h" + "wx/univ/theme.h" + +1644026418 /usr/local/include/wx-3.1/wx/eventfilter.h + "wx/defs.h" + +1644026418 /usr/local/include/wx-3.1/wx/build.h + "wx/version.h" + +1644026418 /usr/local/include/wx-3.1/wx/cmdargs.h + "wx/arrstr.h" + +1644026418 /usr/local/include/wx-3.1/wx/init.h + "wx/defs.h" + "wx/chartype.h" + "wx/msw/init.h" + +1644026420 /usr/local/include/wx-3.1/wx/unix/app.h + + +1644026426 /usr/local/include/wx-3.1/wx/gtk/app.h + +1644026419 /usr/local/include/wx-3.1/wx/stream.h + "wx/defs.h" + + "wx/object.h" + "wx/string.h" + "wx/filefn.h" + +1644026419 /usr/local/include/wx-3.1/wx/stopwatch.h + "wx/defs.h" + "wx/longlong.h" + "wx/time.h" + +1644026419 /usr/local/include/wx-3.1/wx/timer.h + "wx/defs.h" + "wx/object.h" + "wx/longlong.h" + "wx/event.h" + "wx/stopwatch.h" + "wx/utils.h" + +1644026419 /usr/local/include/wx-3.1/wx/module.h + "wx/object.h" + "wx/vector.h" + +1644026423 /usr/local/include/wx-3.1/wx/window.h + "wx/event.h" + "wx/list.h" + "wx/cursor.h" + "wx/font.h" + "wx/colour.h" + "wx/region.h" + "wx/utils.h" + "wx/intl.h" + "wx/validate.h" + "wx/windowid.h" + "wx/palette.h" + "wx/accel.h" + "wx/access.h" + "wx/msw/window.h" + "wx/motif/window.h" + "wx/gtk/window.h" + "wx/gtk1/window.h" + "wx/x11/window.h" + "wx/dfb/window.h" + "wx/osx/window.h" + "wx/qt/window.h" + "wx/univ/window.h" + +1644026423 /usr/local/include/wx-3.1/wx/font.h + "wx/defs.h" + "wx/fontenc.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/math.h" + "wx/msw/font.h" + "wx/motif/font.h" + "wx/gtk/font.h" + "wx/gtk1/font.h" + "wx/x11/font.h" + "wx/dfb/font.h" + "wx/osx/font.h" + "wx/qt/font.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/font.h + +1644026423 /usr/local/include/wx-3.1/wx/colour.h + "wx/defs.h" + "wx/gdiobj.h" + "wx/variant.h" + "wx/msw/colour.h" + "wx/motif/colour.h" + "wx/gtk/colour.h" + "wx/gtk1/colour.h" + "wx/generic/colour.h" + "wx/x11/colour.h" + "wx/osx/colour.h" + "wx/qt/colour.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/colour.h + +1644026424 /usr/local/include/wx-3.1/wx/region.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/region.h" + "wx/gtk/region.h" + "wx/gtk1/region.h" + "wx/x11/region.h" + "wx/dfb/region.h" + "wx/osx/region.h" + "wx/qt/region.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/region.h + +1644026423 /usr/local/include/wx-3.1/wx/validate.h + "wx/defs.h" + "wx/event.h" + +1644026423 /usr/local/include/wx-3.1/wx/windowid.h + "wx/defs.h" + +1644026422 /usr/local/include/wx-3.1/wx/palette.h + "wx/defs.h" + "wx/object.h" + "wx/gdiobj.h" + "wx/msw/palette.h" + "wx/x11/palette.h" + "wx/generic/paletteg.h" + "wx/osx/palette.h" + "wx/qt/palette.h" + +1644026426 /usr/local/include/wx-3.1/wx/generic/paletteg.h + "wx/defs.h" + "wx/object.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + +1644026423 /usr/local/include/wx-3.1/wx/accel.h + "wx/defs.h" + "wx/object.h" + "wx/generic/accel.h" + "wx/msw/accel.h" + "wx/motif/accel.h" + "wx/gtk/accel.h" + "wx/gtk1/accel.h" + "wx/osx/accel.h" + "wx/qt/accel.h" + +1644026421 /usr/local/include/wx-3.1/wx/generic/accel.h + +1644026426 /usr/local/include/wx-3.1/wx/gtk/accel.h + "wx/generic/accel.h" + +1644026423 /usr/local/include/wx-3.1/wx/access.h + "wx/defs.h" + "wx/variant.h" + "wx/msw/ole/access.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/window.h + "wx/dynarray.h" + +1644026418 /usr/local/include/wx-3.1/wx/containr.h + "wx/defs.h" + "wx/event.h" + +1644026422 /usr/local/include/wx-3.1/wx/panel.h + "wx/window.h" + "wx/containr.h" + "wx/univ/panel.h" + "wx/msw/panel.h" + "wx/generic/panelg.h" + +1644026422 /usr/local/include/wx-3.1/wx/generic/panelg.h + "wx/bitmap.h" + +1644026423 /usr/local/include/wx-3.1/wx/bitmap.h + "wx/string.h" + "wx/gdicmn.h" + "wx/colour.h" + "wx/image.h" + "wx/variant.h" + "wx/msw/bitmap.h" + "wx/x11/bitmap.h" + "wx/gtk/bitmap.h" + "wx/gtk1/bitmap.h" + "wx/x11/bitmap.h" + "wx/dfb/bitmap.h" + "wx/osx/bitmap.h" + "wx/qt/bitmap.h" + "wx/generic/mask.h" + +1644026424 /usr/local/include/wx-3.1/wx/image.h + "wx/defs.h" + "wx/object.h" + "wx/string.h" + "wx/gdicmn.h" + "wx/hashmap.h" + "wx/arrstr.h" + "wx/stream.h" + "wx/variant.h" + "wx/imagbmp.h" + "wx/imagpng.h" + "wx/imaggif.h" + "wx/imagpcx.h" + "wx/imagjpeg.h" + "wx/imagtga.h" + "wx/imagtiff.h" + "wx/imagpnm.h" + "wx/imagxpm.h" + "wx/imagiff.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagbmp.h + "wx/image.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagpng.h + "wx/defs.h" + "wx/image.h" + "wx/versioninfo.h" + +1644026424 /usr/local/include/wx-3.1/wx/imaggif.h + "wx/image.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagpcx.h + "wx/image.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagjpeg.h + "wx/defs.h" + "wx/image.h" + "wx/versioninfo.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagtga.h + "wx/image.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagtiff.h + "wx/defs.h" + "wx/image.h" + "wx/versioninfo.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagpnm.h + "wx/image.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagxpm.h + "wx/image.h" + +1644026424 /usr/local/include/wx-3.1/wx/imagiff.h + "wx/image.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/bitmap.h + +1644026425 /usr/local/include/wx-3.1/wx/toplevel.h + "wx/nonownedwnd.h" + "wx/iconbndl.h" + "wx/weakref.h" + "wx/msw/toplevel.h" + "wx/gtk/toplevel.h" + "wx/gtk1/toplevel.h" + "wx/x11/toplevel.h" + "wx/dfb/toplevel.h" + "wx/osx/toplevel.h" + "wx/motif/toplevel.h" + "wx/qt/toplevel.h" + "wx/univ/toplevel.h" + +1644026424 /usr/local/include/wx-3.1/wx/nonownedwnd.h + "wx/window.h" + "wx/dfb/nonownedwnd.h" + "wx/gtk/nonownedwnd.h" + "wx/osx/nonownedwnd.h" + "wx/msw/nonownedwnd.h" + "wx/qt/nonownedwnd.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/nonownedwnd.h + +1644026424 /usr/local/include/wx-3.1/wx/iconbndl.h + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/icon.h" + "wx/dynarray.h" + +1644026422 /usr/local/include/wx-3.1/wx/icon.h + "wx/iconloc.h" + "wx/msw/icon.h" + "wx/motif/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/generic/icon.h" + "wx/variant.h" + +1644026418 /usr/local/include/wx-3.1/wx/iconloc.h + "wx/string.h" + +1644026426 /usr/local/include/wx-3.1/wx/generic/icon.h + "wx/bitmap.h" + +1644026420 /usr/local/include/wx-3.1/wx/weakref.h + "wx/tracker.h" + "wx/meta/convertible.h" + "wx/meta/int2type.h" + +1644026420 /usr/local/include/wx-3.1/wx/meta/int2type.h + +1644026426 /usr/local/include/wx-3.1/wx/gtk/toplevel.h + +1644026421 /usr/local/include/wx-3.1/wx/frame.h + "wx/toplevel.h" + "wx/statusbr.h" + "wx/univ/frame.h" + "wx/msw/frame.h" + "wx/gtk/frame.h" + "wx/gtk1/frame.h" + "wx/motif/frame.h" + "wx/osx/frame.h" + "wx/qt/frame.h" + +1644026422 /usr/local/include/wx-3.1/wx/statusbr.h + "wx/defs.h" + "wx/control.h" + "wx/list.h" + "wx/dynarray.h" + "wx/univ/statusbr.h" + "wx/msw/statusbar.h" + "wx/generic/statusbr.h" + "wx/osx/statusbr.h" + "wx/qt/statusbar.h" + "wx/generic/statusbr.h" + +1644026421 /usr/local/include/wx-3.1/wx/control.h + "wx/defs.h" + "wx/window.h" + "wx/gdicmn.h" + "wx/univ/control.h" + "wx/msw/control.h" + "wx/motif/control.h" + "wx/gtk/control.h" + "wx/gtk1/control.h" + "wx/osx/control.h" + "wx/qt/control.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/control.h + +1644026426 /usr/local/include/wx-3.1/wx/generic/statusbr.h + "wx/defs.h" + "wx/pen.h" + "wx/arrstr.h" + +1644026422 /usr/local/include/wx-3.1/wx/pen.h + "wx/gdiobj.h" + "wx/peninfobase.h" + "wx/msw/pen.h" + "wx/x11/pen.h" + "wx/gtk/pen.h" + "wx/gtk1/pen.h" + "wx/dfb/pen.h" + "wx/osx/pen.h" + "wx/qt/pen.h" + +1644026425 /usr/local/include/wx-3.1/wx/peninfobase.h + "wx/bitmap.h" + "wx/colour.h" + "wx/gdicmn.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/pen.h + +1644026427 /usr/local/include/wx-3.1/wx/gtk/frame.h + +1644026421 /usr/local/include/wx-3.1/wx/dc.h + "wx/object.h" + "wx/intl.h" + "wx/colour.h" + "wx/font.h" + "wx/bitmap.h" + "wx/brush.h" + "wx/pen.h" + "wx/palette.h" + "wx/dynarray.h" + "wx/math.h" + "wx/image.h" + "wx/region.h" + "wx/affinematrix2d.h" + +1644026421 /usr/local/include/wx-3.1/wx/brush.h + "wx/defs.h" + "wx/object.h" + "wx/gdiobj.h" + "wx/gdicmn.h" + "wx/msw/brush.h" + "wx/x11/brush.h" + "wx/gtk/brush.h" + "wx/gtk1/brush.h" + "wx/dfb/brush.h" + "wx/osx/brush.h" + "wx/qt/brush.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/brush.h + +1644026421 /usr/local/include/wx-3.1/wx/affinematrix2d.h + "wx/defs.h" + "wx/affinematrix2dbase.h" + +1644026421 /usr/local/include/wx-3.1/wx/affinematrix2dbase.h + "wx/defs.h" + "wx/geometry.h" + +1644026423 /usr/local/include/wx-3.1/wx/geometry.h + "wx/defs.h" + "wx/utils.h" + "wx/gdicmn.h" + "wx/math.h" + +1644026421 /usr/local/include/wx-3.1/wx/dcclient.h + "wx/dc.h" + +1644026421 /usr/local/include/wx-3.1/wx/dcmemory.h + "wx/dc.h" + "wx/bitmap.h" + +1644026421 /usr/local/include/wx-3.1/wx/dcprint.h + "wx/defs.h" + "wx/dc.h" + +1644026421 /usr/local/include/wx-3.1/wx/dcscreen.h + "wx/defs.h" + "wx/dc.h" + +1644026421 /usr/local/include/wx-3.1/wx/button.h + "wx/defs.h" + "wx/anybutton.h" + "wx/univ/button.h" + "wx/msw/button.h" + "wx/motif/button.h" + "wx/gtk/button.h" + "wx/gtk1/button.h" + "wx/osx/button.h" + "wx/qt/button.h" + +1644026421 /usr/local/include/wx-3.1/wx/anybutton.h + "wx/defs.h" + "wx/bitmap.h" + "wx/control.h" + "wx/univ/anybutton.h" + "wx/msw/anybutton.h" + "wx/gtk/anybutton.h" + "wx/osx/anybutton.h" + "wx/qt/anybutton.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/anybutton.h + +1644026427 /usr/local/include/wx-3.1/wx/gtk/button.h + +1644026424 /usr/local/include/wx-3.1/wx/menuitem.h + "wx/defs.h" + "wx/object.h" + "wx/windowid.h" + "wx/univ/menuitem.h" + "wx/msw/menuitem.h" + "wx/motif/menuitem.h" + "wx/gtk/menuitem.h" + "wx/gtk1/menuitem.h" + "wx/osx/menuitem.h" + "wx/qt/menuitem.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/menuitem.h + "wx/bitmap.h" + +1644026422 /usr/local/include/wx-3.1/wx/menu.h + "wx/defs.h" + "wx/list.h" + "wx/window.h" + "wx/menuitem.h" + "wx/univ/menu.h" + "wx/msw/menu.h" + "wx/motif/menu.h" + "wx/gtk/menu.h" + "wx/gtk1/menu.h" + "wx/osx/menu.h" + "wx/qt/menu.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/menu.h + +1644026421 /usr/local/include/wx-3.1/wx/dialog.h + "wx/toplevel.h" + "wx/containr.h" + "wx/sharedptr.h" + "wx/univ/dialog.h" + "wx/msw/dialog.h" + "wx/motif/dialog.h" + "wx/gtk/dialog.h" + "wx/gtk1/dialog.h" + "wx/osx/dialog.h" + "wx/qt/dialog.h" + +1644026419 /usr/local/include/wx-3.1/wx/sharedptr.h + "wx/defs.h" + "wx/atomic.h" + +1644026418 /usr/local/include/wx-3.1/wx/atomic.h + "wx/defs.h" + "wx/msw/wrapwin.h" + "libkern/OSAtomic.h" + + "wx/thread.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/dialog.h + +1644026422 /usr/local/include/wx-3.1/wx/settings.h + "wx/colour.h" + "wx/font.h" + +1644026422 /usr/local/include/wx-3.1/wx/msgdlg.h + "wx/defs.h" + "wx/dialog.h" + "wx/stockitem.h" + "wx/generic/msgdlgg.h" + "wx/msw/msgdlg.h" + "wx/motif/msgdlg.h" + "wx/gtk/msgdlg.h" + "wx/osx/msgdlg.h" + "wx/qt/msgdlg.h" + +1644026419 /usr/local/include/wx-3.1/wx/stockitem.h + "wx/defs.h" + "wx/chartype.h" + "wx/string.h" + "wx/accel.h" + +1644026422 /usr/local/include/wx-3.1/wx/generic/msgdlgg.h + +1644026427 /usr/local/include/wx-3.1/wx/gtk/msgdlg.h + +1644026423 /usr/local/include/wx-3.1/wx/dataobj.h + "wx/defs.h" + "wx/string.h" + "wx/bitmap.h" + "wx/list.h" + "wx/arrstr.h" + "wx/msw/ole/dataform.h" + "wx/motif/dataform.h" + "wx/gtk/dataform.h" + "wx/gtk1/dataform.h" + "wx/x11/dataform.h" + "wx/osx/dataform.h" + "wx/qt/dataform.h" + "wx/msw/ole/dataobj.h" + "wx/motif/dataobj.h" + "wx/x11/dataobj.h" + "wx/gtk/dataobj.h" + "wx/gtk1/dataobj.h" + "wx/osx/dataobj.h" + "wx/qt/dataobj.h" + "wx/msw/ole/dataobj2.h" + "wx/gtk/dataobj2.h" + "wx/gtk1/dataobj2.h" + "wx/x11/dataobj2.h" + "wx/motif/dataobj2.h" + "wx/osx/dataobj2.h" + "wx/qt/dataobj2.h" + +1644026426 /usr/local/include/wx-3.1/wx/gtk/dataform.h + +1644026426 /usr/local/include/wx-3.1/wx/gtk/dataobj.h + +1644026426 /usr/local/include/wx-3.1/wx/gtk/dataobj2.h + +1644026421 /usr/local/include/wx-3.1/wx/ctrlsub.h + "wx/defs.h" + "wx/arrstr.h" + "wx/control.h" + + "wx/msw/ctrlsub.h" + "wx/motif/ctrlsub.h" + "wx/qt/ctrlsub.h" + +1644026421 /usr/local/include/wx-3.1/wx/bmpbuttn.h + "wx/defs.h" + "wx/button.h" + "wx/univ/bmpbuttn.h" + "wx/msw/bmpbuttn.h" + "wx/motif/bmpbuttn.h" + "wx/gtk/bmpbuttn.h" + "wx/gtk1/bmpbuttn.h" + "wx/osx/bmpbuttn.h" + "wx/qt/bmpbuttn.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/bmpbuttn.h + +1644026421 /usr/local/include/wx-3.1/wx/checkbox.h + "wx/defs.h" + "wx/control.h" + "wx/univ/checkbox.h" + "wx/msw/checkbox.h" + "wx/motif/checkbox.h" + "wx/gtk/checkbox.h" + "wx/gtk1/checkbox.h" + "wx/osx/checkbox.h" + "wx/qt/checkbox.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/checkbox.h + +1644026421 /usr/local/include/wx-3.1/wx/checklst.h + "wx/defs.h" + "wx/listbox.h" + "wx/univ/checklst.h" + "wx/msw/checklst.h" + "wx/motif/checklst.h" + "wx/gtk/checklst.h" + "wx/gtk1/checklst.h" + "wx/osx/checklst.h" + "wx/qt/checklst.h" + +1644026422 /usr/local/include/wx-3.1/wx/listbox.h + "wx/defs.h" + "wx/ctrlsub.h" + "wx/univ/listbox.h" + "wx/msw/listbox.h" + "wx/motif/listbox.h" + "wx/gtk/listbox.h" + "wx/gtk1/listbox.h" + "wx/osx/listbox.h" + "wx/qt/listbox.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/listbox.h + +1644026427 /usr/local/include/wx-3.1/wx/gtk/checklst.h + +1644026421 /usr/local/include/wx-3.1/wx/choice.h + "wx/defs.h" + "wx/ctrlsub.h" + "wx/univ/choice.h" + "wx/msw/choice.h" + "wx/motif/choice.h" + "wx/gtk/choice.h" + "wx/gtk1/choice.h" + "wx/osx/choice.h" + "wx/qt/choice.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/choice.h + +1644026422 /usr/local/include/wx-3.1/wx/scrolbar.h + "wx/defs.h" + "wx/control.h" + "wx/univ/scrolbar.h" + "wx/msw/scrolbar.h" + "wx/motif/scrolbar.h" + "wx/gtk/scrolbar.h" + "wx/gtk1/scrolbar.h" + "wx/osx/scrolbar.h" + "wx/qt/scrolbar.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/scrolbar.h + +1644026422 /usr/local/include/wx-3.1/wx/stattext.h + "wx/defs.h" + "wx/control.h" + "wx/univ/stattext.h" + "wx/msw/stattext.h" + "wx/motif/stattext.h" + "wx/gtk/stattext.h" + "wx/gtk1/stattext.h" + "wx/osx/stattext.h" + "wx/qt/stattext.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/stattext.h + +1644026422 /usr/local/include/wx-3.1/wx/statbmp.h + "wx/defs.h" + "wx/control.h" + "wx/bitmap.h" + "wx/icon.h" + "wx/univ/statbmp.h" + "wx/msw/statbmp.h" + "wx/motif/statbmp.h" + "wx/gtk/statbmp.h" + "wx/gtk1/statbmp.h" + "wx/osx/statbmp.h" + "wx/qt/statbmp.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/statbmp.h + "wx/icon.h" + +1644026422 /usr/local/include/wx-3.1/wx/statbox.h + "wx/defs.h" + "wx/control.h" + "wx/containr.h" + "wx/univ/statbox.h" + "wx/msw/statbox.h" + "wx/motif/statbox.h" + "wx/gtk/statbox.h" + "wx/gtk1/statbox.h" + "wx/osx/statbox.h" + "wx/qt/statbox.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/statbox.h + +1644026422 /usr/local/include/wx-3.1/wx/radiobox.h + "wx/defs.h" + "wx/ctrlsub.h" + "wx/dynarray.h" + "wx/univ/radiobox.h" + "wx/msw/radiobox.h" + "wx/motif/radiobox.h" + "wx/gtk/radiobox.h" + "wx/gtk1/radiobox.h" + "wx/osx/radiobox.h" + "wx/qt/radiobox.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/radiobox.h + "wx/bitmap.h" + "wx/list.h" + +1644026422 /usr/local/include/wx-3.1/wx/radiobut.h + "wx/defs.h" + "wx/control.h" + "wx/checkbox.h" + "wx/univ/radiobut.h" + "wx/msw/radiobut.h" + "wx/motif/radiobut.h" + "wx/gtk/radiobut.h" + "wx/gtk1/radiobut.h" + "wx/osx/radiobut.h" + "wx/qt/radiobut.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/radiobut.h + +1644026422 /usr/local/include/wx-3.1/wx/textctrl.h + "wx/defs.h" + "wx/control.h" + "wx/textentry.h" + "wx/dynarray.h" + "wx/gdicmn.h" + "wx/ioswrap.h" + "wx/x11/textctrl.h" + "wx/univ/textctrl.h" + "wx/msw/textctrl.h" + "wx/motif/textctrl.h" + "wx/gtk/textctrl.h" + "wx/gtk1/textctrl.h" + "wx/osx/textctrl.h" + "wx/qt/textctrl.h" + +1644026423 /usr/local/include/wx-3.1/wx/textentry.h + "wx/filefn.h" + "wx/gdicmn.h" + "wx/gtk/textentry.h" + "wx/osx/textentry.h" + "wx/msw/textentry.h" + "wx/motif/textentry.h" + "wx/qt/textentry.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/textentry.h + +1644026418 /usr/local/include/wx-3.1/wx/ioswrap.h + "wx/beforestd.h" + + "wx/afterstd.h" + "wx/msw/winundef.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/textctrl.h + +1644026422 /usr/local/include/wx-3.1/wx/slider.h + "wx/defs.h" + "wx/control.h" + "wx/univ/slider.h" + "wx/msw/slider.h" + "wx/motif/slider.h" + "wx/gtk/slider.h" + "wx/gtk1/slider.h" + "wx/osx/slider.h" + "wx/qt/slider.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/slider.h + +1644026421 /usr/local/include/wx-3.1/wx/gauge.h + "wx/defs.h" + "wx/control.h" + "wx/univ/gauge.h" + "wx/msw/gauge.h" + "wx/motif/gauge.h" + "wx/gtk/gauge.h" + "wx/gtk1/gauge.h" + "wx/osx/gauge.h" + "wx/qt/gauge.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/gauge.h + +1644026422 /usr/local/include/wx-3.1/wx/scrolwin.h + "wx/control.h" + "wx/panel.h" + "wx/scrolbar.h" + "wx/gtk/scrolwin.h" + "wx/gtk1/scrolwin.h" + "wx/generic/scrolwin.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/scrolwin.h + +1644026422 /usr/local/include/wx-3.1/wx/generic/scrolwin.h + "wx/recguard.h" + +1644026419 /usr/local/include/wx-3.1/wx/recguard.h + "wx/defs.h" + +1644026421 /usr/local/include/wx-3.1/wx/dirdlg.h + "wx/defs.h" + "wx/dialog.h" + "wx/generic/dirdlgg.h" + "wx/generic/dirdlgg.h" + "wx/msw/dirdlg.h" + "wx/gtk/dirdlg.h" + "wx/generic/dirdlgg.h" + "wx/osx/dirdlg.h" + "wx/generic/dirdlgg.h" + "wx/qt/dirdlg.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/dirdlg.h + +1644026423 /usr/local/include/wx-3.1/wx/toolbar.h + "wx/defs.h" + "wx/tbarbase.h" + "wx/univ/toolbar.h" + "wx/msw/toolbar.h" + "wx/motif/toolbar.h" + "wx/gtk/toolbar.h" + "wx/gtk1/toolbar.h" + "wx/osx/toolbar.h" + "wx/qt/toolbar.h" + +1644026424 /usr/local/include/wx-3.1/wx/tbarbase.h + "wx/defs.h" + "wx/bitmap.h" + "wx/list.h" + "wx/control.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/toolbar.h + +1644026421 /usr/local/include/wx-3.1/wx/combobox.h + "wx/defs.h" + "wx/textctrl.h" + "wx/ctrlsub.h" + "wx/textentry.h" + "wx/univ/combobox.h" + "wx/msw/combobox.h" + "wx/motif/combobox.h" + "wx/gtk/combobox.h" + "wx/gtk1/combobox.h" + "wx/osx/combobox.h" + "wx/qt/combobox.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/combobox.h + "wx/choice.h" + +1644026422 /usr/local/include/wx-3.1/wx/layout.h + "wx/object.h" + +1644026422 /usr/local/include/wx-3.1/wx/sizer.h + "wx/defs.h" + "wx/window.h" + +1644026421 /usr/local/include/wx-3.1/wx/choicdlg.h + "wx/defs.h" + "wx/generic/choicdgg.h" + +1644026421 /usr/local/include/wx-3.1/wx/generic/choicdgg.h + "wx/dynarray.h" + "wx/dialog.h" + +1644026423 /usr/local/include/wx-3.1/wx/textdlg.h + "wx/generic/textdlgg.h" + +1644026422 /usr/local/include/wx-3.1/wx/generic/textdlgg.h + "wx/defs.h" + "wx/dialog.h" + "wx/valtext.h" + "wx/textctrl.h" + +1644026423 /usr/local/include/wx-3.1/wx/valtext.h + "wx/defs.h" + "wx/validate.h" + +1644026421 /usr/local/include/wx-3.1/wx/filedlg.h + "wx/defs.h" + "wx/dialog.h" + "wx/arrstr.h" + "wx/generic/filedlgg.h" + "wx/msw/filedlg.h" + "wx/motif/filedlg.h" + "wx/gtk/filedlg.h" + "wx/gtk1/filedlg.h" + "wx/osx/filedlg.h" + "wx/qt/filedlg.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/filedlg.h + "wx/gtk/filectrl.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/filectrl.h + "wx/control.h" + "wx/filectrl.h" + +1644026423 /usr/local/include/wx-3.1/wx/filectrl.h + "wx/defs.h" + "wx/string.h" + "wx/event.h" + "wx/gtk/filectrl.h" + "wx/generic/filectrlg.h" + +1644026421 /usr/local/include/wx-3.1/wx/generic/filectrlg.h + "wx/containr.h" + "wx/listctrl.h" + "wx/filectrl.h" + "wx/filename.h" + +1644026424 /usr/local/include/wx-3.1/wx/listctrl.h + "wx/defs.h" + "wx/listbase.h" + "wx/msw/listctrl.h" + "wx/qt/listctrl.h" + "wx/generic/listctrl.h" + +1644026424 /usr/local/include/wx-3.1/wx/listbase.h + "wx/colour.h" + "wx/font.h" + "wx/gdicmn.h" + "wx/event.h" + "wx/control.h" + "wx/itemattr.h" + "wx/systhemectrl.h" + +1644026425 /usr/local/include/wx-3.1/wx/itemattr.h + +1644026425 /usr/local/include/wx-3.1/wx/systhemectrl.h + "wx/defs.h" + +1644026426 /usr/local/include/wx-3.1/wx/generic/listctrl.h + "wx/containr.h" + "wx/scrolwin.h" + "wx/textctrl.h" + +1644026418 /usr/local/include/wx-3.1/wx/filename.h + "wx/arrstr.h" + "wx/filefn.h" + "wx/datetime.h" + "wx/intl.h" + "wx/longlong.h" + "wx/file.h" + +1644026418 /usr/local/include/wx-3.1/wx/file.h + "wx/defs.h" + "wx/string.h" + "wx/filefn.h" + "wx/convauto.h" + +1644026418 /usr/local/include/wx-3.1/wx/convauto.h + "wx/strconv.h" + "wx/fontenc.h" + +1644026422 /usr/local/include/wx-3.1/wx/mdi.h + "wx/defs.h" + "wx/frame.h" + "wx/menu.h" + "wx/generic/mdig.h" + "wx/msw/mdi.h" + "wx/gtk/mdi.h" + "wx/gtk1/mdi.h" + "wx/osx/mdi.h" + "wx/qt/mdi.h" + +1644026427 /usr/local/include/wx-3.1/wx/gtk/mdi.h + "wx/frame.h" + +1651924572 source:/home/pi/github/flukeEmuWx/EmuEvCntSigGen.cpp + "EmuEvCntSigGen.h" + +1651924572 /home/pi/github/flukeEmuWx/EmuEvCntSigGen.h + + "wx/wx.h" + +1651924572 source:/home/pi/github/flukeEmuWx/EmuPodProbe.cpp + "EmuPodProbe.h" + "wx/wx.h" + "wiringPi.h" + +1651924572 /home/pi/github/flukeEmuWx/EmuPodProbe.h + + + +1651964260 source:/home/pi/github/flukeEmuWx/EmuPanel.cpp + "wx/wx.h" + "wx/image.h" + + + "FlukeEmuWxMain.h" + "EmuPanel.h" + +1644026425 /usr/local/include/wx-3.1/wx/sound.h + "wx/defs.h" + "wx/object.h" + "wx/msw/sound.h" + "wx/osx/sound.h" + "wx/unix/sound.h" + +1644026426 /usr/local/include/wx-3.1/wx/unix/sound.h + "wx/defs.h" + "wx/object.h" + +1644026423 /usr/local/include/wx-3.1/wx/display.h + "wx/defs.h" + "wx/gdicmn.h" + "wx/dynarray.h" + "wx/vidmode.h" + +1644026425 /usr/local/include/wx-3.1/wx/vidmode.h + +1651928150 /home/pi/github/flukeEmuWx/FlukeEmuWxMain.h + + "FlukeEmuWxApp.h" + "EmuPanel.h" + +1651924572 /home/pi/github/flukeEmuWx/FlukeEmuWxApp.h + + +1651963784 /home/pi/github/flukeEmuWx/EmuPanel.h + + + "EmuPanelDef.h" + "FlukeEmuHw.h" + "wxSndWrap.h" + + +1651924572 /home/pi/github/flukeEmuWx/EmuPanelDef.h + +1651924572 /home/pi/github/flukeEmuWx/FlukeEmuHw.h + "stdint.h" + "Z80/Z80.h" + "EmuPodProbe.h" + "EmuTapeUnit.h" + "EmuDispKeyb.h" + "EmuEvCntSigGen.h" + "EmuSerPort.h" + +1651925050 /home/pi/github/flukeEmuWx/Z80/Z80.h + +1651924572 /home/pi/github/flukeEmuWx/EmuTapeUnit.h + + + "wx/wx.h" + +1651955142 /home/pi/github/flukeEmuWx/EmuSerPort.h + + + + +1651924572 /home/pi/github/flukeEmuWx/wxSndWrap.h + + + + + "wavdefs.h" + +1651924572 /home/pi/github/flukeEmuWx/wavdefs.h + + +1644026425 /usr/local/include/wx-3.1/wx/dcbuffer.h + "wx/dcmemory.h" + "wx/dcclient.h" + "wx/window.h" + +1651958224 source:/home/pi/github/flukeEmuWx/EmuSerPort.cpp + "EmuSerPort.h" + + + +1651924572 source:/home/pi/github/flukeEmuWx/EmuTapeUnit.cpp + "wx/wx.h" + "EmuTapeUnit.h" + + + + +1651964340 source:/home/pi/github/flukeEmuWx/FlukeEmuHw.cpp + "FlukeEmuHw.h" + "wx/wx.h" + +1651924572 source:/home/pi/github/flukeEmuWx/FlukeEmuWxApp.cpp + "wx_pch.h" + "FlukeEmuWxApp.h" + "FlukeEmuWxMain.h" + +1651924572 source:/home/pi/github/flukeEmuWx/wxSndWrap.cpp + "wxSndWrap.h" + +1651925050 source:/home/pi/github/flukeEmuWx/Z80/ConDebug.c + "Debug.c" + "Z80.h" + "Console.h" + + "Debug.c" + +1651925050 /home/pi/github/flukeEmuWx/Z80/Debug.c + "Z80.h" + + + + "AY8910.h" + +1651925050 source:/home/pi/github/flukeEmuWx/Z80/Debug.c + "Z80.h" + + + + "AY8910.h" + +1651925050 source:/home/pi/github/flukeEmuWx/Z80/Z80.c + "Z80.h" + "Tables.h" + + "CodesCB.h" + "CodesXCB.h" + "CodesXCB.h" + "CodesED.h" + "CodesXX.h" + "CodesXX.h" + "Codes.h" + "Codes.h" + +1651925050 /home/pi/github/flukeEmuWx/Z80/Tables.h + +1651925050 /home/pi/github/flukeEmuWx/Z80/CodesCB.h + +1651925050 /home/pi/github/flukeEmuWx/Z80/CodesXCB.h + +1651925050 /home/pi/github/flukeEmuWx/Z80/CodesED.h + +1651925050 /home/pi/github/flukeEmuWx/Z80/CodesXX.h + +1651925050 /home/pi/github/flukeEmuWx/Z80/Codes.h + +1651963283 source:/home/pi/github/flukeEmuWx/FlukeEmuWxMain.cpp + "wx_pch.h" + "FlukeEmuWxMain.h" + "EmuPanel.h" + diff --git a/flukeEmuWx/FlukeEmuWxMain.cpp b/flukeEmuWx/FlukeEmuWxMain.cpp index 0b29853..9855d17 100644 --- a/flukeEmuWx/FlukeEmuWxMain.cpp +++ b/flukeEmuWx/FlukeEmuWxMain.cpp @@ -50,12 +50,12 @@ wininet #include "FlukeEmuWxMain.h" #include "EmuPanel.h" -#define VER_STRING "0.93" +#define VER_STRING "0.94" //helper functions wxString flukeEmuWxBuildinfo(void) { - return wxString("FlukeEmuWx " VER_STRING " Mar 2022\n\nBy Clemens / (Novintic)"); + return wxString("FlukeEmuWx " VER_STRING " May 2022\n\nBy Clemens / (Novintic)"); } enum wxbuildinfoformat { short_f, long_f }; @@ -88,8 +88,11 @@ BEGIN_EVENT_TABLE(FlukeEmuWxFrame, wxFrame) EVT_CLOSE(FlukeEmuWxFrame::OnClose) EVT_MENU(idMenuQuit, FlukeEmuWxFrame::OnQuit) EVT_MENU(idMenuAbout, FlukeEmuWxFrame::OnAbout) - EVT_MENU(idMenuFullScreen, FlukeEmuWxFrame::OnFullScreen) - EVT_MENU(idMenuSerialPort, FlukeEmuWxFrame::OnMenuSerPort) + EVT_MENU(idMenuFullScreen, FlukeEmuWxFrame::OnFullScreen) + EVT_MENU(idMenuTapeFile, FlukeEmuWxFrame::OnMenuTapeFile) + EVT_MENU(idMenuSerialPortOpts, FlukeEmuWxFrame::OnMenuSerPortOptions) + EVT_MENU(idMenuSerialPortInFile, FlukeEmuWxFrame::OnMenuSerPortInFile) + EVT_MENU(idMenuSerialPortOutFile, FlukeEmuWxFrame::OnMenuSerPortOutFile) EVT_MOUSE_EVENTS(FlukeEmuWxFrame::OnMouseEvent) END_EVENT_TABLE() @@ -102,11 +105,19 @@ FlukeEmuWxFrame::FlukeEmuWxFrame(wxFrame *frame, const wxString& title) wxMenu* fileMenu = new wxMenu(_T("")); fileMenu->Append(idMenuQuit, _("&Quit\tAlt-F4"), _("Quit FlukeEmuWx")); mbar->Append(fileMenu, _("&File")); - // View menu + // Settings menu wxMenu* settingsMenu = new wxMenu(_T("")); - settingsMenu->Append(idMenuFullScreen, _("&Fullscreen\tF5"), _("Fullscreen")); - //settingsMenu->Append(idMenuTapeFile, _("&Tape File"), _("Tape File")); - settingsMenu->Append(idMenuSerialPort, _("&Serial Port"), _("Serial Port")); + settingsMenu->Append(idMenuFullScreen, _("&Fullscreen\tF5"), _("Switch to fullscreen")); + settingsMenu->Append(idMenuTapeFile, _("&Tape file"), _("Set tape file")); + // serial port menu + wxMenu* serPortMenu = new wxMenu(_T("")); + serPortMenu->Append(idMenuSerialPortOpts, _("&Set port"), _("Serial port settings")); + serPortMenu->Append(idMenuSerialPortInFile, _("&Send file"), _("Send file to emulator")); + serPortMenu->Append(idMenuSerialPortOutFile, _("&Receive file"), _("Receive file from emulator")); + // attach popup menu + settingsMenu->Append(idMenuSerialPort, _("&Serial port"), serPortMenu, _("Serial port options")); + //settingsMenu->Append(idMenuSerialPort, _("&Serial Port"), _("Serial Port")); + mbar->Append(settingsMenu, _("&Settings")); // Help menu wxMenu* helpMenu = new wxMenu(_T("")); @@ -115,7 +126,7 @@ FlukeEmuWxFrame::FlukeEmuWxFrame(wxFrame *frame, const wxString& title) SetMenuBar(mbar); - m_portName = "/dev/ttyUSB0"; + m_portName = "/dev/serial0"; m_tapeFile = ""; // create a status bar with some information about the used wxWidgets version @@ -142,16 +153,23 @@ void FlukeEmuWxFrame::OnFullScreen(wxCommandEvent &event) m_fullScreen = !IsFullScreen(); ShowFullScreen(m_fullScreen, wxFULLSCREEN_ALL); } + +void FlukeEmuWxFrame::OnMenuTapeFile(wxCommandEvent& event) +{ + m_Emu->TapeFileDialog(); +} -void FlukeEmuWxFrame::OnMenuSerPort(wxCommandEvent& event) +void FlukeEmuWxFrame::OnMenuSerPortOptions(wxCommandEvent& event) { - wxLogDebug("Menu: SerPort"); + wxLogDebug("Menu: SerPort"); + m_Emu->SerPortDialog(); +/* wxString pName = wxGetTextFromUser(wxString("Port Name"), wxString("Serial Port"), m_portName); //wxLogDebug("SerPort: %s", pName); if(m_Emu->setSerialPort(pName, 9600) != 0) { - SetStatusText(_("Serial port: ") + (pName == "" ? "" : pName) + "[8N1 9600]", 1); + SetStatusText(_("Serial port: ") + (pName == "" ? "" : pName) + " [8N1 9600]", 1); m_portName = pName; } else @@ -160,8 +178,20 @@ void FlukeEmuWxFrame::OnMenuSerPort(wxCommandEvent& event) SetStatusText(_("Serial port: ") + "", 1); m_portName = ""; } - +*/ } + +void FlukeEmuWxFrame::OnMenuSerPortInFile(wxCommandEvent& event) +{ + wxLogDebug("Menu: Ser In File"); + m_Emu->SerInFileDialog(); +} + +void FlukeEmuWxFrame::OnMenuSerPortOutFile(wxCommandEvent& event) +{ + wxLogDebug("Menu: Ser Out File"); + m_Emu->SerOutFileDialog(); +} void FlukeEmuWxFrame::OnMouseEvent(wxMouseEvent& event) { diff --git a/flukeEmuWx/FlukeEmuWxMain.h b/flukeEmuWx/FlukeEmuWxMain.h index 20c60ca..446824f 100644 --- a/flukeEmuWx/FlukeEmuWxMain.h +++ b/flukeEmuWx/FlukeEmuWxMain.h @@ -39,14 +39,20 @@ class FlukeEmuWxFrame: public wxFrame idMenuAbout, idMenuFullScreen, idMenuTapeFile, - idMenuSerialPort, + idMenuSerialPort, + idMenuSerialPortOpts, + idMenuSerialPortInFile, + idMenuSerialPortOutFile }; void OnClose(wxCloseEvent& event); void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); - void OnFullScreen(wxCommandEvent &event); + void OnFullScreen(wxCommandEvent &event); + void OnMenuTapeFile(wxCommandEvent& event); void OnMouseEvent(wxMouseEvent& event); - void OnMenuSerPort(wxCommandEvent& event); + void OnMenuSerPortOptions(wxCommandEvent& event); + void OnMenuSerPortInFile(wxCommandEvent& event); + void OnMenuSerPortOutFile(wxCommandEvent& event); DECLARE_EVENT_TABLE() };