TApp::TApp() : TProgInit(initStatusLine, initMenuBar, initDeskTop) { ScrollDialog* dlg = new ScrollDialog(TRect(0,0,40,10), "Test Dialog", sbVertical); dlg->options |= ofCentered; dlg->flags |= wfGrow; for(int x = 0; x < 40; x++) { if(x%10) { int n = x+1; ctrlString[8] = '0' + (n/10); ctrlString[9] = '0' + (n%10); dlg->scrollGroup->insert(new TStaticText(TRect(0,x,10,x+1), ctrlString)); } else dlg->scrollGroup->insert(new TInputLine(TRect(0,x,10,x+1), 20)); } dlg->scrollGroup->selectNext(False); dlg->scrollGroup->setLimit(0, 40); if(validView(dlg) != 0) { deskTop->execView(dlg); CLY_destroy(dlg); } }
void TMyApp::asciiTable() { TAsciiChart *chart = (TAsciiChart *) validView(new TAsciiChart); if (chart != 0) { deskTop->insert(chart); } }
void TMyApp::calendar() { TCalendarWindow *cal = (TCalendarWindow *) validView(new TCalendarWindow); if (cal != 0) { deskTop->insert(cal); } }
void TMyApp::calculator() { TCalculator *calc = (TCalculator *) validView(new TCalculator); if (calc != 0) { deskTop->insert(calc); } }
void TVDemo::openFile( char *fileSpec ) { TFileDialog *d= (TFileDialog *)validView( new TFileDialog(fileSpec, "Open a File", "~N~ame", fdOpenButton, 100 )); if( d != 0 && deskTop->execView( d ) != cmCancel ) { char fileName[MAXPATH]; d->getFileName( fileName ); d->helpCtx = hcFOFileOpenDBox; TView *w= validView( new TFileWindow( fileName ) ); if( w != 0 ) deskTop->insert(w); } destroy( d ); }
void TMyApp::puzzle() { TPuzzleWindow *puzz = (TPuzzleWindow *) validView(new TPuzzleWindow); if (puzz != 0) { deskTop->insert(puzz); } }
void TApp::ListDialog() { TDialog *pd = new TListViewDialog(TRect(0, 0, 40, 15), "Scroll List", cityList,numList,cCities,wCity); if(validView(pd)) deskTop->execView(pd); CLY_destroy(pd); }
void TVDemo::calendar() { TCalendarWindow *cal = (TCalendarWindow *) validView(new TCalendarWindow); if(cal != 0) { cal->helpCtx = hcCalendar; deskTop->insert( cal ); } }
void TVDemo::asciiTable() { TAsciiChart *chart = (TAsciiChart *) validView(new TAsciiChart); if(chart != 0) { chart->helpCtx = hcAsciiTable; deskTop->insert(chart); } }
void TVDemo::calculator() { TCalculator *calc = (TCalculator *) validView(new TCalculator); if(calc != 0) { calc->helpCtx = hcCalculator; deskTop->insert(calc); } }
void TVDemo::puzzle() { TPuzzleWindow *puzz = (TPuzzleWindow *) validView(new TPuzzleWindow); if(puzz != 0) { puzz->helpCtx = hcPuzzle; deskTop->insert(puzz); } }
void TVDemo::changeDir() { TView *d = validView( new TChDirDialog( 0, cmChangeDir ) ); if( d != 0 ) { d->helpCtx = hcFCChDirDBox; deskTop->execView( d ); destroy( d ); } }
void TVDemo::loadDesktop(fpstream &s) { TView *p; if (deskTop->valid(cmClose)) { deskTop->forEach(::closeView, 0); // Clear the desktop do { s >> p; deskTop->insertBefore(validView(p), deskTop->last); } while (p != 0); }
void TVDemo::mouse() { TMouseDialog *mouseCage = (TMouseDialog *) validView( new TMouseDialog() ); if (mouseCage != 0) { mouseCage->helpCtx = hcOMMouseDBox; mouseCage->setData(&(TEventQueue::mouseReverse)); if (deskTop->execView(mouseCage) != cmCancel) mouseCage->getData(&(TEventQueue::mouseReverse)); } destroy( mouseCage ); }
TWindow* TProgram::insertWindow(TWindow* pWin) { if (validView(pWin)) { if (canMoveFocus()) { deskTop->insert(pWin); return pWin; } else destroy(pWin); } return NULL; }
ushort TProgram::executeDialog( TDialog* pD, void* data ) { ushort c=cmCancel; if (validView(pD)) { if (data) pD->setData(data); c = deskTop->execView(pD); if ((c != cmCancel) && (data)) pD->getData(data); destroy(pD); } return c; }
void TVDemo::getEvent(TEvent &event) { TWindow *w; THelpFile *hFile; fpstream *helpStrm; static Boolean helpInUse = False; TApplication::getEvent(event); switch (event.what) { case evCommand: if ((event.message.command == cmHelp) && ( helpInUse == False)) { helpInUse = True; helpStrm = new fpstream("DEMOHELP.HLP", ios::in|ios::binary); hFile = new THelpFile(*helpStrm); if (!helpStrm) { messageBox("Could not open help file", mfError | mfOKButton); delete hFile; } else { w = new THelpWindow(hFile, getHelpCtx()); if (validView(w) != 0) { execView(w); destroy( w ); } clearEvent(event); } helpInUse = False; } break; case evMouseDown: if (event.mouse.buttons != 1) event.what = evNothing; break; } }
void TMyApp::inputBox() { short i = 0; const int MAXINPLN = 30; ListBoxItem *v; char label[MAXLABELLEN]; TLineCollection *list; //TRect r = getExtent(); list = new TLineCollection(MAXINPLN,0); for (i = 0; i < MAXINPLN; i++) { v = new ListBoxItem; sprintf(label,"Label No. %d",i); strcpy(v->label,label); strcpy(v->value,"value"); list->insert(v); } TInputDialog *pd = new TInputDialog(TRect(0,0,50,19),"Input Box", list); if (validView(pd)) { deskTop->execView( pd ); destroy( pd ); } }
TVDemo::TVDemo( int argc, char **argv ) : TProgInit( &TVDemo::initStatusLine, &TVDemo::initMenuBar, &TVDemo::initDeskTop ) { TView *w; char fileSpec[128]; int len; TRect r = getExtent(); // Create the clock view. r.a.x = r.b.x - 9; r.b.y = r.a.y + 1; clock = new TClockView( r ); insert(clock); r = getExtent(); // Create the heap view. r.a.x = r.b.x - 13; r.a.y = r.b.y - 1; heap = new THeapView( r ); insert(heap); while (--argc > 0) // Display files specified { // on command line. strcpy( fileSpec, *++argv ); len = strlen( fileSpec ); if( fileSpec[len-1] == '\\' ) strcat( fileSpec, "*.*" ); if( strchr( fileSpec, '*' ) || strchr( fileSpec, '?' ) ) openFile( fileSpec ); else { w = validView( new TFileWindow( fileSpec ) ); if( w != 0 ) deskTop->insert(w); } } }
void TVDemo::colors() { TColorGroup &group1 = *new TColorGroup("Desktop") + *new TColorItem("Color", 1)+ *new TColorGroup("Menus") + *new TColorItem("Normal", 2)+ *new TColorItem("Disabled", 3)+ *new TColorItem("Shortcut", 4)+ *new TColorItem("Selected", 5)+ *new TColorItem("Selected disabled", 6)+ *new TColorItem("Shortcut selected", 7 ); TColorGroup &group2 = *new TColorGroup("Dialogs/Calc") + *new TColorItem("Frame/background", 33)+ *new TColorItem("Frame icons", 34)+ *new TColorItem("Scroll bar page", 35)+ *new TColorItem("Scroll bar icons", 36)+ *new TColorItem("Static text", 37)+ *new TColorItem("Label normal", 38)+ *new TColorItem("Label selected", 39)+ *new TColorItem("Label shortcut", 40 ); TColorItem &item_coll1 = *new TColorItem("Button normal", 41)+ *new TColorItem("Button default", 42)+ *new TColorItem("Button selected", 43)+ *new TColorItem("Button disabled", 44)+ *new TColorItem("Button shortcut", 45)+ *new TColorItem("Button shadow", 46)+ *new TColorItem("Cluster normal", 47)+ *new TColorItem("Cluster selected", 48)+ *new TColorItem("Cluster shortcut", 49 ); TColorItem &item_coll2 = *new TColorItem("Input normal", 50)+ *new TColorItem("Input selected", 51)+ *new TColorItem("Input arrow", 52)+ *new TColorItem("History button", 53)+ *new TColorItem("History sides", 54)+ *new TColorItem("History bar page", 55)+ *new TColorItem("History bar icons", 56)+ *new TColorItem("List normal", 57)+ *new TColorItem("List focused", 58)+ *new TColorItem("List selected", 59)+ *new TColorItem("List divider", 60)+ *new TColorItem("Information pane", 61 ); group2 = group2 + item_coll1 + item_coll2; TColorGroup &group3 = *new TColorGroup("Viewer") + *new TColorItem("Frame passive", 8)+ *new TColorItem("Frame active", 9)+ *new TColorItem("Frame icons", 10)+ *new TColorItem("Scroll bar page", 11)+ *new TColorItem("Scroll bar icons", 12)+ *new TColorItem("Text", 13)+ *new TColorGroup("Puzzle")+ *new TColorItem("Frame passive", 8)+ *new TColorItem("Frame active", 9)+ *new TColorItem("Frame icons", 10)+ *new TColorItem("Scroll bar page", 11)+ *new TColorItem("Scroll bar icons", 12)+ *new TColorItem("Normal text", 13)+ *new TColorItem("Highlighted text", 14 ); TColorGroup &group4 = *new TColorGroup("Calendar") + *new TColorItem("Frame passive", 16)+ *new TColorItem("Frame active", 17)+ *new TColorItem("Frame icons", 18)+ *new TColorItem("Scroll bar page", 19)+ *new TColorItem("Scroll bar icons", 20)+ *new TColorItem("Normal text", 21)+ *new TColorItem("Current day", 22)+ *new TColorGroup("Ascii table") + *new TColorItem("Frame passive", 24)+ *new TColorItem("Frame active", 25)+ *new TColorItem("Frame icons", 26)+ *new TColorItem("Scroll bar page", 27)+ *new TColorItem("Scroll bar icons", 28)+ *new TColorItem("Text", 29 ); TColorGroup &group5 = group1 + group2 + group3 + group4; TColorDialog *c = new TColorDialog((TPalette*)0, &group5 ); if( validView( c ) != 0 ) { c->helpCtx = hcOCColorsDBox; // set context help constant c->setData(&getPalette()); if( deskTop->execView( c ) != cmCancel ) { getPalette() = *(c->pal); deskTop->setState( sfVisible, False ); deskTop->setState( sfVisible, True ); } destroy( c ); } }