int main() { int insert = 1; int key; bool done = false; int i = 0; CDialog Screen; CDialog FD(&Screen,5, 5, 35, 9, true); CCheckMark chb(true,"[X]","Check Box", 3,3, 13); CCheckMark* chbptr; //Un-commnent line 37 and comment line 36 for alternative way of accessing the checkbox's falg Screen<< new CLabel("Esc: EXIT, F2: Reset Data, F6: move,", 0, 0); for(int k=1;k<console.getRows();k+=2){ for(int m=0;m<console.getCols()-10;m+=10){ Screen<<new CLabel((i=!i)?"Hello": "Hi",k, m, 9); } } Screen.draw(); FD<<chb <<new CLabel("Checked",3, 17, 15) <<new CCheckMark(false,"(O)","Radio Button", 5, 3,16, true) <<new CLabel("Not Checked", 5, 20, 13); FD.draw(); chbptr = (CCheckMark*)&FD[2]; while(!done){ FD[1].set(chb.checked()?"Checked": "Not Checked"); FD[3].set(bool(*((bool*)FD[2].data()))?"Checked": "Not Checked"); // FD[3].set(chbptr->checked()?"Checked": "Not Checked"); key = FD.edit(); switch(key){ case ESCAPE: done = true; break; case F(6): FD.move(); break; case F(2): chb.checked(false); chbptr->checked(false); FD.draw(); break; } } return 0; }
int test_6_Check() { int insert = 1; int key; bool done = false; int i = 0; CDialog Screen; for(int k=3;k<console.getRows();k+=2){ for(int m=0;m<console.getCols()-10;m+=10){ Screen<<new CLabel((i=!i)?"Hello": "Hi",k, m, 9); } } Screen<<new CLabel(">>>>>> Dialog and CheckMark Tester <<<<<<<<", 0, (console.getCols()-44)/2); Screen<< new CLabel("Esc: EXIT, F2: Reset Data, F6: move,", 1, 0); Screen.draw(); CDialog FD(&Screen, 5, 5, 35, 13, true); CCheckMark chb(true,"[X]","Check Box", 3,3, 13); CCheckMark* chbptr; // see comment below CCheckMark* chbptr1; CCheckMark* chbptr2; FD<<chb <<new CLabel("Checked",3, 17, 15) <<new CCheckMark(false,"(O)","Radio Button", 5, 3,16, true) <<new CLabel("Not Checked", 5, 20, 13) <<new CCheckMark(true,"(O)","Radio Button", 7, 3,16, true) <<new CLabel("Checked", 7, 20, 13) <<new CCheckMark(false,"(O)","Radio Button", 9, 3,16, true) <<new CLabel("Not Checked", 9, 20, 13); FD.draw(); chbptr = (CCheckMark*)&FD[2]; chbptr1 = (CCheckMark*)&FD[4]; chbptr2 = (CCheckMark*)&FD[6]; int which = 0; while(!done){ FD[1].set(chb.checked()?"Checked": "Not Checked"); //comment next and un-comment the line after for alternative //way of accessing the checkbox's flag FD[3].set(bool(*((bool*)FD[2].data()))?"Checked": "Not Checked"); //FD[3].set(chbptr->checked()?"Checked": "Not Checked"); FD[5].set(bool(*((bool*)FD[4].data()))?"Checked": "Not Checked"); FD[7].set(bool(*((bool*)FD[6].data()))?"Checked": "Not Checked"); FD.draw(); key = FD[which].edit(); if ( (key == SPACE && ( *chbptr && chbptr1->checked() )) || ( chbptr->checked() && chbptr2->checked() ) || ( chbptr2->checked() && chbptr1->checked() ) ) { chbptr->checked(false); chbptr1->checked(false); chbptr2->checked(false); if ( which == 2 ) chbptr->checked(true); else if ( which == 4 ) chbptr1->checked(true); else if ( which == 6 ) chbptr2->checked(true); } switch(key){ case ESCAPE: done = true; break; case F(6): FD.move(); break; case F(2): chb.checked(false); chbptr->checked(false); FD.draw(); break; case UP: if ( which == 2 ) which = 0; else if ( which == 4 ) which = 2; else if ( which == 6 ) which = 4; break; case DOWN: if ( which == 0 ) which = 2; else if ( which == 2 ) which = 4; else if ( which == 4 ) which = 6; break; } } return 0; }