bool wxCommandProcessor::Undo() { wxCommand *command = GetCurrentCommand(); if ( command && command->CanUndo() ) { if ( UndoCommand(*command) ) { m_currentCommand = m_currentCommand->GetPrevious(); SetMenuStrings(); return true; } } return false; }
bool _HYParameterTable::_ProcessMenuSelection (long msel) { _HYTable* table = (_HYTable*)GetCellObject(HY_PARAMETER_TABLE_TABLE_ROW,0); bool res = false; switch (msel) { case HY_WINDOW_MENU_ID_FILE+1: // save { DoSave (); res = true; break; } case HY_WINDOW_MENU_ID_FILE+2: // print { _SimpleList columns, sel; columns << 0; columns << 1; columns << 2; columns << 3; table->GetSelection (sel); char resp = 3; if (sel.lLength) { _String pr ("Would you like to print only the selected cells? (Click \"No\" to print the entire table)."); resp = YesNoCancelPrompt (pr); } if (resp == 3) table->_PrintTable(columns,(_HYTable*)GetCellObject(HY_PARAMETER_TABLE_TABLE_ROW-1,0)); else if (resp == 1) { _SimpleList rows; for (long k = 0; k < sel.lLength; k+=4) rows << sel.lData[k]/4; table->_PrintTable(columns,rows,(_HYTable*)GetCellObject(HY_PARAMETER_TABLE_TABLE_ROW-1,0)); } res = true; break; } case HY_WINDOW_MENU_ID_EDIT: // undo { UndoCommand(); _UpdateUndoMenu (nil,nil); res = true; break; } case HY_WINDOW_MENU_ID_EDIT+5: // undo { SelectAll(); res = true; break; } case HY_PT_WIN32_MENU_BASE+10: case HY_PT_WIN32_MENU_BASE+11: case HY_PT_WIN32_MENU_BASE+12: case HY_PT_WIN32_MENU_BASE+13: { res = true; char toggleFlag; GtkWidget * checkMI = gtk_item_factory_get_widget_by_action(menu_items,msel); msel -= HY_PT_WIN32_MENU_BASE+10; switch (msel) { case 0: toggleFlag = HY_PARAMETER_TABLE_VIEW_LOCAL; break; case 1: toggleFlag = HY_PARAMETER_TABLE_VIEW_GLOBAL; break; case 2: toggleFlag = HY_PARAMETER_TABLE_VIEW_CONSTRAINED; break; case 3: toggleFlag = HY_PARAMETER_TABLE_VIEW_CATEGORY; break; } if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM(checkMI)) != (bool)viewOptions&toggleFlag) { if (viewOptions&toggleFlag) { if (viewOptions-toggleFlag) viewOptions-=toggleFlag; else break; } else viewOptions+=toggleFlag; gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(checkMI), viewOptions&toggleFlag); ConstructTheTable(); SetWindowRectangle (top,left,bottom,right); } break; } case HY_PT_WIN32_MENU_BASE+1: OptimizeLikelihoodFunction(); res = true; break; case HY_PT_WIN32_MENU_BASE+2: DoEnterConstraint (); res = true; break; case HY_PT_WIN32_MENU_BASE+3: DoCleanUp (); res = true; break; case HY_PT_WIN32_MENU_BASE+4: HandleVarianceEstimates (); res = true; break; case HY_PT_WIN32_MENU_BASE+5: HandleProfilePlot (); res = true; break; case HY_PT_WIN32_MENU_BASE+6: HandleCategories (); res = true; break; case HY_PT_WIN32_MENU_BASE+7: HandleSelectParameters (); res = true; break; case HY_PT_WIN32_MENU_BASE+8: HandleOpenInChart (); res = true; break; } if (!res) res = _HYTWindow::_ProcessMenuSelection(msel); return res; }