Exemple #1
0
		void Reserve(int size)
		{
			assert( readonly == false );

			SetSize(size,false);
			ResetIndex();
		}
Exemple #2
0
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();
}
Exemple #6
0
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;
}
Exemple #7
0
void CChoiceTypeInfo::SetDefault(TObjectPtr dst) const
{
    ResetIndex(dst);
}