int WREIncNumRes( void ) { if( WRENumRes == 0 ) { WREEnableMenus( TRUE ); } return( ++WRENumRes ); }
int WREDecNumRes( void ) { if( WRENumRes == 1 ) { WREEnableMenus( FALSE ); if( WRENoInterface ) { PostMessage( WREGetMainWindowHandle(), WM_CLOSE, 0, 0 ); } } return( WRENumRes != 0 ? --WRENumRes : WRENumRes ); }
/* Function to initialize all instances of WRE */ Bool WREInitInst( HINSTANCE app_inst ) { RECT r, screen, t; char *title; DWORD style; if( !WRERegisterClipFormats( app_inst ) ) { WREDisplayErrorMsg( WRE_NOREGISTERCLIPFORMATS ); return( FALSE ); } if( !JDialogInit() ) { return( FALSE ); } WRECtl3DInit( app_inst ); WREInitOpts(); WREInitRibbon( app_inst ); WREInitTypeNames(); WREInitTotalText(); if( !WREInitResources( app_inst ) ) { return( FALSE ); } /* load the accelerator table */ WREAccel = LoadAccelerators( app_inst, "WREAccelTable" ); /* if the window could not be created return FALSE */ if( WREAccel == NULL ) { WREDisplayErrorMsg( WRE_NOLOADACCELTABLE ); return( FALSE ); } WREGetScreenPosOption( &r ); GetWindowRect( GetDesktopWindow(), &screen ); IntersectRect( &t, &screen, &r ); title = WREAllocRCString( WRE_APPNAME ); /* attempt to create the main application window */ style = WS_OVERLAPPEDWINDOW; if( IsRectEmpty( &r ) ) { WREMainWin = CreateWindow( WREMainClass, title, style, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, app_inst, NULL ); } else { WREMainWin = CreateWindow( WREMainClass, title, style, r.left, r.top, r.right - r.left, r.bottom - r.top, (HWND)NULL, (HMENU)NULL, app_inst, NULL ); } if( title != NULL ) { WREFreeRCString( title ); } /* if the window could not be created return FALSE */ if( WREMainWin == NULL ) { WREDisplayErrorMsg( WRE_NOCREATEAPPWINDOW ); return( FALSE ); } WREMDIWin = WRECreateMDIClientWindow( WREMainWin, app_inst ); /* attempt to create the main application ribbon */ if( !WRECreateRibbon( WREMainWin ) ) { WREDisplayErrorMsg( WRE_NOCREATETOOLRIBBON ); return( FALSE ); } if( !WRECreateStatusLine( WREMainWin, app_inst ) ) { WREDisplayErrorMsg( WRE_NOCREATESTATUSLINE ); return( FALSE ); } WREMenu = GetMenu( WREMainWin ); if( WREMenu != (HMENU)NULL ) { EnableMenuItem( WREMenu, IDM_CUT, MF_GRAYED ); EnableMenuItem( WREMenu, IDM_COPY, MF_GRAYED ); EnableMenuItem( WREMenu, IDM_OPTIONS, MF_GRAYED ); } WREEnableMenus( FALSE ); if( !WREInitHints() ) { WREDisplayErrorMsg( WRE_NOINITHINTS ); return( FALSE ); } /* if the window was created Show and Update it */ if( !WRENoInterface ) { if( WREGetOption( WREOptScreenMax ) ) { ShowWindow( WREMainWin, SW_SHOWMAXIMIZED ); } else { ShowWindow( WREMainWin, SW_SHOWNORMAL ); } UpdateWindow( WREMainWin ); WREDisplaySplashScreen( WREInst, WREMainWin, 1250 ); } return( TRUE ); }