Any of these can be visible or invisible. Note on terminology: 'solution' is the correct response. 'answer' is anything the user inputs, and it may or may not match the solution.
The question text will be placed here, vertically and horizontally centered
The text on the flashcard will be placed here (both the question and solution will be put here)
This holds the multiple choice widget. Note: Up to 9 choices are allowed (this may be reduced), and 5 is default, so this has to be fairly large.
The text input widget will be placed here
This box holds the mixed up letters. Note: Make this reasonably large.
this element will be scaled in proportion to bar_background to show progress. Note: if existent, it must be visible.
This element will determine how the bar in scaled. At 100% progress, bar will cover the same area as bar_background
A feedback sentence is placed here, telling the user if the answer is correct and giving hints if it is wrong, among other things. This is highly recommended in a theme.
This will display an instruction for the user that varies based on the base. For example, it is "Select Synonym" in synonym practice and "Enter Translation" in written practice.
Note: If the following elements do not exist, the features are still available from the menus. A button that toggles between displaying 'check answer' and 'continue' is placed here.
Note: These can be turned off in settings; if they are, the buttons won't be shown (read: make them invisible or it will look weird)
Shows a button to skip to the next question while signaling you know the solution
Shows a button to skip to the next question while signally you don't know the solution
Shows a button to give a hint.
Shows the solution and counts the question as incorrectly answered (See flashcards mode for an exception)
Implement either 0 or 1 of these: Note: As of 8/12, these are not yet supported in themes. A timer is shown as an embedded QProgressBar.
A timer is shown as a number in an embedded widget.
A timer is shown as a progress bar (counting down).
A timer is shown as a graphical clock of some sort.
image_box and sound_box can be added to any mode, but be aware they are not necessarily common and can be disabled; don't make the existence of an image integral to your UI design.
If an active area (see below) exists with a name that is suffixed by _image (eg written_image, elements become written_image_question_text_box), that layout will be used for questions that have associated images. If such an area does not exist, the normal area will always be used.
On this one it shows the solution, but doesn't automatically count it as wrong. Also, it is non-optional for this mode.
This indicates you know the solution
This indicates you didn't know the solution
Text box for the user to enter the absolute (normal) form.
Text box for the user to enter the comparative form.
Text box for the user to enter the superlative form.
These are all used to prompt for various conjugation tenses
make the question_text_boxes fairly long; a significant amount of text may be placed there
The answer_text_boxes can be fairly short
For example, infinitive_question_text_box would say "Infinitive"
infinitive_answer_text_box would say "to be" (even though this is a line edit, it would be prepopulated)
question_text_box_1 would say "First-person plural present"
answer_text_box_1 would want "are"
This is used for the infinitive label (It will display "Infinitive").
main, with element active_area that active areas (below) are placed in.
Active areas are the parts of the practice that change depending on the mode. For the modes with defaults listed,
if you do not provide an area for that mode, it will fall back to the listed mode.
To create an active area, make a rectangle the same size as the active_area element and name it modename_background. Add all the other elements on top of it, and then group them and name the group modename.
Elements that are part of an active area should be prefixed with the area name and _ (eg written_answer_text_box) Elements are are NOT part of an active area (ie they are part of the main group) should be prefixed with main_ (eg main_progress_bar).
|Active Area Name||Fallback active area|