get rid of manual wxPaintEvent creation

This commit is contained in:
titiger 2021-05-29 02:12:38 +02:00
parent d1ed68ef00
commit e09ba53c43
2 changed files with 14 additions and 30 deletions

View File

@ -657,32 +657,16 @@ void MainWindow::onMouseMove(wxMouseEvent &event, int x, int y) {
event.Skip(); event.Skip();
} }
void MainWindow::onPaint(wxPaintEvent &event) { void MainWindow::refreshThings() {
//printf("onPaint map\n");
if(!IsShown()) { if(!IsShown()) {
//printf("onPaint skip map\n");
event.Skip();
return; return;
} }
//#if wxCHECK_VERSION(2, 9, 3)
//#elif wxCHECK_VERSION(2, 9, 1)
// glCanvas->setCurrentGLContext();
//#endif
//static bool contextSet = false;
//if(contextSet == false) {
// contextSet = true;
glCanvas->setCurrentGLContext(); glCanvas->setCurrentGLContext();
//} //}
//printf("lastPaintEvent.getMillis() map\n"); //printf("lastPaintEvent.getMillis() map\n");
if(lastPaintEvent.getMillis() < 30) { if(lastPaintEvent.getMillis() < 30) {
sleep(1); sleep(1);
event.Skip();
return; return;
} }
@ -697,7 +681,11 @@ void MainWindow::onPaint(wxPaintEvent &event) {
if(menuBar) menuBar->Refresh(false); if(menuBar) menuBar->Refresh(false);
refreshMapRender(); refreshMapRender();
event.Skip(); }
void MainWindow::onPaint(wxPaintEvent &event) {
refreshThings();
event.Skip();
return;
} }
void MainWindow::refreshMapRender() { void MainWindow::refreshMapRender() {
@ -834,8 +822,7 @@ void MainWindow::onMenuEditUndo(wxCommandEvent &event) {
// std::cout << "Undo Pressed" << std::endl; // std::cout << "Undo Pressed" << std::endl;
if (program->undo()) { if (program->undo()) {
wxPaintEvent e; refreshThings();
onPaint(e);
setDirty(); setDirty();
} }
} }
@ -846,8 +833,7 @@ void MainWindow::onMenuEditRedo(wxCommandEvent &event) {
} }
if (program->redo()) { if (program->redo()) {
wxPaintEvent e; refreshThings();
onPaint(e);
setDirty(); setDirty();
} }
} }
@ -1246,8 +1232,7 @@ void MainWindow::onMenuViewResetZoomAndPos(wxCommandEvent &event) {
} }
program->resetOfset(); program->resetOfset();
wxPaintEvent e; refreshThings();
onPaint(e);
} }
void MainWindow::onMenuViewGrid(wxCommandEvent &event) { void MainWindow::onMenuViewGrid(wxCommandEvent &event) {
@ -1256,8 +1241,7 @@ void MainWindow::onMenuViewGrid(wxCommandEvent &event) {
} }
menuView->Check(miViewGrid, program->setGridOnOff()); // miViewGrid event.GetId() menuView->Check(miViewGrid, program->setGridOnOff()); // miViewGrid event.GetId()
wxPaintEvent e; refreshThings();
onPaint(e);
} }
@ -1267,8 +1251,7 @@ void MainWindow::onMenuViewHeightMap(wxCommandEvent &event) {
} }
menuView->Check(miViewHeightMap, program->setHeightMapOnOff()); // miViewGrid event.GetId() menuView->Check(miViewHeightMap, program->setHeightMapOnOff()); // miViewGrid event.GetId()
wxPaintEvent e; refreshThings();
onPaint(e);
} }
void MainWindow::onMenuHideWater(wxCommandEvent &event) { void MainWindow::onMenuHideWater(wxCommandEvent &event) {
if(program == NULL) { if(program == NULL) {
@ -1276,8 +1259,7 @@ void MainWindow::onMenuHideWater(wxCommandEvent &event) {
} }
menuView->Check(miHideWater, program->setHideWaterOnOff()); // miViewGrid event.GetId() menuView->Check(miHideWater, program->setHideWaterOnOff()); // miViewGrid event.GetId()
wxPaintEvent e; refreshThings();
onPaint(e);
} }
void MainWindow::onMenuViewAbout(wxCommandEvent &event) { void MainWindow::onMenuViewAbout(wxCommandEvent &event) {
MsgDialog( MsgDialog(

View File

@ -228,6 +228,8 @@ public:
void refreshMapRender(); void refreshMapRender();
void init(string fname); void init(string fname);
void refreshThings();
void onClose(wxCloseEvent &event); void onClose(wxCloseEvent &event);
void onMouseDown(wxMouseEvent &event, int x, int y); void onMouseDown(wxMouseEvent &event, int x, int y);