本文整理汇总了C++中Page::DetachChild方法的典型用法代码示例。如果您正苦于以下问题:C++ Page::DetachChild方法的具体用法?C++ Page::DetachChild怎么用?C++ Page::DetachChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Page
的用法示例。
在下文中一共展示了Page::DetachChild方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LayOut
void Doc::LayOut( )
{
this->SetCurrentScoreDef();
Page *contentPage = this->SetDrawingPage( 0 );
assert( contentPage );
contentPage->LayOutHorizontally();
System *contentSystem = dynamic_cast<System*>(contentPage->DetachChild( 0 ));
assert( contentSystem );
System *currentSystem = new System();
contentPage->AddSystem( currentSystem );
int shift = 0;
int systemFullWidth = this->m_drawingPageWidth - this->m_drawingPageLeftMar - this->m_drawingPageRightMar
- currentSystem->m_systemLeftMar - currentSystem->m_systemRightMar;
ArrayPtrVoid params;
params.push_back( contentSystem );
params.push_back( contentPage );
params.push_back( ¤tSystem );
params.push_back( &shift );
params.push_back( &systemFullWidth );
Functor castOffSystems( &Object::CastOffSystems );
contentSystem->Process( &castOffSystems, params );
delete contentSystem;
LogDebug("Layout: %d systems", contentPage->GetSystemCount());
// Reset the scoreDef at the beginning of each system
this->SetCurrentScoreDef( true );
contentPage->LayOutVertically( );
// Detach the contentPage
this->DetachChild( 0 );
assert( contentPage && !contentPage->m_parent );
Page *currentPage = new Page();
this->AddPage( currentPage );
shift = 0;
int pageFullHeight = this->m_drawingPageHeight - this->m_drawingPageTopMar; // obviously we need a bottom margin
params.clear();
params.push_back( contentPage );
params.push_back( this );
params.push_back( ¤tPage );
params.push_back( &shift );
params.push_back( &pageFullHeight );
Functor castOffPages( &Object::CastOffPages );
contentPage->Process( &castOffPages, params );
delete contentPage;
LogDebug("Layout: %d pages", this->GetChildCount());
// We need to reset the drawing page to NULL
// because idx will still be 0 but contentPage is dead!
this->ResetDrawingPage( );
this->SetCurrentScoreDef( true );
}