Sindbad~EG File Manager
typedef struct
{ // These fields are initialized before the dialog is called
int topic; // the topic of this problem
int problemtype; // the problemtype of this problem
int documenttype; // SYMBOLDOC or GRAPHDOC
int problemsource; // SOURCE_MATHPERT or SOURCE_USER or SOURCE_FILE
homework homeworks[MAXHOMEWORKS]; // the homeworks structures available for this document
// the one from MathXpert's .mhw file comes first
// then the one for SOURCE_USER ("Type it in")
// then any open homework files excluding those marked as for other topics
char *hwfiles[MAXHOMEWORKS]; // in the order they are listed in the problem-source box
// if there are homework files open when the dialog is opened, only those are listed that are appropriate for this topic
// This is set up before the dialog is called.
// Since the GetProblem dialog is modal, the user can't open a new problem file from within it.
// Following, in addition to problemsource (which can be changed)
// are the output fields. The strings in question are allocated with 'callocate' using the document's heap.
strlist *AuthorsComment; // linked list of char *, see wfile.h
char problemNumber[4]; // from the problem file
int homeworkIndex; // which entry in homeworks contains this problem
int problemIndex; // index of the selected problem in homeworks
char theProblem[256]; // parseable text; no problem in the MathXpert-supplied files is longer
} Problem;
void problemToDocData(Problem *p, PDOCDATA pDocData);
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists