void CPrefView::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; // TODO: Add your control notification handler code here CString Buff; GetDlgItemText(IDC_EDIT_CRNAME,Buff); CExponent *pC; if (!Buff.IsEmpty()) { pC=GetExponent(Buff); int j=GetIndex(Buff,m_pG); int k=pNMUpDown->iDelta+pNMUpDown->iPos; if (k>=pC->m_scale->GetGradation()) k=0; if (k<0) k=pC->m_scale->GetGradation()-1; m_U[j]=k; m_pM->m_U[j]=k; int i=0; while (m_OtherC.GetItemText(i, 0)!=Buff) i++; m_OtherC.SetItemText(i, 1, pC->m_scale->GetLex(m_U[j])); SetDlgItemText(IDC_BUDDY_SPIN, pC->m_scale->GetLex(m_U[j])); ChangeGrid(); } else AfxMessageBox("Сначала выделите изменяемый показатель"); *pResult = 0; }
void NumericToken::GetFloating(FPF &floatValue, int radix, char **ptr) { FPF fradix; fradix = radix; while (**ptr && Radix36(**ptr) < radix) { floatValue *= fradix; FPF temp; temp = Radix36(*(*ptr)++); floatValue += temp; } if (**ptr == '.') { (*ptr)++; GetFraction(radix, ptr, floatValue); intValue = 0; } if (**ptr == 'e' || **ptr == 'E' || **ptr == 'p' || **ptr== 'P') { (*ptr)++; int intValue = GetExponent(ptr); /* floating point too large goes to infinity... */ if (radix == 2) { floatValue.SetExp(floatValue.GetExp() + intValue); } else { floatValue.MultiplyPowTen(intValue); } } }
void CPrefView::OnItemchangedListVal(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; int n=pNMListView->iItem; if (n>=0) { CString Buff; Buff=m_OtherC.GetItemText(n,0); SetDlgItemText(IDC_EDIT_CRNAME,Buff); CExponent *pC; pC=GetExponent(Buff); m_Spin.SetRange(0,pC->m_scale->GetGradation()-1); // m_Slider.SetRange(0,m_pM->m_robast-1); int j=GetIndex(Buff,m_pG); m_Spin.SetPos(m_U[j]); Buff=m_OtherC.GetItemText(n,1); SetDlgItemText(IDC_BUDDY_SPIN,Buff); } *pResult = 0; }
String ZipfRand::Name() const { return "Zipf(" + toStringWithPrecision(GetExponent()) + ", " + toStringWithPrecision(GetNumber()) + ")"; }
void CPrefView::ChangeGrid() { CString Buff; int i1,i2,j,k; int n=m_pG->m_agr.GetCount(); int* u=new int[n]; int* v=new int[n]; CExponent* pC; m_Grid.SetHighLight(0); m_ComboX.GetWindowText(Buff); if (Buff!="") { pC=GetExponent(Buff); m_Grid.SetCols(pC->m_scale->GetGradation()+1); m_ComboY.GetWindowText(Buff); if (Buff!="") { pC=GetExponent(Buff); m_Grid.SetRows(pC->m_scale->GetGradation()+1); } else m_Grid.SetRows(2); } else { ClearGrid(); } m_ComboX.GetWindowText(Buff); if (Buff!="") { pC=GetExponent(Buff); //,&flag); m_Grid.SetRow(0); m_Grid.SetColWidth(0,m_sG0.cx); m_Grid.SetRowHeight(0,m_sG0.cy); CreateAllBitmapX(); for (j=0; j<pC->m_scale->GetGradation(); j++) { m_Grid.SetColWidth(j+1,m_sG.cx); m_Grid.SetCol(j+1); //firs col is head //if (flag) { SetBitmap(j,pC->GetGradation()-1, j+1,0); m_Grid.SetText("");} //else { m_Grid.SetText(pC->GetLex(j)); m_Grid.SetPicture(NULL);} m_Grid.SetRefCellPicture(m_pPictX[j].GetPictureDispatch()); m_Grid.SetCellPictureAlignment(4); } for (j=0; j<n; j++) u[j]=m_U[j]; m_pM->GetCritDim(v); i1=GetIndex(Buff,m_pG); m_ComboY.GetWindowText(Buff); if (Buff!="") { pC=GetExponent(Buff); //,&flag); m_Grid.SetCol(0); for (j=0; j<pC->m_scale->GetGradation(); j++) { m_Grid.SetRowHeight(j+1,m_sG.cy); m_Grid.SetRow(j+1); //firs col is head // if (flag) { SetBitmap(j,pC->GetGradation()-1,0,j+1); m_Grid.SetText("");} // else { m_Grid.SetText(pC->GetLex(j)); m_Grid.SetPicture(NULL);} m_Grid.SetText(pC->m_scale->GetLex(j)); } i2=GetIndex(Buff,m_pG); for (j=0; j<v[i1]; j++) { m_Grid.SetCol(j+1); u[i1]=j; for (k=0; k<v[i2]; k++) { m_Grid.SetRow(k+1); u[i2]=k; SetBitmap(m_pM->GetPreferance(u), m_pM->m_robast-1,j+1,k+1); } } } else { m_Grid.SetRow(1); m_Grid.SetCol(0); m_Grid.SetRowHeight(1,m_sG.cy); m_Grid.SetText(""); m_Grid.SetRefCellPicture(NULL); for (j=0; j<v[i1]; j++) { m_Grid.SetCol(j+1); u[i1]=j; SetBitmap(m_pM->GetPreferance(u),m_pM->m_robast-1,j+1,1); } } } m_ComboY.GetWindowText(Buff); if (Buff!="") { m_Grid.SetRow(m_U[i2]+1); } else m_Grid.SetRow(1); m_Grid.SetCol(m_U[i1]+1); m_Grid.SetHighLight(1); delete [] u; delete [] v; UpdateValue(); }