/* * GotoLineDlgProc - callback routine for goto line dialog */ WINEXPORT BOOL CALLBACK GotoLineDlgProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) { lparam = lparam; switch( msg ) { case WM_INITDIALOG: CenterWindowInRoot( hwnd ); return( TRUE ); case WM_CLOSE: PostMessage( hwnd, WM_COMMAND, GET_WM_COMMAND_MPS( IDCANCEL, 0, 0 ) ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wparam ) ) { case IDCANCEL: EndDialog( hwnd, FALSE ); break; case IDOK: GetDlgItemText( hwnd, GOTOLINE_EDIT, lineStr, lineLen ); *lineVal = atol( lineStr ); if( *lineVal > 0 ) { EndDialog( hwnd, TRUE ); } else { EndDialog( hwnd, FALSE ); } break; default: return( FALSE ); } return( TRUE ); } return( FALSE ); } /* GotoLineDlgProc */
/* * ASaveDlgProc - callback routine for autosave response dialog */ BOOL WINEXP ASaveDlgProc( HWND hwnd, UINT msg, UINT wparam, LONG lparam ) { lparam = lparam; switch( msg ) { case WM_INITDIALOG: CenterWindowInRoot( hwnd ); return( TRUE ); case WM_CLOSE: PostMessage( hwnd, WM_COMMAND, IDCANCEL, 0L ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wparam ) ) { case DLG_IGNORE: EndDialog( hwnd, 'i' ); break; case IDCANCEL: EndDialog( hwnd, 'q' ); break; case DLG_RECOVER: EndDialog( hwnd, 'r' ); break; default: return( FALSE ); } return( TRUE ); } return( FALSE ); } /* ASaveDlgProc */
/* * SetScrProc - processes messages for the Data Control Dialog */ WINEXPORT BOOL CALLBACK SetScrProc( HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam ) { switch( msg ) { case WM_INITDIALOG: CenterWindowInRoot( hwndDlg ); globalTodlgData(); ctl_dlg_init( GET_HINSTANCE( hwndDlg ), hwndDlg, &dlgData, &Ctl_setscr ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wParam ) ) { case SETSCR_DEFAULTS: setdlgDataDefaults(); ctl_dlg_reset( GET_HINSTANCE( hwndDlg ), hwndDlg, &dlgData, &Ctl_setscr, TRUE ); return( TRUE ); case IDOK: if( !ctl_dlg_done( GET_HINSTANCE( hwndDlg ), hwndDlg, &dlgData, &Ctl_setscr ) ) { return( TRUE ); } dlgDataToGlobal(); // fall through case IDCANCEL: EndDialog( hwndDlg, TRUE ); return( TRUE ); } ctl_dlg_process( &Ctl_setscr, wParam, lParam ); } return( FALSE ); }
/* * TagListProc - handle the tag selection dialog */ BOOL WINEXP TagListProc( HWND hwnd, UINT msg, UINT wparam, LONG lparam ) { int i; switch( msg ) { case WM_INITDIALOG: CenterWindowInRoot( hwnd ); SetDlgItemText( hwnd, TAGS_TAGNAME, (LPSTR) lparam ); for( i = 0; i < tagCnt; i++ ) { SendDlgItemMessage( hwnd, TAGS_LISTBOX, LB_ADDSTRING, 0, (LONG) (LPSTR) tagList[i] ); } SendDlgItemMessage( hwnd, TAGS_LISTBOX, LB_SETCURSEL, 0, 0L ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wparam ) ) { case IDCANCEL: EndDialog( hwnd, -1 ); break; case IDOK: i = SendDlgItemMessage( hwnd, TAGS_LISTBOX, LB_GETCURSEL, 0, 0L ); if( i == LB_ERR ) { MessageBox( hwnd, "No selection", EditorName, MB_ICONEXCLAMATION | MB_OK ); } else { EndDialog( hwnd, i ); } break; case TAGS_LISTBOX: if( GET_WM_COMMAND_CMD( wparam, lparam ) == LBN_DBLCLK ) { i = SendDlgItemMessage( hwnd, TAGS_LISTBOX, LB_GETCURSEL, 0, 0L ); EndDialog( hwnd, i ); } break; default: return( FALSE ); } return( TRUE ); } return( FALSE ); } /* TagListProc */
/* * SetGenProc - processes messages for the Data Control Dialog */ BOOL WINEXP SetGenProc( HWND hwndDlg, unsigned msg, UINT wParam, LONG lParam ) { switch( msg ) { case WM_INITDIALOG: CenterWindowInRoot( hwndDlg ); globalTodlgData(); ctl_dlg_init( GET_HINSTANCE( hwndDlg ), hwndDlg, &dlgData, &Ctl_setgen ); dyn_tpl_init( &Dyn_setgen, hwndDlg ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wParam ) ) { case SETGEN_DEFAULTS: setdlgDataDefaults(); ctl_dlg_reset( GET_HINSTANCE( hwndDlg ), hwndDlg, &dlgData, &Ctl_setgen, TRUE ); dyn_tpl_init( &Dyn_setgen, hwndDlg ); return( TRUE ); case IDOK: if( !ctl_dlg_done( GET_HINSTANCE( hwndDlg ), hwndDlg, &dlgData, &Ctl_setgen ) ) { return( TRUE ); } dlgDataToGlobal(); // fall through case IDCANCEL: EndDialog( hwndDlg, TRUE ); return( TRUE ); } ctl_dlg_process( &Ctl_setgen, wParam, lParam ); dyn_tpl_process( &Dyn_setgen, hwndDlg, wParam, lParam ); } return( FALSE ); }
/* * CmdDlgProc - callback routine for command dialog */ BOOL WINEXP CmdDlgProc( HWND hwnd, UINT msg, UINT wparam, LONG lparam ) { int curr; int i; int cmd; DWORD index; char str[MAX_INPUT_LINE]; history_data *h; char *ptr; lparam = lparam; switch( msg ) { case WM_INITDIALOG: CenterWindowInRoot( hwnd ); EditSubClass( hwnd, CMD_EDIT, &CLHist ); SetDlgItemText( hwnd, CMD_EDIT, cmdStr ); curr = CLHist.curr + CLHist.max - 1; for( i = 0; i < CLHist.max; i++ ) { if( CLHist.data[curr % CLHist.max] != NULL ) { SendDlgItemMessage( hwnd, CMD_LISTBOX, LB_ADDSTRING, 0, (LONG) CLHist.data[curr % CLHist.max] ); } curr--; if( curr < 0 ) { break; } } return( TRUE ); case WM_CLOSE: PostMessage( hwnd, WM_COMMAND, IDCANCEL, 0L ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wparam ) ) { case CMD_LISTBOX: cmd = GET_WM_COMMAND_CMD( wparam, lparam ); if( cmd == LBN_SELCHANGE || cmd == LBN_DBLCLK ) { index = SendDlgItemMessage( hwnd, CMD_LISTBOX, LB_GETCURSEL, 0, 0L ); if( index == LB_ERR ) { break; } SendDlgItemMessage( hwnd, CMD_LISTBOX, LB_GETTEXT, index, (LONG) str ); SetDlgItemText( hwnd, CMD_EDIT, str ); if( cmd == LBN_DBLCLK ) { PostMessage( hwnd, WM_COMMAND, IDOK, 0L ); } } break; case IDCANCEL: RemoveEditSubClass( hwnd, CMD_EDIT ); EndDialog( hwnd, FALSE ); break; case IDOK: GetDlgItemText( hwnd, CMD_EDIT, cmdStr, cmdLen ); h = &CLHist; curr = h->curr + h->max - 1; ptr = NULL; if( curr >= 0 ) { ptr = h->data[curr % h->max]; } if( ptr == NULL || strcmp( ptr, cmdStr ) ) { AddString2( &(h->data[h->curr % h->max]), cmdStr ); h->curr += 1; } RemoveEditSubClass( hwnd, CMD_EDIT ); EndDialog( hwnd, TRUE ); break; default: return( FALSE ); } return( TRUE ); } return( FALSE ); } /* CmdDlgProc */
/* * snoopDlgProc - callback routine for snoop dialog */ WINEXPORT BOOL CALLBACK SnoopDlgProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) { // int i; int cmd; int index; char snoop[MAX_INPUT_LINE]; #ifdef __NT__ BROWSEINFO bi; char buffer1[MAX_PATH]; char buffer2[MAX_PATH]; LPITEMIDLIST pidl; #endif #ifdef __NT__ lparam = lparam; #endif switch( msg ) { case WM_INITDIALOG: CenterWindowInRoot( hwnd ); CheckDlgButton( hwnd, SNOOP_IGNORE_CASE, ( snoopData.case_ignore ) ? BST_CHECKED : BST_UNCHECKED ); CheckDlgButton( hwnd, SNOOP_REGULAR_EXPRESSIONS, ( snoopData.use_regexp ) ? BST_CHECKED : BST_UNCHECKED ); SetDlgItemText( hwnd, SNOOP_STRING, snoopData.find ); SetDlgItemText( hwnd, SNOOP_PATH, snoopData.path ); // default extsion should be grep extension SetDlgItemText( hwnd, SNOOP_EXT, snoopData.ext ); // this isn't quite right. but it's close. /* for( i = 0; i < extension.max; i++ ) { SendDlgItemMessage( hwnd, SNOOP_LISTBOX, LB_ADDSTRING, 0, (LPARAM)extension[i] ); } */ return( TRUE ); case WM_CLOSE: PostMessage( hwnd, WM_COMMAND, GET_WM_COMMAND_MPS( IDCANCEL, 0, 0 ) ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wparam ) ) { case SNOOP_EXT: cmd = GET_WM_COMMAND_CMD( wparam, lparam ); if( cmd == LBN_SELCHANGE || cmd == LBN_DBLCLK ) { index = (int)SendDlgItemMessage( hwnd, SNOOP_EXT, LB_GETCURSEL, 0, 0L ); if( index == LB_ERR ) { break; } SendDlgItemMessage( hwnd, SNOOP_EXT, LB_GETTEXT, index, (LPARAM)snoop ); SetDlgItemText( hwnd, SNOOP_STRING, snoop ); } break; #ifdef __NT__ case SNOOP_BROWSE: bi.hwndOwner = hwnd; bi.pidlRoot = NULL; bi.pszDisplayName = NULL; LoadString( GET_HINSTANCE( hwnd ), VI_BROWSE_MSG, buffer1, sizeof( buffer1 ) ); bi.lpszTitle = buffer1; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = BrowseCallbackProc; GetDlgItemText( hwnd, SNOOP_PATH, buffer2, MAX_PATH ); bi.lParam = (LPARAM)buffer2; if( (pidl = pfnSHBrowseForFolder( &bi )) != NULL ) { if( pfnSHGetPathFromIDList( pidl, buffer1 ) ) { SetDlgItemText( hwnd, SNOOP_PATH, buffer1 ); } } break; #endif case IDCANCEL: // RemoveEditSubClass( hwnd, SNOOP_STRING ); EndDialog( hwnd, FALSE ); break; case IDOK: GetDlgItemText( hwnd, SNOOP_STRING, snoop, MAX_INPUT_LINE ); ReplaceString( &snoopData.find, snoop ); GetDlgItemText( hwnd, SNOOP_EXT, snoop, MAX_INPUT_LINE ); ReplaceString( &snoopData.ext, snoop ); GetDlgItemText( hwnd, SNOOP_PATH, snoop, MAX_INPUT_LINE ); ReplaceString( &snoopData.path, snoop ); snoopData.case_ignore = IsDlgButtonChecked( hwnd, SNOOP_IGNORE_CASE ); snoopData.use_regexp = IsDlgButtonChecked( hwnd, SNOOP_REGULAR_EXPRESSIONS ); // RemoveEditSubClass( hwnd, SNOOP_STRING ); EndDialog( hwnd, TRUE ); break; default: return( FALSE ); } // hand it off to fgrep return( TRUE ); } return( FALSE ); } /* SnoopDlgProc */
/* * RepDlgProc - callback routine for find & replace dialog */ BOOL WINEXP RepDlgProc( HWND hwnd, UINT msg, UINT wparam, LONG lparam ) { int curr; int i; int cmd; DWORD index; char find[MAX_INPUT_LINE]; history_data *h; char *ptr; RECT pos; lparam = lparam; switch( msg ) { case WM_INITDIALOG: if( findData.posx == -1 && findData.posy == -1 ) { CenterWindowInRoot( hwnd ); } else { SetWindowPos( hwnd, (HWND)NULLHANDLE, findData.posx, findData.posy, 0, 0, SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOREDRAW | SWP_NOZORDER ); } EditSubClass( hwnd, REP_FIND, &FindHist ); CheckDlgButton( hwnd, REP_IGNORE_CASE, findData.case_ignore ); CheckDlgButton( hwnd, REP_REGULAR_EXPRESSIONS, findData.use_regexp ); // CheckDlgButton( hwnd, REP_SEARCH_BACKWARDS, !findData.search_forward ); CheckDlgButton( hwnd, REP_SEARCH_WRAP, findData.search_wrap ); CheckDlgButton( hwnd, REP_PROMPT_ON_REPLACE, findData.prompt ); // CheckDlgButton( hwnd, REP_SELECTION_ONLY, findData.selection ); SetDlgItemText( hwnd, REP_FIND, findData.find ); SetDlgItemText( hwnd, REP_REPLACE, findData.replace ); curr = FindHist.curr + FindHist.max - 1; for( i = 0; i < FindHist.max; i++ ) { if( FindHist.data[curr % FindHist.max] != NULL ) { SendDlgItemMessage( hwnd, REP_LISTBOX, LB_ADDSTRING, 0, (LONG) FindHist.data[curr % FindHist.max] ); } curr--; if( curr < 0 ) { break; } } return( TRUE ); case WM_CLOSE: GetWindowRect( hwnd, &pos ); findData.posx = pos.left; findData.posy = pos.top; PostMessage( hwnd, WM_COMMAND, GET_WM_COMMAND_MPS( IDCANCEL, 0, 0 ) ); return( TRUE ); case WM_COMMAND: switch( LOWORD( wparam ) ) { case REP_LISTBOX: cmd = GET_WM_COMMAND_CMD( wparam, lparam ); if( cmd == LBN_SELCHANGE || cmd == LBN_DBLCLK ) { index = SendDlgItemMessage( hwnd, REP_LISTBOX, LB_GETCURSEL, 0, 0L ); if( index == LB_ERR ) { break; } SendDlgItemMessage( hwnd, REP_LISTBOX, LB_GETTEXT, index, (LONG) find ); SetDlgItemText( hwnd, REP_FIND, find ); if( cmd == LBN_DBLCLK ) { PostMessage( hwnd, WM_COMMAND, GET_WM_COMMAND_MPS( IDOK, 0, 0 ) ); } } break; case IDCANCEL: GetWindowRect( hwnd, &pos ); findData.posx = pos.left; findData.posy = pos.top; RemoveEditSubClass( hwnd, REP_FIND ); EndDialog( hwnd, FALSE ); break; case IDOK: GetDlgItemText( hwnd, REP_FIND, findData.find, findData.findlen ); GetDlgItemText( hwnd, REP_REPLACE, findData.replace, findData.replacelen ); findData.case_ignore = IsDlgButtonChecked( hwnd, REP_IGNORE_CASE ); findData.use_regexp = IsDlgButtonChecked( hwnd, REP_REGULAR_EXPRESSIONS ); // findData.search_forward = !IsDlgButtonChecked( hwnd, REP_SEARCH_BACKWARDS ); findData.search_wrap = IsDlgButtonChecked( hwnd, REP_SEARCH_WRAP ); findData.prompt = IsDlgButtonChecked( hwnd, REP_PROMPT_ON_REPLACE ); // findData.selection = IsDlgButtonChecked( hwnd, REP_SELECTION_ONLY ); h = &FindHist; curr = h->curr + h->max - 1; ptr = NULL; if( curr >= 0 ) { ptr = h->data[curr % h->max]; } if( ptr == NULL || strcmp( ptr, findData.find ) ) { AddString2( &(h->data[h->curr % h->max]), findData.find ); h->curr += 1; } GetWindowRect( hwnd, &pos ); findData.posx = pos.left; findData.posy = pos.top; RemoveEditSubClass( hwnd, REP_FIND ); EndDialog( hwnd, TRUE ); break; default: return( FALSE ); } return( TRUE ); } return( FALSE ); } /* RepDlgProc */