Example #1
0
static int LogProc(WINDOW wnd, MESSAGE msg, PARAM p1, PARAM p2)
{
    WINDOW cwnd = ControlWindow(&Log, ID_LOGLIST);
    char **mn = message;
    switch (msg)    {
        case INITIATE_DIALOG:
            AddAttribute(cwnd, MULTILINE | VSCROLLBAR);
            while (*mn)    {
                SendMessage(cwnd, ADDTEXT, (PARAM) (*mn), 0);
                mn++;
            }
            SendMessage(cwnd, SHOW_WINDOW, 0, 0);
            break;
        case COMMAND:
            if ((int) p1 == ID_OK)    {
                int item;
                int tl = GetTextLines(cwnd);
                for (item = 0; item < tl; item++)
                    if (ItemSelected(cwnd, item))
                        mn[item][0] = LISTSELECTOR;
            }
            break;
        default:
            break;
    }
    return DefaultWndProc(wnd, msg, p1, p2);
}
Example #2
0
int ReportDefragDone(void)
{
    static int Initialized = FALSE;

    int control, i, result;

    if (!Initialized)
    {
        Initialize();
        Initialized = TRUE;
    }

    SetStatusBar(RED, WHITE, "                                            ");
    SetStatusBar(RED, WHITE, " Defragmentation done.");

    OpenWindow(&DoneDialog);
    do {
        control = ControlWindow(&DoneDialog);
    } while (control != OKBUTTON);
    CloseWindow();

    for (i = 0; i < 3; i++)
        if (SelectButtons[i].selected)
        {
            result = i;
            SelectButtons[i].selected = FALSE;
        }

    SelectButtons[DEFAULT_OPTION].selected = TRUE;
    return result;
}
Example #3
0
int QueryUserStop(void)
{
     int control, result;
     static int Initialized = FALSE;

     PushHelpIndex(USER_STOP_INDEX);
     
     if (!Initialized)
     {
        Initialize();
        Initialized = TRUE;
     }
              
     SetStatusBar(RED, WHITE, "                                            ");
     SetStatusBar(RED, WHITE, " Defragmentation process stopped.");
     
     OpenWindow(&QueryBox);
     control = ControlWindow(&QueryBox);
     CloseWindow();

     /* Interpret values. */
     if (control == YESBUTTON)
        result = TRUE;
     else
        result = FALSE;

     PopHelpIndex();
     
     return result;
}
Example #4
0
File: msgbox.c Project: FDOS/edit
int InputBoxProc(WINDOW wnd, MESSAGE msg, PARAM p1, PARAM p2)
{
    int rtn;
    switch (msg)    {
        case CREATE_WINDOW:
            rtn = DefaultWndProc(wnd, msg, p1, p2);
            SendMessage(ControlWindow(&InputBoxDB,ID_INPUTTEXT),
                        SETTEXTLENGTH, TextLength, 0);
            SendMessage(ControlWindow(&InputBoxDB,ID_INPUTTEXT),
                        ADDTEXT, (PARAM) InputText, 0);
            return rtn;
        case COMMAND:
            if ((int) p1 == ID_OK && (int) p2 == 0)
                GetItemText(wnd, ID_INPUTTEXT,
                            InputText, TextLength);
            break;
        default:
            break;
    }
    return DefaultWndProc(wnd, msg, p1, p2);
}
Example #5
0
char ShowDriveSelectionBox(void)
{
  int   control, i, len, index = 0;
  char  drive;
  
  static int Initialized = FALSE;

  PushHelpIndex(SELECT_DRIVE_INDEX);
  
  if (!Initialized)
  {
     Initialized = TRUE;
     Initialize();
  }
  
  drive = GetOptimizationDrive();
  len   = strlen(DrvBuffer);
  
  for (i = 0; i < len; i++)
  {
      if (drive == DrvBuffer[i])
      {
         index = i;
         break;
      }
  }

  if (index)
     if (index - LBox.top < SELBOX_HEIGHT - 2)
        LBox.CursorPos = index - LBox.top;
     else 
     {
        LBox.CursorPos = SELBOX_HEIGHT - 2;
        LBox.top       = index - (SELBOX_HEIGHT - 2);
     }
  else
  {
     LBox.CursorPos = 0;
     LBox.top       = 0;
  }

  OpenWindow(&DriveBox);
  control = ControlWindow(&DriveBox);
  CloseWindow();
        
  PopHelpIndex();
  
  if ((control == OKBUTTON) || (control == DRIVEBOX)) 
     return DrvBuffer[LBox.top+LBox.CursorPos];
  
  return 0;
}
Example #6
0
File: MSGBXS.C Project: FDOS/defrag
static int MessageBox(char* msg, int btncount, char** buttons,
                      int forcolor, int backcolor,
                      int btnforc, int btnbackc, int btnhighc,
                      char* caption)
{
    int slen, dwidth, btnarea, dialog_x, text_x, i, btn_x, result;
    
    /* Calculate dialog width. */
    slen     = strlen(msg);
    btnarea  = ((btncount-1) * (BUTTON_LENGTH+2)) + BUTTON_LENGTH+1;
    dwidth   = max(btnarea, slen) + 4;
    dialog_x = (MAX_X / 2) - (dwidth / 2);
    
    GenericMsgBxs.caption       = caption;
    GenericMsgBxs.x             = dialog_x;
    GenericMsgBxs.xlen          = dwidth;
    GenericMsgBxs.SurfaceColor  = backcolor;
    GenericMsgBxs.FrameColor    = forcolor;
    GenericMsgBxs.AmofControls  = btncount+1;

    /* Put the text in the dialog. */
    text_x = (slen > btnarea)
           ? dialog_x + 2
           : dialog_x + ((btnarea / 2) - (slen / 2)) + 2;
    
    Controls[0] = CreateLabel(msg, forcolor, backcolor, text_x, TEXT_Y);

    /* Put the buttons on the screen. */
    btn_x = dialog_x + (dwidth / 2) - (btnarea / 2);
    
    for (i = 0; i < btncount; i++) 
    {
        CmdButtons[i].caption   = buttons[i];
        CmdButtons[i].highcolor = btnhighc;

        Controls[i+1] = CreateCommandButton(&CmdButtons[i], 
                                            btnforc, btnbackc,
                                            btn_x, BUTTON_Y,
                                            FALSE, FALSE,
                                            FALSE);
        
        btn_x += BUTTON_LENGTH + 2;
    }

    OpenWindow(&GenericMsgBxs);
    result = ControlWindow(&GenericMsgBxs);
    CloseWindow();

    return result;
}
Example #7
0
int RecommendMethod(int fragmentation, char drive, char* recommendation)
{
    char buffer[40];
    char* drv = "?";
    int   posx, control;

    static int Initialized = FALSE;

    if (!Initialized)
    {
       Initialize();
       Initialized = TRUE;
    }

    SetStatusBar(RED, WHITE, "                                            ");
    SetStatusBar(RED, WHITE, " Recommending defragmentation method.");

    itoa(fragmentation, buffer, 10);
    strcat(buffer, "% of drive ");
    drv[0] = drive;
    strcat(buffer, drv);
    strcat(buffer, ": is not fragmented.");

    controls[3] = CreateLabel(buffer,
                              DIALOGFORCOLOR, DIALOGBACKCOLOR,
                              TEXT_X, DIALOG_Y+2);

    posx = (DIALOG_X_LEN / 2) - (strlen(recommendation) / 2) + DIALOG_X; 
    
    controls[4] = CreateLabel(recommendation,
                              BLUE, DIALOGBACKCOLOR,
                              posx, DIALOG_Y+6);

    OpenWindow(&RecommendDialog);
    control = ControlWindow(&RecommendDialog);
    CloseWindow();

    if (control == OPTIMIZEBUTTON) 
       return TRUE;
    else
       return FALSE;
}
Example #8
0
/*
 *  Process dialog box messages
 */
static int DlgFnOpen(WINDOW wnd,MESSAGE msg,PARAM p1,PARAM p2)
{
    switch (msg)    {
        case CREATE_WINDOW:    {
            int rtn = DefaultWndProc(wnd, msg, p1, p2);
            DBOX *db = wnd->extension;
            WINDOW cwnd = ControlWindow(db, ID_FILENAME);
            SendMessage(cwnd, SETTEXTLENGTH, 64, 0);
            return rtn;
        }
        case INITIATE_DIALOG:
            InitDlgBox(wnd);
            break;
        case COMMAND:
            switch ((int) p1)    {
                case ID_OK:
				{
                    if ((int)p2 == 0)	{
						char fn[MAXPATH+1];
						char nm[MAXFILE];
						char ext[MAXEXT];
                    	GetItemText(wnd, ID_FILENAME, fn, MAXPATH);
						fnsplit(fn, NULL, NULL, nm, ext);
						strcpy(FileName, nm);
						strcat(FileName, ext);
						CreatePath(NULL, fn, FALSE, TRUE);
                    	if (IncompleteFilename(FileName))    {
                        	/* --- no file name yet --- */
            				DBOX *db = wnd->extension;
            				WINDOW cwnd = ControlWindow(db, ID_FILENAME);
	                    	strcpy(FileSpec, FileName);
	                    	strcpy(SrchSpec, FileName);
	                       	InitDlgBox(wnd);
							SendMessage(cwnd, SETFOCUS, TRUE, 0);
                        	return TRUE;
						}
                    }
                    break;
				}
                case ID_FILES:
                    switch ((int) p2)    {
						case ENTERFOCUS:
                        case LB_SELECTION:
                            /* selected a different filename */
                            GetDlgListText(wnd, FileName, ID_FILES);
                            PutItemText(wnd, ID_FILENAME, FileName);
                            break;
                        case LB_CHOOSE:
                            /* chose a file name */
                            GetDlgListText(wnd, FileName, ID_FILES);
                            SendMessage(wnd, COMMAND, ID_OK, 0);
                            break;
                        default:
                            break;
                    }
                    return TRUE;
                case ID_DIRECTORY:
                    switch ((int) p2)    {
						case ENTERFOCUS:
                            PutItemText(wnd, ID_FILENAME, FileSpec);
							break;
                    	case LB_CHOOSE:
						{
                        	/* chose dir */
                        	char dd[15];
                        	GetDlgListText(wnd, dd, ID_DIRECTORY);
							chdir(dd);
                        	InitDlgBox(wnd);
                            SendMessage(wnd, COMMAND, ID_OK, 0);
							break;
	                    }
						default:
							break;
					}
                    return TRUE;

                case ID_DRIVE:
                    switch ((int) p2)    {
						case ENTERFOCUS:
                            PutItemText(wnd, ID_FILENAME, FileSpec);
							break;
                    	case LB_CHOOSE:
						{
                        	/* chose dir */
                        	char dr[15];
                        	GetDlgListText(wnd, dr, ID_DRIVE);
							setdisk(*dr - 'A');
                        	InitDlgBox(wnd);
                            SendMessage(wnd, COMMAND, ID_OK, 0);
	                    }
						default:
							break;
					}
                    return TRUE;

                default:
                    break;
            }
        default:
            break;
    }
    return DefaultWndProc(wnd, msg, p1, p2);
}