📄 initgui.c
字号:
attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port0ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyS1 "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port1ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyS2 "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port2ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyS3 "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port3ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB0 "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB0ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB1 "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB1ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB2 "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB2ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB3 "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB3ButtonCB); addButton(portMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " Close menu "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &closePortMenuCB); addButton(portMenu, btn, TRUE); regionMenu = newVMenu(0, FONT_HEIGHT + 8, 0, 0, black, lgray, white, gray); btn = newButton(0, 0, 0, 0, 0, 0, regionTypeText); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack); addButton(regionMenu, btn, TRUE); btn = newButton(0, 0, 0, 0, 0, 0, " program "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &programSelectCB); addButton(regionMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " ID "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &idSelectCB); addButton(regionMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " configuration "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &configSelectCB); addButton(regionMenu, btn, FALSE); regionDataButton = newButton(0, 0, gray, lgray, 0, 0, " data "); attachCallBack(regionDataButton, SDL_MOUSEBUTTONDOWN, (void *) &dataSelectCB); addButton(regionMenu, regionDataButton, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " cancel "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &cancelSelectCB); addButton(regionMenu, btn, TRUE); eraseRegionMenu = newVMenu(50, FONT_HEIGHT * 3 - 4, 0, 0, black, lgray, white, gray); btn = newButton(0, 0, 0, 0, 0, 0, " Erase select "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack); addButton(eraseRegionMenu, btn, TRUE); btn = newButton(0, 0, 0, 0, 0, 0, " program "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &erasePgmSelectCB); addButton(eraseRegionMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " ID "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &eraseIDSelectCB); addButton(eraseRegionMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " configuration "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &eraseConfigSelectCB); addButton(eraseRegionMenu, btn, FALSE); eraseRegionDataButton = newButton(0, 0, gray, lgray, 0, 0, " data "); attachCallBack(eraseRegionDataButton, SDL_MOUSEBUTTONDOWN, (void *) &eraseDataSelectCB); addButton(eraseRegionMenu, eraseRegionDataButton, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " flash device "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &eraseFlashSelectCB); addButton(eraseRegionMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " cancel "); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &cancelEraseSelectCB); addButton(eraseRegionMenu, btn, TRUE); userFileNameWin = newWindow(100, 30, 44 * FONT_WIDTH, 6 * FONT_HEIGHT, black, green, lgreen, dgreen); attachCallBack(userFileNameWin, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack); userFileName = newInputBox(100 + FONT_WIDTH, 40 + FONT_HEIGHT, FONT_WIDTH * 40, FONT_HEIGHT + 4, black, white, gray, lgray); userFileNameBuffer[0] = '\0'; addInput(userFileName, userFileNameBuffer); addInputBox(userFileNameWin, userFileName); attachCallBack(userFileName, SDL_MOUSEBUTTONDOWN, (void *) &userFileInputCB); attachCallBack(userFileName, SDL_KEYDOWN, (void *) &userFileInputCB); userFileNameLabel = newLabel(1, 1, 0, 0, 0, 0, " Enter file name: "); addLabel(userFileNameWin, userFileNameLabel, FALSE); userFileNameCancelButton = newButton(30, 50, black, lgray, gray, lgray, " Cancel "); attachCallBack(userFileNameCancelButton, SDL_MOUSEBUTTONDOWN, (void *) &userFileCancelCB); addButton(userFileNameWin, userFileNameCancelButton, TRUE); userFileNameOkButton = newButton(180, 50, black, lgray, gray, lgray, " Ok "); attachCallBack(userFileNameOkButton, SDL_MOUSEBUTTONDOWN, (void *) &userFileOkCB); addButton(userFileNameWin, userFileNameOkButton, TRUE); editBoxWin = newWindow(60, 100, 63 * FONT_WIDTH, 6 * FONT_HEIGHT, black, green, lgreen, dgreen); attachCallBack(editBoxWin, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack); editBox = newInputBox(70 + FONT_WIDTH, 110 + FONT_HEIGHT, FONT_WIDTH * 57, FONT_HEIGHT + 4, black, white, gray, lgray); editBoxBuffer[0] = '\0'; addInput(editBox, editBoxBuffer); addInputBox(editBoxWin, editBox); attachCallBack(editBox, SDL_MOUSEBUTTONDOWN, (void *) &editBoxCB); attachCallBack(editBox, SDL_KEYDOWN, (void *) &editBoxCB); editBoxLabel = newLabel(1, 1, 0, 0, 0, 0, " "); addLabel(editBoxWin, editBoxLabel, FALSE); editBoxCancelButton = newButton(80, 50, black, lgray, gray, lgray, " Cancel "); attachCallBack(editBoxCancelButton, SDL_MOUSEBUTTONDOWN, (void *) &editBoxCancelCB); addButton(editBoxWin, editBoxCancelButton, TRUE); editBoxOkButton = newButton(220, 50, black, lgray, gray, lgray, " Ok "); attachCallBack(editBoxOkButton, SDL_MOUSEBUTTONDOWN, (void *) &editBoxOkCB); addButton(editBoxWin, editBoxOkButton, TRUE); connectWin = newWindow(120, 30, 18 * FONT_WIDTH, 2 * FONT_HEIGHT, black, green, lgreen, dgreen); addLabel(connectWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Connecting... "), FALSE); readingWin = newWindow(280, 30, 15 * FONT_WIDTH, 2 * FONT_HEIGHT, black, green, lgreen, dgreen); addLabel(readingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Reading... "), FALSE); writingWin = newWindow(80, 30, 19 * FONT_WIDTH, 2 * FONT_HEIGHT, black, lred, pink, red); addLabel(writingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Programming... "), FALSE); erasingWin = newWindow(80, 30, 19 * FONT_WIDTH, 2 * FONT_HEIGHT, black, lred, pink, red); addLabel(erasingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Erasing... "), FALSE); checkingWin = newWindow(160, 30, 15 * FONT_WIDTH, 2 * FONT_HEIGHT, black, green, lgreen, dgreen); addLabel(checkingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Checking... "), FALSE); outputWin = newTextBox(outputWinX, outputWinY, outputWinW, outputWinH, black, white, lgray, gray); attachCallBack(outputWin, SDL_MOUSEBUTTONDOWN, (void *) &outputWinCB); attachCallBack(outputWin, SDL_KEYDOWN, (void *) &outputWinCB); pmwLabel = newLabel(1, 2, white, blue, lblue, dblue, "Program Memory Window"); pmwLabel->w = outputWinW - 2; attachCallBack(pmwLabel, SDL_MOUSEBUTTONDOWN, (void *) &displayLabelCB); addLabel(outputWin, pmwLabel, TRUE); dmwLabel = newLabel(1, 2, black, green, lgreen, dgreen, "Data Memory Window"); dmwLabel->w = outputWinW - 2; dmwLabel->border = TRUE; attachCallBack(dmwLabel, SDL_MOUSEBUTTONDOWN, (void *) &displayLabelCB); i = FONT_HEIGHT * 1 + 8; progLine0 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[0]); progLine0->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine0, FALSE); i += FONT_HEIGHT; progLine1 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[1]); progLine1->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine1, FALSE); i += FONT_HEIGHT; progLine2 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[2]); progLine2->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine2, FALSE); i += FONT_HEIGHT; progLine3 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[3]); progLine3->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine3, FALSE); i += FONT_HEIGHT; progLine4 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[4]); progLine4->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine4, FALSE); i += FONT_HEIGHT; progLine5 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[5]); progLine5->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine5, FALSE); i += FONT_HEIGHT; progLine6 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[6]); progLine6->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine6, FALSE); i += FONT_HEIGHT; progLine7 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[7]); progLine7->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine7, FALSE); i += FONT_HEIGHT; progLine8 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[8]); progLine8->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine8, FALSE); i += FONT_HEIGHT; progLine9 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[9]); progLine9->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLine9, FALSE); i += FONT_HEIGHT; progLineA = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[10]); progLineA->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLineA, FALSE); i += FONT_HEIGHT; progLineB = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[11]); progLineB->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLineB, FALSE); i += FONT_HEIGHT; progLineC = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[12]); progLineC->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLineC, FALSE); i += FONT_HEIGHT; progLineD = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[13]); progLineD->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLineD, FALSE); i += FONT_HEIGHT; progLineE = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[14]); progLineE->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLineE, FALSE); i += FONT_HEIGHT; progLineF = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[15]); progLineF->w = outputWinW - OUTPUT_WIN_OFFSET; addLabel(outputWin, progLineF, FALSE); outputWin->lines = 16; outputWin->vlines = 16; disVSlider = newVSlider(outputWinX + outputWin->w + 1, outputWinY, 10, outputWinH, lgray, lgray, white, gray, 0, 0); attachCallBack(disVSlider, SDL_MOUSEBUTTONDOWN, (void *) &disVSliderCB); attachCallBack(disVSlider, SDL_MOUSEBUTTONUP, (void *) &disVSliderCB); attachCallBack(disVSlider, SDL_MOUSEMOTION, (void *) &disVSliderCB); attachCallBack(disVSlider, SLIDER_AUTO_CALLBACK, (void *) &disVSliderCB); disVSlider->parent = (void *) outputWin; disVSlider->range = 0; disVSlider->offset = 0; disVSlider->change = DISPLAY_LINES; disVSlider->position = 0; disVSlider->pc = 0; outputWin->lines = 0; showWidget(disVSlider); helpMenu = newVMenu(HELP_MENU_X, HELP_MENU_Y, 0, 0, black, lgray, white, gray); btn = newButton(0, 0, 0, 0, 0, 0, "Help topics:"); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack); addButton(helpMenu, btn, TRUE); btn = newButton(0, 0, 0, 0, 0, 0, " File"); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &FileHelpCB); addButton(helpMenu, btn, FALSE); btn = newButton(0, 0, 0, 0, 0, 0, " Open"); attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &OpenHelpCB); addButton(helpMenu, btn, FALSE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -