X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8552e6f031ded8ae61b4a5b489fbf06962365da7..fdf565feca722eddb84168a95dbef329ba23d719:/contrib/src/fl/rowlayoutpl.cpp?ds=sidebyside diff --git a/contrib/src/fl/rowlayoutpl.cpp b/contrib/src/fl/rowlayoutpl.cpp index e500194447..1c78f4b5a2 100644 --- a/contrib/src/fl/rowlayoutpl.cpp +++ b/contrib/src/fl/rowlayoutpl.cpp @@ -8,10 +8,6 @@ // Copyright: (c) Aleksandras Gluchovas // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - -#ifdef __GNUG__ - #pragma implementation "rowlayoutpl.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -61,10 +57,10 @@ void cbRowLayoutPlugin::CheckIfAtTheBoundary( cbBarInfo* pTheBar, cbRowInfo& row // In this case we need to check if the pBarNode appears to be inserted // chain of fixed-bars on the very right or left side of the row, // then all the white-space, such chain should be eliminated, - // and the resulting chain justified to the right or the left + // and the resulting chain justified to the right or the left // side of the row - if ( !pTheBar->IsFixed() || rowInfo.mHasOnlyFixedBars ) + if ( !pTheBar->IsFixed() || rowInfo.mHasOnlyFixedBars ) return; @@ -76,7 +72,7 @@ void cbRowLayoutPlugin::CheckIfAtTheBoundary( cbBarInfo* pTheBar, cbRowInfo& row do { - if ( !pBar->IsFixed() ) + if ( !pBar->IsFixed() ) break; wxRect& bounds = pBar->mBounds; @@ -91,15 +87,15 @@ void cbRowLayoutPlugin::CheckIfAtTheBoundary( cbBarInfo* pTheBar, cbRowInfo& row } while( 1 ); - // slide fixed bars to the left on the left side relative to the pBarNode + // slide fixed bars to the left on the left side relative to the pBarNode pBar = rowInfo.mBars[0]; prevX = 0; - + do { - if ( pBar->IsFixed() ) + if ( pBar->IsFixed() ) break; @@ -152,11 +148,11 @@ void cbRowLayoutPlugin::ExpandNotFixedBars( cbRowInfo* pRow ) { bar.mLenRatio = bar.mLenRatio/(pcntSum); - bar.mBounds.width = - + bar.mBounds.width = + wxMax( mpPane->mProps.mMinCBarDim.x, int( freeSpc*bar.mLenRatio ) ); } - + bar.mBounds.x = curX; curX = bar.mBounds.x + bar.mBounds.width; } @@ -260,7 +256,7 @@ void cbRowLayoutPlugin::FitBarsToRange( int from, int till, { pBar->mBounds.width = wxMax( mpPane->mProps.mMinCBarDim.x, - int( double(freeSpc) * (pBar->mLenRatio/pcntSum) ) + (int)( ((double)freeSpc) * (pBar->mLenRatio/pcntSum) ) ); } pBar = pBar->mpNext; @@ -270,7 +266,7 @@ void cbRowLayoutPlugin::FitBarsToRange( int from, int till, pBar = pFromBar; int prevX = from; - bool hasNotFixedBars = FALSE; + bool hasNotFixedBars = false; while ( pBar != pTillBar ) { @@ -278,7 +274,7 @@ void cbRowLayoutPlugin::FitBarsToRange( int from, int till, if ( !pBar->IsFixed() ) { - hasNotFixedBars = TRUE; + hasNotFixedBars = true; freeSpc -= bounds.width; } @@ -286,7 +282,7 @@ void cbRowLayoutPlugin::FitBarsToRange( int from, int till, bounds.x = prevX; prevX = bounds.x + bounds.width; - + pBar = pBar->mpNext; } @@ -389,10 +385,10 @@ void cbRowLayoutPlugin::RecalcLengthRatios( cbRowInfo* pRow ) // attach remainder (the result of lost precision) to the // last not-fixed bar -#if !defined(__EXPERIMENTAL) +#if !defined(__EXPERIMENTAL) if ( pLastNotFixed ) - + pLastNotFixed->mLenRatio += pcntLeft; #endif @@ -413,13 +409,13 @@ void cbRowLayoutPlugin::ApplyLengthRatios( cbRowInfo* pRow ) /* pBar = node_to_first_bar_node( pRow ); - + while( pBar ) { cbBarInfo& bar = node_to_bar( pBar ); if ( !bar.IsFixed() ) - + bar.mLenRatio = pcntSum / bar.mLenRatio; pBar = pBar->Next(); @@ -437,10 +433,10 @@ void cbRowLayoutPlugin::ApplyLengthRatios( cbRowInfo* pRow ) // is returned right back to the row - so that it would retain // it's original dimensions in this row (this is kind of AI...) // - // The problem is - when it's remvoed, the sum of + // The problem is - when it's remvoed, the sum of // mLenRatio's is not in "balance", i.e. is < 1.0, // it's possible to restore balance, but instead of that - // we artifically ajdust freeSpc value in a way that it would + // we artifically ajdust freeSpc value in a way that it would // look like total of mLetRatio's is 1.0, thus original // len. ratios are _preserved_: @@ -449,17 +445,17 @@ void cbRowLayoutPlugin::ApplyLengthRatios( cbRowInfo* pRow ) double unit = freeSpc / pcntSum; - bool haveSquished = FALSE; + bool haveSquished = false; for ( i = 0; i != pRow->mBars.Count(); ++i ) { if ( !pRow->mBars[i]->IsFixed() ) { - cbBarInfo& bar = *pRow->mBars[i]; - + cbBarInfo& bar = *pRow->mBars[i]; + if ( int( unit * bar.mLenRatio ) < mpPane->mProps.mMinCBarDim.x ) { - haveSquished = TRUE; + haveSquished = true; bar.mBounds.width = -1; // mark as "squished" @@ -487,8 +483,8 @@ void cbRowLayoutPlugin::ApplyLengthRatios( cbRowInfo* pRow ) else bar.mBounds.width = int( unit * bar.mLenRatio ); - // a little bit of AI: - // memorize bar's height and width, when docked in + // a little bit of AI: + // memorize bar's height and width, when docked in // the current orientation - by making the current // dimensions to be "preffered" ones for this docking state @@ -507,37 +503,37 @@ void cbRowLayoutPlugin::DetectBarHandles( cbRowInfo* pRow ) { // first pass from left to right (detect left-side handles) - bool foundNotFixed = FALSE; + bool foundNotFixed = false; size_t i; for ( i = 0; i != pRow->mBars.Count(); ++i ) { cbBarInfo& bar = *pRow->mBars[i]; - - bar.mHasLeftHandle = FALSE; + + bar.mHasLeftHandle = false; if ( !bar.IsFixed() ) { if ( foundNotFixed ) - + if ( bar.mpPrev && bar.mpPrev->IsFixed() ) - - bar.mHasLeftHandle = TRUE; - foundNotFixed = TRUE; + bar.mHasLeftHandle = true; + + foundNotFixed = true; } } // pass from right to left (detect right-side handles) - foundNotFixed = FALSE; + foundNotFixed = false; cbBarInfo* pBar = pRow->mBars[ pRow->mBars.Count() - 1 ]; while( pBar ) { - pBar->mHasRightHandle = FALSE; + pBar->mHasRightHandle = false; if ( !pBar->IsFixed() ) { @@ -545,9 +541,9 @@ void cbRowLayoutPlugin::DetectBarHandles( cbRowInfo* pRow ) if ( pBar->mpNext ) - pBar->mHasRightHandle = TRUE; + pBar->mHasRightHandle = true; - foundNotFixed = TRUE; + foundNotFixed = true; } pBar = pBar->mpPrev; @@ -560,7 +556,7 @@ void cbRowLayoutPlugin::RelayoutNotFixedBarsAround( cbBarInfo* pTheBar, cbRowInf { if ( !pTheBar->IsFixed() ) { - // this bar the first in the row, move it's + // this bar the first in the row, move it's // left edge to the very left pTheBar->mBounds.width += pTheBar->mBounds.x; pTheBar->mBounds.x = 0; @@ -573,7 +569,7 @@ void cbRowLayoutPlugin::RelayoutNotFixedBarsAround( cbBarInfo* pTheBar, cbRowInf { if ( !pTheBar->IsFixed() ) { - // this bar is the last one, move it's + // this bar is the last one, move it's // right edge to the very right pTheBar->mBounds.width = mpPane->mPaneWidth - pTheBar->mBounds.x; @@ -611,7 +607,7 @@ int cbRowLayoutPlugin::CalcRowHeight( cbRowInfo& row ) size_t i; for ( i = 0; i != row.mBars.Count(); ++i ) - + maxHeight = wxMax( maxHeight, row.mBars[i]->mBounds.height ); return maxHeight; @@ -778,8 +774,8 @@ void cbRowLayoutPlugin::ShiftRightTrashold( cbBarInfo* pTheBar, cbRowInfo& row ) } } - int leftShift = ( rightOverflow > leftFreeSpc ) - ? leftFreeSpc + int leftShift = ( rightOverflow > leftFreeSpc ) + ? leftFreeSpc : rightOverflow; theBar.x -= leftShift; @@ -796,7 +792,7 @@ void cbRowLayoutPlugin::ShiftRightTrashold( cbBarInfo* pTheBar, cbRowInfo& row ) } while(1); } -void cbRowLayoutPlugin::InsertBefore( cbBarInfo* pBeforeBar, +void cbRowLayoutPlugin::InsertBefore( cbBarInfo* pBeforeBar, cbBarInfo* pTheBar, cbRowInfo& row ) { @@ -834,7 +830,7 @@ void cbRowLayoutPlugin::DoInsertBar( cbBarInfo* pTheBar, cbRowInfo& row ) InsertBefore( &bar, pTheBar, row ); return; } - + else // if bar hits the right edge if ( theBar.x <= cur.x + cur.width ) @@ -926,14 +922,14 @@ void cbRowLayoutPlugin::OnInsertBar( cbInsertBarEvent& event ) DetectBarHandles( pIntoRow ); - // do proportional resizing of not-fixed bars + // do proportional resizing of not-fixed bars ApplyLengthRatios( pIntoRow ); } // adjust the bar's docking state - // a little bit of AI: - // memorize bar's height and width, when docked in + // a little bit of AI: + // memorize bar's height and width, when docked in // the current orientation - by making the current // dimensions to be "preferred" ones for this docking state @@ -962,8 +958,8 @@ void cbRowLayoutPlugin::OnRemoveBar ( cbRemoveBarEvent& event ) // rest bar information after removing it from the row pBar->mpRow = NULL; - pBar->mHasLeftHandle = FALSE; - pBar->mHasRightHandle = FALSE; + pBar->mHasLeftHandle = false; + pBar->mHasRightHandle = false; mpPane->InitLinksForRow( pRow ); // relink "mpNext/mpPrev"s @@ -982,7 +978,7 @@ void cbRowLayoutPlugin::OnRemoveBar ( cbRemoveBarEvent& event ) // force repainting of bars, in the row, from which the bar was removed // FIXME:: really needed? - pRow->mBars[0]->mUMgrData.SetDirty(TRUE); + pRow->mBars[0]->mUMgrData.SetDirty(true); // re-setup mHasOnlyFixedBars flag for the row information event.mpPane->SyncRowFlags( pRow ); @@ -1004,7 +1000,7 @@ void cbRowLayoutPlugin::OnLayoutRow( cbLayoutRowEvent& event ) if ( !pRow->mHasOnlyFixedBars ) { - // do proportional resizing of not-fixed bars + // do proportional resizing of not-fixed bars ApplyLengthRatios( pRow ); } @@ -1051,7 +1047,7 @@ void cbRowLayoutPlugin::OnLayoutRows( cbLayoutRowsEvent& event ) cbRowInfo& row = *mpPane->GetRowList()[ i ]; //mpPane->CalcLengthRatios(& row); - // setup "has-handle" flags for rows, which depend on the existance + // setup "has-handle" flags for rows, which depend on the existence // of not-fixed bars in the row if ( !row.mHasOnlyFixedBars ) @@ -1059,22 +1055,22 @@ void cbRowLayoutPlugin::OnLayoutRows( cbLayoutRowsEvent& event ) if ( mpPane->mAlignment == FL_ALIGN_TOP || mpPane->mAlignment == FL_ALIGN_LEFT ) { - row.mHasLowerHandle = TRUE; + row.mHasLowerHandle = true; - row.mHasUpperHandle = FALSE; + row.mHasUpperHandle = false; } else { - row.mHasUpperHandle = TRUE; + row.mHasUpperHandle = true; - row.mHasLowerHandle = FALSE; + row.mHasLowerHandle = false; } } else { // otherwise, rows with fixed-bars only, have no height-resizing handles - row.mHasUpperHandle = FALSE; - row.mHasLowerHandle = FALSE; + row.mHasUpperHandle = false; + row.mHasLowerHandle = false; } // setup vertical positions for items in the row @@ -1116,7 +1112,7 @@ void cbRowLayoutPlugin::OnResizeRow( cbResizeRowEvent& event ) cbRowInfo* pRow = pTheRow->mpPrev; - while( pRow ) + while( pRow ) { pRow = pRow->mpPrev; } @@ -1128,7 +1124,7 @@ void cbRowLayoutPlugin::OnResizeRow( cbResizeRowEvent& event ) cbRowInfo* pRow = pTheRow->mpNext; - while( pRow ) + while( pRow ) { pRow = pRow->mpNext; } @@ -1162,7 +1158,7 @@ void cbRowLayoutPlugin::OnResizeRow( cbResizeRowEvent& event ) { int prevHeight = pRow->mRowHeight; - int newHeight = wxMax( event.mpPane->GetMinimalRowHeight( pRow ), + int newHeight = wxMax( event.mpPane->GetMinimalRowHeight( pRow ), prevHeight - needed ); if ( newHeight != prevHeight ) @@ -1195,7 +1191,7 @@ void cbRowLayoutPlugin::OnResizeRow( cbResizeRowEvent& event ) { int prevHeight = pRow->mRowHeight; - int newHeight = wxMax( event.mpPane->GetMinimalRowHeight( pRow ), + int newHeight = wxMax( event.mpPane->GetMinimalRowHeight( pRow ), prevHeight - needed ); if ( newHeight != prevHeight ) @@ -1211,12 +1207,12 @@ void cbRowLayoutPlugin::OnResizeRow( cbResizeRowEvent& event ) } if ( forUpperHandle ) - + event.mpPane->SetRowHeight( pTheRow, pTheRow->mRowHeight + (-ofs) ); else event.mpPane->SetRowHeight( pTheRow, pTheRow->mRowHeight + ofs ); - mpLayout->RecalcLayout(FALSE); + mpLayout->RecalcLayout(false); mpLayout->GetUpdatesManager().OnFinishChanges(); mpLayout->GetUpdatesManager().UpdateNow();