home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource1 / chint / useful07.hnt < prev    next >
Text File  |  1992-06-09  |  3KB  |  97 lines

  1. /**************************************************************************
  2.   How to modify the DataBoss skeleton so that only the current window is
  3.   present on the screen, inactive windows are always swithced off.
  4.  
  5.   Copy DBC.SKL to ONEWIN.SKL and then modify the following three procedures.
  6.  
  7.        void switch_file(char mode)
  8.        void displayall(void)
  9.        void afteradjdisp(int fno)
  10.  
  11.   The new code line are enclosed in "(**)" and any old code that is no
  12.   longer necessary has been commented out.
  13. ***************************************************************************/
  14.  
  15. void switch_file(char mode)
  16. {
  17.   int fno,incr;
  18.  
  19.   scrn_active = True;
  20.   if (mode == '+') incr = 1; else if (mode == '-') incr = -1; else incr = 0;
  21.   fno = filno;
  22.   do {
  23.     filno += incr;
  24.     if ((filno < 1) || (filno > maxfilno)) {
  25.       incr = -incr; filno += incr;
  26.       audible(Warning);
  27.     }
  28.   } while (!filinuse[filno] && (filno != fno));
  29.   if (scrno < winforfile[filno]) displayrec(filno,scrno);
  30.  
  31. /**/if  (scrno <> winforfile[filno]) {  /**/
  32. /**/  hidewin(T_OFF,uw.wa[scrno]);      /**/
  33. /**/  scrno = winforfile[filno];        /**/
  34. /**/  hidewin(T_ON,uw.wa[scrno]);       /**/
  35. /**/}                                   /**/
  36.  
  37. /*
  38.   while (scrno > winforfile[filno]) {
  39.     hidewin(T_OFF,uw.wa[scrno]);
  40.     scrno--;
  41.   }
  42.   while (scrno < winforfile[filno]) {
  43.     scrno++;
  44.     hidewin(T_ON,uw.wa[scrno]);
  45.   }
  46. */
  47.  
  48.   if (!status_ok(filno)) top_record(); else ok = True;
  49. ⁿIFDEF TABLESⁿ
  50.   switchtab = True;
  51.   displayrec(filno,scrno);
  52.   switchtab = False;
  53. ⁿELSEDEFⁿ
  54.   displayrec(filno,scrno);
  55. ⁿENDDEFⁿ
  56. }
  57.  
  58.  
  59. void displayall(void)
  60. {
  61.     int i;
  62.  
  63.     for (i=1; i <= filno; i++) (uw.wa[winforfile[i]])->disp = False;
  64. ⁿIFDEF TABLESⁿ
  65.     link = No_Link;
  66.     for (i=1; i <= scrno; i++) displayrec(0,i);
  67.     link = Up_N_Down;
  68. ⁿELSEDEFⁿ
  69.     for (i=1; i <= scrno; i++) displayrec(filno,i);
  70. ⁿENDDEFⁿ
  71. /**/hidewin(T_ON,uw.wa[winforfile[filno]]);  /**/
  72. /*    for (i=1; i <= filno; i++) hidewin(T_ON,uw.wa[winforfile[i]]); */
  73. }
  74.  
  75.  
  76. void afteradjdisp(int fno)
  77. {
  78.     int i;
  79. /**/bool savdisd /**/
  80.  
  81.     for (i = 1; i <= fno; i++) if (afteradj[fno][i] > 0) {
  82. /**/savdisp = uw.wa[winforfile[i]]->disp;              /**/
  83.         (uw.wa[winforfile[i]])->disp = False;
  84. ⁿIFDEF TABLESⁿ
  85.         link = No_Link;
  86.         displayrec(0,winforfile[i]);
  87.         link = Up_N_Down;
  88. ⁿELSEDEFⁿ
  89.         displayrec(filno,winforfile[i]);
  90. ⁿENDDEFⁿ
  91.         afteradjdisp(i);
  92. /**/uw.wa[ainforfile[i]]->disp = savdisp;              /**/
  93. /**/if (savdisp) hidewin(T_ON,uw.wa[ainforfile[i]]);   /**/
  94. /*  hidewin(T_ON,uw.wa[winforfile[i]]); */
  95.     }
  96. }
  97.