X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/618f2efa413947456c7efb17d143a44a76787619..d66c3960d541cf9e3ba10519a49a9e34b4ddfc81:/contrib/src/fl/controlbar.cpp?ds=sidebyside diff --git a/contrib/src/fl/controlbar.cpp b/contrib/src/fl/controlbar.cpp index 85e428ecf6..aaf5c6decf 100644 --- a/contrib/src/fl/controlbar.cpp +++ b/contrib/src/fl/controlbar.cpp @@ -87,6 +87,9 @@ // some ascii-art, still can't get these *nice* cursors working on wx... :-( +/* +// FIXME:: see places where _gHorizCursorImg is used + static const char* _gHorizCursorImg[] = { "............XX....XX............", @@ -126,6 +129,7 @@ static const char* _gVertCursorImg[] = "...............XXX..............", "................X..............." }; +*/ // helper inline functions @@ -402,11 +406,11 @@ void wxFrameLayout::ReparentWindow( wxWindow* pChild, wxWindow* pNewParent ) void wxFrameLayout::DestroyBarWindows() { - wxNode* pSpy = mBarSpyList.First(); + wxNode* pSpy = mBarSpyList.GetFirst(); while( pSpy ) { - cbBarSpy& spy = *((cbBarSpy*)pSpy->Data()); + cbBarSpy& spy = *((cbBarSpy*)pSpy->GetData()); if ( spy.mpBarWnd->GetEventHandler() == &spy ) @@ -414,7 +418,7 @@ void wxFrameLayout::DestroyBarWindows() delete &spy; - pSpy = pSpy->Next(); + pSpy = pSpy->GetNext(); } mBarSpyList.Clear(); @@ -432,20 +436,22 @@ void wxFrameLayout::DestroyBarWindows() void wxFrameLayout::ShowFloatedWindows( bool show ) { - wxNode* pNode = mFloatedFrames.First(); + wxNode* pNode = mFloatedFrames.GetFirst(); while( pNode ) { - cbFloatedBarWindow* pFFrm = ((cbFloatedBarWindow*)pNode->Data()); + cbFloatedBarWindow* pFFrm = ((cbFloatedBarWindow*)pNode->GetData()); pFFrm->Show( show ); - pNode = pNode->Next(); + pNode = pNode->GetNext(); } } wxFrameLayout::~wxFrameLayout() { + size_t i; + UnhookFromFrame(); if ( mpUpdatesMgr ) @@ -474,7 +480,6 @@ wxFrameLayout::~wxFrameLayout() // destroy contents of arrays and lists - size_t i = 0; for ( i = 0; i != MAX_PANES; ++i ) { if ( mPanes[i] ) @@ -491,11 +496,11 @@ wxFrameLayout::~wxFrameLayout() if ( mpNECursor ) delete mpNECursor; - wxNode* pSpy = mBarSpyList.First(); + wxNode* pSpy = mBarSpyList.GetFirst(); while( pSpy ) { - cbBarSpy& spy = *((cbBarSpy*)pSpy->Data()); + cbBarSpy& spy = *((cbBarSpy*)pSpy->GetData()); if ( spy.mpBarWnd->GetEventHandler() == &spy ) @@ -503,7 +508,7 @@ wxFrameLayout::~wxFrameLayout() delete &spy; - pSpy = pSpy->Next(); + pSpy = pSpy->GetNext(); } for ( i = 0; i != mAllBars.Count(); ++i ) @@ -674,7 +679,7 @@ BarArrayT& wxFrameLayout::GetBars() void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow ) { - if ( newState == wxCBAR_FLOATING && !mFloatingOn ) + if ( newState == wxCBAR_FLOATING && !(mFloatingOn && pBar->mFloatingOn)) return; @@ -691,7 +696,10 @@ void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow ) cbDockPane* pPane; cbRowInfo* pRow; - bool success = LocateBar( pBar, &pRow, &pPane ); + #ifdef __WXDEBUG__ + bool success = + #endif + LocateBar( pBar, &pRow, &pPane ); wxASSERT( success ); // DBG:: @@ -715,11 +723,11 @@ void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow ) { pBar->mpBarWnd->Show(FALSE); // to avoid flicker upon reparenting - wxNode* pNode = mFloatedFrames.First(); + wxNode* pNode = mFloatedFrames.GetFirst(); while( pNode ) { - cbFloatedBarWindow* pFFrm = ((cbFloatedBarWindow*)pNode->Data()); + cbFloatedBarWindow* pFFrm = ((cbFloatedBarWindow*)pNode->GetData()); if ( pFFrm->GetBar() == pBar ) { @@ -739,7 +747,7 @@ void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow ) pFFrm->Destroy(); break; } - pNode = pNode->Next(); + pNode = pNode->GetNext(); } // FOR NOW:: excessive! @@ -773,7 +781,7 @@ void wxFrameLayout::InverseVisibility( cbBarInfo* pBar ) // "inverse" bar-visibility of the selected bar - int newState = 0; + int newState; if ( pBar->mState == wxCBAR_HIDDEN ) { @@ -824,13 +832,13 @@ void wxFrameLayout::ApplyBarProperties( cbBarInfo* pBar ) void wxFrameLayout::RepositionFloatedBar( cbBarInfo* pBar ) { - if ( !mFloatingOn ) return; + if ( !(mFloatingOn && pBar->mFloatingOn)) return; - wxNode* pNode = mFloatedFrames.First(); + wxNode* pNode = mFloatedFrames.GetFirst(); while( pNode ) { - cbFloatedBarWindow* pFFrm = ((cbFloatedBarWindow*)pNode->Data()); + cbFloatedBarWindow* pFFrm = ((cbFloatedBarWindow*)pNode->GetData()); if ( pFFrm->GetBar() == pBar ) { @@ -848,7 +856,7 @@ void wxFrameLayout::RepositionFloatedBar( cbBarInfo* pBar ) break; } - pNode = pNode->Next(); + pNode = pNode->GetNext(); } } @@ -871,7 +879,8 @@ void wxFrameLayout::DoSetBarState( cbBarInfo* pBar ) } else { - if ( !mFloatingOn ) return; + if ( !(mFloatingOn && pBar->mFloatingOn) ) + return; // float it @@ -896,7 +905,9 @@ void wxFrameLayout::DoSetBarState( cbBarInfo* pBar ) pMiniFrm->Create( &GetParentFrame(), -1, pBar->mName, wxPoint( 50,50 ), wxSize ( 0, 0 ), - wxFRAME_FLOAT_ON_PARENT | wxFRAME_TOOL_WINDOW + wxFRAME_FLOAT_ON_PARENT | + wxFRAME_TOOL_WINDOW | + wxFRAME_NO_TASKBAR ); pMiniFrm->SetClient( pBar->mpBarWnd ); @@ -974,7 +985,7 @@ void wxFrameLayout::RemoveBar( cbBarInfo* pBarInfo ) return; } } - wxFAIL_MSG("bar info should be present in the list of all bars of all panes"); + wxFAIL_MSG(wxT("bar info should be present in the list of all bars of all panes")); } bool wxFrameLayout::LocateBar( cbBarInfo* pBarInfo, @@ -1009,7 +1020,6 @@ void wxFrameLayout::RecalcLayout( bool repositionBarsNow ) int frmWidth, frmHeight; mpFrame->GetClientSize( &frmWidth, &frmHeight ); - int paneHeight = 0; int curY = 0; int curX = 0; @@ -1025,7 +1035,7 @@ void wxFrameLayout::RecalcLayout( bool repositionBarsNow ) pPane->SetPaneWidth( frmWidth ); pPane->RecalcLayout(); - paneHeight = pPane->GetPaneHeight(); + int paneHeight = pPane->GetPaneHeight(); rect.x = curX; rect.y = curY; @@ -1153,6 +1163,9 @@ void wxFrameLayout::PositionPanes() void wxFrameLayout::OnSize( wxSizeEvent& event ) { + mpFrame->ProcessEvent( event ); + event.Skip( FALSE ); // stop its progpagation + if ( event.GetEventObject() == (wxObject*) mpFrame ) { GetUpdatesManager().OnStartChanges(); @@ -1356,11 +1369,6 @@ void wxFrameLayout::ForwardMouseEvent( wxMouseEvent& event, cbMotionEvent evt( pos, pToPane ); FirePluginEvent( evt ); } - else - { - int avoidCompilerWarning = 0; - wxASSERT(avoidCompilerWarning); // DBG:: - } } // wxFrameLayout::ForwardMouseEvent() @@ -1467,7 +1475,7 @@ void wxFrameLayout::OnPaint( wxPaintEvent& event ) event.Skip(); } -void wxFrameLayout::OnEraseBackground( wxEraseEvent& event ) +void wxFrameLayout::OnEraseBackground( wxEraseEvent& WXUNUSED(event) ) { // do nothing } @@ -1478,7 +1486,7 @@ void wxFrameLayout::OnIdle( wxIdleEvent& event ) if ( !focus && mCheckFocusWhenIdle ) { - wxMessageBox( "Hi, no more focus in this app!" ); + wxMessageBox(wxT("Hi, no more focus in this app!")); mCheckFocusWhenIdle = FALSE; //ShowFloatedWindows( FALSE ); @@ -1490,18 +1498,18 @@ void wxFrameLayout::OnIdle( wxIdleEvent& event ) } -void wxFrameLayout::OnKillFocus( wxFocusEvent& event ) +void wxFrameLayout::OnKillFocus( wxFocusEvent& WXUNUSED(event) ) { //wxMessageBox( "wxFrameLayoutGot Kill Focus!" ); //ShowFloatedWindows( FALSE ); } -void wxFrameLayout::OnSetFocus( wxFocusEvent& event ) +void wxFrameLayout::OnSetFocus( wxFocusEvent& WXUNUSED(event) ) { //ShowFloatedWindows( TRUE ); } -void wxFrameLayout::OnActivate( wxActivateEvent& event ) +void wxFrameLayout::OnActivate( wxActivateEvent& WXUNUSED(event) ) { #if 0 if ( event.GetActive() == FALSE ) @@ -1616,7 +1624,7 @@ void wxFrameLayout::CaptureEventsForPlugin ( cbPluginBase* pPlugin ) } -void wxFrameLayout::ReleaseEventsFromPlugin( cbPluginBase* pPlugin ) +void wxFrameLayout::ReleaseEventsFromPlugin( cbPluginBase* WXUNUSED(pPlugin) ) { // events should be captured first wxASSERT( mpCaputesInput != NULL ); @@ -1634,7 +1642,7 @@ void wxFrameLayout::CaptureEventsForPane( cbDockPane* toPane ) mpPaneInFocus = toPane; } -void wxFrameLayout::ReleaseEventsFromPane( cbDockPane* fromPane ) +void wxFrameLayout::ReleaseEventsFromPane( cbDockPane* WXUNUSED(fromPane) ) { // cannot release events without capturing them wxASSERT( mpPaneInFocus != NULL ); @@ -2060,6 +2068,43 @@ cbCommonPaneProperties::cbCommonPaneProperties(void) mResizeHandleSize( 4 ) {} +cbCommonPaneProperties::cbCommonPaneProperties(const cbCommonPaneProperties& props) + + : wxObject(), + mRealTimeUpdatesOn (props.mRealTimeUpdatesOn), + mOutOfPaneDragOn (props.mOutOfPaneDragOn), + mExactDockPredictionOn(props.mExactDockPredictionOn), + mNonDestructFrictionOn(props.mNonDestructFrictionOn), + mShow3DPaneBorderOn (props.mShow3DPaneBorderOn), + mBarFloatingOn (props.mBarFloatingOn), + mRowProportionsOn (props.mRowProportionsOn), + mColProportionsOn (props.mColProportionsOn), + mBarCollapseIconsOn (props.mBarCollapseIconsOn), + mBarDragHintsOn (props.mBarDragHintsOn), + + mMinCBarDim(props.mMinCBarDim), + mResizeHandleSize(props.mResizeHandleSize) +{} + +cbCommonPaneProperties& cbCommonPaneProperties::operator=(const cbCommonPaneProperties& props) +{ + mRealTimeUpdatesOn = props.mRealTimeUpdatesOn; + mOutOfPaneDragOn = props.mOutOfPaneDragOn; + mExactDockPredictionOn = props.mExactDockPredictionOn; + mNonDestructFrictionOn = props.mNonDestructFrictionOn; + mShow3DPaneBorderOn = props.mShow3DPaneBorderOn; + mBarFloatingOn = props.mBarFloatingOn; + mRowProportionsOn = props.mRowProportionsOn; + mColProportionsOn = props.mColProportionsOn; + mBarCollapseIconsOn = props.mBarCollapseIconsOn; + mBarDragHintsOn = props.mBarDragHintsOn; + + mMinCBarDim = props.mMinCBarDim; + mResizeHandleSize = props.mResizeHandleSize; + + return *this; +} + /***** Implementation for class cbRowInfo *****/ IMPLEMENT_DYNAMIC_CLASS( cbRowInfo, wxObject ) @@ -2085,7 +2130,7 @@ IMPLEMENT_DYNAMIC_CLASS( cbBarInfo, wxObject ) cbBarInfo::cbBarInfo(void) : mpRow( NULL ), - + mFloatingOn( TRUE ), mpNext( NULL ), mpPrev( NULL ) {} @@ -2192,7 +2237,7 @@ void cbDockPane::PaintRowBackground ( cbRowInfo* pRow, wxDC& dc ) void cbDockPane::PaintRowDecorations( cbRowInfo* pRow, wxDC& dc ) { - size_t i = 0; + size_t i; // decorations first for ( i = 0; i != pRow->mBars.Count(); ++i ) @@ -2228,9 +2273,9 @@ void cbDockPane::PaintPaneDecorations( wxDC& dc ) void cbDockPane::PaintPane( wxDC& dc ) { - PaintPaneBackground( dc ); + size_t i; - size_t i = 0; + PaintPaneBackground( dc ); // first decorations for ( i = 0; i != mRows.Count(); ++i ) @@ -2457,7 +2502,7 @@ int cbDockPane::GetRowAt( int upperY, int lowerY ) int range = lowerY - upperY; int oneThird = range / 3; - wxNode* pRow = mRows.First(); + wxNode* pRow = mRows.GetFirst(); int row = 0; int curY = 0; @@ -2465,7 +2510,7 @@ int cbDockPane::GetRowAt( int upperY, int lowerY ) while( pRow ) { - int rowHeight = GetRowHeight( (wxList*)pRow->Data() ); + int rowHeight = GetRowHeight( (wxList*)pRow->GetData() ); if ( upperY >= curY && lowerY < curY ) return row; @@ -2484,7 +2529,7 @@ int cbDockPane::GetRowAt( int upperY, int lowerY ) ++row; curY += rowHeight; - pRow = pRow->Next(); + pRow = pRow->GetNext(); } */ @@ -2582,9 +2627,9 @@ bool cbDockPane::HasNotFixedBarsRight( cbBarInfo* pBar ) void cbDockPane::CalcLengthRatios( cbRowInfo* pInRow ) { - int totalWidth = 0; + size_t i; - size_t i = 0; + int totalWidth = 0; // calc current-maximal-total-length of all maximized bars @@ -2738,7 +2783,7 @@ void cbDockPane::InitLinksForRows() void cbDockPane::DoInsertBar( cbBarInfo* pBar, int rowNo ) { - cbRowInfo* pRow = NULL; + cbRowInfo* pRow; if ( rowNo == -1 || rowNo >= (int)mRows.Count() ) { @@ -2973,7 +3018,7 @@ int cbDockPane::GetRowIndex( cbRowInfo* pRow ) return i; } - wxFAIL_MSG("Row must be present to call cbDockPane::GetRowIndex()"); + wxFAIL_MSG(wxT("Row must be present to call cbDockPane::GetRowIndex()")); return 0; } @@ -3021,7 +3066,7 @@ bool cbDockPane::MatchesMask( int paneMask ) case FL_ALIGN_RIGHT : thisMask = FL_ALIGN_RIGHT_PANE; break; default: - wxFAIL_MSG("Bad FL alignment type detected in cbDockPane::MatchesMask()"); + wxFAIL_MSG(wxT("Bad FL alignment type detected in cbDockPane::MatchesMask()")); } return ( thisMask & paneMask ) != 0; @@ -3446,10 +3491,10 @@ void cbDockPane::GetRowShapeData( cbRowInfo* pRow, wxList* pLst ) void cbDockPane::SetRowShapeData( cbRowInfo* pRow, wxList* pLst ) { - if ( pLst->First() == NULL ) + if ( pLst->GetFirst() == NULL ) return; - wxNode* pData = pLst->First(); + wxNode* pData = pLst->GetFirst(); size_t i; for ( i = 0; i != pRow->mBars.Count(); ++i ) @@ -3458,12 +3503,12 @@ void cbDockPane::SetRowShapeData( cbRowInfo* pRow, wxList* pLst ) cbBarInfo& bar = *pRow->mBars[i];; - cbBarShapeData& data = *((cbBarShapeData*)pData->Data()); + cbBarShapeData& data = *((cbBarShapeData*)pData->GetData()); bar.mBounds = data.mBounds; bar.mLenRatio = data.mLenRatio; - pData = pData->Next(); + pData = pData->GetNext(); } }