void EclRegisterWindow ( EclWindow *window, EclWindow *parent ) { AppAssert( window ); if ( EclGetWindow ( window->m_name ) ) { AppReleaseAssert( false, "Window %s already exists", window->m_name ); } if( parent && window->m_x == 0 && window->m_y == 0 ) { // We should place the window in a decent locatiom int left = screenW / 2 - parent->m_x; int above = screenH / 2 - parent->m_y; if( left > window->m_w / 2 ) window->m_x = int( parent->m_x + parent->m_w * (float) rand() / (float) RAND_MAX ); else window->m_x = int( parent->m_x - window->m_w * (float) rand() / (float) RAND_MAX ); if( above > window->m_h / 2 ) window->m_y = int( parent->m_y + parent->m_h * (float) rand() / (float) RAND_MAX ); else window->m_y = int( parent->m_y - window->m_h/2 * (float) rand() / (float) RAND_MAX ); } if( window->m_x < 0 ) window->m_x = 0; if( window->m_y < 0 ) window->m_y = 0; if( window->m_x + window->m_w > screenW ) window->m_x = screenW - window->m_w; if( window->m_y + window->m_h > screenH ) window->m_y = screenH - window->m_h; windows.PutDataAtStart ( window ); window->Create(); EclSetCurrentFocus( window->m_name ); }
void EclRegisterWindow ( EclWindow *window, EclWindow *parent ) { // DebugAssert( window ); if ( EclGetWindow ( window->m_name ) ) { } if( parent && window->m_x == 0 && window->m_y == 0 ) { // We should place the window in a decent location int left = screenW / 2 - parent->m_x; int above = screenH / 2 - parent->m_y; if( left > window->m_w / 2 ) window->m_x = int( parent->m_x + parent->m_w * (float) AppRandom() / (float) APP_RAND_MAX ); else window->m_x = int( parent->m_x - window->m_w * (float) AppRandom() / (float) APP_RAND_MAX ); if( above > window->m_h / 2 ) window->m_y = int( parent->m_y + parent->m_h * (float) AppRandom() / (float) APP_RAND_MAX ); else window->m_y = int( parent->m_y - window->m_h/2 * (float) AppRandom() / (float) APP_RAND_MAX ); } window->MakeAllOnScreen(); windows.PutDataAtStart ( window ); window->Create(); EclDirtyWindow( window ); }
void EclBringWindowToFront ( char *name ) { int index = EclGetWindowIndex(name); if ( index != -1 ) { EclWindow *window = windows.GetData(index); windows.RemoveData(index); windows.PutDataAtStart(window); } else { AppDebugOut( "EclBringWindowToFront failed on window %s\n", name ); } }
void EclBringWindowToFront ( char *name ) { int index = EclGetWindowIndex(name); if ( index != -1 ) { EclWindow *window = windows.GetData(index); windows.RemoveData(index); windows.PutDataAtStart(window); EclDirtyWindow( window ); } else { } }