]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/src/fl/controlbar.cpp
reSWIGged
[wxWidgets.git] / contrib / src / fl / controlbar.cpp
index f00ec60e107c6b8ae90f269312bd6ed09fb7fe29..aaf5c6decfd1d248181d2e8c83370b602eedaa7f 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        No names yet.
-// Purpose:     Contrib. demo
+// Name:        controlbar.cpp
+// Purpose:     Implementation for main controlbar classes.
 // Author:      Aleksandras Gluchovas
 // Modified by:
 // Created:     06/09/98
@@ -50,7 +50,6 @@
 // meet the new event paradigm as of wx2.3.0.  Probably we
 // should find a way to make these be non-global, but this
 // works for right now.
-#if wxCHECK_VERSION(2,3,0)
     wxEventType cbEVT_PL_LEFT_DOWN = wxNewEventType();
     wxEventType cbEVT_PL_LEFT_UP = wxNewEventType();
     wxEventType cbEVT_PL_RIGHT_DOWN = wxNewEventType();
     wxEventType cbEVT_PL_CUSTOMIZE_LAYOUT = wxNewEventType();
 
     wxEventType wxCUSTOM_CB_PLUGIN_EVENTS_START_AT = wxNewEventType();
-#endif // #if wxCHECK_VERSION(2,3,0)
 
 // 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............",
@@ -128,6 +129,7 @@ static const char* _gVertCursorImg[] =
     "...............XXX..............",
     "................X..............."
 };
+*/
 
 // helper inline functions
 
@@ -272,11 +274,11 @@ wxFrameLayout::wxFrameLayout(void)
     : mpFrame      ( NULL ),
       mpFrameClient( NULL ),
 
-      mDarkPen  ( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DSHADOW), 1, wxSOLID ),
-      mLightPen ( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DHILIGHT), 1, wxSOLID ),
-      mGrayPen  ( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
+      mDarkPen  ( wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW), 1, wxSOLID ),
+      mLightPen ( wxSystemSettings::GetColour(wxSYS_COLOUR_3DHILIGHT), 1, wxSOLID ),
+      mGrayPen  ( wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
       mBlackPen ( wxColour(  0,  0,  0), 1, wxSOLID ),
-      mBorderPen( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
+      mBorderPen( wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
    
       mNullPen( wxColour(0,0,0), 1, wxTRANSPARENT ),
 
@@ -305,11 +307,11 @@ wxFrameLayout::wxFrameLayout( wxWindow* pParentFrame, wxWindow* pFrameClient, bo
     : mpFrame( pParentFrame ),
       mpFrameClient(pFrameClient),
 
-      mDarkPen  ( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DSHADOW), 1, wxSOLID ),
-      mLightPen ( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DHILIGHT), 1, wxSOLID ),
-      mGrayPen  ( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
+      mDarkPen  ( wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW), 1, wxSOLID ),
+      mLightPen ( wxSystemSettings::GetColour(wxSYS_COLOUR_3DHILIGHT), 1, wxSOLID ),
+      mGrayPen  ( wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
       mBlackPen ( wxColour(  0,  0,  0), 1, wxSOLID ),
-      mBorderPen( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
+      mBorderPen( wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE), 1, wxSOLID ),
       
       mNullPen( wxColour(0,0,0), 1, wxTRANSPARENT ),
 
@@ -341,13 +343,13 @@ wxFrameLayout::wxFrameLayout( wxWindow* pParentFrame, wxWindow* pFrameClient, bo
         // DBG:: set RED color of frame's background for the
         //       prurpose of tracking engine bugs "visually"
 
-        GetParentFrame().SetBackgroundColour( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE) );
+        GetParentFrame().SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE) );
     }
 
     mFloatingOn = CanReparent();
 }
 
-// NOTE:: below are the only plaftorm-check "ifdef"s in the docking system!
+// NOTE:: below are the only platform-check "ifdef"s in the docking system!
 
 bool wxFrameLayout::CanReparent()
 {
@@ -389,7 +391,7 @@ void wxFrameLayout::ReparentWindow( wxWindow* pChild, wxWindow* pNewParent )
     pChild->Reparent(pNewParent);
 
     return;
-#elif defined(__WXGTK__)
+#elif defined(__WXGTK__) || defined(__WXX11__)
     // FOR NOW:: floating with wxGtk still very buggy
 
     return;
@@ -404,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 )
 
@@ -416,7 +418,7 @@ void wxFrameLayout::DestroyBarWindows()
 
         delete &spy;
 
-        pSpy = pSpy->Next();
+        pSpy = pSpy->GetNext();
     }
 
     mBarSpyList.Clear();
