diff options
author | Ocke Janssen [oj] <Ocke.Janssen@sun.com> | 2010-01-15 09:16:51 +0100 |
---|---|---|
committer | Ocke Janssen [oj] <Ocke.Janssen@sun.com> | 2010-01-15 09:16:51 +0100 |
commit | 9a2088753ca4e959a4a6918ec918d9d6859365df (patch) | |
tree | 6ef84c0a6c3b27344c6f13600f51b3e6904650e7 /svx/source/form/fmshell.cxx | |
parent | b0c799c7fbaa93f707bf18a87eb9aef5d86be52c (diff) | |
parent | 315171ac12d5c1c52dc06a4f4156fa76f86c5adf (diff) |
dba33b: merge m69
Diffstat (limited to 'svx/source/form/fmshell.cxx')
-rw-r--r-- | svx/source/form/fmshell.cxx | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/svx/source/form/fmshell.cxx b/svx/source/form/fmshell.cxx index 2819045c237d..fe5dfaf456ea 100644 --- a/svx/source/form/fmshell.cxx +++ b/svx/source/form/fmshell.cxx @@ -685,7 +685,15 @@ void FmFormShell::Execute(SfxRequest &rReq) case SID_FM_FILTER_NAVIGATOR: case SID_FM_SHOW_DATANAVIGATOR : { - GetViewShell()->GetViewFrame()->ChildWindowExecute(rReq); + SFX_REQUEST_ARG( rReq, pShowItem, SfxBoolItem, nSlot, sal_False ); + if ( !pShowItem ) + GetViewShell()->GetViewFrame()->ChildWindowExecute( rReq ); + else + { + const sal_Bool bShow = pShowItem->GetValue(); + GetViewShell()->GetViewFrame()->ShowChildWindow( nSlot, bShow ); + } + rReq.Done(); } break; case SID_FM_SHOW_FMEXPLORER: @@ -827,7 +835,7 @@ void FmFormShell::Execute(SfxRequest &rReq) bReopenNavigator = sal_True; } - Reference< XFormController > xController( GetImpl()->getActiveController() ); + Reference< runtime::XFormController > xController( GetImpl()->getActiveController() ); if ( GetViewShell()->GetViewFrame()->HasChildWindow( SID_FM_FILTER_NAVIGATOR ) // closing the window was denied, for instance because of a invalid criterion @@ -857,6 +865,11 @@ void FmFormShell::Execute(SfxRequest &rReq) { GetImpl()->startFiltering(); rReq.Done(); + + // initially open the filter navigator, the whole form based filter is pretty useless without it + SfxBoolItem aIdentifierItem( SID_FM_FILTER_NAVIGATOR, TRUE ); + GetViewShell()->GetViewFrame()->GetDispatcher()->Execute( SID_FM_FILTER_NAVIGATOR, SFX_CALLMODE_ASYNCHRON, + &aIdentifierItem, NULL ); } break; } } @@ -1400,7 +1413,7 @@ SdrUnoObj* FmFormShell::GetFormControl( const Reference< XControlModel >& _rxMod } //------------------------------------------------------------------------ -Reference< XFormController > FmFormShell::GetFormController( const Reference< XForm >& _rxForm, const SdrView& _rView, const OutputDevice& _rDevice ) const +Reference< runtime::XFormController > FmFormShell::GetFormController( const Reference< XForm >& _rxForm, const SdrView& _rView, const OutputDevice& _rDevice ) const { const FmFormView* pFormView = dynamic_cast< const FmFormView* >( &_rView ); if ( !pFormView ) |