void ScreenManager::loadScreens() { //Create the Game screens addScreen(new MainMenu()); addScreen(new Save()); addScreen(new Load()); addScreen(new Game()); addScreen(new LevelEditor()); }
void ScreenManager::loadScreens() { //Create the Game screens addScreen(new Splash()); addScreen(new MainMenu()); addScreen(new Game()); addScreen(new LevelEditor()); addScreen(new LevelSelect()); addScreen(new GameSettings()); addScreen(new HighScore()); addScreen(new Pause()); addScreen(new Victory()); addScreen(new Defeat()); }
void QEglFSIntegration::initialize() { qt_egl_device_integration()->platformInit(); m_display = qt_egl_device_integration()->createDisplay(nativeDisplay()); if (m_display == EGL_NO_DISPLAY) qFatal("Could not open egl display"); EGLint major, minor; if (!eglInitialize(m_display, &major, &minor)) qFatal("Could not initialize egl display"); m_inputContext = QPlatformInputContextFactory::create(); m_vtHandler.reset(new QFbVtHandler); if (qt_egl_device_integration()->usesDefaultScreen()) addScreen(new QEglFSScreen(display())); else qt_egl_device_integration()->screenInit(); // Input code may rely on the screens, so do it only after the screen init. if (!m_disableInputHandlers) createInputHandlers(); }
bool MainScene::init() { if ( !Layer::init() ) { return false; } _size = Director::getInstance()->getWinSize(); _xPosition = 0; _xMoved = 0; _touchListener = EventListenerTouchOneByOne::create(); _touchListener->onTouchBegan = CC_CALLBACK_2(MainScene::touchBegan,this); _touchListener->onTouchMoved = CC_CALLBACK_2(MainScene::touchMoved, this); _touchListener->onTouchEnded = CC_CALLBACK_2(MainScene::touchEnded,this); getEventDispatcher()->addEventListenerWithFixedPriority(_touchListener, 100); addScreen(1, new MainScreen); addScreen(2, new MainScreen); _fon = Sprite::create("img/ScreenFon.png"); _fon->setScaleX(_size.width/_fon->getContentSize().width); _fon->setScaleY(_size.height/_fon->getContentSize().height); _fon->setPosition(Point(_size.width/2, _size.height/2)); this->addChild(_fon,0); _menu = new MenuView; _menu->initialization(this); TextFieldTTF * tf = TextFieldTTF::textFieldWithPlaceHolder("click for input", "fonts/menuFont.otf", 26); tf->setPosition(Point(300,300)); this->addChild(tf, 10); tf->attachWithIME(); //this->schedule(schedule_selector(MainScene::update),0.05f); return true; }
void ServerConfig::init() { switchCorners().clear(); screens().clear(); // m_NumSwitchCorners is used as a fixed size array. See Screen::init() for (int i = 0; i < NumSwitchCorners; i++) switchCorners() << false; // There must always be screen objects for each cell in the screens QList. Unused screens // are identified by having an empty name. for (int i = 0; i < numColumns() * numRows(); i++) addScreen(Screen()); }
void QEglFSIntegration::initialize() { qt_egl_device_integration()->platformInit(); QEGLPlatformIntegration::initialize(); if (!mDisableInputHandlers) createInputHandlers(); if (qt_egl_device_integration()->usesDefaultScreen()) addScreen(new QEglFSScreen(display())); else qt_egl_device_integration()->screenInit(); }
QTreeWidgetItem* LOCACC :: cloneScreen(QTreeWidgetItem *itemToClone) { QStringList stringData = getScreenTreeData(itemToClone); QTreeWidgetItem *clonedScreen ; int counter = 0; QStringList newStringData(stringData); do { clonedScreen = addScreen(newStringData); counter++; newStringData[0] = stringData.at(0) + "-copy (" + QString::number(counter) + ")"; newStringData[1] = stringData.at(1) + "-copy (" + QString::number(counter) + ")"; } while (clonedScreen==NULL); int elementCount = itemToClone->childCount(); for(int i = 0 ; i < elementCount ; i++) { QTreeWidgetItem *currentElement = itemToClone->child(i); cloneElement(currentElement,clonedScreen); } return clonedScreen; }
Bool addDisplay (char *name, char **plugin, int nPlugin) { CompDisplay *d; Display *dpy; int i; d = &compDisplay; if (displayPrivateLen) { d->privates = malloc (displayPrivateLen * sizeof (CompPrivate)); if (!d->privates) return FALSE; } else d->privates = 0; d->screenPrivateIndices = 0; d->screenPrivateLen = 0; for (i = 0; i < CompModNum; i++) d->modMask[i] = CompNoMask; d->plugin.list.type = CompOptionTypeString; d->plugin.list.nValue = 0; d->plugin.list.value = 0; compDisplayInitOptions (d, plugin, nPlugin); d->textureFilter = GL_LINEAR; d->display = dpy = XOpenDisplay (name); if (!d->display) { fprintf (stderr, "%s: Couldn't open display %s\n", programName, XDisplayName (name)); return FALSE; } #ifdef DEBUG XSynchronize (dpy, TRUE); #endif XSetErrorHandler (errorHandler); updateModifierMappings (d); d->setDisplayOption = setDisplayOption; d->setDisplayOptionForPlugin = setDisplayOptionForPlugin; d->initPluginForDisplay = initPluginForDisplay; d->finiPluginForDisplay = finiPluginForDisplay; d->handleEvent = handleEvent; d->winTypeAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE", 0); d->winDesktopAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DESKTOP", 0); d->winDockAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DOCK", 0); d->winToolbarAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_TOOLBAR", 0); d->winMenuAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_MENU", 0); d->winUtilAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_UTILITY", 0); d->winSplashAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_SPLASH", 0); d->winDialogAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_DIALOG", 0); d->winNormalAtom = XInternAtom (dpy, "_NET_WM_WINDOW_TYPE_NORMAL", 0); d->winOpacityAtom = XInternAtom (dpy, "_NET_WM_WINDOW_OPACITY", 0); d->winActiveAtom = XInternAtom (dpy, "_NET_ACTIVE_WINDOW", 0); d->wmStateAtom = XInternAtom (dpy, "WM_STATE", 0); d->wmDeleteWindowAtom = XInternAtom (dpy, "WM_DELETE_WINDOW", 0); d->xBackgroundAtom[0] = XInternAtom (dpy, "_XSETROOT_ID", 0); d->xBackgroundAtom[1] = XInternAtom (dpy, "_XROOTPMAP_ID", 0); if (testMode) { d->compositeOpcode = MAXSHORT; d->compositeEvent = MAXSHORT; d->compositeError = MAXSHORT; d->damageEvent = MAXSHORT; d->damageError = MAXSHORT; } else { int compositeMajor, compositeMinor; if (!XQueryExtension (dpy, COMPOSITE_NAME, &d->compositeOpcode, &d->compositeEvent, &d->compositeError)) { fprintf (stderr, "%s: No composite extension\n", programName); return FALSE; } XCompositeQueryVersion (dpy, &compositeMajor, &compositeMinor); if (compositeMajor == 0 && compositeMinor < 2) { fprintf (stderr, "%s: Old composite extension\n", programName); return FALSE; } if (!XDamageQueryExtension (dpy, &d->damageEvent, &d->damageError)) { fprintf (stderr, "%s: No damage extension\n", programName); return FALSE; } } d->shapeExtension = XShapeQueryExtension (dpy, &d->shapeEvent, &d->shapeError); compDisplays = d; if (testMode) { addScreen (d, 0); } else { XGrabServer (dpy); for (i = 0; i < ScreenCount (dpy); i++) { redirectFailed = 0; XCompositeRedirectSubwindows (dpy, XRootWindow (dpy, i), CompositeRedirectManual); XSync (dpy, FALSE); if (redirectFailed) { fprintf (stderr, "%s: Another composite manager is already " "running on screen: %d\n", programName, i); } else { if (!addScreen (d, i)) { fprintf (stderr, "%s: Failed to manage screen: %d\n", programName, i); } } } XUngrabServer (dpy); } if (!d->screens) { fprintf (stderr, "%s: No managable screens found on display %s\n", programName, XDisplayName (name)); return FALSE; } return TRUE; }
void ScreenManager::loadScreens() { //Create the Game screens addScreen(new Game()); }
void StateHandler::processEvents(sf::Event event) { assert(safe); if(!m_bMenuShield && !m_bQuitShield) { currentState -> processEvents(event); } if(event.type == sf::Event::Closed || (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape) && !m_bMenuShield)) { if(!m_bQuitShield ) { m_bQuitShield = true; } } if(m_bMenuShield || m_bQuitShield) { if (( event.mouseMove.x >= m_ShieldNoSprite.getPosition().x && event.mouseMove.x <= m_ShieldNoSprite.getPosition().x + 275 && event.mouseMove.y >= m_ShieldNoSprite.getPosition().y && event.mouseMove.y <= m_ShieldNoSprite.getPosition().y + 100 )) { m_ShieldNoSprite.setTexture(m_ShieldNoPressedTexture); } else { m_ShieldNoSprite.setTexture(m_ShieldNoTexture); } if( event.mouseButton.x >= m_ShieldNoSprite.getPosition().x && event.mouseButton.x <= m_ShieldNoSprite.getPosition().x + 275 && event.mouseButton.y >= m_ShieldNoSprite.getPosition().y && event.mouseButton.y <= m_ShieldNoSprite.getPosition().y + 100 ) { m_AudioManager.stopOrResumeMusic(); m_bMenuShield = false; m_bQuitShield = false; } if (( event.mouseMove.x >= m_ShieldYesSprite.getPosition().x && event.mouseMove.x <= m_ShieldYesSprite.getPosition().x + 275 && event.mouseMove.y >= m_ShieldYesSprite.getPosition().y && event.mouseMove.y <= m_ShieldYesSprite.getPosition().y + 100 )) { m_ShieldYesSprite.setTexture(m_ShieldYesPressedTexture); } else { m_ShieldYesSprite.setTexture(m_ShieldYesTexture); } if( event.mouseButton.x >= m_ShieldYesSprite.getPosition().x && event.mouseButton.x <= m_ShieldYesSprite.getPosition().x+275 && event.mouseButton.y >= m_ShieldYesSprite.getPosition().y && event.mouseButton.y <= m_ShieldYesSprite.getPosition().y+100) { if(m_bQuitShield) { m_pWindow->close(); StateHandler::getInstance().stopRunning(); } else if(m_bMenuShield) { sf::View gameView = m_pWindow->getView(); m_pWindow->setView(m_pWindow->getDefaultView()); addScreen(new TitleScreen()); m_bMenuShield = false; } } } }
BOOL CScreensLinks::doDlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: init(hwnd); return TRUE; case WM_SIZE: resizeErrorBoxes(); break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: SetFocus(getItem(hwnd, IDOK)); if (save(hwnd)) { EndDialog(hwnd, 0); } return TRUE; case IDCANCEL: EndDialog(hwnd, 0); return TRUE; case IDC_SCREENS_SCREENS: switch (HIWORD(wParam)) { case LBN_DBLCLK: editScreen(hwnd); return TRUE; case LBN_SELCHANGE: updateScreensControls(hwnd); updateLinkView(hwnd); return TRUE; case LBN_SELCANCEL: updateScreensControls(hwnd); updateLinkView(hwnd); return TRUE; } break; case IDC_SCREENS_ADD_SCREEN: addScreen(hwnd); return TRUE; case IDC_SCREENS_REMOVE_SCREEN: removeScreen(hwnd); return TRUE; case IDC_SCREENS_EDIT_SCREEN: editScreen(hwnd); return TRUE; case IDC_SCREENS_LINKS: switch (HIWORD(wParam)) { case LBN_SELCHANGE: editLink(hwnd); return TRUE; case LBN_SELCANCEL: editLink(hwnd); return TRUE; } break; case IDC_SCREENS_ADD_LINK: addLink(hwnd); return TRUE; case IDC_SCREENS_REMOVE_LINK: removeLink(hwnd); return TRUE; case IDC_SCREENS_SRC_SIDE: switch (HIWORD(wParam)) { case CBN_SELCHANGE: changeSrcSide(hwnd); break; } break; case IDC_SCREENS_SRC_SCREEN: switch (HIWORD(wParam)) { case CBN_SELCHANGE: changeSrcScreen(hwnd); break; } break; case IDC_SCREENS_DST_SCREEN: switch (HIWORD(wParam)) { case CBN_SELCHANGE: changeDstScreen(hwnd); break; } break; case IDC_SCREENS_SRC_START: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalStart(hwnd, LOWORD(wParam), m_editedLink.m_srcInterval); break; } break; case IDC_SCREENS_SRC_END: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalEnd(hwnd, LOWORD(wParam), m_editedLink.m_srcInterval); break; } break; case IDC_SCREENS_DST_START: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalStart(hwnd, LOWORD(wParam), m_editedLink.m_dstInterval); break; } break; case IDC_SCREENS_DST_END: switch (HIWORD(wParam)) { case EN_KILLFOCUS: changeIntervalEnd(hwnd, LOWORD(wParam), m_editedLink.m_dstInterval); break; } break; } break; case WM_CTLCOLORSTATIC: switch (GetDlgCtrlID((HWND)lParam)) { case IDC_SCREENS_OVERLAP_ERROR: SetBkColor((HDC)wParam, GetSysColor(COLOR_3DFACE)); SetTextColor((HDC)wParam, RGB(255, 0, 0)); return (BOOL)GetSysColorBrush(COLOR_3DFACE); } break; // error outlines case WM_DRAWITEM: { DRAWITEMSTRUCT* di = (DRAWITEMSTRUCT*)lParam; if (di->CtlType == ODT_STATIC) { HGDIOBJ oldPen = SelectObject(di->hDC, m_redPen); HGDIOBJ oldBrush = SelectObject(di->hDC, GetStockObject(NULL_BRUSH)); Rectangle(di->hDC, di->rcItem.left, di->rcItem.top, di->rcItem.right, di->rcItem.bottom); SelectObject(di->hDC, oldPen); SelectObject(di->hDC, oldBrush); return TRUE; } break; } default: break; } return FALSE; }
//Huge main function. int main(int argc, char *argv[]) { if (argc < 3){ //if you don't type enough arguments printf("Sockets client, usage:\n"); printf("sockets_client {IP-address} {port} \n"); return 0; } else { free(server); server = malloc((strlen(argv[1] + 1) * sizeof(char))); strcpy(server, argv[1]); portno = atoi(argv[2]); } int c; while(1){ if(screen == 0){ CATEGORY = 8; currentRecord = 0; recordView = 0; xt_par0(XT_CLEAR_SCREEN); lifeTracker(); xt_par2(XT_SET_ROW_COL_POS,row = 8, col = 2); } while(screen == 0) { while((c = getkey()) == KEY_NOTHING); if(c == KEY_F9) screen = 3; else if(c == KEY_F3 && maxRecord > 0 && col == 20) screen = 4; else if(c == KEY_DOWN) { if(col == 2 && row >= 8 && row < catCounter + 7){ xt_par2(XT_SET_ROW_COL_POS,CATEGORY = ++row,col); updateRecords(recordView); } if(col == 20 && row >= 7 && row <= tempCounter * 5 + 1){ if(row < 22){ xt_par2(XT_SET_ROW_COL_POS,row+=5,col); ++currentRecord; } else if(recordView < tempCounter-4){ ++recordView; if(search == 1) searchResults(recordView); else updateRecords(recordView); xt_par2(XT_SET_ROW_COL_POS,row=22,col); ++currentRecord; } } if(col > 94 && col < 120){ if(row == 9) xt_par2(XT_SET_ROW_COL_POS,row = 12,col = 95); else if(row == 12) xt_par2(XT_SET_ROW_COL_POS,row = 13,col = 95); else if(row == 13) xt_par2(XT_SET_ROW_COL_POS,row = 16,col); else if(row < 20) xt_par2(XT_SET_ROW_COL_POS,++row,col); else if(row == 20 && col < 110) xt_par2(XT_SET_ROW_COL_POS,++row,col); else if(row == 20 && col > 110) xt_par2(XT_SET_ROW_COL_POS,++row,col = 109); } } else if(c == KEY_UP){ if(col == 2 && row > 8 && row <= 18){ xt_par2(XT_SET_ROW_COL_POS,CATEGORY = --row,col); updateRecords(recordView); } if(col == 20 && row >= 7 && row < 24){ if(row <= 24 && row > 7){ xt_par2(XT_SET_ROW_COL_POS,row-=5,col); --currentRecord; } else if(recordView > 0){ --recordView; if(search == 1) searchResults(recordView); else updateRecords(recordView); xt_par2(XT_SET_ROW_COL_POS,row=7,col); --currentRecord; } } if(row > 9 && col > 94 && col < 120){ if(row == 12) xt_par2(XT_SET_ROW_COL_POS,row = 9,col = 95); else if(row == 13) xt_par2(XT_SET_ROW_COL_POS,row = 12,col = 95); else if(row == 16) xt_par2(XT_SET_ROW_COL_POS, row = 13, col = 95); else if(row < 22) xt_par2(XT_SET_ROW_COL_POS, --row, col); } } else if(c == KEY_ENTER && col > 94 && col < 120 && row > 12 && row < 18) xt_par2(XT_SET_ROW_COL_POS,++row,col=95); else if((c == KEY_LEFT || c == KEY_RIGHT) && col == 2) { CATEGORY = row; updateRecords(recordView); xt_par2(XT_SET_ROW_COL_POS,row=7,col=20); } else if((c == KEY_LEFT || c == KEY_RIGHT) && col == 20) { xt_par2(XT_SET_ROW_COL_POS,row=CATEGORY,col=2); if (search == 1) clearSearch(); currentRecord = recordView = search = 0; updateRecords(recordView); } else if(c == KEY_LEFT && col >= 95) { if(col > 95) xt_par2(XT_SET_ROW_COL_POS,row,--col); else if(row == 13 && col == 95) xt_par2(XT_SET_ROW_COL_POS,--row,col = 101); else if(row >= 17 && row <= 21 && col == 95) xt_par2(XT_SET_ROW_COL_POS,--row, col = 119); } else if(c == KEY_RIGHT && col > 94) { if(row == 9 && col < 112) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(row == 12 && col < 101) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(row == 12 && col == 101) xt_par2(XT_SET_ROW_COL_POS,++row,col = 95); else if(row == 13 && col < 112) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(row >= 16 && row < 21 && col < 119) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(row == 21 && col < 109) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(row >= 16 && row <= 21 && col == 119) xt_par2(XT_SET_ROW_COL_POS,++row,col = 95); } else if(c == KEY_DELETE) { putchar(' '); if(row == 9) Category[col - 95] = ' '; else if(row == 12) Title[col - 95] = ' '; else if(row == 13) Title[col - 88] = ' '; else if(row >= 16 && row < 22) Body[(row - 16) * 25 + col - 95] = ' '; } else if(c == KEY_BACKSPACE && col >= 95) { if((row == 9 || row == 12) && col > 95) { xt_par2(XT_SET_ROW_COL_POS,row,--col); putchar(' '); Category[col - 95] = ' '; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if((row == 9 || row == 12) && col == 95) { putchar(' '); Title[col - 95] = ' '; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if(row == 13 && col > 95) { xt_par2(XT_SET_ROW_COL_POS,row,--col); putchar(' '); Title[col - 88] = ' '; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if(row == 13 && col == 95) { xt_par2(XT_SET_ROW_COL_POS,--row,col = 101); putchar(' '); Title[col - 88] = ' '; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if(row >= 16 && row < 22 && col > 95) { xt_par2(XT_SET_ROW_COL_POS,row,--col); putchar(' '); Body[(row - 16) * 25 + col - 95] = ' '; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if(row == 16 && col == 95) { putchar(' '); Body[(row - 16) * 25 + col - 95] = ' '; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if(row > 16 && row < 22 && col == 95) { xt_par2(XT_SET_ROW_COL_POS,--row,col = 119); putchar(' '); Body[(row - 16) * 25 + col - 95] = ' '; xt_par2(XT_SET_ROW_COL_POS,row,col); } } else if((c >= ' ' && c <= '~') && col >= 95 && col < 120){ if(row == 9 && col < 112) { putchar(c); Category[col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,row,++col); } else if(row == 9 && col == 112) { putchar(c); Category[col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if(row == 12 && col < 101) { putchar(c); Title[col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,row,++col); } else if(row == 12 && col == 101) { putchar(c); Title[col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,++row,col=95); } else if(row == 13 && col < 112) { putchar(c); Title[col - 88] = c; xt_par2(XT_SET_ROW_COL_POS,row,++col); } else if(row == 13 && col == 112) { putchar(c); Title[col - 88] = c; xt_par2(XT_SET_ROW_COL_POS,row,col); } else if(row >= 16 && row < 21 && col < 119) { putchar(c); Body[(row - 16) * 25 + col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,row,++col); } else if(row >= 16 && row < 21 && col == 119) { putchar(c); Body[(row - 16) * 25 + col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,++row,col = 95); } else if(row == 21 && col < 109) { putchar(c); Body[(row - 16) * 25 + col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,row,++col); } else if(row == 21 && col == 109) { putchar(c); Body[(row - 16) * 25 + col - 95] = c; xt_par2(XT_SET_ROW_COL_POS,row,col); } } else if(c == KEY_F2) screen = 1; else if(c == KEY_F4 && col == 20 && maxRecord != 0) screen = 2; else if(c == KEY_F6) { if(sort == 0){ bubbleSort(); sort = 1; } else if (sort == 1){ bubbleSortTime(); sort = 0; } } else if (c == KEY_F7){ if(col < 95) { xt_par2(XT_SET_ROW_COL_POS,row = 9,col = 95); for(reset = 0; reset < 29; reset++) Title[reset] = ' '; for(reset = 0; reset < 140; reset++) Body[reset] = ' '; for(reset = 0; reset < 16; reset++) Category[reset] = ' '; } else if(Title[0] == ' ' && Body[0] == ' ' && Category[0] == ' ') { xt_par2(XT_SET_ROW_COL_POS,row = CATEGORY,col = 2); clearSearch(); updateRecords(0); } else if(Title[0] != ' ' || Body[0] != ' ' || Category[0] != ' ') { clearSearch(); search = 1; searchResults(0); xt_par2(XT_SET_ROW_COL_POS,row = 7, col = 20); } } } if (screen == 1 || screen == 2){ for(reset = 0; reset < 29; reset++) Title[reset] = ' '; for(reset = 0; reset < 140; reset++) Body[reset] = ' '; for(reset = 0; reset < 16; reset++) Category[reset] = ' '; addScreen(); if (screen == 2){ char TempBodyA[71]; char TempBodyB[71]; int k = 0; while(k != 70) { TempBodyA[k] = ' '; TempBodyB[k] = ' '; k++; } k = 0; xt_par2(XT_SET_ROW_COL_POS, row = 12, col = 25); xt_par0(XT_CH_GREEN); printf("Record %d (%s)", currentRecord+1, catStorage[currentRecord].timedate); //get the time using myui1 xt_par0(XT_CH_WHITE); xt_par2(XT_SET_ROW_COL_POS, row = 14, col = 25); printf("%s", catStorage[currentRecord].category); int j = 0; while(catStorage[currentRecord].body[j] != '\0'){ if (j < 70) TempBodyA[j] = catStorage[currentRecord].body[j]; else if (j < 140) TempBodyB[j%70] = catStorage[currentRecord].body[j]; j++; } TempBodyA[70] = '\0'; TempBodyB[70] = '\0'; xt_par2(XT_SET_ROW_COL_POS, row = 16, col = 25); printf("%s", catStorage[currentRecord].subject); xt_par0(XT_CH_WHITE); xt_par2(XT_SET_ROW_COL_POS, row = 19, col = 25); printf("%s", TempBodyA); xt_par2(XT_SET_ROW_COL_POS, row = 20, col = 25); printf("%s", TempBodyB); xt_par2(XT_SET_ROW_COL_POS, row = 14, col = 25); strncpy(Title, catStorage[currentRecord].subject, sizeof(Title)); strncpy(Body, catStorage[currentRecord].body, sizeof(Body)); strncpy(Category, catStorage[currentRecord].category, sizeof(Category)); } } while(screen == 1 || screen == 2) { while((c = getkey()) == KEY_NOTHING); if (c == KEY_F9){ screen = 0; xt_par0(XT_CLEAR_SCREEN); } else if (c == KEY_DOWN){ if(row == 14) xt_par2(XT_SET_ROW_COL_POS, row = 16, col = 25); else if(row == 16) xt_par2(XT_SET_ROW_COL_POS,row = 19,col = 25); else if(row < 20) xt_par2(XT_SET_ROW_COL_POS,++row,col); } else if (c == KEY_UP){ if(row == 16) xt_par2(XT_SET_ROW_COL_POS, row = 14, col = 25); if(row == 19) xt_par2(XT_SET_ROW_COL_POS,row = 16,col = 25); else if(row == 20) xt_par2(XT_SET_ROW_COL_POS,--row,col); } else if(c == KEY_LEFT && col > 25 && col < 95) xt_par2(XT_SET_ROW_COL_POS,row,--col); else if(c == KEY_LEFT && col == 25 && row == 20) xt_par2(XT_SET_ROW_COL_POS,--row,col=94); else if(c == KEY_RIGHT && col > 24 && col < 37 && row == 14) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(c == KEY_RIGHT && col > 24 && col < 53 && row == 16) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(c == KEY_RIGHT && col > 24 && col < 94 && row > 18) xt_par2(XT_SET_ROW_COL_POS,row,++col); else if(c == KEY_RIGHT && col == 94 && row == 19) xt_par2(XT_SET_ROW_COL_POS,++row,col=25); else if (c == KEY_ENTER && row > 18 && row < 20) xt_par2(XT_SET_ROW_COL_POS,++row,col=25); else if (c == KEY_BACKSPACE && col >= 25 && col < 95 && ((row > 18 && row < 21) || row == 16 || row == 14)){ if(row == 14 && col > 25 && col < 39) { xt_par2(XT_SET_ROW_COL_POS,row,--col); putchar(' '); Category[col - 25] = ' '; } else if(row == 16 && col > 25 && col <= 54) { xt_par2(XT_SET_ROW_COL_POS,row,--col); putchar(' '); Title[col - 25] = ' '; } else if(row == 19 && col > 25 && col <= 95) { xt_par2(XT_SET_ROW_COL_POS,row,--col); putchar(' '); Body[col - 25] = ' '; } else if(row == 20 && col > 25 && col <= 95) { xt_par2(XT_SET_ROW_COL_POS,row,--col); putchar(' '); Body[col + 45] = ' '; } else if(row == 20){ xt_par2(XT_SET_ROW_COL_POS,--row,col=94); putchar(' '); Body[69] = ' '; } xt_par2(XT_SET_ROW_COL_POS,row,col); } else if (c == KEY_DELETE) { if(row == 14 && col >= 25 && col < 38) { putchar(' '); Category[col - 25] = ' '; } else if(row == 16 && col >= 25 && col < 54) { putchar(' '); Title[col - 25] = ' '; } else if(row == 19 && col >= 25 && col <= 95) { putchar(' '); Body[col - 25] = ' '; } else if(row == 20 && col >= 25 && col <= 95) { putchar(' '); Body[col + 45] = ' '; } xt_par2(XT_SET_ROW_COL_POS,row,col); } else if((c >= ' ' && c <= '~') && col >= 25 && col < 95) { if(row == 14 && col >= 25 && col < 40) { putchar(c); Category[col - 25] = c; } else if(row == 16 && col >= 25 && col < 54) { putchar(c); Title[col - 25] = c; } else if(row == 19 && col >= 25 && col <= 95) { putchar(c); Body[col - 25] = c; } else if(row == 20 && col >= 25 && col <= 95) { putchar(c); Body[col + 45] = c; } if (col < 94 && !(row == 16 && col > 52) && !(row == 14 && col > 36)){ ++col; } else{ if (row == 19) xt_par2(XT_SET_ROW_COL_POS,++row,col=25); else xt_par2(XT_SET_ROW_COL_POS,row,col); } } else if(c == KEY_F2 && screen == 1 /* && there is a valid title and description */){ //save record to corresponding subject if(Title[0] != ' ' || Body[0] != ' ' || Category[0] != ' ') { removeBlanks(); readmyStoreFromChildSOCKETS("add", Title, Body, Category, NULL); } int k = 0; while(k != 29) Title[k++] = ' '; k = 0; while(k != 140) Body[k++] = ' '; k = 0; while(k != 15) Category[k++] = ' '; maxRecord++; screen = 0; } else if(c == KEY_F2 && screen == 2 /* && there has been a valid change in the record */){ //update record removeBlanks(); char str[80]; for(i = 0; i < maxRecord; i++){ if(strcmp(catStorage[currentRecord].subject, dataStorage[i].subject) == 0 && strcmp(catStorage[currentRecord].body, dataStorage[i].body) == 0 && strcmp(catStorage[currentRecord].category, dataStorage[i].category) == 0 && strcmp(catStorage[currentRecord].timedate, dataStorage[i].timedate) == 0){//looks for corresponding record in the actual record list sprintf(str, "%d", i+1); break; } } readmyStoreFromChildSOCKETS("edit", str, Title, Body, Category); int k = 0; while(k != 29) Title[k++] = ' '; k = 0; while(k != 140) Body[k++] = ' '; k = 0; while(k != 15) Category[k++] = ' '; screen = 0; } } if (screen == 4){ for(reset = 0; reset < 29; reset++) Title[reset] = ' '; for(reset = 0; reset < 140; reset++) Body[reset] = ' '; for(reset = 0; reset < 16; reset++) Category[reset] = ' '; deleteScreen(); if (screen == 4){ char TempBodyA[71]; char TempBodyB[71]; int k = 0; while(k != 70) { TempBodyA[k] = ' '; TempBodyB[k] = ' '; k++; } k = 0; xt_par2(XT_SET_ROW_COL_POS, row = 12, col = 25); xt_par0(XT_CH_GREEN); printf("Record %d (%s)", currentRecord+1, catStorage[currentRecord].timedate); //get the time using myui1 xt_par0(XT_CH_WHITE); xt_par2(XT_SET_ROW_COL_POS, row = 14, col = 25); printf("%s", catStorage[currentRecord].category); int j = 0; while(catStorage[currentRecord].body[j] != '\0'){ if (j < 70) TempBodyA[j] = catStorage[currentRecord].body[j]; else if (j < 140) TempBodyB[j%70] = catStorage[currentRecord].body[j]; j++; } TempBodyA[70] = '\0'; TempBodyB[70] = '\0'; xt_par2(XT_SET_ROW_COL_POS, row = 16, col = 25); printf("%s", catStorage[currentRecord].subject); xt_par0(XT_CH_WHITE); xt_par2(XT_SET_ROW_COL_POS, row = 19, col = 25); printf("%s", TempBodyA); xt_par2(XT_SET_ROW_COL_POS, row = 20, col = 25); printf("%s", TempBodyB); xt_par2(XT_SET_ROW_COL_POS, row = 14, col = 25); strncpy(Title, catStorage[currentRecord].subject, sizeof(Title)); strncpy(Body, catStorage[currentRecord].body, sizeof(Body)); strncpy(Category, catStorage[currentRecord].category, sizeof(Category)); //print corresponding record in correct locations using myui1 } } while(screen == 4) { while((c = getkey()) == KEY_NOTHING); if (c == KEY_F9){ screen = 0; xt_par0(XT_CLEAR_SCREEN); } else if (c == KEY_F3){ char str[80]; for(i = 0; i < maxRecord; i++){ if(strcmp(catStorage[currentRecord].subject, dataStorage[i].subject) == 0 && strcmp(catStorage[currentRecord].body, dataStorage[i].body) == 0 && strcmp(catStorage[currentRecord].category, dataStorage[i].category) == 0 && strcmp(catStorage[currentRecord].timedate, dataStorage[i].timedate) == 0){ //looks for corresponding record in the actual record list sprintf(str, "%d", i+1); break; } } readmyStoreFromChildSOCKETS("delete", str, NULL, NULL, NULL); maxRecord--; screen = 0; } } if (screen == 3) break; } getkey_terminate(); xt_par0(XT_CLEAR_SCREEN); xt_par0(XT_BG_DEFAULT); xt_par2(XT_SET_ROW_COL_POS,row=1,col=1); getkey_terminate(); return 0; }
static LRESULT CALLBACK mainWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: switch (LOWORD(wParam)) { case IDCANCEL: // test for unsaved data if (ARG->m_config != ARG->m_oldConfig) { if (!askVerify(hwnd, getString(IDS_UNSAVED_DATA_REALLY_QUIT))) { return 0; } } // quit PostQuitMessage(0); return 0; case IDOK: case IDC_MAIN_TEST: { // note if testing const bool testing = (LOWORD(wParam) == IDC_MAIN_TEST); // save data if (ARG->m_config != ARG->m_oldConfig) { if (!saveConfig(ARG->m_config, false)) { showError(hwnd, CStringUtil::format( getString(IDS_SAVE_FAILED).c_str(), getErrorString(GetLastError()).c_str())); return 0; } ARG->m_oldConfig = ARG->m_config; enableSaveControls(hwnd); } // launch child app DWORD threadID; HANDLE thread = launchApp(hwnd, testing, &threadID); if (thread == NULL) { return 0; } // handle child program if (testing) { // wait for process to stop, allowing the user to kill it waitForChild(hwnd, thread, threadID); // clean up CloseHandle(thread); } else { // don't need thread handle CloseHandle(thread); // notify of success askOkay(hwnd, getString(IDS_STARTED_TITLE), getString(IDS_STARTED)); // quit PostQuitMessage(0); } return 0; } case IDC_MAIN_AUTOSTART: { // construct command line CString cmdLine = getCommandLine(hwnd, false); if (!cmdLine.empty()) { // run dialog CAutoStart autoStart(hwnd, isClientChecked(hwnd) ? NULL : &ARG->m_config, cmdLine); autoStart.doModal(); if (autoStart.wasUserConfigSaved()) { ARG->m_oldConfig = ARG->m_config; enableSaveControls(hwnd); } } return 0; } case IDC_MAIN_SAVE: if (!saveConfig(ARG->m_config, false)) { showError(hwnd, CStringUtil::format( getString(IDS_SAVE_FAILED).c_str(), getErrorString(GetLastError()).c_str())); } else { ARG->m_oldConfig = ARG->m_config; enableSaveControls(hwnd); } return 0; case IDC_MAIN_CLIENT_RADIO: case IDC_MAIN_SERVER_RADIO: enableMainWindowControls(hwnd); return 0; case IDC_MAIN_SERVER_ADD_BUTTON: addScreen(hwnd); return 0; case IDC_MAIN_SERVER_EDIT_BUTTON: editScreen(hwnd); return 0; case IDC_MAIN_SERVER_REMOVE_BUTTON: removeScreen(hwnd); return 0; case IDC_MAIN_SERVER_SCREENS_LIST: if (HIWORD(wParam) == LBN_SELCHANGE) { enableScreensControls(hwnd); updateNeighbors(hwnd); } else if (HIWORD(wParam) == LBN_DBLCLK) { editScreen(hwnd); return 0; } break; case IDC_MAIN_SERVER_LEFT_COMBO: if (HIWORD(wParam) == CBN_SELENDOK) { changeNeighbor(hwnd, (HWND)lParam, kLeft); return 0; } break; case IDC_MAIN_SERVER_RIGHT_COMBO: if (HIWORD(wParam) == CBN_SELENDOK) { changeNeighbor(hwnd, (HWND)lParam, kRight); return 0; } break; case IDC_MAIN_SERVER_TOP_COMBO: if (HIWORD(wParam) == CBN_SELENDOK) { changeNeighbor(hwnd, (HWND)lParam, kTop); return 0; } break; case IDC_MAIN_SERVER_BOTTOM_COMBO: if (HIWORD(wParam) == CBN_SELENDOK) { changeNeighbor(hwnd, (HWND)lParam, kBottom); return 0; } break; case IDC_MAIN_OPTIONS: s_globalOptions->doModal(); enableSaveControls(hwnd); break; case IDC_MAIN_ADVANCED: s_advancedOptions->doModal(isClientChecked(hwnd)); enableSaveControls(hwnd); break; } default: break; } return DefDlgProc(hwnd, message, wParam, lParam); }