Lines Matching refs:Question

20   Process Question Config.
23 @param Question The Question to be peocessed.
25 @retval EFI_SUCCESS Question Config process success.
26 @retval Other Question Config process fail.
32 IN FORM_BROWSER_STATEMENT *Question
40 if (Question->QuestionConfig == 0) {
47 ConfigResp = GetToken (Question->QuestionConfig, Selection->FormSet->HiiHandle);
70 Search an Option of a Question by its value.
72 @param Question The Question
81 IN FORM_BROWSER_STATEMENT *Question,
89 Link = GetFirstNode (&Question->OptionListHead);
90 while (!IsNull (&Question->OptionListHead, Link)) {
97 Link = GetNextNode (&Question->OptionListHead, Link);
195 Print Question Value according to it's storage width and display attributes.
197 @param Question The Question to be printed.
207 IN FORM_BROWSER_STATEMENT *Question,
220 QuestionValue = &Question->HiiValue;
223 switch (Question->Flags & EFI_IFR_DISPLAY) {
281 @param MenuOption The MenuOption for this password Question.
366 Process a Question's Option (whether selected or un-selected).
369 @param MenuOption The MenuOption for this Question.
370 @param Selected TRUE: if Question is selected.
373 @retval EFI_SUCCESS Question Option process success.
374 @retval Other Question Option process fail.
389 FORM_BROWSER_STATEMENT *Question;
417 Question = MenuOption->ThisTag;
418 QuestionValue = &Question->HiiValue;
419 Maximum = (UINT16) Question->Maximum;
421 ValueArray = Question->BufferValue;
422 ValueType = Question->ValueType;
424 switch (Question->Operand) {
429 if (IsListEmpty (&Question->OptionListHead)) {
436 GetQuestionDefault (Selection->FormSet, Selection->Form, Question, 0);
449 *OptionString = AllocateZeroPool (Question->MaxContainers * BufferSize);
454 for (Index = 0; Index < Question->MaxContainers; Index++) {
463 OneOfOption = ValueToOption (Question, &HiiValue);
475 Link = GetFirstNode (&Question->OptionListHead);
477 while (!IsNull (&Question->OptionListHead, Link) && Index2 < Question->MaxContainers) {
481 Link = GetNextNode (&Question->OptionListHead, Link);
485 Status = SetQuestionValue (Selection->FormSet, Selection->Form, Question, TRUE);
486 UpdateStatusBar (Selection, NV_UPDATE_REQUIRED, Question->QuestionFlags, TRUE);
523 if (IsListEmpty (&Question->OptionListHead)) {
535 OneOfOption = ValueToOption (Question, QuestionValue);
545 // Force the Question value to be valid
547 Link = GetFirstNode (&Question->OptionListHead);
548 while (!IsNull (&Question->OptionListHead, Link)) {
554 SetQuestionValue (Selection->FormSet, Selection->Form, Question, TRUE);
555 UpdateStatusBar (Selection, NV_UPDATE_REQUIRED, Question->QuestionFlags, TRUE);
559 Link = GetNextNode (&Question->OptionListHead, Link);
582 Link = GetFirstNode (&Question->OptionListHead);
583 while (!IsNull (&Question->OptionListHead, Link)) {
590 SetQuestionValue (Selection->FormSet, Selection->Form, Question, TRUE);
591 UpdateStatusBar (Selection, NV_UPDATE_REQUIRED, Question->QuestionFlags, TRUE);
596 Link = GetNextNode (&Question->OptionListHead, Link);
629 Status = ValidateQuestion (Selection->FormSet, Selection->Form, Question, EFI_HII_EXPRESSION_INCONSISTENT_IF);
632 // Inconsistent check fail, restore Question Value
641 // Save Question value
643 Status = SetQuestionValue (Selection->FormSet, Selection->Form, Question, TRUE);
644 UpdateStatusBar (Selection, NV_UPDATE_REQUIRED, Question->QuestionFlags, TRUE);
670 PrintFormattedNumber (Question, FormattedNumber, 21 * sizeof (CHAR16));
746 CopyMem(StringPtr, Question->BufferValue, Maximum * sizeof (CHAR16));
750 HiiSetString(Selection->FormSet->HiiHandle, Question->HiiValue.Value.string, StringPtr, NULL);
751 Status = ValidateQuestion(Selection->FormSet, Selection->Form, Question, EFI_HII_EXPRESSION_INCONSISTENT_IF);
753 HiiSetString(Selection->FormSet->HiiHandle, Question->HiiValue.Value.string, (CHAR16*)Question->BufferValue, NULL);
755 CopyMem (Question->BufferValue, StringPtr, Maximum * sizeof (CHAR16));
756 SetQuestionValue (Selection->FormSet, Selection->Form, Question, TRUE);
758 UpdateStatusBar (Selection, NV_UPDATE_REQUIRED, Question->QuestionFlags, TRUE);
767 if (((CHAR16 *) Question->BufferValue)[0] == 0x0000) {
773 CopyMem (OptionString[0], (CHAR16 *) Question->BufferValue, BufferSize);
786 if ((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
833 if (*((CHAR16 *) Question->BufferValue) != 0) {
843 TempString = AllocateCopyPool ((Maximum + 1) * sizeof (CHAR16), Question->BufferValue);
872 if ((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
890 if ((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
904 // Prepare the Question->HiiValue.Value.string for ValidateQuestion use.
906 if((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
907 StringId = Question->HiiValue.Value.string;
908 Question->HiiValue.Value.string = NewString (StringPtr, Selection->FormSet->HiiHandle);
910 HiiSetString(Selection->FormSet->HiiHandle, Question->HiiValue.Value.string, StringPtr, NULL);
913 Status = ValidateQuestion(Selection->FormSet, Selection->Form, Question, EFI_HII_EXPRESSION_INCONSISTENT_IF);
916 // Researve the Question->HiiValue.Value.string.
918 if((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
919 DeleteString(Question->HiiValue.Value.string, Selection->FormSet->HiiHandle);
920 Question->HiiValue.Value.string = StringId;
927 if ((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
931 // Researve the Question->HiiValue.Value.string.
933 HiiSetString(Selection->FormSet->HiiHandle, Question->HiiValue.Value.string, (CHAR16*)Question->BufferValue, NULL);
939 if ((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
942 CopyMem (Question->BufferValue, StringPtr, Maximum * sizeof (CHAR16));
943 SetQuestionValue (Selection->FormSet, Selection->Form, Question, FALSE);
950 if ((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) != 0) {
981 @param RowCount TRUE: if Question is selected.