void SliceEditView::GoToSlice(int slicenumber) { //make sure the suggested slice is in range... if(slicenumber > pCPJ->getTotalLayers() - 1 || slicenumber < 0) { return; } if(slicenumber != currSlice) { ClearUndoBuffer(); } currSlice = slicenumber; setWindowTitle("Slice Manager - " + GetEditMode() + ": " + QString().number(currSlice+1) + " / " + QString().number(pCPJ->getTotalLayers())); DeCompressIntoContext(); if(supportMode) { RefreshContext(0); } else { RefreshContext(1); } if(!supportMode) { SaveToUndoBuffer(); //when moving on to a new slice, always save the state it's in to a buffer. } greenTimer.start(); }
void SliceEditView::GoToSlice(int slicenumber) { //确保切片期望值是在范围内... if(slicenumber > pCPJ->getTotalLayers() - 1 || slicenumber < 0) { return; } if(slicenumber != currSlice) { ClearUndoBuffer(); } currSlice = slicenumber; setWindowTitle("Slice Manager - " + GetEditMode() + ": " + QString().number(currSlice+1) + " / " + QString().number(pCPJ->getTotalLayers())); DeCompressIntoContext(); if(supportMode) { RefreshContext(0); } else { RefreshContext(1); } if(!supportMode) { SaveToUndoBuffer(); //移动到一个新的切片时,始终保存其状态到此缓冲区。 } greenTimer.start(); }
//public slots void SliceEditView::TogSupportMode() { supportMode = !supportMode; if(supportMode)//going INTO support mode { //fixed_csh /*ui.actionSupport_Mode->setText("Enter Image Mode"); ui.menuDrawing->setEnabled(false); ui.menuSupports->setEnabled(true); ui.actionCopy->setEnabled(false); ui.actionPaste->setEnabled(false);*/ ShowDrawButtons(false); ShowSupportButtons(true); //ui.actionPrepare_Base_Gap->setEnabled(true); SetSupportTool("currTool"); pCPJ->showSupports(true); DeCompressIntoContext(); pDrawingContext->GenerateLogicImage(); RefreshWithGreen(); } else//comming OUT of support mode { //fixed_csh /*ui.actionSupport_Mode->setText("Enter Support Mode"); ui.menuDrawing->setEnabled(true); ui.menuSupports->setEnabled(false); ui.actionCopy->setEnabled(true); ui.actionPaste->setEnabled(true);*/ ShowDrawButtons(true); ShowSupportButtons(false); // ui.actionPrepare_Base_Gap->setEnabled(false); SetDrawTool("currTool"); pCPJ->showSupports(false); DeCompressIntoContext(); } UpdateWidgets(); }
//suppports void SliceEditView::AddSupport(QPoint pos, int size, SupportType type, int fastmode) { QCursor prevC = pDrawingContext->cursor(); pDrawingContext->setCursor(QCursor(Qt::WaitCursor)); pCPJ->AddSupport(currSlice - 1,pos,size,type,fastmode); DeCompressIntoContext(); pDrawingContext->GenerateLogicImage(); RefreshWithGreen(); pDrawingContext->setCursor(prevC); pBuilder->SetDirty(); }
void SliceEditView::DeleteAllSupports() { QMessageBox::StandardButton ret; ret = QMessageBox::warning(this, tr("Slice Manager"), tr("Are you sure you want to remove all supports?"), QMessageBox::Yes | QMessageBox::No); if(ret == QMessageBox::No) { return; } pCPJ->DeleteAllSupports(); DeCompressIntoContext(); pDrawingContext->GenerateLogicImage(); RefreshWithGreen(); pBuilder->SetDirty(); }