@@ -434,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 )
@@ -476,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] ) 
@@ -493,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 )
 
@@ -505,7 +508,7 @@ wxFrameLayout::~wxFrameLayout()
 
         delete &spy;
 
-        pSpy = pSpy->Next();
+        pSpy = pSpy->GetNext();
     }
 
     for ( i = 0; i != mAllBars.Count(); ++i )
@@ -627,10 +630,10 @@ bool wxFrameLayout::RedockBar( cbBarInfo*    pBar,
 
     pBarPane->RemoveBar( pBar );
 
-    // FIXME FIXME:: the below recalc. may be a *huge* performance
+    // FIXME FIXME:: the recalculation below may be a *huge* performance
     //               hit, it could be eliminated though...
     //               but first the "pane-postion-changed" problem 
-    //               have to be fixed 
+    //               has to be fixed 
 
     RecalcLayout( FALSE );
 
@@ -676,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;
 
@@ -693,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::
 
@@ -710,18 +716,18 @@ void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow )
 
     if ( pBar->mState == wxCBAR_FLOATING && newState != wxCBAR_FLOATING )
     {
-        // remove bar's window form the containing mini-frame
-        // and set it's parent to be layout's parent frame
+        // remove bar's window from the containing mini-frame
+        // and set its parent to be layout's parent frame
 
         if ( pBar->mpBarWnd )
         {
             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 )
                 {
@@ -741,7 +747,7 @@ void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow )
                     pFFrm->Destroy(); break;
                 }
 
-                pNode = pNode->Next();
+                pNode = pNode->GetNext();
             }
 
             // FOR NOW:: excessive!
@@ -751,6 +757,11 @@ void wxFrameLayout::SetBarState( cbBarInfo* pBar, int newState, bool updateNow )
         }
     }
 
+    if ( pBar->mDimInfo.GetDimHandler() )
+    {
+        pBar->mDimInfo.GetDimHandler()->OnChangeBarState( pBar, newState );
+    }
+
     pBar->mState = newState;
 
     DoSetBarState( pBar );
@@ -770,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 )
     {
@@ -821,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 )
         {
@@ -845,7 +856,7 @@ void wxFrameLayout::RepositionFloatedBar( cbBarInfo* pBar )
             break;
         }
 
-        pNode = pNode->Next();
+        pNode = pNode->GetNext();
     }
 }
 
@@ -868,7 +879,8 @@ void wxFrameLayout::DoSetBarState( cbBarInfo* pBar )
     }
     else
     {                   
-        if ( !mFloatingOn ) return;
+        if ( !(mFloatingOn && pBar->mFloatingOn) )
+          return;
 
         // float it
 
@@ -893,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 );
@@ -971,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, 
@@ -1006,7 +1020,6 @@ void wxFrameLayout::RecalcLayout( bool repositionBarsNow )
 
     int frmWidth, frmHeight;
     mpFrame->GetClientSize( &frmWidth, &frmHeight );
-    int paneHeight = 0;
 
     int curY = 0;
     int curX = 0;
@@ -1022,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;
@@ -1150,9 +1163,17 @@ void wxFrameLayout::PositionPanes()
 
 void wxFrameLayout::OnSize( wxSizeEvent& event )
 {
+    mpFrame->ProcessEvent( event );
+    event.Skip( FALSE ); // stop its progpagation
+
     if ( event.GetEventObject() == (wxObject*) mpFrame )
-    
+    {
+        GetUpdatesManager().OnStartChanges();
         RecalcLayout(TRUE);
+        GetUpdatesManager().OnFinishChanges();
+        GetUpdatesManager().UpdateNow();
+    }
+
 }
 
 /*** protected members ***/
@@ -1176,15 +1197,15 @@ void wxFrameLayout::HideBarWindows()
 void wxFrameLayout::UnhookFromFrame()
 {
     // NOTE:: the SetEvtHandlerEnabled() method is not used
-    //        here, since it is assumed, that unhooking layout
+    //        here, since it is assumed that unhooking layout
     //        from window may result destroying of the layout itself
     //       
     //        BUG BUG BUG (wx):: this would not be a problem if 
-    //                           wxEvtHandler's destructor would check if 
+    //                           wxEvtHandler's destructor checked if 
     //                           this handler is currently the top-most 
     //                           handler of some window, and additionally 
-    //                           to the reconnecting itself from the chain
-    //                           it would also re-setup current event handler 
+    //                           to the reconnecting itself from the chain.
+    //                           It would also re-setup current event handler 
     //                           of the window using wxWindow::SetEventHandler()
 
     // FOR NOW::
@@ -1348,11 +1369,6 @@ void wxFrameLayout::ForwardMouseEvent( wxMouseEvent& event,
         cbMotionEvent evt( pos, pToPane );
         FirePluginEvent( evt );
     }
-    else 
-    {
-        int avoidCompilerWarning = 0;
-        wxASSERT(avoidCompilerWarning); // DBG::
-    }
 }  // wxFrameLayout::ForwardMouseEvent()
 
 
