/////////////////////////////////////////////////////////////////////////////
-// 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
// 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... :-(
: 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 ),
: 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 ),
// 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()
{
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 );
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 )
{
}
}
+ if ( pBar->mDimInfo.GetDimHandler() )
+ {
+ pBar->mDimInfo.GetDimHandler()->OnChangeBarState( pBar, newState );
+ }
+
pBar->mState = newState;
DoSetBarState( pBar );
void wxFrameLayout::OnSize( wxSizeEvent& event )
{
if ( event.GetEventObject() == (wxObject*) mpFrame )
-
+ {
+ GetUpdatesManager().OnStartChanges();
RecalcLayout(TRUE);
+ GetUpdatesManager().OnFinishChanges();
+ GetUpdatesManager().UpdateNow();
+ }
+
}
/*** protected members ***/
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::
void wxFrameLayout::RefreshNow( bool recalcLayout )
{
- if ( recalcLayout ) RecalcLayout( TRUE );
+ if ( recalcLayout )
+ RecalcLayout( TRUE );
- if ( mpFrame ) mpFrame->Refresh();
+ if ( mpFrame )
+ mpFrame->Refresh();
}
/*** plugin-related methods ***/
: mRealTimeUpdatesOn ( TRUE ),
mOutOfPaneDragOn ( TRUE ),
mExactDockPredictionOn( FALSE ),
- mNonDestructFirctionOn( FALSE ),
+ mNonDestructFrictionOn( FALSE ),
mShow3DPaneBorderOn ( TRUE ),
mBarFloatingOn ( FALSE ),
mRowProportionsOn ( FALSE ),
void cbDockPane::RemoveBar( cbBarInfo* pBar )
{
- bool needsRestoring = mProps.mNonDestructFirctionOn &&
+ bool needsRestoring = mProps.mNonDestructFrictionOn &&
mpStoredRow == pBar->mpRow;
cbRemoveBarEvent evt( pBar, this );
size_t i = 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 )
{
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 )
{
{
pRow = mRows[rowNo];
- if ( mProps.mNonDestructFirctionOn == TRUE )
+ if ( mProps.mNonDestructFrictionOn == TRUE )
{
// store original shape of the row (before the bar is inserted)