Example #1
0
void renderMenu(struct Menu *mnu)
{
    // Only render 15 elems max so we make a sub array of printable entries
    struct MenuEntry* entries[15] = {0};

    // find first node to print
    struct ListNode* firstNode = mnu->menuEntries->rootNode;
    struct ListNode* node = NULL;
    int offset = 0, cpt; // to detect current pos
    if( mnu->currentPos >= mnu->_maxEntries )
    {
        int toRemove = mnu->_maxEntries - 1;
        firstNode = lstGetElement(mnu->menuEntries, mnu->currentPos - toRemove);
        offset = mnu->currentPos - toRemove;
    }
    node = firstNode;

    // collect node entries to print
    cpt = 0;
    while( node != NULL && cpt < mnu->_maxEntries)
    {
        entries[cpt] = (struct MenuEntry*) node->data;
        node = node->next;
        ++cpt;
    }

    // Print texts
    uiClear(BODY);
    uiClear(FOOTER);
    uiPrintLine(FOOTER, PA_NONE, "-");
    uiPrint(FOOTER,PA_NONE,
            "ARROW: Deplacer | ENTER: Valider | F1: aide | ESC: Quitter\n");
    uiPrintLine(FOOTER, PA_NONE, "-");
    uiPrint(BODY, PA_NONE, mnu->description);
    for(cpt = 0; cpt < mnu->_maxEntries; ++cpt)
    {
        struct MenuEntry* entry = entries[cpt];
        if( entry != NULL )
        {
            int printAttribs = mnu->printAttribs;
            if( cpt + offset == mnu->currentPos )
                printAttribs |= PA_RCOLOR;
            if( mnu->margin != 0 )
                uiMoveCursor(BODY, mnu->margin);
            uiPrint(BODY,printAttribs, entry->text);
            uiPrint(BODY,PA_NONE, "\n");
        }
    }
}
Example #2
0
void uiPrintLine(Uint8 zone, Uint8 printAttribs, char* lnChar)
{
    char line[MAX_WIDTH + 1] = {0};
    int cpt;
    for(cpt = 0; cpt < MAX_WIDTH; ++cpt)
        strcat(line, lnChar);
    uiPrint(zone, printAttribs, line);
}
Example #3
0
void uiPause( char *msg)
{
    uiClear(FOOTER);
    uiPrintLine(FOOTER, PA_NONE, "-");
    uiPrint(FOOTER, PA_NONE, msg);
    uiPrintLine(FOOTER, PA_NONE, "-");
    raw();
    wgetch(gFooterWin);
    uiClear(FOOTER);
}
Example #4
0
void printLists()
{
    const int nbLists = 6;
    struct List* lists[6] = {gAbsences, gAppointments, gConsultations, gDoctors, gPatients, gRooms};
    char* labels[6] = {"Liste des absences\n",
                       "Liste des rdv\n",
                       "Liste des consultations\n",
                       "Liste des docteurs\n",
                       "Liste des patients\n",
                       "Liste des salles\n"};
    int cpt;
    for(cpt = 0; cpt < nbLists; ++cpt)
    {
        uiPrint(HEADER, PA_CENTER, labels[cpt]);
        uiPrint(HEADER, PA_CENTER, "============================\n");
        lstPrint(lists[cpt]);
        uiPause("Tapez ENTER pour voir la liste suivante...\n");
        uiClear(ALL);
    }
}
Example #5
0
void redrawCheatMenu() {
    cheatsPerPage = uiGetHeight() - 2;
    int numCheats = cheatEngine->getNumCheats();
    int numPages = (numCheats - 1) / cheatsPerPage + 1;
    int page = cheatMenuSelection / cheatsPerPage;

    uiClear();

    uiPrint("          Cheat Menu      ");
    uiPrint("%d/%d\n\n", page + 1, numPages);
    for(int i = page * cheatsPerPage; i < numCheats && i < (page + 1) * cheatsPerPage; i++) {
        if(cheatMenuSelection == i) {
            uiSetLineHighlighted(true);
        }

        uiPrint("%s", cheatEngine->cheats[i].name);

        for(unsigned int j = 0; j < 25 - strlen(cheatEngine->cheats[i].name); j++) {
            uiPrint(" ");
        }

        if(cheatEngine->isCheatEnabled(i)) {
            if(cheatMenuSelection == i) {
                uiSetTextColor(TEXT_COLOR_YELLOW);
                uiPrint("* ");
                uiSetTextColor(TEXT_COLOR_GREEN);
                uiPrint("On");
                uiSetTextColor(TEXT_COLOR_YELLOW);
                uiPrint("  *");
                uiSetTextColor(TEXT_COLOR_NONE);
            } else {
                uiSetTextColor(TEXT_COLOR_GREEN);
                uiPrint("  On   ");
                uiSetTextColor(TEXT_COLOR_NONE);
            }
        } else {
            if(cheatMenuSelection == i) {
                uiSetTextColor(TEXT_COLOR_YELLOW);
                uiPrint("* ");
                uiSetTextColor(TEXT_COLOR_RED);
                uiPrint("Off");
                uiSetTextColor(TEXT_COLOR_YELLOW);
                uiPrint(" *");
                uiSetTextColor(TEXT_COLOR_NONE);
            } else {
                uiSetTextColor(TEXT_COLOR_RED);
                uiPrint("  Off  ");
                uiSetTextColor(TEXT_COLOR_NONE);
            }
        }

        uiPrint("\n");

        uiSetLineHighlighted(false);
    }

    uiFlush();
}
Example #6
0
void printPatient(void *data)
{
    struct Patient* p = (struct Patient*) data;
    uiPrint(BODY, PA_CENTER,
            "{ %05d, %s, %s, %s }", p->id, p->name, p->surname, p->tel);
}