@@ -1459,7 +1475,7 @@ void wxFrameLayout::OnPaint( wxPaintEvent& event )
     event.Skip();
 }
 
-void wxFrameLayout::OnEraseBackground( wxEraseEvent& event )
+void wxFrameLayout::OnEraseBackground( wxEraseEvent& WXUNUSED(event) )
 {
     // do nothing
 }
@@ -1470,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 );
@@ -1482,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 )               
@@ -1553,9 +1569,11 @@ void wxFrameLayout::SetPaneBackground( const wxColour& colour )
 
 void wxFrameLayout::RefreshNow( bool recalcLayout )
 {
-    if ( recalcLayout ) RecalcLayout( TRUE );
+    if ( recalcLayout )
+        RecalcLayout( TRUE );
 
-    if ( mpFrame ) mpFrame->Refresh();
+    if ( mpFrame )
+        mpFrame->Refresh();
 }
 
 /*** plugin-related methods ***/
@@ -1606,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 );
@@ -1624,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 );
@@ -2038,7 +2056,7 @@ cbCommonPaneProperties::cbCommonPaneProperties(void)
     : mRealTimeUpdatesOn    ( TRUE  ),
       mOutOfPaneDragOn      ( TRUE  ),
       mExactDockPredictionOn( FALSE ),
-      mNonDestructFirctionOn( FALSE ),
+      mNonDestructFrictionOn( FALSE ),
       mShow3DPaneBorderOn   ( TRUE  ),
       mBarFloatingOn        ( FALSE ),
       mRowProportionsOn     ( FALSE ),
@@ -2050,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 )
@@ -2075,7 +2130,7 @@ IMPLEMENT_DYNAMIC_CLASS( cbBarInfo, wxObject )
 cbBarInfo::cbBarInfo(void)
 
     : mpRow( NULL ),
-
+      mFloatingOn( TRUE ),
       mpNext( NULL ),
       mpPrev( NULL )
 {}
@@ -2182,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 )
@@ -2218,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 )
@@ -2298,7 +2353,7 @@ int cbDockPane::GetNotFixedBarsCount( cbRowInfo* pRow )
 
 void cbDockPane::RemoveBar( cbBarInfo* pBar )
 {
-    bool needsRestoring = mProps.mNonDestructFirctionOn && 
+    bool needsRestoring = mProps.mNonDestructFrictionOn && 
                           mpStoredRow == pBar->mpRow;
 
     cbRemoveBarEvent evt( pBar, this );
@@ -2447,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;
 
@@ -2455,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;
@@ -2474,7 +2529,7 @@ int cbDockPane::GetRowAt( int upperY, int lowerY )
 
         ++row;
         curY += rowHeight;
-        pRow = pRow->Next();
+        pRow = pRow->GetNext();
     }
     */
 
@@ -2572,11 +2627,11 @@ bool cbDockPane::HasNotFixedBarsRight( cbBarInfo* pBar )
 
 void cbDockPane::CalcLengthRatios( cbRowInfo* pInRow )
 {
-    int totalWidth = 0;
+    size_t i;
 
-    size_t i = 0;
+    int totalWidth = 0;
 
-    // clac current-maximal-total-length of all maximized bars
+    // calc current-maximal-total-length of all maximized bars
 
     for ( i = 0; i != pInRow->mBars.GetCount(); ++i )
     {
@@ -2586,7 +2641,7 @@ void cbDockPane::CalcLengthRatios( cbRowInfo* pInRow )
             totalWidth += bar.mBounds.width;
     }
 
-    // set up persentages of occupied space for each maximized bar
+    // set up percentages of occupied space for each maximized bar
 
     for ( i = 0; i != pInRow->mBars.Count(); ++i )
     {
@@ -2728,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() )
     {
@@ -2746,7 +2801,7 @@ void cbDockPane::DoInsertBar( cbBarInfo* pBar, int rowNo )
     {
         pRow = mRows[rowNo];
 
-        if ( mProps.mNonDestructFirctionOn == TRUE )
+        if ( mProps.mNonDestructFrictionOn == TRUE )
         {
             // store original shape of the row (before the bar is inserted)
 
@@ -2963,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;
 }
@@ -3011,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;
@@ -3436,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 )
@@ -3448,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();
     }
 }