void Reserve(int size) { assert( readonly == false ); SetSize(size,false); ResetIndex(); }
void CChoiceTypeInfo::Assign(TObjectPtr dst, TConstObjectPtr src, ESerialRecursionMode how) const { TMemberIndex index; index = GetVariants().FirstIndex(); const CVariantInfo* variantInfo = GetVariantInfo(index); if (variantInfo->GetId().IsAttlist()) { const CMemberInfo* info = dynamic_cast<const CMemberInfo*>(GetVariants().GetItemInfo(index)); info->GetTypeInfo()->Assign(GetMember(info, dst), GetMember(info, src),how); } index = GetIndex(src); if ( index == kEmptyChoice ) ResetIndex(dst); else { _ASSERT(index >= GetVariants().FirstIndex() && index <= GetVariants().LastIndex()); SetIndex(dst, index); GetVariantInfo(index)->GetTypeInfo()->Assign(GetData(dst, index), GetData(src, index), how); } // User defined assignment CallUserOp_Assign(dst, src); }
void Window_NumberInput::SetMaxDigits(int idigits_max) { // Only accepts values between 1 and 6 (or 7) as RPG2K (or RPG2k3) int top = Player::IsRPG2k() ? 6 : 7; digits_max = (idigits_max > top) ? top : (idigits_max <= 0) ? 1 : idigits_max; ResetIndex(); UpdateCursorRect(); Refresh(); }
void Window_NumberInput::SetNumber(int inumber) { int num = 1; for (int i = 0; i < digits_max; ++i) { num *= 10; } number = min(max(abs(inumber), 0), num - 1); ResetIndex(); plus = inumber >= 0; UpdateCursorRect(); Refresh(); }
Window_NumberInput::Window_NumberInput(int ix, int iy, int iwidth, int iheight) : Window_Selectable(ix, iy, iwidth, iheight), digits_max(Player::IsRPG2k() ? 6 : 7) { number = 0; plus = true; SetContents(Bitmap::Create(width - 16, height - 16)); cursor_width = 14; // Above the message window SetZ(Priority_Window + 150); opacity = 0; ResetIndex(); active = false; show_operator = false; Refresh(); UpdateCursorRect(); }
DefTableKeyList FillInsertKeyList (DefTableKeyList orig) { DefTableKeyList missing = NULLDefTableKeyList, l = orig; int index = 1; while (l != NULLDefTableKeyList) { DefTableKey insKey = HeadDefTableKeyList (l); int elemindex = GetIndex (insKey, index); while (index < elemindex) { DefTableKey newk = NewKey (); ResetType (newk, nodeType); ResetIndex (newk, index++); ResetUsed (newk, 0); missing = ConsDefTableKeyList (newk, missing); } index++; l = TailDefTableKeyList (l); } while (missing != NULLDefTableKeyList) { DefTableKey insKey = HeadDefTableKeyList (missing); orig = AddToOrderedSetDefTableKeyList (insKey, orig, cmpPatIndex); missing = TailDefTableKeyList (missing); } return orig; }
void CChoiceTypeInfo::SetDefault(TObjectPtr dst) const { ResetIndex(dst); }