static Bool WQueryChangeEntry( WMenuEditInfo *einfo ) { int ret; UINT style; char *title; char *text; style = MB_YESNO | MB_APPLMODAL | MB_ICONEXCLAMATION; title = WCreateEditTitle( einfo ); text = WAllocRCString( W_CHANGEMODIFIEDMENUITEM ); ret = MessageBox( einfo->edit_dlg, text, title, style ); if( text != NULL ) { WFreeRCString( text ); } if( title != NULL ) { WMemFree( title ); } if( ret == IDYES ) { return( TRUE ); } return( FALSE ); }
static Bool WQueryNukePopup( WMenuEditInfo *einfo ) { int ret; UINT style; char *title; char *text; style = MB_YESNO | MB_APPLMODAL | MB_ICONEXCLAMATION; title = WCreateEditTitle( einfo ); text = WAllocRCString( W_QUERYNUKEPOPUP ); ret = MessageBox( einfo->edit_dlg, text, title, style ); if( text != NULL ) { WFreeRCString( text ); } if( title != NULL ) { WMemFree( title ); } if( ret == IDYES ) { return( TRUE ); } return( FALSE ); }
Bool WQuerySaveSym( WMenuEditInfo *einfo, Bool force_exit ) { int ret; UINT style; char *title; char *text; if( einfo == NULL || !einfo->info->stand_alone ) { return( TRUE ); } if( !WRIsHashTableDirty( einfo->info->symbol_table ) ) { return( TRUE ); } if( force_exit ) { style = MB_YESNO | MB_APPLMODAL | MB_ICONEXCLAMATION; } else { style = MB_YESNOCANCEL | MB_APPLMODAL | MB_ICONEXCLAMATION; } title = WCreateEditTitle( einfo ); text = WAllocRCString( W_UPDATEMODIFIEDSYM ); ret = MessageBox( einfo->edit_dlg, text, title, style ); if( text != NULL ) { WFreeRCString( text ); } if( title != NULL ) { WMemFree( title ); } if( ret == IDYES ) { if( einfo->info->symbol_file == NULL ) { char *fname; if( einfo->file_name == NULL ) { fname = einfo->info->file_name; } else { fname = einfo->file_name; } einfo->info->symbol_file = WCreateSymName( fname ); } return( WSaveSymbols( einfo, einfo->info->symbol_table, &einfo->info->symbol_file, FALSE ) ); } else if( ret == IDCANCEL ) { return( FALSE ); } return( TRUE ); }
bool WQuerySaveRes( WStringEditInfo *einfo, bool force_exit ) { int msg_ret; bool ret; UINT style; char *title; char *text; ret = true; if( einfo != NULL && einfo->info->modified ) { msg_ret = IDYES; if( einfo->info->stand_alone ) { if( force_exit ) { style = MB_YESNO | MB_APPLMODAL | MB_ICONEXCLAMATION; } else { style = MB_YESNOCANCEL | MB_APPLMODAL | MB_ICONEXCLAMATION; } title = WCreateEditTitle( einfo ); text = AllocRCString( W_UPDATEMODIFIEDSTRING ); msg_ret = MessageBox( einfo->edit_dlg, text, title, style ); if( text != NULL ) { FreeRCString( text ); } if( title != NULL ) { WRMemFree( title ); } } if( msg_ret == IDYES ) { if( einfo->info->stand_alone ) { ret = WSaveObject( einfo, FALSE, FALSE ); } else { SendMessage( einfo->info->parent, STRING_PLEASE_SAVEME, 0, (LPARAM)einfo->hndl ); } } else if( msg_ret == IDCANCEL ) { ret = false; } } return( ret ); }
void WSetEditTitle( WMenuEditInfo *einfo ) { char *title; Bool is_rc; title = WCreateEditTitle( einfo ); is_rc = FALSE; if( title == NULL ) { title = WAllocRCString( W_MENUAPPTITLE ); is_rc = TRUE; } if( title != NULL ) { SendMessage( einfo->win, WM_SETTEXT, 0, (LPARAM)title ); if( is_rc ) { WFreeRCString( title ); } else { WMemFree( title ); } } }
Bool WQuerySaveRes( WMenuEditInfo *einfo, Bool force_exit ) { int ret; UINT style; char *title; char *text; if( einfo != NULL && einfo->info->modified ) { ret = IDYES; if( einfo->info->stand_alone ) { if( force_exit ) { style = MB_YESNO | MB_APPLMODAL | MB_ICONEXCLAMATION; } else { style = MB_YESNOCANCEL | MB_APPLMODAL | MB_ICONEXCLAMATION; } title = WCreateEditTitle( einfo ); text = WAllocRCString( W_UPDATEMODIFIEDMENU ); ret = MessageBox( einfo->edit_dlg, text, title, style ); if( text != NULL ) { WFreeRCString( text ); } if( title != NULL ) { WMemFree( title ); } } if( ret == IDYES ) { if( einfo->info->stand_alone ) { return( WSaveObject( einfo, FALSE, FALSE ) ); } else { SendMessage( einfo->info->parent, MENU_PLEASE_SAVEME, 0, (LPARAM)einfo->hndl ); } } else if( ret == IDCANCEL ) { return( FALSE ); } } return( TRUE ); }
Bool WCreateEditWindow( HINSTANCE inst, WMenuEditInfo *einfo ) { int x, y, width, height; char *title; HMENU hmenu; HMENU menu; Bool is_rc; RECT rect; if( einfo == NULL ) { return( FALSE ); } x = CW_USEDEFAULT; y = CW_USEDEFAULT; width = appWidth; height = appHeight; if( einfo->info->stand_alone ) { WGetScreenPosOption( &rect ); if( !IsRectEmpty( &rect ) ) { x = rect.left; y = rect.top; width = max( appWidth, rect.right - rect.left ); height = max( appHeight, rect.bottom - rect.top ); } } is_rc = FALSE; title = WCreateEditTitle( einfo ); if( title == NULL ) { title = WAllocRCString( W_MENUAPPTITLE ); is_rc = TRUE; } menu = (HMENU)NULL; if( einfo->info->stand_alone ) { menu = LoadMenu( inst, WMainSOMenuName ); } einfo->win = CreateWindow( WMainClass, title, WS_OVERLAPPEDWINDOW, x, y, width, height, einfo->info->parent, menu, inst, einfo ); if( title != NULL ) { if( is_rc ) { WFreeRCString( title ); } else { WMemFree( title ); } } if( einfo->win == (HWND)NULL ) { return( FALSE ); } if( !WCreateRibbon( einfo ) ) { return( FALSE ); } einfo->wsb = WCreateStatusLine( einfo->win, inst ); if( einfo->wsb == NULL ) { return( FALSE ); } einfo->insert_subitems = FALSE; einfo->insert_before = FALSE; einfo->first_preview_id = FIRST_PREVIEW_ID; hmenu = GetMenu( einfo->win ); if( hmenu != (HMENU)NULL ) { EnableMenuItem( hmenu, IDM_MENU_CUT, MF_GRAYED ); EnableMenuItem( hmenu, IDM_MENU_COPY, MF_GRAYED ); } CheckMenuItem( hmenu, IDM_MENU_INSERTSUBITEMS, MF_UNCHECKED ); CheckMenuItem( hmenu, IDM_MENU_INSERTAFTER, MF_CHECKED ); if( !WCreateMenuEditWindow( einfo, inst ) ) { return( FALSE ); } if( WGetOption( WOptScreenMax ) ) { ShowWindow( einfo->win, SW_SHOWMAXIMIZED ); } else { ShowWindow( einfo->win, SW_SHOWNORMAL ); } UpdateWindow( einfo->win ); WResizeWindows( einfo ); SetFocus( einfo->edit_dlg ); return( TRUE ); }
bool WCreateEditWindow( HINSTANCE inst, WAccelEditInfo *einfo ) { int x, y, width, height; char *title; HMENU hmenu; HMENU menu; bool is_rc; RECT rect; if( einfo == NULL ) { return( FALSE ); } x = CW_USEDEFAULT; y = CW_USEDEFAULT; width = appWidth; height = appHeight; if( einfo->info->stand_alone ) { WGetScreenPosOption( &rect ); if( !IsRectEmpty( &rect ) ) { x = rect.left; y = rect.top; width = appWidth; if( width < rect.right - rect.left ) width = rect.right - rect.left; height = appHeight; if( height < rect.bottom - rect.top ) { height = rect.bottom - rect.top; } } } is_rc = FALSE; title = WCreateEditTitle( einfo ); if( title == NULL ) { title = AllocRCString( W_ACCELAPPTITLE ); is_rc = TRUE; } menu = (HMENU)NULL; if( einfo->info->stand_alone ) { menu = LoadMenu( inst, WMainSOMenuName ); } einfo->win = CreateWindow( WMainClass, title, WS_OVERLAPPEDWINDOW, x, y, width, height, einfo->info->parent, menu, inst, einfo ); if( title != NULL ) { if( is_rc ) { FreeRCString( title ); } else { WRMemFree( title ); } } if( einfo->win == (HWND)NULL ) { return( FALSE ); } if( !WCreateRibbon( einfo ) ) { return( FALSE ); } einfo->wsb = WCreateStatusLine( einfo->win, inst ); if( einfo->wsb == NULL ) { return( FALSE ); } if( !WCreateAccelEditWindow( einfo, inst ) ) { return( FALSE ); } hmenu = GetMenu( einfo->win ); if( hmenu != (HMENU)NULL ) { EnableMenuItem( hmenu, IDM_ACC_CUT, MF_GRAYED ); EnableMenuItem( hmenu, IDM_ACC_COPY, MF_GRAYED ); } if( WGetOption( WOptScreenMax ) ) { ShowWindow( einfo->win, SW_SHOWMAXIMIZED ); } else { ShowWindow( einfo->win, SW_SHOWNORMAL ); } UpdateWindow( einfo->win ); WResizeWindows( einfo ); SetFocus( einfo->edit_dlg ); return( TRUE ); }