|
|
1.1 ! root 1: /* ! 2: Previous - dlgDimension.c ! 3: ! 4: This file is distributed under the GNU Public License, version 2 or at ! 5: your option any later version. Read the file gpl.txt for details. ! 6: ! 7: */ ! 8: ! 9: const char DlgGraphics_fileid[] = "Previous dlgGraphics.c : " __DATE__ " " __TIME__; ! 10: ! 11: #include "main.h" ! 12: #include "configuration.h" ! 13: #include "dialog.h" ! 14: #include "sdlgui.h" ! 15: #include "file.h" ! 16: ! 17: ! 18: #define GDLG_BOARD0 5 ! 19: #define GDLG_BOARD1 7 ! 20: #define GDLG_BOARD2 9 ! 21: #define GDLG_MONOCHROME 12 ! 22: #define GDLG_COLOR 13 ! 23: #define GDLG_ALL 14 ! 24: #define GDLG_DISPLAY 17 ! 25: #define GDLG_EXIT 19 ! 26: ! 27: static SGOBJ graphicsdlg[] = ! 28: { ! 29: { SGBOX, 0, 0, 0, 0, 56,24, NULL }, ! 30: { SGTEXT, 0, 0, 20, 1, 16, 1, "Graphics options" }, ! 31: ! 32: { SGBOX, 0, 0, 2, 3, 32, 9, NULL }, ! 33: { SGTEXT, 0, 0, 3, 4, 21, 1, "NeXTdimension boards:" }, ! 34: { SGTEXT, 0, 0, 4, 6, 16, 1, "Board at slot 2:" }, ! 35: { SGBUTTON, 0, 0, 22, 6, 10, 1, "Add" }, ! 36: { SGTEXT, 0, 0, 4, 8, 16, 1, "Board at slot 4:" }, ! 37: { SGBUTTON, 0, 0, 22, 8, 10, 1, "Add" }, ! 38: { SGTEXT, 0, 0, 4, 10, 16, 1, "Board at slot 6:" }, ! 39: { SGBUTTON, 0, 0, 22,10, 10, 1, "Add" }, ! 40: ! 41: { SGBOX, 0, 0, 35, 3, 19, 9, NULL }, ! 42: { SGTEXT, 0, 0, 36, 4, 13, 1, "Show display:" }, ! 43: { SGRADIOBUT, 0, 0, 37, 6, 12, 1, "Monochrome" }, ! 44: { SGRADIOBUT, 0, 0, 37, 8, 7, 1, "Color" }, ! 45: { SGRADIOBUT, 0, 0, 37,10, 5, 1, "All" }, ! 46: ! 47: { SGBOX, 0, 0, 2, 13, 52, 3, NULL }, ! 48: { SGTEXT, 0, 0, 3, 14, 13, 1, "Main display:" }, ! 49: { SGCHECKBOX, 0, 0, 18,14, 26, 1, "Console on NeXTdimension" }, ! 50: ! 51: { SGTEXT, 0, 0, 2, 18, 52, 1, "Note: NeXTdimension does not work with NeXTstations." }, ! 52: ! 53: { SGBUTTON, SG_DEFAULT, 0, 17,21, 21,1, "Back to main menu" }, ! 54: ! 55: { -1, 0, 0, 0,0, 0,0, NULL } ! 56: }; ! 57: ! 58: ! 59: #define SDLG_SLOT0 2 ! 60: #define SDLG_SLOT1 3 ! 61: #define SDLG_SLOT2 4 ! 62: #define SDLG_SELECT 5 ! 63: ! 64: static SGOBJ slotdlg[] = ! 65: { ! 66: { SGBOX, 0, 0, 0, 0, 20,12, NULL }, ! 67: { SGTEXT, 0, 0, 4, 1, 12, 1, "Select slot:" }, ! 68: ! 69: { SGRADIOBUT, 0, 0, 6, 3, 8, 1, "Slot 2" }, ! 70: { SGRADIOBUT, 0, 0, 6, 5, 8, 1, "Slot 4" }, ! 71: { SGRADIOBUT, 0, 0, 6, 7, 8, 1, "Slot 6" }, ! 72: ! 73: { SGBUTTON, SG_DEFAULT, 0, 5,10, 10,1, "Select" }, ! 74: ! 75: { -1, 0, 0, 0,0, 0,0, NULL } ! 76: }; ! 77: ! 78: ! 79: ! 80: /*-----------------------------------------------------------------------*/ ! 81: /** ! 82: * Show and process the "Slot select" dialog. ! 83: */ ! 84: void Dialog_SlotSelect(int *slot) ! 85: { ! 86: int but; ! 87: ! 88: SDLGui_CenterDlg(slotdlg); ! 89: ! 90: /* Set up dialog from actual values: */ ! 91: slotdlg[SDLG_SLOT0].state &= ~SG_SELECTED; ! 92: slotdlg[SDLG_SLOT1].state &= ~SG_SELECTED; ! 93: slotdlg[SDLG_SLOT2].state &= ~SG_SELECTED; ! 94: ! 95: switch (*slot) { ! 96: case 0: ! 97: slotdlg[SDLG_SLOT0].state |= SG_SELECTED; ! 98: break; ! 99: case 1: ! 100: slotdlg[SDLG_SLOT1].state |= SG_SELECTED; ! 101: break; ! 102: case 2: ! 103: slotdlg[SDLG_SLOT2].state |= SG_SELECTED; ! 104: break; ! 105: ! 106: default: ! 107: break; ! 108: } ! 109: ! 110: /* Draw and process the dialog: */ ! 111: ! 112: do { ! 113: but = SDLGui_DoDialog(slotdlg, NULL); ! 114: } ! 115: while (but != SDLG_SELECT && but != SDLGUI_QUIT ! 116: && but != SDLGUI_ERROR && !bQuitProgram); ! 117: ! 118: if (slotdlg[SDLG_SLOT2].state&SG_SELECTED) { ! 119: *slot = 2; ! 120: } else if (slotdlg[SDLG_SLOT1].state&SG_SELECTED) { ! 121: *slot = 1; ! 122: } else { ! 123: *slot = 0; ! 124: } ! 125: } ! 126: ! 127: ! 128: /*-----------------------------------------------------------------------*/ ! 129: /** ! 130: * Show and process the "Graphics" dialog. ! 131: */ ! 132: void Dialog_GraphicsDlg(void) ! 133: { ! 134: int but; ! 135: char colordisplay[16]; ! 136: char maindisplay[64]; ! 137: ! 138: SDLGui_CenterDlg(graphicsdlg); ! 139: ! 140: /* Set up dialog from actual values: */ ! 141: ! 142: if (ConfigureParams.Dimension.board[0].bEnabled) { ! 143: graphicsdlg[GDLG_BOARD0].txt = "Remove"; ! 144: } else { ! 145: graphicsdlg[GDLG_BOARD0].txt = "Add"; ! 146: } ! 147: ! 148: if (ConfigureParams.Dimension.board[1].bEnabled) { ! 149: graphicsdlg[GDLG_BOARD1].txt = "Remove"; ! 150: } else { ! 151: graphicsdlg[GDLG_BOARD1].txt = "Add"; ! 152: } ! 153: ! 154: if (ConfigureParams.Dimension.board[2].bEnabled) { ! 155: graphicsdlg[GDLG_BOARD2].txt = "Remove"; ! 156: } else { ! 157: graphicsdlg[GDLG_BOARD2].txt = "Add"; ! 158: } ! 159: ! 160: if (ConfigureParams.Dimension.bMainDisplay) { ! 161: graphicsdlg[GDLG_DISPLAY].state |= SG_SELECTED; ! 162: } else { ! 163: graphicsdlg[GDLG_DISPLAY].state &= ~SG_SELECTED; ! 164: } ! 165: ! 166: graphicsdlg[GDLG_COLOR].state &= ~SG_SELECTED; ! 167: graphicsdlg[GDLG_MONOCHROME].state &= ~SG_SELECTED; ! 168: graphicsdlg[GDLG_ALL].state &= ~SG_SELECTED; ! 169: ! 170: switch (ConfigureParams.Screen.nMonitorType) { ! 171: case MONITOR_TYPE_DUAL: ! 172: graphicsdlg[GDLG_ALL].state |= SG_SELECTED; ! 173: break; ! 174: case MONITOR_TYPE_CPU: ! 175: graphicsdlg[GDLG_MONOCHROME].state |= SG_SELECTED; ! 176: break; ! 177: case MONITOR_TYPE_DIMENSION: ! 178: graphicsdlg[GDLG_COLOR].state |= SG_SELECTED; ! 179: break; ! 180: ! 181: default: ! 182: break; ! 183: } ! 184: ! 185: /* Draw and process the dialog: */ ! 186: ! 187: do { ! 188: ! 189: if (ConfigureParams.Dimension.bMainDisplay) { ! 190: sprintf(maindisplay, "Console on NeXTdimension (Slot %i)", ConfigureParams.Dimension.nMainDisplay*2+2); ! 191: graphicsdlg[GDLG_DISPLAY].txt = maindisplay; ! 192: } else { ! 193: graphicsdlg[GDLG_DISPLAY].txt = "Console on NeXTdimension"; ! 194: } ! 195: ! 196: if (ConfigureParams.Screen.nMonitorType == MONITOR_TYPE_DIMENSION) { ! 197: sprintf(colordisplay, "Color (Slot %i)", ConfigureParams.Screen.nMonitorNum*2+2); ! 198: graphicsdlg[GDLG_COLOR].txt = colordisplay; ! 199: } else { ! 200: graphicsdlg[GDLG_COLOR].txt = "Color"; ! 201: } ! 202: ! 203: ! 204: but = SDLGui_DoDialog(graphicsdlg, NULL); ! 205: ! 206: switch (but) { ! 207: case GDLG_BOARD0: ! 208: if (Dialog_DimensionDlg(0)) { ! 209: graphicsdlg[GDLG_BOARD0].txt = "Remove"; ! 210: } else { ! 211: graphicsdlg[GDLG_BOARD0].txt = "Add"; ! 212: } ! 213: break; ! 214: ! 215: case GDLG_BOARD1: ! 216: if (Dialog_DimensionDlg(1)) { ! 217: graphicsdlg[GDLG_BOARD1].txt = "Remove"; ! 218: } else { ! 219: graphicsdlg[GDLG_BOARD1].txt = "Add"; ! 220: } ! 221: break; ! 222: ! 223: case GDLG_BOARD2: ! 224: if (Dialog_DimensionDlg(2)) { ! 225: graphicsdlg[GDLG_BOARD2].txt = "Remove"; ! 226: } else { ! 227: graphicsdlg[GDLG_BOARD2].txt = "Add"; ! 228: } ! 229: break; ! 230: ! 231: case GDLG_ALL: ! 232: ConfigureParams.Screen.nMonitorType = MONITOR_TYPE_DUAL; ! 233: break; ! 234: ! 235: case GDLG_MONOCHROME: ! 236: ConfigureParams.Screen.nMonitorType = MONITOR_TYPE_CPU; ! 237: break; ! 238: ! 239: case GDLG_COLOR: ! 240: ConfigureParams.Screen.nMonitorType = MONITOR_TYPE_DIMENSION; ! 241: Dialog_SlotSelect(&ConfigureParams.Screen.nMonitorNum); ! 242: break; ! 243: ! 244: case GDLG_DISPLAY: ! 245: if (ConfigureParams.Dimension.bMainDisplay) { ! 246: ConfigureParams.Dimension.bMainDisplay = false; ! 247: } else { ! 248: ConfigureParams.Dimension.bMainDisplay = true; ! 249: Dialog_SlotSelect(&ConfigureParams.Dimension.nMainDisplay); ! 250: } ! 251: break; ! 252: ! 253: default: ! 254: break; ! 255: } ! 256: } ! 257: while (but != GDLG_EXIT && but != SDLGUI_QUIT ! 258: && but != SDLGUI_ERROR && !bQuitProgram); ! 259: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.