Annotation of mstools/samples/sdktools/perfmon/dialogs.c, revision 1.1.1.1

1.1       root        1: /*****************************************************************************
                      2:  *
                      3:  *  Dialogs.c - This module handles the Menu and Dialog user interactions.
                      4:  *
                      5:  *  Microsoft Confidential
                      6:  *  Copyright (c) 1992-1993 Microsoft Corporation
                      7:  *
                      8:  ****************************************************************************/
                      9: 
                     10: #include <stdio.h>
                     11: 
                     12: #include "perfmon.h"
                     13: 
                     14: #include "alert.h"     // for SetAlertTimer, AlertData
                     15: #include "graph.h"
                     16: #include "cderr.h"
                     17: #include "utils.h"
                     18: #include "playback.h"  // for PlayingBackLog
                     19: #include "grafdisp.h"  // for ToggleGraphRefresh
                     20: #include "pmhelpid.h"  // Help IDs
                     21: 
                     22: 
                     23: static BOOL          LocalManualRefresh ;
                     24: 
                     25: 
                     26: /***************************************************************************/
                     27: BOOL FAR PASCAL GraphOptionDlg(HWND hDlg, WORD msg, DWORD wParam, LONG lParam)
                     28: /***************************************************************************/
                     29: {
                     30: static GRAPH_OPTIONS goLocalCopy ;
                     31: 
                     32: INT            iTimeMilliseconds ;
                     33: TCHAR          szBuff[MiscTextLen] ;
                     34: PGRAPHSTRUCT   lgraph;
                     35: 
                     36:    lParam ;
                     37:    lgraph = pGraphs;
                     38: 
                     39:    switch(msg)
                     40:       {
                     41: 
                     42:       case WM_INITDIALOG:
                     43: 
                     44:          dwCurrentDlgID = HC_PM_idDlgOptionChart ;
                     45: 
                     46:          // Init the Radio button, Check boxes and text fields.
                     47: 
                     48:          goLocalCopy.iGraphOrHistogram =
                     49:             lgraph->gOptions.iGraphOrHistogram ;
                     50:          if (lgraph->gOptions.iGraphOrHistogram == LINE_GRAPH)
                     51:             CheckRadioButton(hDlg, ID_GRAPH, ID_HISTOGRAM, ID_GRAPH) ;
                     52:          else
                     53:             CheckRadioButton(hDlg, ID_GRAPH, ID_HISTOGRAM, ID_HISTOGRAM) ;
                     54: 
                     55:          CheckDlgButton(hDlg, ID_LEGEND, lgraph->gOptions.bLegendChecked) ;
                     56:          if (!(lgraph->gOptions.bLegendChecked))
                     57:             {
                     58:             // can't display valuebar w/o legend
                     59:             DialogEnable (hDlg, IDD_CHARTOPTIONSVALUEBAR, FALSE) ;
                     60:             }
                     61: 
                     62:          CheckDlgButton(hDlg, ID_LABELS, lgraph->gOptions.bLabelsChecked) ;
                     63:          CheckDlgButton(hDlg, ID_VERT_GRID, lgraph->gOptions.bVertGridChecked) ;
                     64:          CheckDlgButton(hDlg, ID_HORZ_GRID, lgraph->gOptions.bHorzGridChecked) ;
                     65:          CheckDlgButton(hDlg, IDD_CHARTOPTIONSVALUEBAR,
                     66:             lgraph->gOptions.bStatusBarChecked) ;
                     67: 
                     68:          TSPRINTF(szBuff, TEXT("%d"), lgraph->gOptions.iVertMax) ;
                     69:          SendDlgItemMessage(hDlg, ID_VERT_MAX, WM_SETTEXT, 0, (LONG) szBuff) ;
                     70: 
                     71:          TSPRINTF(szBuff, TEXT("%3.3f"), lgraph->gOptions.eTimeInterval) ;
                     72:          SendDlgItemMessage(hDlg, IDD_CHARTOPTIONSINTERVAL, WM_SETTEXT, 0, (LONG) szBuff) ;
                     73: 
                     74:          // Pickup a local copy of the Graph Options.
                     75: 
                     76:          goLocalCopy = lgraph->gOptions ;
                     77:          LocalManualRefresh = lgraph->bManualRefresh ;
                     78: 
                     79:          if (PlayingBackLog())
                     80:             {
                     81:             DialogEnable (hDlg, IDD_CHARTOPTIONSPERIODIC, FALSE) ;
                     82:             DialogEnable (hDlg, IDD_CHARTOPTIONSUPDATETEXT, FALSE) ;
                     83:             DialogEnable (hDlg, IDD_CHARTOPTIONSMANUALREFRESH, FALSE) ;
                     84:             }
                     85:          else
                     86:             {
                     87:             CheckRadioButton (hDlg,
                     88:                IDD_CHARTOPTIONSMANUALREFRESH,
                     89:                IDD_CHARTOPTIONSPERIODIC,
                     90:                LocalManualRefresh ? IDD_CHARTOPTIONSMANUALREFRESH :
                     91:                IDD_CHARTOPTIONSPERIODIC) ;
                     92:             }
                     93: 
                     94:          if (lgraph->bManualRefresh || PlayingBackLog())
                     95:             {
                     96:             DialogEnable (hDlg, IDD_CHARTOPTIONSINTERVALTEXT, FALSE) ;
                     97:             DialogEnable (hDlg, IDD_CHARTOPTIONSINTERVAL, FALSE) ;
                     98:             }
                     99:          else
                    100:             {
                    101:             DialogEnable (hDlg, IDD_CHARTOPTIONSINTERVALTEXT, TRUE) ;
                    102:             DialogEnable (hDlg, IDD_CHARTOPTIONSINTERVAL, TRUE) ;
                    103:             }
                    104: 
                    105:          EditSetLimit (GetDlgItem(hDlg, ID_VERT_MAX),
                    106:             sizeof(szBuff) / sizeof(TCHAR) - 1) ;
                    107: 
                    108:          EditSetLimit (GetDlgItem(hDlg, IDD_CHARTOPTIONSINTERVAL),
                    109:             ShortTextLen) ;
                    110: 
                    111:          WindowCenter (hDlg) ;
                    112:          return(TRUE);
                    113: 
                    114:       case WM_COMMAND:
                    115:          switch(LOWORD(wParam))
                    116:             {
                    117:             case ID_VERT_MAX:
                    118:                if (HIWORD(wParam) == EN_CHANGE)
                    119:                   {
                    120:                   DialogText(hDlg, ID_VERT_MAX, szBuff) ;
                    121:                   swscanf(szBuff, TEXT("%d"), &goLocalCopy.iVertMax) ;
                    122:                   }
                    123:                break ;
                    124: 
                    125: 
                    126:             case IDD_CHARTOPTIONSINTERVAL:
                    127:                if (HIWORD(wParam) == EN_CHANGE)
                    128:                   {
                    129:                   goLocalCopy.eTimeInterval =
                    130:                      DialogFloat (hDlg, IDD_CHARTOPTIONSINTERVAL, NULL) ;
                    131:                   }
                    132:                break ;
                    133: 
                    134:             case IDD_CHARTOPTIONSPERIODIC:
                    135:             case IDD_CHARTOPTIONSMANUALREFRESH:
                    136:                // check if the Manual refresh is currently checked.
                    137:                // Then toggle the ManualRefresh button
                    138:                LocalManualRefresh =
                    139:                   IsDlgButtonChecked (hDlg, IDD_CHARTOPTIONSMANUALREFRESH) ;
                    140:                CheckRadioButton (hDlg,
                    141:                   IDD_CHARTOPTIONSMANUALREFRESH,
                    142:                   IDD_CHARTOPTIONSPERIODIC,
                    143:                   LocalManualRefresh ? IDD_CHARTOPTIONSPERIODIC :
                    144:                   IDD_CHARTOPTIONSMANUALREFRESH) ;
                    145: 
                    146:                // gray out time interval if necessary...
                    147:                DialogEnable (hDlg, IDD_CHARTOPTIONSINTERVALTEXT,
                    148:                   LocalManualRefresh) ;
                    149:                DialogEnable (hDlg, IDD_CHARTOPTIONSINTERVAL,
                    150:                   LocalManualRefresh) ;
                    151:                LocalManualRefresh = !LocalManualRefresh ;
                    152:                break ;
                    153: 
                    154:             case IDD_CHARTOPTIONSVALUEBAR:
                    155:                if (goLocalCopy.bStatusBarChecked == TRUE)
                    156:                   goLocalCopy.bStatusBarChecked = FALSE ;
                    157:                else
                    158:                   goLocalCopy.bStatusBarChecked = TRUE ;
                    159:                break ;
                    160: 
                    161: 
                    162:             case ID_LEGEND:
                    163:                if (goLocalCopy.bLegendChecked == TRUE)
                    164:                   goLocalCopy.bLegendChecked = FALSE ;
                    165:                else
                    166:                   goLocalCopy.bLegendChecked = TRUE ;
                    167: 
                    168:                DialogEnable (hDlg, IDD_CHARTOPTIONSVALUEBAR,
                    169:                   goLocalCopy.bLegendChecked) ;
                    170: 
                    171:                break ;
                    172: 
                    173: 
                    174:             case ID_LABELS:
                    175:                if (goLocalCopy.bLabelsChecked == TRUE)
                    176:                   goLocalCopy.bLabelsChecked = FALSE ;
                    177:                else
                    178:                   goLocalCopy.bLabelsChecked = TRUE ;
                    179:                break ;
                    180: 
                    181: 
                    182:             case ID_VERT_GRID:
                    183:                if (goLocalCopy.bVertGridChecked == TRUE)
                    184:                   goLocalCopy.bVertGridChecked = FALSE ;
                    185:                else
                    186:                   goLocalCopy.bVertGridChecked = TRUE ;
                    187:                break ;
                    188: 
                    189: 
                    190:             case ID_HORZ_GRID:
                    191:                if (goLocalCopy.bHorzGridChecked == TRUE)
                    192:                   goLocalCopy.bHorzGridChecked = FALSE ;
                    193:                else
                    194:                   goLocalCopy.bHorzGridChecked = TRUE ;
                    195:                break ;
                    196: 
                    197: 
                    198:             case ID_GRAPH:
                    199:             case ID_HISTOGRAM:
                    200:                if (goLocalCopy.iGraphOrHistogram == BAR_GRAPH)
                    201:                   {
                    202:                   goLocalCopy.iGraphOrHistogram = LINE_GRAPH ;
                    203:                   }
                    204:                else
                    205:                   {
                    206:                   goLocalCopy.iGraphOrHistogram = BAR_GRAPH ;
                    207:                   }
                    208:                CheckRadioButton(hDlg, ID_GRAPH, ID_HISTOGRAM,
                    209:                   goLocalCopy.iGraphOrHistogram == LINE_GRAPH ?
                    210:                   ID_GRAPH : ID_HISTOGRAM) ;
                    211: 
                    212:                break ;
                    213: 
                    214:             case IDOK:
                    215:                //  verify some numeric entries first
                    216:                if (goLocalCopy.iVertMax > MAX_VERTICAL ||
                    217:                    goLocalCopy.iVertMax < MIN_VERTICAL)
                    218:                   {
                    219:                   DlgErrorBox (hDlg, ERR_BADVERTMAX) ;
                    220:                   SetFocus (DialogControl (hDlg, ID_VERT_MAX)) ;
                    221:                   EditSetTextEndPos (hDlg, ID_VERT_MAX) ;
                    222:                   return (FALSE) ;
                    223:                   break ;
                    224:                   }
                    225:                if (goLocalCopy.eTimeInterval > MAX_INTERVALSEC ||
                    226:                    goLocalCopy.eTimeInterval < MIN_INTERVALSEC)
                    227:                   {
                    228:                   DlgErrorBox (hDlg, ERR_BADTIMEINTERVAL) ;
                    229:                   SetFocus (DialogControl (hDlg, IDD_CHARTOPTIONSINTERVAL)) ;
                    230:                   EditSetTextEndPos (hDlg, IDD_CHARTOPTIONSINTERVAL) ;
                    231:                   return (FALSE) ;
                    232:                   break ;
                    233:                   }
                    234: 
                    235:                // We need to send a size message to the main window
                    236:                // so it can setup the redraw of the graph and legend.
                    237: 
                    238:                lgraph->gOptions.bLegendChecked    = goLocalCopy.bLegendChecked ;
                    239:                lgraph->gOptions.bStatusBarChecked = goLocalCopy.bStatusBarChecked ;
                    240: 
                    241:                if (lgraph->gOptions.eTimeInterval != goLocalCopy.eTimeInterval
                    242:                   && !LocalManualRefresh)
                    243:                   {
                    244:                   iTimeMilliseconds = (INT) (goLocalCopy.eTimeInterval * (FLOAT) 1000.0) ;
                    245:                   pGraphs->gInterval = iTimeMilliseconds ;
                    246:                   if (!PlayingBackLog())
                    247:                      {
                    248:                      SetGraphTimer(pGraphs) ;
                    249:                      }
                    250:                   lgraph->bManualRefresh = LocalManualRefresh ;
                    251: 
                    252:                   }
                    253:                else if (LocalManualRefresh != lgraph->bManualRefresh)
                    254:                   {
                    255:                   ToggleGraphRefresh (hWndGraph) ;
                    256:                   }
                    257:                // Assign the local copy of the graph options to the
                    258:                // global copy.
                    259: 
                    260:                lgraph->gOptions = goLocalCopy ;
                    261: 
                    262:                SizeGraphComponents (hWndGraph) ;
                    263:                WindowInvalidate (hWndGraph) ;
                    264:                dwCurrentDlgID = 0 ;
                    265:                EndDialog (hDlg, 1) ;
                    266:                return (TRUE) ;
                    267:                break ;
                    268: 
                    269: 
                    270:             case IDCANCEL:
                    271:                dwCurrentDlgID = 0 ;
                    272:                EndDialog(hDlg,0);
                    273:                return(TRUE);
                    274: 
                    275:             case ID_HELP:
                    276:                CallWinHelp (dwCurrentDlgID) ;
                    277:                break ;
                    278: 
                    279:             default:
                    280:                break;
                    281:             }
                    282:          break;
                    283: 
                    284:       default:
                    285:          break;
                    286: 
                    287:       }
                    288:    return(FALSE);
                    289:    }
                    290: 
                    291: 
                    292: 
                    293: 
                    294: DWORD          iIntervalMSecs ;
                    295: BOOL           bSwitchToAlert ;
                    296: BOOL           bNetworkAlert ;
                    297: 
                    298: 
                    299: void static OnAlertOptionDlgInit (HWND hDlg, PALERT pAlert)
                    300:    {
                    301:    BOOL           EnableFlag ;
                    302: 
                    303:    iIntervalMSecs = pAlert->iIntervalMSecs ;
                    304:    bNetworkAlert = pAlert->bNetworkAlert ;
                    305:    bSwitchToAlert = pAlert->bSwitchToAlert ;
                    306:    
                    307:    LocalManualRefresh = pAlert->bManualRefresh ;
                    308:    
                    309:    if (PlayingBackLog())
                    310:       {
                    311:       // When playingback log, disable all controls except 
                    312:       // the alert interval
                    313:       //
                    314:       EnableFlag = TRUE ;
                    315:       DialogEnable (hDlg, IDD_ALERTOPTIONSMANUALREFRESH, FALSE) ;
                    316:       DialogEnable (hDlg, IDD_ALERTOPTIONSPOPUP, FALSE) ;
                    317:       DialogEnable (hDlg, IDD_ALERTOPTIONSNETWORKALERT, FALSE) ;
                    318:       DialogEnable (hDlg, IDD_ALERTOPTIONSNETGROUPTEXT, FALSE) ;
                    319:       DialogEnable (hDlg, IDD_ALERTOPTIONSMSGNAME, FALSE) ;
                    320:       DialogEnable (hDlg, IDD_ALERTOPTIONSMSGNAMETEXT, FALSE) ;
                    321:       }
                    322:    else
                    323:       {
                    324:       EnableFlag = !LocalManualRefresh ;
                    325:       DialogEnable (hDlg, IDD_ALERTOPTIONSMSGNAME, pAlert->bNetworkAlert) ;
                    326:       DialogEnable (hDlg, IDD_ALERTOPTIONSMSGNAMETEXT, pAlert->bNetworkAlert) ;
                    327:       }
                    328: 
                    329:    // setup the Update time interval group items
                    330:    DialogSetInterval (hDlg, IDD_ALERTOPTIONSINTERVAL, iIntervalMSecs) ;
                    331:    DialogEnable (hDlg, IDD_ALERTOPTIONSINTERVAL, EnableFlag) ;
                    332:    DialogEnable (hDlg, IDD_ALERTOPTIONSINTERVALTEXT, EnableFlag) ;
                    333:    CheckRadioButton(hDlg, IDD_ALERTOPTIONSMANUALREFRESH,
                    334:       IDD_ALERTOPTIONSPERIODIC,
                    335:       !EnableFlag ? IDD_ALERTOPTIONSMANUALREFRESH : IDD_ALERTOPTIONSPERIODIC) ;
                    336: 
                    337:    CheckDlgButton (hDlg, IDD_ALERTOPTIONSPOPUP, pAlert->bSwitchToAlert) ;
                    338:    CheckDlgButton (hDlg, IDD_ALERTOPTIONSNETWORKALERT, pAlert->bNetworkAlert) ;
                    339: 
                    340:    if (pAlert->MessageName[0])
                    341:       {
                    342:       DialogSetString (hDlg, IDD_ALERTOPTIONSMSGNAME, pAlert->MessageName) ;
                    343:       }
                    344:          
                    345:    EditSetLimit (GetDlgItem(hDlg, IDD_ALERTOPTIONSMSGNAME),
                    346:       sizeof(pAlert->MessageName)/sizeof(TCHAR) - 1) ;
                    347: 
                    348:    dwCurrentDlgID = HC_PM_idDlgOptionAlert ;
                    349: 
                    350:    WindowCenter (hDlg) ;
                    351: 
                    352:    }  // OnAlertOptionDlgInit
                    353: 
                    354: BOOL FAR PASCAL AlertOptionDlg (HWND hDlg, WORD msg, 
                    355:                                 DWORD wParam, LONG lParam)
                    356:    {
                    357: 
                    358:    PALERT         pAlert ;
                    359: 
                    360:    switch(msg)
                    361:       {
                    362: 
                    363:       case WM_INITDIALOG:
                    364:          pAlert = (PALERT) lParam ;
                    365:          OnAlertOptionDlgInit (hDlg, pAlert) ;
                    366:          return(TRUE);
                    367: 
                    368:        case WM_COMMAND:
                    369:          switch(LOWORD(wParam))
                    370:             {
                    371:             case IDOK:
                    372:                {
                    373:                FLOAT eTimeInterval ;
                    374: 
                    375:                pAlert = AlertData (hWndAlert) ;
                    376: 
                    377:                eTimeInterval = DialogFloat (hDlg, IDD_ALERTOPTIONSINTERVAL, NULL) ;
                    378: 
                    379:                if (eTimeInterval > MAX_INTERVALSEC ||
                    380:                    eTimeInterval < MIN_INTERVALSEC)
                    381:                   {
                    382:                   DlgErrorBox (hDlg, ERR_BADTIMEINTERVAL) ;
                    383:                   SetFocus (DialogControl (hDlg, IDD_ALERTOPTIONSINTERVAL)) ;
                    384:                   EditSetTextEndPos (hDlg, IDD_ALERTOPTIONSINTERVAL) ;
                    385:                   return (FALSE) ;
                    386:                   break ;
                    387:                   }
                    388: 
                    389:                eTimeInterval = eTimeInterval * (FLOAT) 1000.0 +
                    390:                    (FLOAT) 0.5 ;
                    391: 
                    392:                iIntervalMSecs = (DWORD) eTimeInterval ;
                    393: 
                    394:                pAlert->bNetworkAlert = bNetworkAlert ;
                    395:                pAlert->bSwitchToAlert = bSwitchToAlert ;
                    396: 
                    397: 
                    398:                if (!PlayingBackLog())
                    399:                   {
                    400:                   DialogText (hDlg,
                    401:                      IDD_ALERTOPTIONSMSGNAME,
                    402:                      pAlert->MessageName) ;
                    403:                   }
                    404: 
                    405:                dwCurrentDlgID = 0 ;
                    406:                EndDialog (hDlg, 1) ;
                    407:                }
                    408:                break ;
                    409: 
                    410:             case IDCANCEL:
                    411:                dwCurrentDlgID = 0 ;
                    412:                EndDialog(hDlg,0);
                    413:                return(TRUE);
                    414:             
                    415:             case IDD_ALERTOPTIONSPERIODIC:
                    416:             case IDD_ALERTOPTIONSMANUALREFRESH:
                    417: 
                    418:                if (!PlayingBackLog())
                    419:                   {
                    420:                   // check if the Manual refresh is currently checked.
                    421:                   // Then toggle the ManualRefresh button
                    422:                   LocalManualRefresh =
                    423:                      IsDlgButtonChecked (hDlg, IDD_ALERTOPTIONSMANUALREFRESH) ;
                    424: 
                    425:                   CheckRadioButton(hDlg,
                    426:                      IDD_ALERTOPTIONSMANUALREFRESH,
                    427:                      IDD_ALERTOPTIONSPERIODIC,
                    428:                      LocalManualRefresh ? IDD_ALERTOPTIONSPERIODIC :
                    429:                      IDD_ALERTOPTIONSMANUALREFRESH) ;
                    430: 
                    431:                      DialogEnable (hDlg,
                    432:                         IDD_ALERTOPTIONSINTERVAL,
                    433:                         LocalManualRefresh) ;
                    434: 
                    435:                      DialogEnable (hDlg,
                    436:                         IDD_ALERTOPTIONSINTERVALTEXT,
                    437:                         LocalManualRefresh) ;
                    438: 
                    439:                      LocalManualRefresh = !LocalManualRefresh ;
                    440:                   }
                    441: 
                    442:                break ;
                    443: 
                    444:             case IDD_ALERTOPTIONSPOPUP:
                    445:                bSwitchToAlert = !bSwitchToAlert ;
                    446:                CheckDlgButton (hDlg, IDD_ALERTOPTIONSPOPUP, bSwitchToAlert) ;
                    447:                break;
                    448: 
                    449:             case IDD_ALERTOPTIONSNETWORKALERT:
                    450:                bNetworkAlert = !bNetworkAlert ;
                    451:                CheckDlgButton (hDlg, IDD_ALERTOPTIONSNETWORKALERT, bNetworkAlert) ;
                    452:                DialogEnable (hDlg, IDD_ALERTOPTIONSMSGNAME, bNetworkAlert) ;
                    453:                DialogEnable (hDlg, IDD_ALERTOPTIONSMSGNAMETEXT, bNetworkAlert) ;
                    454: 
                    455:                if (bNetworkAlert)
                    456:                   {
                    457:                   SetFocus (GetDlgItem(hDlg, IDD_ALERTOPTIONSMSGNAME)) ;
                    458:                   SendDlgItemMessage(hDlg, IDD_ALERTOPTIONSMSGNAME,
                    459:                      EM_SETSEL, 0, 16) ;
                    460:                   }
                    461:                
                    462:                break;
                    463: 
                    464:             case IDD_DISPLAYHELP:
                    465:                CallWinHelp (dwCurrentDlgID) ;
                    466:                break ;
                    467: 
                    468:             default:
                    469:                break;
                    470:             }
                    471:          break;
                    472: 
                    473: 
                    474:           default:
                    475:              break;
                    476: 
                    477:       }
                    478: 
                    479:    return (FALSE);
                    480:    }  // AlertOptionDlg
                    481: 
                    482: 
                    483: BOOL DisplayAlertOptions (HWND hWndParent,
                    484:                            HWND hWndAlert)
                    485:    {  // DisplayAlertOptions
                    486:    PALERT        pAlert ;
                    487: 
                    488:    pAlert = AlertData (hWndParent) ;
                    489: 
                    490:    if (DialogBoxParam (hInstance, idDlgAlertOptions, 
                    491:                        hWndParent, (DLGPROC) AlertOptionDlg, 
                    492:                        (LPARAM) pAlert))
                    493:       {  // if
                    494:       
                    495:       if (PlayingBackLog())
                    496:          {
                    497:          if (pAlert->iIntervalMSecs != iIntervalMSecs)
                    498:             {
                    499:             // a new time interval, re-do the backing back log
                    500:             // using the new value...
                    501:             pAlert->iIntervalMSecs = iIntervalMSecs ;
                    502:             DialogSetInterval (hWndAlert, IDD_ALERTINTERVAL, iIntervalMSecs) ;
                    503:             if (pAlert->pLineFirst)
                    504:                {
                    505:                PlaybackAlert (hWndAlert, 0) ;
                    506:                WindowInvalidate (hWndAlert) ;
                    507:                }
                    508:             }
                    509:          }
                    510:       else if (LocalManualRefresh != pAlert->bManualRefresh)
                    511:          {
                    512:          if (!LocalManualRefresh)
                    513:             {
                    514:             pAlert->iIntervalMSecs = iIntervalMSecs ;
                    515:             DialogSetInterval (hWndAlert, IDD_ALERTINTERVAL, iIntervalMSecs) ;
                    516:             }
                    517:          ToggleAlertRefresh (hWndAlert) ;
                    518:          }
                    519:       else if (!LocalManualRefresh)
                    520:          {
                    521:          pAlert->iIntervalMSecs = iIntervalMSecs ;
                    522:          SetAlertTimer (pAlert) ;
                    523:          DialogSetInterval (hWndAlert, IDD_ALERTINTERVAL, iIntervalMSecs) ;
                    524:          }
                    525:       }  // if
                    526: 
                    527:    return (TRUE) ;
                    528:    }  // DisplayAlertOptions
                    529: 
                    530: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.