summaryrefslogtreecommitdiff
path: root/framework/source/classes/fwktabwindow.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'framework/source/classes/fwktabwindow.cxx')
-rw-r--r--framework/source/classes/fwktabwindow.cxx15
1 files changed, 14 insertions, 1 deletions
diff --git a/framework/source/classes/fwktabwindow.cxx b/framework/source/classes/fwktabwindow.cxx
index a294edf2bc..8628744fbc 100644
--- a/framework/source/classes/fwktabwindow.cxx
+++ b/framework/source/classes/fwktabwindow.cxx
@@ -40,6 +40,7 @@
#include <com/sun/star/awt/XContainerWindowProvider.hpp>
#include <com/sun/star/awt/XWindow.hpp>
#include <com/sun/star/awt/XWindowPeer.hpp>
+#include <com/sun/star/awt/XControl.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
#include <com/sun/star/graphic/XGraphic.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -90,7 +91,7 @@ FwkTabPage::FwkTabPage(
const css::uno::Reference< css::awt::XContainerWindowEventHandler >& rEventHdl,
const css::uno::Reference< css::awt::XContainerWindowProvider >& rProvider ) :
- TabPage( pParent, WB_DIALOGCONTROL ),
+ TabPage( pParent, WB_DIALOGCONTROL | WB_TABSTOP | WB_CHILDDLGCTRL ),
m_sPageURL ( rPageURL ),
m_xEventHdl ( rEventHdl ),
@@ -122,6 +123,18 @@ void FwkTabPage::CreateDialog()
m_xWinProvider->createContainerWindow(
m_sPageURL, rtl::OUString(), xParent, xHandler ), uno::UNO_QUERY );
+ uno::Reference< awt::XControl > xPageControl( m_xPage, uno::UNO_QUERY );
+ if ( xPageControl.is() )
+ {
+ uno::Reference< awt::XWindowPeer > xWinPeer( xPageControl->getPeer() );
+ if ( xWinPeer.is() )
+ {
+ Window* pWindow = VCLUnoHelper::GetWindow( xWinPeer );
+ if ( pWindow )
+ pWindow->SetStyle( pWindow->GetStyle() | WB_DIALOGCONTROL | WB_CHILDDLGCTRL );
+ }
+ }
+
CallMethod( INITIALIZE_METHOD );
}
catch ( lang::IllegalArgumentException& )