IDE: PTR_CAST, ISA to dynamic_cast
Convert the obsolete PTR_CAST and ISA macros (from tools/rtti.hxx) to C++ dynamic_cast is basctl. Change-Id: I45530d1d34d132904f812e238ee3b59b1a4f227b
This commit is contained in:
committed by
Tor Lillqvist
parent
69a70bf028
commit
51bb488ac1
@@ -121,9 +121,7 @@ AccessibleDialogWindow::AccessibleDialogWindow( DialogWindow* pDialogWindow )
|
||||
|
||||
for ( sal_uLong i = 0; i < nCount; ++i )
|
||||
{
|
||||
SdrObject* pObj = pSdrPage->GetObj( i );
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST( DlgEdObj, pObj );
|
||||
if ( pDlgEdObj )
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pSdrPage->GetObj(i)))
|
||||
{
|
||||
ChildDescriptor aDesc( pDlgEdObj );
|
||||
if ( IsChildVisible( aDesc ) )
|
||||
@@ -341,16 +339,11 @@ void AccessibleDialogWindow::UpdateChildren()
|
||||
{
|
||||
if ( m_pDialogWindow )
|
||||
{
|
||||
SdrPage* pSdrPage = m_pDialogWindow->GetPage();
|
||||
if ( pSdrPage )
|
||||
if (SdrPage* pSdrPage = m_pDialogWindow->GetPage())
|
||||
{
|
||||
for ( sal_uLong i = 0, nCount = pSdrPage->GetObjCount(); i < nCount; ++i )
|
||||
{
|
||||
SdrObject* pObj = pSdrPage->GetObj( i );
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST( DlgEdObj, pObj );
|
||||
if ( pDlgEdObj )
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pSdrPage->GetObj(i)))
|
||||
UpdateChild( ChildDescriptor( pDlgEdObj ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -368,17 +361,15 @@ void AccessibleDialogWindow::SortChildren()
|
||||
IMPL_LINK( AccessibleDialogWindow, WindowEventListener, VclSimpleEvent*, pEvent )
|
||||
{
|
||||
DBG_CHKTHIS( AccessibleDialogWindow, 0 );
|
||||
DBG_ASSERT( pEvent && pEvent->ISA( VclWindowEvent ), "AccessibleDialogWindow::WindowEventListener: unknown window event!" );
|
||||
|
||||
if ( pEvent && pEvent->ISA( VclWindowEvent ) )
|
||||
if (VclWindowEvent* pWinEvent = dynamic_cast<VclWindowEvent*>(pEvent))
|
||||
{
|
||||
DBG_ASSERT( ((VclWindowEvent*)pEvent)->GetWindow(), "AccessibleDialogWindow::WindowEventListener: no window!" );
|
||||
if ( !((VclWindowEvent*)pEvent)->GetWindow()->IsAccessibilityEventsSuppressed() || ( pEvent->GetId() == VCLEVENT_OBJECT_DYING ) )
|
||||
{
|
||||
ProcessWindowEvent( *(VclWindowEvent*)pEvent );
|
||||
}
|
||||
DBG_ASSERT(pWinEvent->GetWindow(), "AccessibleDialogWindow::WindowEventListener: no window!");
|
||||
if (!pWinEvent->GetWindow()->IsAccessibilityEventsSuppressed() || pEvent->GetId() == VCLEVENT_OBJECT_DYING)
|
||||
ProcessWindowEvent(*pWinEvent);
|
||||
}
|
||||
|
||||
else
|
||||
DBG_ASSERT(false, "AccessibleDialogWindow::WindowEventListener: unknown window event!");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -522,16 +513,13 @@ awt::Rectangle AccessibleDialogWindow::implGetBounds() throw (RuntimeException)
|
||||
|
||||
void AccessibleDialogWindow::Notify( SfxBroadcaster&, const SfxHint& rHint )
|
||||
{
|
||||
if ( rHint.ISA( SdrHint ) )
|
||||
if (SdrHint* pSdrHint = dynamic_cast<SdrHint*>(&rHint))
|
||||
{
|
||||
SdrHint* pSdrHint = (SdrHint*)&rHint;
|
||||
switch ( pSdrHint->GetKind() )
|
||||
{
|
||||
case HINT_OBJINSERTED:
|
||||
{
|
||||
SdrObject* pObj = (SdrObject*)pSdrHint->GetObject();
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST( DlgEdObj, pObj );
|
||||
if ( pDlgEdObj )
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pSdrHint->GetObject()))
|
||||
{
|
||||
ChildDescriptor aDesc( pDlgEdObj );
|
||||
if ( IsChildVisible( aDesc ) )
|
||||
@@ -541,18 +529,15 @@ void AccessibleDialogWindow::Notify( SfxBroadcaster&, const SfxHint& rHint )
|
||||
break;
|
||||
case HINT_OBJREMOVED:
|
||||
{
|
||||
SdrObject* pObj = (SdrObject*)pSdrHint->GetObject();
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST( DlgEdObj, pObj );
|
||||
if ( pDlgEdObj )
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pSdrHint->GetObject()))
|
||||
RemoveChild( ChildDescriptor( pDlgEdObj ) );
|
||||
}
|
||||
break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
else if ( rHint.ISA( DlgEdHint ) )
|
||||
else if (DlgEdHint* pDlgEdHint = dynamic_cast<DlgEdHint*>(&rHint))
|
||||
{
|
||||
DlgEdHint* pDlgEdHint = (DlgEdHint*)&rHint;
|
||||
switch ( pDlgEdHint->GetKind() )
|
||||
{
|
||||
case DLGED_HINT_WINDOWSCROLLED:
|
||||
@@ -563,8 +548,7 @@ void AccessibleDialogWindow::Notify( SfxBroadcaster&, const SfxHint& rHint )
|
||||
break;
|
||||
case DLGED_HINT_LAYERCHANGED:
|
||||
{
|
||||
DlgEdObj* pDlgEdObj = pDlgEdHint->GetObject();
|
||||
if ( pDlgEdObj )
|
||||
if (DlgEdObj* pDlgEdObj = pDlgEdHint->GetObject())
|
||||
UpdateChild( ChildDescriptor( pDlgEdObj ) );
|
||||
}
|
||||
break;
|
||||
|
@@ -69,11 +69,7 @@ void LibBoxControl::StateChanged( sal_uInt16, SfxItemState eState, const SfxPool
|
||||
else
|
||||
{
|
||||
pBox->Enable();
|
||||
|
||||
if ( pState->ISA(SfxStringItem) )
|
||||
pBox->Update( (const SfxStringItem*)pState );
|
||||
else
|
||||
pBox->Update( NULL );
|
||||
pBox->Update(dynamic_cast<SfxStringItem const*>(pState));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -357,23 +353,17 @@ LanguageBoxControl::~LanguageBoxControl()
|
||||
{
|
||||
}
|
||||
|
||||
void LanguageBoxControl::StateChanged( sal_uInt16 _nID, SfxItemState _eState, const SfxPoolItem* _pItem )
|
||||
void LanguageBoxControl::StateChanged( sal_uInt16 nID, SfxItemState eState, const SfxPoolItem* pItem )
|
||||
{
|
||||
(void)_nID;
|
||||
|
||||
BasicLanguageBox* pBox = (BasicLanguageBox*)( GetToolBox().GetItemWindow( GetId() ) );
|
||||
|
||||
if ( pBox )
|
||||
(void)nID;
|
||||
if (BasicLanguageBox* pBox = static_cast<BasicLanguageBox*>(GetToolBox().GetItemWindow(GetId())))
|
||||
{
|
||||
if ( _eState != SFX_ITEM_AVAILABLE )
|
||||
if (eState != SFX_ITEM_AVAILABLE)
|
||||
pBox->Disable();
|
||||
else
|
||||
{
|
||||
pBox->Enable();
|
||||
if ( _pItem->ISA(SfxStringItem) )
|
||||
pBox->Update( (const SfxStringItem*)_pItem );
|
||||
else
|
||||
pBox->Update( NULL );
|
||||
pBox->Update(dynamic_cast<SfxStringItem const*>(pItem));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -49,8 +49,19 @@ using namespace ::com::sun::star::uno;
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
long nVirtToolBoxHeight; // inited in WatchWindow, used in Stackwindow
|
||||
long nHeaderBarHeight;
|
||||
|
||||
// Returns pBase converted to SbxVariable if valid and is not an SbxMethod.
|
||||
SbxVariable const* IsSbxVariable (SbxBase const* pBase)
|
||||
{
|
||||
if (SbxVariable const* pVar = dynamic_cast<SbxVariable const*>(pBase))
|
||||
if (!dynamic_cast<SbxMethod const*>(pVar))
|
||||
return pVar;
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
#define SCROLL_LINE 12
|
||||
@@ -297,9 +308,8 @@ void EditorWindow::RequestHelp( const HelpEvent& rHEvt )
|
||||
if ( strchr( cSuffixes, aWord.GetChar( nLastChar ) ) )
|
||||
aWord.Erase( nLastChar, 1 );
|
||||
SbxBase* pSBX = StarBASIC::FindSBXInCurrentScope( aWord );
|
||||
if ( pSBX && pSBX->ISA( SbxVariable ) && !pSBX->ISA( SbxMethod ) )
|
||||
if (SbxVariable const* pVar = IsSbxVariable(pSBX))
|
||||
{
|
||||
SbxVariable* pVar = (SbxVariable*)pSBX;
|
||||
SbxDataType eType = pVar->GetType();
|
||||
if ( (sal_uInt8)eType == (sal_uInt8)SbxOBJECT )
|
||||
// might cause a crash e. g. at the selections-object
|
||||
@@ -673,9 +683,9 @@ void EditorWindow::DataChanged(DataChangedEvent const & rDCEvt)
|
||||
|
||||
void EditorWindow::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
|
||||
{
|
||||
if ( rHint.ISA( TextHint ) )
|
||||
if (TextHint const* pTextHint = dynamic_cast<TextHint const*>(&rHint))
|
||||
{
|
||||
const TextHint& rTextHint = (const TextHint&)rHint;
|
||||
TextHint const& rTextHint = *pTextHint;
|
||||
if( rTextHint.GetId() == TEXT_HINT_VIEWSCROLLED )
|
||||
{
|
||||
if ( pModulWindow->GetHScrollBar() )
|
||||
@@ -1891,10 +1901,7 @@ SbxBase* WatchTreeListBox::ImplGetSBXForEntry( SvLBoxEntry* pEntry, bool& rbArra
|
||||
if( pObj )
|
||||
{
|
||||
pSBX = pObj->Find( aVName, SbxCLASS_DONTCARE );
|
||||
|
||||
SbxVariable* pVar;
|
||||
if ( pSBX && (pVar = PTR_CAST( SbxVariable, pSBX )) != NULL
|
||||
&& !pSBX->ISA( SbxMethod ) )
|
||||
if (SbxVariable const* pVar = IsSbxVariable(pSBX))
|
||||
{
|
||||
// Force getting value
|
||||
SbxValues aRes;
|
||||
@@ -1926,8 +1933,8 @@ sal_Bool WatchTreeListBox::EditingEntry( SvLBoxEntry* pEntry, Selection& )
|
||||
{
|
||||
// No out of scope entries
|
||||
bool bArrayElement;
|
||||
SbxBase* pSBX = ImplGetSBXForEntry( pEntry, bArrayElement );
|
||||
if ( ( pSBX && pSBX->ISA( SbxVariable ) && !pSBX->ISA( SbxMethod ) ) || bArrayElement )
|
||||
SbxBase const* pSbx = ImplGetSBXForEntry( pEntry, bArrayElement );
|
||||
if (IsSbxVariable(pSbx) || bArrayElement)
|
||||
{
|
||||
// Accept no objects and only end nodes of arrays for editing
|
||||
if( !pItem->mpObject && (pItem->mpArray == NULL || pItem->nDimLevel == pItem->nDimCount) )
|
||||
@@ -1963,9 +1970,8 @@ bool WatchTreeListBox::ImplBasicEntryEdited( SvLBoxEntry* pEntry, const String&
|
||||
bool bArrayElement;
|
||||
SbxBase* pSBX = ImplGetSBXForEntry( pEntry, bArrayElement );
|
||||
|
||||
if ( pSBX && pSBX->ISA( SbxVariable ) && !pSBX->ISA( SbxMethod ) )
|
||||
if (SbxVariable const* pVar = IsSbxVariable(pSBX))
|
||||
{
|
||||
SbxVariable* pVar = (SbxVariable*)pSBX;
|
||||
SbxDataType eType = pVar->GetType();
|
||||
if ( (sal_uInt8)eType != (sal_uInt8)SbxOBJECT
|
||||
&& ( eType & SbxARRAY ) == 0 )
|
||||
@@ -2082,18 +2088,15 @@ void WatchTreeListBox::UpdateWatches( bool bBasicStopped )
|
||||
}
|
||||
|
||||
bool bCollapse = false;
|
||||
if ( pSBX && pSBX->ISA( SbxVariable ) && !pSBX->ISA( SbxMethod ) )
|
||||
if (SbxVariable const* pVar = IsSbxVariable(pSBX))
|
||||
{
|
||||
SbxVariable* pVar = (SbxVariable*)pSBX;
|
||||
// extra treatment of arrays
|
||||
SbxDataType eType = pVar->GetType();
|
||||
if ( eType & SbxARRAY )
|
||||
{
|
||||
// consider multidimensinal arrays!
|
||||
SbxBase* pBase = pVar->GetObject();
|
||||
if ( pBase && pBase->ISA( SbxDimArray ) )
|
||||
if (SbxDimArray* pNewArray = dynamic_cast<SbxDimArray*>(pVar->GetObject()))
|
||||
{
|
||||
SbxDimArray* pNewArray = (SbxDimArray*)pBase;
|
||||
SbxDimArray* pOldArray = pItem->mpArray;
|
||||
|
||||
bool bArrayChanged = false;
|
||||
@@ -2154,12 +2157,7 @@ void WatchTreeListBox::UpdateWatches( bool bBasicStopped )
|
||||
}
|
||||
else if ( (sal_uInt8)eType == (sal_uInt8)SbxOBJECT )
|
||||
{
|
||||
SbxObject* pObj = NULL;
|
||||
SbxBase* pBase = pVar->GetObject();
|
||||
if( pBase && pBase->ISA( SbxObject ) )
|
||||
pObj = (SbxObject*)pBase;
|
||||
|
||||
if( pObj )
|
||||
if (SbxObject* pObj = dynamic_cast<SbxObject*>(pVar->GetObject()))
|
||||
{
|
||||
// Check if member list has changed
|
||||
bool bObjChanged = false;
|
||||
|
@@ -80,14 +80,10 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
case SID_SHOWLINES:
|
||||
{
|
||||
SFX_REQUEST_ARG(rReq, pItem, SfxBoolItem, rReq.GetSlot(), false);
|
||||
bool bValue = false;
|
||||
if ( pItem )
|
||||
bValue = pItem->GetValue();
|
||||
bool const bValue = pItem && pItem->GetValue();
|
||||
lcl_GetSourceLinesEnabledValue() = bValue;
|
||||
if ( pCurWin && pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
{
|
||||
dynamic_cast<ModulWindow*>(pCurWin)->SetLineNumberDisplay( bValue );
|
||||
}
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
pMCurWin->SetLineNumberDisplay(bValue);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -103,7 +99,7 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
::rtl::OUString aLibName = pCurWin->GetLibName();
|
||||
::rtl::OUString aName = pCurWin->GetName();
|
||||
|
||||
if ( pCurWin->ISA( ModulWindow ) )
|
||||
if (dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
if ( QueryDelModule( aName, pCurWin ) )
|
||||
{
|
||||
@@ -133,7 +129,7 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
break;
|
||||
case FID_SEARCH_NOW:
|
||||
{
|
||||
if ( pCurWin->ISA( ModulWindow ) )
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
DBG_ASSERT( rReq.GetArgs(), "arguments expected" );
|
||||
const SfxItemSet* pArgs = rReq.GetArgs();
|
||||
@@ -141,35 +137,35 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
sal_uInt16 nWhich = pArgs->GetWhichByPos( 0 );
|
||||
DBG_ASSERT( nWhich, "Wich fuer SearchItem ?" );
|
||||
const SfxPoolItem& rItem = pArgs->Get( nWhich );
|
||||
DBG_ASSERT( rItem.ISA( SvxSearchItem ), "Kein Searchitem!" );
|
||||
IDEWindowTable::const_iterator it;
|
||||
if ( rItem.ISA( SvxSearchItem ) )
|
||||
if (SvxSearchItem const* pSearchItem = dynamic_cast<SvxSearchItem const*>(&rItem))
|
||||
{
|
||||
// memorize item because of the adjustments...
|
||||
BasicIDEGlobals::GetExtraData()->SetSearchItem( (const SvxSearchItem&)rItem );
|
||||
BasicIDEGlobals::GetExtraData()->SetSearchItem(*pSearchItem);
|
||||
sal_Int32 nFound = 0;
|
||||
bool bCanceled = false;
|
||||
if ( ((const SvxSearchItem&)rItem).GetCommand() == SVX_SEARCHCMD_REPLACE_ALL )
|
||||
if (pSearchItem->GetCommand() == SVX_SEARCHCMD_REPLACE_ALL)
|
||||
{
|
||||
sal_uInt16 nActModWindows = 0;
|
||||
for( it = aIDEWindowTable.begin(); it != aIDEWindowTable.end(); ++it )
|
||||
{
|
||||
IDEBaseWindow* pWin = it->second;
|
||||
if ( !pWin->IsSuspended() && pWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (!pWin->IsSuspended() && dynamic_cast<ModulWindow*>(pWin))
|
||||
nActModWindows++;
|
||||
}
|
||||
|
||||
if ( ( nActModWindows <= 1 ) || ( !((const SvxSearchItem&)rItem).GetSelection() && QueryBox( pCurWin, WB_YES_NO|WB_DEF_YES, String( IDEResId( RID_STR_SEARCHALLMODULES ) ) ).Execute() == RET_YES ) )
|
||||
if ( ( nActModWindows <= 1 ) || ( !pSearchItem->GetSelection() && QueryBox( pCurWin, WB_YES_NO|WB_DEF_YES, String( IDEResId( RID_STR_SEARCHALLMODULES ) ) ).Execute() == RET_YES ) )
|
||||
{
|
||||
for( it = aIDEWindowTable.begin(); it != aIDEWindowTable.end(); ++it )
|
||||
{
|
||||
IDEBaseWindow* pWin = it->second;
|
||||
if ( !pWin->IsSuspended() && pWin->IsA( TYPE( ModulWindow ) ) )
|
||||
nFound = nFound + ((ModulWindow*)pWin)->StartSearchAndReplace( (const SvxSearchItem&)rItem );
|
||||
if (!pWin->IsSuspended())
|
||||
if (pModulWindow* pMWin = dynamic_cast<ModulWindow*>(pWin))
|
||||
nFound += pMWin->StartSearchAndReplace(*pSearchItem);
|
||||
}
|
||||
}
|
||||
else
|
||||
nFound = ((ModulWindow*)pCurWin)->StartSearchAndReplace( (const SvxSearchItem&)rItem );
|
||||
nFound = pMCurWin->StartSearchAndReplace(*pSearchItem);
|
||||
|
||||
::rtl::OUString aReplStr(IDE_RESSTR(RID_STR_SEARCHREPLACES));
|
||||
aReplStr = aReplStr.replaceAll("XX", rtl::OUString::valueOf(nFound));
|
||||
@@ -177,8 +173,8 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
}
|
||||
else
|
||||
{
|
||||
nFound = ((ModulWindow*)pCurWin)->StartSearchAndReplace( (const SvxSearchItem&)rItem );
|
||||
if ( !nFound && !((const SvxSearchItem&)rItem).GetSelection() )
|
||||
nFound = pMCurWin->StartSearchAndReplace(*pSearchItem);
|
||||
if ( !nFound && !pSearchItem->GetSelection() )
|
||||
{
|
||||
// search other modules...
|
||||
bool bChangeCurWindow = false;
|
||||
@@ -211,20 +207,21 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
bCanceled = true;
|
||||
}
|
||||
|
||||
if ( pWin && !pWin->IsSuspended() && pWin->IsA( TYPE( ModulWindow ) ) )
|
||||
{
|
||||
if ( pWin != pCurWin )
|
||||
if (ModulWindow* pMWin = dynamic_cast<ModulWindow*>(pWin))
|
||||
if (!pWin->IsSuspended())
|
||||
{
|
||||
if ( pCurWin )
|
||||
pWin->SetSizePixel( pCurWin->GetSizePixel() );
|
||||
nFound = ((ModulWindow*)pWin)->StartSearchAndReplace( (const SvxSearchItem&)rItem, true );
|
||||
if ( pWin != pCurWin )
|
||||
{
|
||||
if ( pCurWin )
|
||||
pWin->SetSizePixel( pCurWin->GetSizePixel() );
|
||||
nFound = pMWin->StartSearchAndReplace(*pSearchItem, true);
|
||||
}
|
||||
if ( nFound )
|
||||
{
|
||||
bChangeCurWindow = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( nFound )
|
||||
{
|
||||
bChangeCurWindow = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( pWin && ( pWin != pCurWin ) )
|
||||
{
|
||||
if ( it != aIDEWindowTable.end() )
|
||||
@@ -238,7 +235,7 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
pWin = 0;
|
||||
}
|
||||
if ( !nFound && bSearchedFromStart )
|
||||
nFound = ((ModulWindow*)pCurWin)->StartSearchAndReplace( (const SvxSearchItem&)rItem, true );
|
||||
nFound = pMCurWin->StartSearchAndReplace(*pSearchItem, true);
|
||||
if ( bChangeCurWindow )
|
||||
SetCurWindow( pWin, true );
|
||||
}
|
||||
@@ -248,12 +245,14 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
|
||||
rReq.Done();
|
||||
}
|
||||
else
|
||||
DBG_ASSERT(false, "no searchitem!");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FID_SEARCH_OFF:
|
||||
{
|
||||
if ( pCurWin && pCurWin->ISA( ModulWindow ) )
|
||||
if (dynamic_cast<ModulWindow*>(pCurWin))
|
||||
pCurWin->GrabFocus();
|
||||
}
|
||||
break;
|
||||
@@ -268,7 +267,7 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq )
|
||||
break;
|
||||
case SID_GOTOLINE:
|
||||
{
|
||||
if ( pCurWin && pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
std::auto_ptr< GotoLineDialog > xGotoDlg( new GotoLineDialog( pCurWin ) );
|
||||
if ( xGotoDlg->Execute() )
|
||||
@@ -298,8 +297,8 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
|
||||
case SID_BASICSTOP:
|
||||
{
|
||||
// maybe do not simply stop if on breakpoint!
|
||||
if ( pCurWin && pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
((ModulWindow*)pCurWin)->BasicStop();
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
pMCurWin->BasicStop();
|
||||
BasicIDE::StopBasic();
|
||||
}
|
||||
break;
|
||||
@@ -461,13 +460,12 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
|
||||
if ( aNewName != aOldName )
|
||||
{
|
||||
bool bRenameOk = false;
|
||||
if ( pWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (ModulWindow* pModWin = dynamic_cast<ModulWindow*>(pWin))
|
||||
{
|
||||
ModulWindow* pModWin = (ModulWindow*)pWin;
|
||||
::rtl::OUString aLibName = ( pModWin->GetLibName() );
|
||||
rtl::OUString aLibName = pModWin->GetLibName();
|
||||
ScriptDocument aDocument( pWin->GetDocument() );
|
||||
|
||||
if ( BasicIDE::RenameModule( pModWin, aDocument, aLibName, aOldName, aNewName ) )
|
||||
if ( BasicIDE::RenameModule( pModWin, aDocument, aLibName, aOldName, aNewName ) )
|
||||
{
|
||||
bRenameOk = true;
|
||||
// Because we listen for container events for script
|
||||
@@ -477,9 +475,8 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
|
||||
}
|
||||
|
||||
}
|
||||
else if ( pWin->IsA( TYPE( DialogWindow ) ) )
|
||||
else if (DialogWindow* pDlgWin = dynamic_cast<DialogWindow*>(pWin))
|
||||
{
|
||||
DialogWindow* pDlgWin = (DialogWindow*)pWin;
|
||||
bRenameOk = pDlgWin->RenameDialog( aNewName );
|
||||
}
|
||||
if ( bRenameOk )
|
||||
@@ -525,7 +522,7 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
|
||||
for( IDEWindowTable::const_iterator it = aIDEWindowTable.begin(); it != aIDEWindowTable.end(); ++it )
|
||||
{
|
||||
IDEBaseWindow* pWin = it->second;
|
||||
if ( !pWin->IsSuspended() && pWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (!pWin->IsSuspended() && dynamic_cast<ModulWindow*>(pWin))
|
||||
{
|
||||
if ( rReq.GetSlot() == SID_BASICIDE_STOREALLMODULESOURCES )
|
||||
pWin->StoreData();
|
||||
@@ -728,9 +725,8 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
|
||||
if ( pTabBar )
|
||||
pTabBar->MakeVisible( pTabBar->GetCurPageId() );
|
||||
|
||||
if ( pWin->ISA( ModulWindow ) )
|
||||
if (ModulWindow* pModWin = dynamic_cast<ModulWindow*>(pWin))
|
||||
{
|
||||
ModulWindow* pModWin = (ModulWindow*)pWin;
|
||||
SFX_REQUEST_ARG( rReq, pLineItem, SfxUInt32Item, SID_BASICIDE_ARG_LINE, false );
|
||||
if ( pLineItem )
|
||||
{
|
||||
@@ -817,7 +813,7 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
|
||||
// if this is not a module window hide the
|
||||
// setting, doesn't make sense for example if the
|
||||
// dialog editor is open
|
||||
if( pCurWin && !pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if(pCurWin && !dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
rSet.DisableItem( nWh );
|
||||
rSet.Put(SfxVisibilityItem(nWh, false));
|
||||
@@ -881,7 +877,7 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
|
||||
{
|
||||
// FIXME: hide Object Catalog icon from the toolbar,
|
||||
// when window type is not macro editor.
|
||||
if( pCurWin && !pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if(pCurWin && !dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
rSet.DisableItem( nWh );
|
||||
rSet.Put(SfxVisibilityItem(nWh, false));
|
||||
@@ -910,7 +906,7 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
|
||||
case SID_BASICSAVEAS:
|
||||
case SID_BASICIDE_MATCHGROUP:
|
||||
{
|
||||
if ( !pCurWin || !pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (!dynamic_cast<ModulWindow*>(pCurWin))
|
||||
rSet.DisableItem( nWh );
|
||||
else if ( ( nWh == SID_BASICLOAD ) && ( StarBASIC::IsRunning() || ( pCurWin && pCurWin->IsReadOnly() ) ) )
|
||||
rSet.DisableItem( nWh );
|
||||
@@ -923,22 +919,25 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
|
||||
case SID_BASICIDE_TOGGLEBRKPNT:
|
||||
case SID_BASICIDE_MANAGEBRKPNTS:
|
||||
{
|
||||
if ( !pCurWin || !pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
rSet.DisableItem( nWh );
|
||||
else if ( StarBASIC::IsRunning() && !((ModulWindow*)pCurWin)->GetBasicStatus().bIsInReschedule )
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
if (StarBASIC::IsRunning() && !pMCurWin->GetBasicStatus().bIsInReschedule)
|
||||
rSet.DisableItem(nWh);
|
||||
}
|
||||
else
|
||||
rSet.DisableItem( nWh );
|
||||
}
|
||||
break;
|
||||
case SID_BASICCOMPILE:
|
||||
{
|
||||
if ( !pCurWin || !pCurWin->IsA( TYPE( ModulWindow ) ) || StarBASIC::IsRunning() )
|
||||
if (StarBASIC::IsRunning() || !dynamic_cast<ModulWindow*>(pCurWin))
|
||||
rSet.DisableItem( nWh );
|
||||
}
|
||||
break;
|
||||
case SID_BASICSTOP:
|
||||
{
|
||||
// stop is always possible when some Basic is running...
|
||||
if ( !StarBASIC::IsRunning() )
|
||||
if (!StarBASIC::IsRunning())
|
||||
rSet.DisableItem( nWh );
|
||||
}
|
||||
break;
|
||||
@@ -952,7 +951,7 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
|
||||
case SID_INSERT_FORM_HSCROLL:
|
||||
case SID_INSERT_FORM_SPIN:
|
||||
{
|
||||
if( !pCurWin || !pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
if (!dynamic_cast<DialogWindow*>(pCurWin))
|
||||
rSet.DisableItem( nWh );
|
||||
}
|
||||
break;
|
||||
@@ -1092,7 +1091,7 @@ void BasicIDEShell::GetState(SfxItemSet &rSet)
|
||||
// if this is not a module window hide the
|
||||
// setting, doesn't make sense for example if the
|
||||
// dialog editor is open
|
||||
if( pCurWin && !pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (pCurWin && !dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
rSet.DisableItem( nWh );
|
||||
rSet.Put(SfxVisibilityItem(nWh, false));
|
||||
@@ -1112,7 +1111,7 @@ sal_Bool BasicIDEShell::HasUIFeature( sal_uInt32 nFeature )
|
||||
if ( (nFeature & BASICIDE_UI_FEATURE_SHOW_BROWSER) == BASICIDE_UI_FEATURE_SHOW_BROWSER )
|
||||
{
|
||||
// fade out (in) property browser in module (dialog) windows
|
||||
if ( pCurWin && pCurWin->IsA( TYPE( DialogWindow ) ) && !pCurWin->IsReadOnly() )
|
||||
if (dynamic_cast<DialogWindow*>(pCurWin) && !pCurWin->IsReadOnly())
|
||||
bResult = true;
|
||||
}
|
||||
|
||||
@@ -1140,9 +1139,9 @@ void BasicIDEShell::SetCurWindow( IDEBaseWindow* pNewWin, bool bUpdateTabBar, bo
|
||||
pPrevCurWin->Hide();
|
||||
pPrevCurWin->Deactivating();
|
||||
// pPrevCurWin->GetLayoutWindow()->Hide();
|
||||
if( pPrevCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
if (DialogWindow* pDialogWin = dynamic_cast<DialogWindow*>(pPrevCurWin))
|
||||
{
|
||||
((DialogWindow*)pPrevCurWin)->DisableBrowser();
|
||||
pDialogWin->DisableBrowser();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1152,11 +1151,11 @@ void BasicIDEShell::SetCurWindow( IDEBaseWindow* pNewWin, bool bUpdateTabBar, bo
|
||||
if ( pCurWin )
|
||||
{
|
||||
AdjustPosSizePixel( Point( 0, 0 ), GetViewFrame()->GetWindow().GetOutputSizePixel() );
|
||||
if( pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
dynamic_cast<ModulWindow*>(pCurWin)->SetLineNumberDisplay(SourceLinesDisplayed());
|
||||
pMCurWin->SetLineNumberDisplay(SourceLinesDisplayed());
|
||||
GetViewFrame()->GetWindow().SetHelpId( HID_BASICIDE_MODULWINDOW );
|
||||
pModulLayout->SetModulWindow( (ModulWindow*)pCurWin );
|
||||
pModulLayout->SetModulWindow(pMCurWin);
|
||||
pModulLayout->Show();
|
||||
}
|
||||
else
|
||||
@@ -1170,7 +1169,8 @@ void BasicIDEShell::SetCurWindow( IDEBaseWindow* pNewWin, bool bUpdateTabBar, bo
|
||||
BasicIDEData* pData = BasicIDEGlobals::GetExtraData();
|
||||
if ( pData )
|
||||
{
|
||||
sal_uInt16 nCurrentType = pCurWin->IsA( TYPE( ModulWindow ) ) ? BASICIDE_TYPE_MODULE : BASICIDE_TYPE_DIALOG;
|
||||
sal_uInt16 nCurrentType = dynamic_cast<ModulWindow*>(pCurWin) ?
|
||||
BASICIDE_TYPE_MODULE : BASICIDE_TYPE_DIALOG;
|
||||
LibInfoItem* pLibInfoItem = new LibInfoItem( pCurWin->GetDocument(), pCurWin->GetLibName(), pCurWin->GetName(), nCurrentType );
|
||||
pData->GetLibInfos().InsertInfo( pLibInfoItem );
|
||||
}
|
||||
@@ -1190,8 +1190,8 @@ void BasicIDEShell::SetCurWindow( IDEBaseWindow* pNewWin, bool bUpdateTabBar, bo
|
||||
if ( pFocusWindow ) // Focus in BasicIDE
|
||||
pNewWin->GrabFocus();
|
||||
}
|
||||
if( pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
((DialogWindow*)pCurWin)->UpdateBrowser();
|
||||
if (DialogWindow* pDCurWin = dynamic_cast<DialogWindow*>(pCurWin))
|
||||
pDCurWin->UpdateBrowser();
|
||||
}
|
||||
if ( bUpdateTabBar )
|
||||
{
|
||||
@@ -1251,7 +1251,7 @@ void BasicIDEShell::ManageToolbars()
|
||||
if ( xLayoutManager.is() )
|
||||
{
|
||||
xLayoutManager->lock();
|
||||
if( pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
if (dynamic_cast<DialogWindow*>(pCurWin))
|
||||
{
|
||||
xLayoutManager->destroyElement( aMacroBarResName );
|
||||
|
||||
@@ -1290,8 +1290,8 @@ IDEBaseWindow* BasicIDEShell::FindWindow( const ScriptDocument& rDocument, const
|
||||
return pWin;
|
||||
}
|
||||
else if ( pWin->IsDocument( rDocument ) && pWin->GetLibName() == rLibName && pWin->GetName() == rName &&
|
||||
( ( pWin->IsA( TYPE( ModulWindow ) ) && nType == BASICIDE_TYPE_MODULE ) ||
|
||||
( pWin->IsA( TYPE( DialogWindow ) ) && nType == BASICIDE_TYPE_DIALOG ) ) )
|
||||
( ( dynamic_cast<ModulWindow*>(pWin) && nType == BASICIDE_TYPE_MODULE ) ||
|
||||
( dynamic_cast<DialogWindow*>(pWin) && nType == BASICIDE_TYPE_DIALOG ) ) )
|
||||
{
|
||||
return pWin;
|
||||
}
|
||||
@@ -1344,18 +1344,15 @@ ModulWindow* BasicIDEShell::ShowActiveModuleWindow( StarBASIC* pBasic )
|
||||
SetCurLib( ScriptDocument::getApplicationScriptDocument(), ::rtl::OUString(), false );
|
||||
|
||||
SbModule* pActiveModule = StarBASIC::GetActiveModule();
|
||||
SbClassModuleObject* pClassModuleObject = PTR_CAST(SbClassModuleObject,pActiveModule);
|
||||
if( pClassModuleObject != NULL )
|
||||
pActiveModule = pClassModuleObject->getClassModule();
|
||||
if (SbClassModuleObject* pCMO = dynamic_cast<SbClassModuleObject*>(pActiveModule))
|
||||
pActiveModule = pCMO->getClassModule();
|
||||
|
||||
DBG_ASSERT( pActiveModule, "Kein aktives Modul im ErrorHdl?!" );
|
||||
if ( pActiveModule )
|
||||
{
|
||||
ModulWindow* pWin = 0;
|
||||
SbxObject* pParent = pActiveModule->GetParent();
|
||||
DBG_ASSERT( pParent && pParent->ISA( StarBASIC ), "Kein BASIC!" );
|
||||
StarBASIC* pLib = static_cast< StarBASIC* >( pParent );
|
||||
if ( pLib )
|
||||
if (StarBASIC* pLib = dynamic_cast<StarBASIC*>(pParent))
|
||||
{
|
||||
BasicManager* pBasMgr = BasicIDE::FindBasicManager( pLib );
|
||||
if ( pBasMgr )
|
||||
@@ -1368,6 +1365,8 @@ ModulWindow* BasicIDEShell::ShowActiveModuleWindow( StarBASIC* pBasic )
|
||||
SetCurWindow( pWin, true );
|
||||
}
|
||||
}
|
||||
else
|
||||
DBG_ASSERT(false, "Kein BASIC!");
|
||||
BasicManager* pBasicMgr = BasicIDE::FindBasicManager( pBasic );
|
||||
if ( pBasicMgr )
|
||||
StartListening( *pBasicMgr, true /* log on only once */ );
|
||||
@@ -1407,14 +1406,8 @@ void BasicIDEShell::AdjustPosSizePixel( const Point &rPos, const Size &rSize )
|
||||
pTabBar->SetPosSizePixel( Point( rPos.X(), rPos.Y()+aSz.Height() ), Size( aSz.Width()/2, aScrollBarBoxSz.Height() ) );
|
||||
}
|
||||
|
||||
Window* pEdtWin = pCurWin ? pCurWin->GetLayoutWindow() : pModulLayout;
|
||||
if ( pEdtWin )
|
||||
{
|
||||
if( pCurWin && pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
pEdtWin->SetPosSizePixel( rPos, aSz ); // without ScrollBar
|
||||
else
|
||||
pEdtWin->SetPosSizePixel( rPos, aOutSz );
|
||||
}
|
||||
if (Window* pEdtWin = pCurWin ? pCurWin->GetLayoutWindow() : pModulLayout)
|
||||
pEdtWin->SetPosSizePixel(rPos, dynamic_cast<DialogWindow*>(pCurWin) ? aSz : aOutSz);
|
||||
}
|
||||
|
||||
Reference< XModel > BasicIDEShell::GetCurrentDocument() const
|
||||
@@ -1431,8 +1424,8 @@ void BasicIDEShell::Activate( sal_Bool bMDI )
|
||||
|
||||
if ( bMDI )
|
||||
{
|
||||
if( pCurWin && pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
((DialogWindow*)pCurWin)->UpdateBrowser();
|
||||
if (DialogWindow* pDCurWin = dynamic_cast<DialogWindow>(pCurWin))
|
||||
pDCurWin->UpdateBrowser();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1442,9 +1435,8 @@ void BasicIDEShell::Deactivate( sal_Bool bMDI )
|
||||
// deactivate due to a MessageBox bMDI is false
|
||||
if ( bMDI )
|
||||
{
|
||||
if( pCurWin && pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
if (DialogWindow* pXDlgWin = dynamic_cast<DialogWindow*>(pCurWin))
|
||||
{
|
||||
DialogWindow* pXDlgWin = (DialogWindow*)pCurWin;
|
||||
pXDlgWin->DisableBrowser();
|
||||
if( pXDlgWin->IsModified() )
|
||||
BasicIDE::MarkDocumentModified( pXDlgWin->GetDocument() );
|
||||
|
@@ -52,23 +52,21 @@ Reference< view::XRenderable > BasicIDEShell::GetRenderable()
|
||||
|
||||
sal_Bool BasicIDEShell::HasSelection( sal_Bool /* bText */ ) const
|
||||
{
|
||||
bool bSel = false;
|
||||
if ( pCurWin && pCurWin->ISA( ModulWindow ) )
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
TextView* pEditView = ((ModulWindow*)pCurWin)->GetEditView();
|
||||
TextView* pEditView = pMCurWin->GetEditView();
|
||||
if ( pEditView && pEditView->HasSelection() )
|
||||
bSel = true;
|
||||
return true;
|
||||
}
|
||||
return bSel;
|
||||
return false;
|
||||
}
|
||||
|
||||
String BasicIDEShell::GetSelectionText( sal_Bool bWholeWord )
|
||||
{
|
||||
String aText;
|
||||
if ( pCurWin && pCurWin->ISA( ModulWindow ) )
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
{
|
||||
TextView* pEditView = ((ModulWindow*)pCurWin)->GetEditView();
|
||||
if ( pEditView )
|
||||
if (TextView* pEditView = pMCurWin->GetEditView())
|
||||
{
|
||||
if ( bWholeWord && !pEditView->HasSelection() )
|
||||
{
|
||||
@@ -87,7 +85,7 @@ String BasicIDEShell::GetSelectionText( sal_Bool bWholeWord )
|
||||
|
||||
SfxPrinter* BasicIDEShell::GetPrinter( sal_Bool bCreate )
|
||||
{
|
||||
if ( pCurWin ) // && pCurWin->ISA( ModulWindow ) )
|
||||
if ( pCurWin )
|
||||
{
|
||||
BasicDocShell* pDocShell = (BasicDocShell*)GetViewFrame()->GetObjectShell();
|
||||
DBG_ASSERT( pDocShell, "DocShell ?!" );
|
||||
@@ -242,41 +240,30 @@ ModulWindow* BasicIDEShell::CreateBasWin( const ScriptDocument& rDocument, const
|
||||
|
||||
ModulWindow* BasicIDEShell::FindBasWin( const ScriptDocument& rDocument, const ::rtl::OUString& rLibName, const ::rtl::OUString& rModName, bool bCreateIfNotExist, bool bFindSuspended )
|
||||
{
|
||||
ModulWindow* pModWin = 0;
|
||||
for( IDEWindowTable::const_iterator it = aIDEWindowTable.begin();
|
||||
it != aIDEWindowTable.end(); ++it )
|
||||
{
|
||||
IDEBaseWindow* pWin = it->second;
|
||||
if ( ( !pWin->IsSuspended() || bFindSuspended ) && pWin->IsA( TYPE( ModulWindow ) ) )
|
||||
{
|
||||
if ( rLibName.isEmpty() )
|
||||
if (!pWin->IsSuspended() || bFindSuspended)
|
||||
if (rLibName.isEmpty() || (pWin->IsDocument(rDocument) && pWin->GetLibName() == rLibName && pWin->GetName() == rModName))
|
||||
{
|
||||
pModWin = (ModulWindow*)pWin;
|
||||
break;
|
||||
if (ModulWindow* pModWin = dynamic_cast<ModulWindow*>(pWin))
|
||||
return pModWin;
|
||||
}
|
||||
else if ( pWin->IsDocument( rDocument ) && pWin->GetLibName() == rLibName && pWin->GetName() == rModName )
|
||||
{
|
||||
pModWin = (ModulWindow*)pWin;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( !pModWin && bCreateIfNotExist )
|
||||
pModWin = CreateBasWin( rDocument, rLibName, rModName );
|
||||
|
||||
return pModWin;
|
||||
return bCreateIfNotExist ? CreateBasWin(rDocument, rLibName, rModName) : 0;
|
||||
}
|
||||
|
||||
void BasicIDEShell::Move()
|
||||
{
|
||||
if ( pCurWin && pCurWin->ISA( ModulWindow ) )
|
||||
((ModulWindow*)pCurWin)->FrameWindowMoved();
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
pMCurWin->FrameWindowMoved();
|
||||
}
|
||||
|
||||
void BasicIDEShell::ShowCursor( bool bOn )
|
||||
{
|
||||
if ( pCurWin && pCurWin->ISA( ModulWindow ) )
|
||||
((ModulWindow*)pCurWin)->ShowCursor( bOn );
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
pMCurWin->ShowCursor(bOn);
|
||||
}
|
||||
|
||||
// Hack for #101048
|
||||
@@ -285,7 +272,7 @@ sal_Int32 getBasicIDEShellCount( void );
|
||||
// only if basic window above:
|
||||
void BasicIDEShell::ExecuteBasic( SfxRequest& rReq )
|
||||
{
|
||||
if ( !pCurWin || !pCurWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (!dynamic_cast<ModulWindow*>(pCurWin))
|
||||
return;
|
||||
|
||||
pCurWin->ExecuteCommand( rReq );
|
||||
|
@@ -117,28 +117,15 @@ DialogWindow* BasicIDEShell::CreateDlgWin( const ScriptDocument& rDocument, cons
|
||||
|
||||
DialogWindow* BasicIDEShell::FindDlgWin( const ScriptDocument& rDocument, const ::rtl::OUString& rLibName, const ::rtl::OUString& rDlgName, bool bCreateIfNotExist, bool bFindSuspended )
|
||||
{
|
||||
DialogWindow* pDlgWin = 0;
|
||||
for( IDEWindowTable::const_iterator it = aIDEWindowTable.begin(); it != aIDEWindowTable.end(); ++it )
|
||||
{
|
||||
IDEBaseWindow* pWin = it->second;
|
||||
if ( ( !pWin->IsSuspended() || bFindSuspended ) && pWin->IsA( TYPE( DialogWindow ) ) )
|
||||
{
|
||||
if ( rLibName.isEmpty() )
|
||||
{
|
||||
pDlgWin = (DialogWindow*)pWin;
|
||||
break;
|
||||
}
|
||||
else if ( pWin->IsDocument( rDocument ) && pWin->GetLibName() == rLibName && pWin->GetName() == rDlgName )
|
||||
{
|
||||
pDlgWin = (DialogWindow*)pWin;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!pWin->IsSuspended() || bFindSuspended)
|
||||
if (rLibName.isEmpty() || (pWin->IsDocument(rDocument) && pWin->GetLibName() == rLibName && pWin->GetName() == rDlgName))
|
||||
if (DialogWindow* pDlgWin = dynamic_cast<DialogWindow*>(pWin))
|
||||
return pDlgWin;
|
||||
}
|
||||
if ( !pDlgWin && bCreateIfNotExist )
|
||||
pDlgWin = CreateDlgWin( rDocument, rLibName, rDlgName );
|
||||
|
||||
return pDlgWin;
|
||||
return bCreateIfNotExist ? CreateDlgWin(rDocument, rLibName, rDlgName) : 0;
|
||||
}
|
||||
|
||||
sal_uInt16 BasicIDEShell::GetIDEWindowId(const IDEBaseWindow* pWin) const
|
||||
@@ -151,18 +138,17 @@ sal_uInt16 BasicIDEShell::GetIDEWindowId(const IDEBaseWindow* pWin) const
|
||||
|
||||
SdrView* BasicIDEShell::GetCurDlgView() const
|
||||
{
|
||||
if ( !pCurWin || !pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
return NULL;
|
||||
|
||||
DialogWindow* pWin = (DialogWindow*)pCurWin;
|
||||
return pWin->GetView();
|
||||
if (DialogWindow* pDCurWin = dynamic_cast<DialogWindow*>(pCurWin))
|
||||
return pDCurWin->GetView();
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
// only if dialogue window above:
|
||||
void BasicIDEShell::ExecuteDialog( SfxRequest& rReq )
|
||||
{
|
||||
if ( pCurWin && ( pCurWin->IsA( TYPE( DialogWindow) ) ||
|
||||
(rReq.GetSlot() == SID_IMPORT_DIALOG &&pCurWin->IsA( TYPE( ModulWindow) ) ) ) )
|
||||
if (pCurWin && (dynamic_cast<DialogWindow*>(pCurWin) ||
|
||||
(rReq.GetSlot() == SID_IMPORT_DIALOG && dynamic_cast<ModulWindow*>(pCurWin))))
|
||||
{
|
||||
pCurWin->ExecuteCommand( rReq );
|
||||
}
|
||||
|
@@ -251,19 +251,15 @@ BasicIDEShell::~BasicIDEShell()
|
||||
|
||||
void BasicIDEShell::onDocumentCreated( const ScriptDocument& /*_rDocument*/ )
|
||||
{
|
||||
if(pCurWin && pCurWin->IsA( TYPE(ModulWindow)))
|
||||
{
|
||||
dynamic_cast<ModulWindow*>(pCurWin)->SetLineNumberDisplay(SourceLinesDisplayed());
|
||||
}
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
pMCurWin->SetLineNumberDisplay(SourceLinesDisplayed());
|
||||
UpdateWindows();
|
||||
}
|
||||
|
||||
void BasicIDEShell::onDocumentOpened( const ScriptDocument& /*_rDocument*/ )
|
||||
{
|
||||
if(pCurWin && pCurWin->IsA( TYPE(ModulWindow)))
|
||||
{
|
||||
dynamic_cast<ModulWindow*>(pCurWin)->SetLineNumberDisplay(SourceLinesDisplayed());
|
||||
}
|
||||
if (ModulWindow* pMCurWin = dynamic_cast<ModulWindow*>(pCurWin))
|
||||
pMCurWin->SetLineNumberDisplay(SourceLinesDisplayed());
|
||||
UpdateWindows();
|
||||
}
|
||||
|
||||
@@ -534,9 +530,9 @@ void BasicIDEShell::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId&,
|
||||
{
|
||||
if ( BasicIDEGlobals::GetShell() )
|
||||
{
|
||||
if ( rHint.IsA( TYPE( SfxSimpleHint ) ) )
|
||||
if (SfxSimpleHint* pSimpleHint = dynamic_cast<SfxSimpleHint*>(&rHint))
|
||||
{
|
||||
switch ( ((SfxSimpleHint&)rHint).GetId() )
|
||||
switch (pSimpleHint->GetId())
|
||||
{
|
||||
case SFX_HINT_DYING:
|
||||
{
|
||||
@@ -546,15 +542,13 @@ void BasicIDEShell::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId&,
|
||||
break;
|
||||
}
|
||||
|
||||
if ( rHint.IsA( TYPE( SbxHint ) ) )
|
||||
if (SbxHint* pSbxHint = dynamic_cast<SbxHint*>(&rHint))
|
||||
{
|
||||
SbxHint& rSbxHint = (SbxHint&)rHint;
|
||||
sal_uLong nHintId = rSbxHint.GetId();
|
||||
sal_uLong nHintId = pSbxHint->GetId();
|
||||
if ( ( nHintId == SBX_HINT_BASICSTART ) ||
|
||||
( nHintId == SBX_HINT_BASICSTOP ) )
|
||||
{
|
||||
SfxBindings* pBindings = BasicIDE::GetBindingsPtr();
|
||||
if ( pBindings )
|
||||
if (SfxBindings* pBindings = BasicIDE::GetBindingsPtr())
|
||||
{
|
||||
pBindings->Invalidate( SID_BASICRUN );
|
||||
pBindings->Update( SID_BASICRUN );
|
||||
|
@@ -130,8 +130,7 @@ SbMethod* CreateMacro( SbModule* pModule, const String& rMacroName )
|
||||
|
||||
// update module in library
|
||||
ScriptDocument aDocument( ScriptDocument::NoDocument );
|
||||
SbxObject* pParent = pModule->GetParent();
|
||||
StarBASIC* pBasic = PTR_CAST(StarBASIC,pParent);
|
||||
StarBASIC* pBasic = dynamic_cast<StarBASIC*>(pModule->GetParent());
|
||||
DBG_ASSERT(pBasic, "BasicIDE::CreateMacro: No Basic found!");
|
||||
if ( pBasic )
|
||||
{
|
||||
@@ -246,11 +245,9 @@ bool RemoveDialog( const ScriptDocument& rDocument, const ::rtl::OUString& rLibN
|
||||
StarBASIC* FindBasic( const SbxVariable* pVar )
|
||||
{
|
||||
const SbxVariable* pSbx = pVar;
|
||||
while ( pSbx && !pSbx->ISA( StarBASIC ) )
|
||||
while (pSbx && !dynamic_cast<StarBASIC*>(pSbx))
|
||||
pSbx = pSbx->GetParent();
|
||||
|
||||
DBG_ASSERT( !pSbx || pSbx->ISA( StarBASIC ), "Find Basic: Kein Basic!" );
|
||||
return (StarBASIC*)pSbx;
|
||||
return static_cast<StarBASIC*>(pSbx);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -486,7 +483,7 @@ SfxBindings* GetBindingsPtr()
|
||||
while ( pView )
|
||||
{
|
||||
SfxObjectShell* pObjShell = pView->GetObjectShell();
|
||||
if ( pObjShell && pObjShell->ISA( BasicDocShell ) )
|
||||
if (dynamic_cast<BasicDocShell*>(pObjShell))
|
||||
{
|
||||
pFrame = pView;
|
||||
break;
|
||||
|
@@ -183,7 +183,7 @@ SbxVariable* BasicTreeListBox::FindVariable( SvLBoxEntry* pEntry )
|
||||
break;
|
||||
case 0:
|
||||
{
|
||||
aDocument = ((BasicDocumentEntry*)pEntry->GetUserData())->GetDocument();
|
||||
aDocument = static_cast<BasicDocumentEntry*>(pEntry->GetUserData())->GetDocument();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -198,7 +198,7 @@ SbxVariable* BasicTreeListBox::FindVariable( SvLBoxEntry* pEntry )
|
||||
{
|
||||
SvLBoxEntry* pLE = aEntries[n];
|
||||
DBG_ASSERT( pLE, "Can not find entry in array" );
|
||||
BasicEntry* pBE = (BasicEntry*)pLE->GetUserData();
|
||||
BasicEntry* pBE = static_cast<BasicEntry*>(pLE->GetUserData());
|
||||
DBG_ASSERT( pBE, "The data in the entry not found!" );
|
||||
String aName( GetEntryText( pLE ) );
|
||||
|
||||
@@ -206,27 +206,26 @@ SbxVariable* BasicTreeListBox::FindVariable( SvLBoxEntry* pEntry )
|
||||
{
|
||||
case OBJ_TYPE_LIBRARY:
|
||||
{
|
||||
BasicManager* pBasMgr = aDocument.getBasicManager();
|
||||
if ( pBasMgr )
|
||||
if (BasicManager* pBasMgr = aDocument.getBasicManager())
|
||||
pVar = pBasMgr->GetLib( aName );
|
||||
}
|
||||
break;
|
||||
case OBJ_TYPE_MODULE:
|
||||
{
|
||||
DBG_ASSERT( pVar && pVar->IsA( TYPE(StarBASIC) ), "FindVariable: Ungueltiges Basic" );
|
||||
DBG_ASSERT(dynamic_cast<StarBASIC*>(pVar), "FindVariable: invalid Basic");
|
||||
// extract the module name from the string like "Sheet1 (Example1)"
|
||||
if( bDocumentObjects )
|
||||
{
|
||||
sal_uInt16 nIndex = 0;
|
||||
aName = aName.GetToken( 0, ' ', nIndex );
|
||||
}
|
||||
pVar = ((StarBASIC*)pVar)->FindModule( aName );
|
||||
pVar = static_cast<StarBASIC*>(pVar)->FindModule( aName );
|
||||
}
|
||||
break;
|
||||
case OBJ_TYPE_METHOD:
|
||||
{
|
||||
DBG_ASSERT( pVar && ( (pVar->IsA( TYPE(SbModule) )) || (pVar->IsA( TYPE(SbxObject) )) ), "FindVariable: Ungueltiges Modul/Objekt" );
|
||||
pVar = ((SbxObject*)pVar)->GetMethods()->Find( aName, SbxCLASS_METHOD );
|
||||
DBG_ASSERT(dynamic_cast<SbxObject*>(pVar), "FindVariable: invalid modul/object");
|
||||
pVar = static_cast<SbxObject*>(pVar)->GetMethods()->Find(aName, SbxCLASS_METHOD);
|
||||
}
|
||||
break;
|
||||
case OBJ_TYPE_DIALOG:
|
||||
@@ -288,8 +287,7 @@ BasicEntryDescriptor BasicTreeListBox::GetEntryDescriptor( SvLBoxEntry* pEntry )
|
||||
break;
|
||||
case 0:
|
||||
{
|
||||
BasicDocumentEntry* pBasicDocumentEntry = (BasicDocumentEntry*)pEntry->GetUserData();
|
||||
if ( pBasicDocumentEntry )
|
||||
if (BasicDocumentEntry* pBasicDocumentEntry = static_cast<BasicDocumentEntry*>(pEntry->GetUserData()))
|
||||
{
|
||||
aDocument = pBasicDocumentEntry->GetDocument();
|
||||
eLocation = pBasicDocumentEntry->GetLocation();
|
||||
@@ -307,7 +305,7 @@ BasicEntryDescriptor BasicTreeListBox::GetEntryDescriptor( SvLBoxEntry* pEntry )
|
||||
{
|
||||
SvLBoxEntry* pLE = aEntries[n];
|
||||
DBG_ASSERT( pLE, "Entrie im Array nicht gefunden" );
|
||||
BasicEntry* pBE = (BasicEntry*)pLE->GetUserData();
|
||||
BasicEntry* pBE = static_cast<BasicEntry*>(pLE->GetUserData());
|
||||
DBG_ASSERT( pBE, "Keine Daten im Eintrag gefunden!" );
|
||||
|
||||
switch ( pBE->GetType() )
|
||||
@@ -455,10 +453,7 @@ bool BasicTreeListBox::IsValidEntry( SvLBoxEntry* pEntry )
|
||||
|
||||
SbModule* BasicTreeListBox::FindModule( SvLBoxEntry* pEntry )
|
||||
{
|
||||
SbxVariable* pVar = FindVariable( pEntry );
|
||||
if ( pVar && pVar->IsA( TYPE(SbModule ) ) )
|
||||
return (SbModule*)pVar;
|
||||
return 0;
|
||||
return dynamic_cast<SbModule*>(FindVariable(pEntry));
|
||||
}
|
||||
|
||||
SvLBoxEntry* BasicTreeListBox::FindRootEntry( const ScriptDocument& rDocument, LibraryLocation eLocation )
|
||||
@@ -468,9 +463,9 @@ SvLBoxEntry* BasicTreeListBox::FindRootEntry( const ScriptDocument& rDocument, L
|
||||
SvLBoxEntry* pRootEntry = GetEntry( nRootPos );
|
||||
while ( pRootEntry )
|
||||
{
|
||||
DBG_ASSERT( (((BasicEntry*)pRootEntry->GetUserData())->GetType() == OBJ_TYPE_DOCUMENT ), "Kein Shelleintrag?" );
|
||||
BasicDocumentEntry* pBasicDocumentEntry = (BasicDocumentEntry*)pRootEntry->GetUserData();
|
||||
if ( pBasicDocumentEntry && ( pBasicDocumentEntry->GetDocument() == rDocument ) && pBasicDocumentEntry->GetLocation() == eLocation )
|
||||
DBG_ASSERT( static_cast<BasicEntry*>(pRootEntry->GetUserData())->GetType() == OBJ_TYPE_DOCUMENT, "Kein Shelleintrag?" );
|
||||
BasicDocumentEntry* pBDEntry = static_cast<BasicDocEntry*>(pRootEntry->GetUserData());
|
||||
if (pBDEntry && pBDEntry->GetDocument() == rDocument && pBDEntry->GetLocation() == eLocation)
|
||||
return pRootEntry;
|
||||
pRootEntry = GetEntry( ++nRootPos );
|
||||
}
|
||||
|
@@ -444,15 +444,13 @@ void BasicIDETabBar::Command( const CommandEvent& rCEvt )
|
||||
if ( aDocument.isInVBAMode() )
|
||||
{
|
||||
// disable to delete or remove object modules in IDE
|
||||
BasicManager* pBasMgr = aDocument.getBasicManager();
|
||||
if ( pBasMgr )
|
||||
if (BasicManager* pBasMgr = aDocument.getBasicManager())
|
||||
{
|
||||
StarBASIC* pBasic = pBasMgr->GetLib( aOULibName );
|
||||
if( pBasic )
|
||||
if (StarBASIC* pBasic = pBasMgr->GetLib(aOULibName))
|
||||
{
|
||||
IDEWindowTable& aIDEWindowTable = pIDEShell->GetIDEWindowTable();
|
||||
IDEWindowTable::const_iterator it = aIDEWindowTable.find( GetCurPageId() );
|
||||
if( it != aIDEWindowTable.end() && it->second->ISA( ModulWindow ) )
|
||||
if (it != aIDEWindowTable.end() && dynamic_cast<ModulWindow*>(it->second))
|
||||
{
|
||||
SbModule* pActiveModule = (SbModule*)pBasic->FindModule( it->second->GetName() );
|
||||
if( pActiveModule && ( pActiveModule->GetModuleType() == script::ModuleType::DOCUMENT ) )
|
||||
@@ -467,10 +465,10 @@ void BasicIDETabBar::Command( const CommandEvent& rCEvt )
|
||||
}
|
||||
|
||||
|
||||
SfxViewFrame* pViewFrame = pIDEShell ? pIDEShell->GetViewFrame() : NULL;
|
||||
SfxDispatcher* pDispatcher = pViewFrame ? pViewFrame->GetDispatcher() : NULL;
|
||||
if ( pDispatcher )
|
||||
pDispatcher->Execute( aPopup.Execute( this, aPos ) );
|
||||
if (pIDEShell)
|
||||
if (SfxViewFrame* pViewFrame = pIDEShell->GetViewFrame())
|
||||
if (SfxDispatcher* pDispatcher = pViewFrame->GetDispatcher())
|
||||
pDispatcher->Execute(aPopup.Execute(this, aPos));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -523,11 +521,11 @@ void BasicIDETabBar::Sort()
|
||||
aTabBarSortHelper.aPageText = GetPageText( nId );
|
||||
IDEBaseWindow* pWin = aIDEWindowTable[ nId ];
|
||||
|
||||
if ( pWin->IsA( TYPE( ModulWindow ) ) )
|
||||
if (dynamic_cast<ModulWindow*>(pWin))
|
||||
{
|
||||
aModuleList.push_back( aTabBarSortHelper );
|
||||
}
|
||||
else if ( pWin->IsA( TYPE( DialogWindow ) ) )
|
||||
else if (dynamic_cast<DialogWindow*>(pWin))
|
||||
{
|
||||
aDialogList.push_back( aTabBarSortHelper );
|
||||
}
|
||||
|
@@ -135,9 +135,8 @@ void LocalizationMgr::implEnableDisableResourceForAllLibraryDialogs( HandleResou
|
||||
{
|
||||
String aDlgName = pDlgNames[ i ];
|
||||
DialogWindow* pWin = m_pIDEShell->FindDlgWin( m_aDocument, m_aLibName, aDlgName, false );
|
||||
if( pWin && pWin->IsA( TYPE( DialogWindow ) ) )
|
||||
if (DialogWindow* pDialogWin = dynamic_cast<DialogWindow*>(pWin))
|
||||
{
|
||||
DialogWindow* pDialogWin = static_cast< DialogWindow* >( pWin );
|
||||
Reference< container::XNameContainer > xDialog = pDialogWin->GetDialog();
|
||||
if( xDialog.is() )
|
||||
{
|
||||
@@ -778,14 +777,10 @@ void LocalizationMgr::handleSetCurrentLocale( ::com::sun::star::lang::Locale aLo
|
||||
if ( pBindings )
|
||||
pBindings->Invalidate( SID_BASICIDE_CURRENT_LANG );
|
||||
|
||||
IDEBaseWindow* pCurWin = m_pIDEShell->GetCurWindow();
|
||||
if ( pCurWin && !pCurWin->IsSuspended() && pCurWin->IsA( TYPE( DialogWindow ) ) )
|
||||
{
|
||||
DialogWindow* pDlgWin = (DialogWindow*)pCurWin;
|
||||
DlgEditor* pWinEditor = pDlgWin->GetEditor();
|
||||
if( pWinEditor )
|
||||
pWinEditor->UpdatePropertyBrowserDelayed();
|
||||
}
|
||||
if (DialogWindow* pDlgWin = dynamic_cast<DialogWindow*>(m_pIDEShell->GetCurWindow()))
|
||||
if (!pDlgWin->IsSuspended())
|
||||
if (DlgEditor* pWinEditor = pDlgWin->GetEditor())
|
||||
pWinEditor->UpdatePropertyBrowserDelayed();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -812,22 +807,18 @@ DialogWindow* FindDialogWindowForEditor( DlgEditor* pEditor )
|
||||
{
|
||||
BasicIDEShell* pIDEShell = BasicIDEGlobals::GetShell();
|
||||
IDEWindowTable& aIDEWindowTable = pIDEShell->GetIDEWindowTable();
|
||||
DialogWindow* pFoundDlgWin = NULL;
|
||||
for( IDEWindowTable::const_iterator it = aIDEWindowTable.begin(); it != aIDEWindowTable.end(); ++it )
|
||||
{
|
||||
IDEBaseWindow* pWin = it->second;
|
||||
if ( !pWin->IsSuspended() && pWin->IsA( TYPE( DialogWindow ) ) )
|
||||
{
|
||||
DialogWindow* pDlgWin = (DialogWindow*)pWin;
|
||||
DlgEditor* pWinEditor = pDlgWin->GetEditor();
|
||||
if( pWinEditor == pEditor )
|
||||
if (!pWin->IsSuspended())
|
||||
if (DialogWindow* pDlgWin = dynamic_cast<DialogWindow*>(pWin))
|
||||
{
|
||||
pFoundDlgWin = pDlgWin;
|
||||
break;
|
||||
DlgEditor* pWinEditor = pDlgWin->GetEditor();
|
||||
if( pWinEditor == pEditor )
|
||||
return pFoundDlgWin;
|
||||
}
|
||||
}
|
||||
}
|
||||
return pFoundDlgWin;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -55,13 +55,15 @@ SfxPoolItem *SbxItem::Clone(SfxItemPool*) const
|
||||
|
||||
int SbxItem::operator==(const SfxPoolItem& rCmp) const
|
||||
{
|
||||
DBG_ASSERT( rCmp.ISA( SbxItem ), "==: Kein SbxItem!" );
|
||||
return (SfxPoolItem::operator==(rCmp) &&
|
||||
m_aDocument == ((const SbxItem&)rCmp).m_aDocument &&
|
||||
m_aLibName == ((const SbxItem&)rCmp).m_aLibName &&
|
||||
m_aName == ((const SbxItem&)rCmp).m_aName &&
|
||||
m_aMethodName == ((const SbxItem&)rCmp).m_aMethodName &&
|
||||
m_nType == ((const SbxItem&)rCmp).m_nType);
|
||||
SbxItem const* pSbxItem = dynamic_cast<SbxItem const*>(&rCmp);
|
||||
DBG_ASSERT(pSbxItem, "==: no SbxItem!" );
|
||||
return
|
||||
SfxPoolItem::operator==(rCmp) &&
|
||||
m_aDocument == pSbxItem->m_aDocument &&
|
||||
m_aLibName == pSbxItem->m_aLibName &&
|
||||
m_aName == pSbxItem->m_aName &&
|
||||
m_aMethodName == pSbxItem->m_aMethodName &&
|
||||
m_nType == pSbxItem->m_nType;
|
||||
}
|
||||
|
||||
const ScriptDocument& SbxItem::GetDocument() const
|
||||
|
@@ -67,12 +67,10 @@ void TbxControls::StateChanged( sal_uInt16 nSID, SfxItemState eState,
|
||||
{
|
||||
if( pState )
|
||||
{
|
||||
SfxAllEnumItem* pItem = PTR_CAST(SfxAllEnumItem, pState);
|
||||
if( pItem )
|
||||
if (SfxAllEnumItem* pItem = dynamic_cast<SfxAllEnumItem*>(pState))
|
||||
{
|
||||
sal_uInt16 nLastEnum = pItem->GetValue();
|
||||
sal_uInt16 nTemp = 0;
|
||||
switch( nLastEnum )
|
||||
switch (sal_uInt16 nLastEnum = pItem->GetValue())
|
||||
{
|
||||
case SVX_SNAP_PUSHBUTTON: nTemp = SID_INSERT_PUSHBUTTON; break;
|
||||
case SVX_SNAP_CHECKBOX: nTemp = SID_INSERT_CHECKBOX; break;
|
||||
|
@@ -561,12 +561,9 @@ IMPL_LINK_NOARG(DlgEditor, PaintTimeout)
|
||||
if ( pDlgEdPage && ( ( nObjCount = pDlgEdPage->GetObjCount() ) > 0 ) )
|
||||
{
|
||||
for ( sal_uLong i = 0 ; i < nObjCount ; i++ )
|
||||
{
|
||||
SdrObject* pObj = pDlgEdPage->GetObj(i);
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST(DlgEdObj, pObj);
|
||||
if ( pDlgEdObj && !pDlgEdObj->ISA(DlgEdForm) )
|
||||
pDlgEdObj->SetRectFromProps();
|
||||
}
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pDlgEdPage->GetObj(i)))
|
||||
if (!dynamic_cast<DlgEdForm*>(pDlgEdObj))
|
||||
pDlgEdObj->SetRectFromProps();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -668,8 +665,7 @@ void DlgEditor::CreateDefaultObject()
|
||||
// create object by factory
|
||||
SdrObject* pObj = SdrObjFactory::MakeNewObject( pDlgEdView->GetCurrentObjInventor(), pDlgEdView->GetCurrentObjIdentifier(), pDlgEdPage );
|
||||
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST( DlgEdObj, pObj );
|
||||
if ( pDlgEdObj )
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pObj))
|
||||
{
|
||||
// set position and size
|
||||
Size aSize = pWindow->PixelToLogic( Size( 96, 24 ) );
|
||||
@@ -746,9 +742,9 @@ void DlgEditor::Copy()
|
||||
for( sal_uLong i = 0; i < nMark; i++ )
|
||||
{
|
||||
SdrObject* pObj = pDlgEdView->GetMarkedObjectList().GetMark(i)->GetMarkedSdrObj();
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST(DlgEdObj, pObj);
|
||||
DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pObj);
|
||||
|
||||
if (pDlgEdObj && !pDlgEdObj->ISA(DlgEdForm) )
|
||||
if (pDlgEdObj && !dynamic_cast<DlgEdForm*>(pDlgEdObj))
|
||||
{
|
||||
::rtl::OUString aName;
|
||||
Reference< beans::XPropertySet > xMarkPSet(pDlgEdObj->GetUnoControlModel(), uno::UNO_QUERY);
|
||||
@@ -1070,9 +1066,9 @@ void DlgEditor::Delete()
|
||||
for( sal_uLong i = 0; i < nMark; i++ )
|
||||
{
|
||||
SdrObject* pObj = pDlgEdView->GetMarkedObjectList().GetMark(i)->GetMarkedSdrObj();
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST(DlgEdObj, pObj);
|
||||
DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pObj);
|
||||
|
||||
if ( pDlgEdObj && !pDlgEdObj->ISA(DlgEdForm) )
|
||||
if ( pDlgEdObj && !dynamic_cast<DlgEdForm*>(pDlgEdObj) )
|
||||
{
|
||||
// get name from property
|
||||
::rtl::OUString aName;
|
||||
|
@@ -509,7 +509,7 @@ bool DlgEdFuncSelect::MouseButtonDown( const MouseEvent& rMEvt )
|
||||
{
|
||||
if( pView->PickObj( aMDPos, nHitLog, pObj, pPV ) )
|
||||
{
|
||||
//if( pObj->ISA( DlgEdForm ) )
|
||||
//if (dynamic_cast<DlgEdForm*>(pObj))
|
||||
// pView->UnmarkAll();
|
||||
//else
|
||||
// pParent->UnmarkDialog();
|
||||
|
@@ -51,6 +51,14 @@ using ::rtl::OUString;
|
||||
TYPEINIT1(DlgEdObj, SdrUnoObj);
|
||||
DBG_NAME(DlgEdObj);
|
||||
|
||||
DlgEditor* DlgEdObj::GetDialogEditor ()
|
||||
{
|
||||
if (DlgEdForm* pFormThis = dynamic_cast<DlgEdForm*>(this))
|
||||
return pFormThis->GetDlgEditor();
|
||||
else
|
||||
return pDlgEdForm->GetDlgEditor();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
DlgEdObj::DlgEdObj()
|
||||
@@ -512,12 +520,9 @@ void SAL_CALL DlgEdObj::NameChange( const ::com::sun::star::beans::PropertyChan
|
||||
xCont->removeByName( aOldName );
|
||||
xCont->insertByName( aNewName , aAny );
|
||||
|
||||
DlgEditor* pEditor;
|
||||
if ( ISA(DlgEdForm) )
|
||||
pEditor = ((DlgEdForm*)this)->GetDlgEditor();
|
||||
else
|
||||
pEditor = GetDlgEdForm()->GetDlgEditor();
|
||||
LocalizationMgr::renameControlResourceIDsForEditorObject( pEditor, aAny, aNewName );
|
||||
LocalizationMgr::renameControlResourceIDsForEditorObject(
|
||||
GetDialogEditor(), aAny, aNewName
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1104,12 +1109,9 @@ void DlgEdObj::SetDefaults()
|
||||
aAny <<= xCtrl;
|
||||
xCont->insertByName( aOUniqueName , aAny );
|
||||
|
||||
DlgEditor* pEditor;
|
||||
if ( ISA(DlgEdForm) )
|
||||
pEditor = ((DlgEdForm*)this)->GetDlgEditor();
|
||||
else
|
||||
pEditor = GetDlgEdForm()->GetDlgEditor();
|
||||
LocalizationMgr::setControlResourceIDsForNewEditorObject( pEditor, aAny, aOUniqueName );
|
||||
LocalizationMgr::setControlResourceIDsForNewEditorObject(
|
||||
GetDialogEditor(), aAny, aOUniqueName
|
||||
);
|
||||
|
||||
// #110559#
|
||||
pDlgEdForm->UpdateTabOrderAndGroups();
|
||||
@@ -1222,20 +1224,13 @@ void SAL_CALL DlgEdObj::_propertyChange( const ::com::sun::star::beans::Propert
|
||||
PositionAndSizeChange( evt );
|
||||
|
||||
if ( evt.PropertyName == DLGED_PROP_DECORATION )
|
||||
{
|
||||
if ( ISA(DlgEdForm) )
|
||||
((DlgEdForm*)this)->GetDlgEditor()->ResetDialog();
|
||||
else
|
||||
GetDlgEdForm()->GetDlgEditor()->ResetDialog();
|
||||
}
|
||||
GetDialogEditor()->ResetDialog();
|
||||
}
|
||||
// change name of control in dialog model
|
||||
else if ( evt.PropertyName == DLGED_PROP_NAME )
|
||||
{
|
||||
if ( !ISA(DlgEdForm) )
|
||||
{
|
||||
if (!dynamic_cast<DlgEdForm*>(this))
|
||||
NameChange(evt);
|
||||
}
|
||||
}
|
||||
// update step
|
||||
else if ( evt.PropertyName == DLGED_PROP_STEP )
|
||||
@@ -1245,10 +1240,8 @@ void SAL_CALL DlgEdObj::_propertyChange( const ::com::sun::star::beans::Propert
|
||||
// change tabindex
|
||||
else if ( evt.PropertyName == DLGED_PROP_TABINDEX )
|
||||
{
|
||||
if ( !ISA(DlgEdForm) )
|
||||
{
|
||||
if (!dynamic_cast<DlgEdForm>(this))
|
||||
TabIndexChange(evt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1260,14 +1253,7 @@ void SAL_CALL DlgEdObj::_elementInserted(const ::com::sun::star::container::Cont
|
||||
if (isListening())
|
||||
{
|
||||
// dialog model changed
|
||||
if ( ISA(DlgEdForm) )
|
||||
{
|
||||
((DlgEdForm*)this)->GetDlgEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetDlgEdForm()->GetDlgEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
GetDialogEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1278,14 +1264,7 @@ void SAL_CALL DlgEdObj::_elementReplaced(const ::com::sun::star::container::Cont
|
||||
if (isListening())
|
||||
{
|
||||
// dialog model changed
|
||||
if ( ISA(DlgEdForm) )
|
||||
{
|
||||
((DlgEdForm*)this)->GetDlgEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetDlgEdForm()->GetDlgEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
GetDialogEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1296,14 +1275,7 @@ void SAL_CALL DlgEdObj::_elementRemoved(const ::com::sun::star::container::Conta
|
||||
if (isListening())
|
||||
{
|
||||
// dialog model changed
|
||||
if ( ISA(DlgEdForm) )
|
||||
{
|
||||
((DlgEdForm*)this)->GetDlgEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
GetDlgEdForm()->GetDlgEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
GetDialogEditor()->SetDialogModelChanged(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1567,9 +1539,8 @@ void DlgEdForm::UpdateStep()
|
||||
{
|
||||
for ( sal_uLong i = 0 ; i < nObjCount ; i++ )
|
||||
{
|
||||
SdrObject* pObj = pSdrPage->GetObj(i);
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST(DlgEdObj, pObj);
|
||||
if ( pDlgEdObj && !pDlgEdObj->ISA(DlgEdForm) )
|
||||
DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pSdrPage->GetObj(i));
|
||||
if (pDlgEdObj && !dynamic_cast<DlgEdForm*>(pDlgEdObj))
|
||||
pDlgEdObj->UpdateStep();
|
||||
}
|
||||
}
|
||||
|
@@ -281,8 +281,7 @@ Sequence< Reference< XInterface > >
|
||||
|
||||
while (pCurrent)
|
||||
{
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST(DlgEdObj, pCurrent);
|
||||
if (pDlgEdObj)
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(pCurrent))
|
||||
{
|
||||
Reference< XInterface > xControlInterface(pDlgEdObj->GetUnoControlModel(), UNO_QUERY);
|
||||
if (xControlInterface.is())
|
||||
@@ -525,8 +524,7 @@ void PropBrw::ImplUpdate( const Reference< XModel >& _rxContextDocument, SdrView
|
||||
Sequence< Reference< XInterface > > aNewObjects;
|
||||
if ( nMarkCount == 1 )
|
||||
{
|
||||
DlgEdObj* pDlgEdObj = PTR_CAST( DlgEdObj, rMarkList.GetMark(0)->GetMarkedSdrObj() );
|
||||
if ( pDlgEdObj )
|
||||
if (DlgEdObj* pDlgEdObj = dynamic_cast<DlgEdObj*>(rMarkList.GetMark(0)->GetMarkedSdrObj()))
|
||||
{
|
||||
if ( pDlgEdObj->IsGroupObject() ) // group object
|
||||
aNewObjects = CreateMultiSelectionSequence( rMarkList );
|
||||
|
@@ -51,6 +51,9 @@ private:
|
||||
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener> m_xPropertyChangeListener;
|
||||
::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener> m_xContainerListener;
|
||||
|
||||
private:
|
||||
DlgEditor* GetDialogEditor ();
|
||||
|
||||
protected:
|
||||
DlgEdObj();
|
||||
DlgEdObj(const ::rtl::OUString& rModelName,
|
||||
|
Reference in New Issue
Block a user