You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ar...@apache.org on 2013/03/16 00:19:21 UTC
svn commit: r1457158 [5/5] - in /openoffice/trunk/main: ./
default_images/minimizer/ default_images/res/commandimagelist/
helpcontent2/prj/ helpcontent2/source/text/simpress/
helpcontent2/source/text/simpress/minimizer/ helpcontent2/util/simpress/
offi...
Modified: openoffice/trunk/main/sdext/source/minimizer/unodialog.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sdext/source/minimizer/unodialog.cxx?rev=1457158&r1=1457157&r2=1457158&view=diff
==============================================================================
--- openoffice/trunk/main/sdext/source/minimizer/unodialog.cxx (original)
+++ openoffice/trunk/main/sdext/source/minimizer/unodialog.cxx Fri Mar 15 23:19:19 2013
@@ -25,20 +25,23 @@
#include "precompiled_sdext.hxx"
#include "unodialog.hxx"
-#include <com/sun/star/text/XTextRange.hpp>
-#include <com/sun/star/drawing/XShapes.hpp>
+
+#include <com/sun/star/awt/MessageBoxButtons.hpp>
+#include <com/sun/star/awt/XVclWindowPeer.hpp>
+#include <com/sun/star/awt/PosSize.hpp>
+#include <com/sun/star/awt/XMessageBoxFactory.hpp>
+#include <com/sun/star/awt/XStyleSettingsSupplier.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
-#include <com/sun/star/view/XSelectionSupplier.hpp>
-#include <com/sun/star/view/XControlAccess.hpp>
+#include <com/sun/star/drawing/XShapes.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
-#include <com/sun/star/awt/XMessageBoxFactory.hpp>
-#include <com/sun/star/awt/MessageBoxButtons.hpp>
+#include <com/sun/star/text/XTextRange.hpp>
+#include <com/sun/star/view/XControlAccess.hpp>
+#include <com/sun/star/view/XSelectionSupplier.hpp>
// -------------
// - UnoDialog -
// -------------
-using namespace ::rtl;
using namespace ::com::sun::star::awt;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::util;
@@ -48,44 +51,58 @@ using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::script;
-UnoDialog::UnoDialog( const Reference< XComponentContext > &rxMSF, Reference< XFrame >& rxFrame ) :
- mxMSF( rxMSF ),
- mxController( rxFrame->getController() ),
- mxDialogModel( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.awt.UnoControlDialogModel" ) ), mxMSF ), UNO_QUERY_THROW ),
+using ::rtl::OUString;
+
+UnoDialog::UnoDialog(
+ const Reference< XComponentContext > &rxContext,
+ const Reference< XWindowPeer >& rxParent ) :
+ mxContext( rxContext ),
+ mxParent( rxParent ),
+ mxDialogModel( mxContext->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.awt.UnoControlDialogModel" ) ), mxContext ), UNO_QUERY_THROW ),
mxDialogModelMultiPropertySet( mxDialogModel, UNO_QUERY_THROW ),
mxDialogModelPropertySet( mxDialogModel, UNO_QUERY_THROW ),
mxDialogModelMSF( mxDialogModel, UNO_QUERY_THROW ),
mxDialogModelNameContainer( mxDialogModel, UNO_QUERY_THROW ),
mxDialogModelNameAccess( mxDialogModel, UNO_QUERY_THROW ),
mxControlModel( mxDialogModel, UNO_QUERY_THROW ),
- mxDialog( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.awt.UnoControlDialog" ) ), mxMSF ), UNO_QUERY_THROW ),
+ mxDialog( mxContext->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.awt.UnoControlDialog" ) ), mxContext ), UNO_QUERY_THROW ),
mxControl( mxDialog, UNO_QUERY_THROW ),
mbStatus( sal_False )
{
+ OSL_TRACE("UnoDialog::UnoDialog");
mxControl->setModel( mxControlModel );
mxDialogControlContainer = Reference< XControlContainer >( mxDialog, UNO_QUERY_THROW );
- mxDialogComponent = Reference< XComponent >( mxDialog, UNO_QUERY_THROW );
- mxDialogWindow = Reference< XWindow >( mxDialog, UNO_QUERY_THROW );
-
- Reference< XFrame > xFrame( mxController->getFrame() );
- Reference< XWindow > xContainerWindow( xFrame->getContainerWindow() );
- mxWindowPeer = Reference< XWindowPeer >( xContainerWindow, UNO_QUERY_THROW );
- createWindowPeer( mxWindowPeer );
+ mxDialogWindow = Reference< XWindow >( mxDialog, UNO_QUERY );
+ mxDialogWindowPeer = createWindowPeer();
}
// -----------------------------------------------------------------------------
UnoDialog::~UnoDialog()
{
-
+ OSL_TRACE("UnoDialog::~UnoDialog");
+ Reference< XComponent > xComponent( mxDialog, UNO_QUERY );
+ if ( xComponent.is() )
+ {
+ xComponent->dispose();
+ }
}
// -----------------------------------------------------------------------------
+void UnoDialog::setTitle( const rtl::OUString &rTitle )
+{
+ if ( rTitle.getLength() )
+ {
+ mxDialog->setTitle( rTitle );
+ }
+}
+
void UnoDialog::execute()
{
+ OSL_TRACE("UnoDialog::execute");
mxDialogWindow->setEnable( sal_True );
mxDialogWindow->setVisible( sal_True );
mxDialog->execute();
@@ -93,22 +110,55 @@ void UnoDialog::execute()
void UnoDialog::endExecute( sal_Bool bStatus )
{
+ OSL_TRACE("UnoDialog::endExecute");
mbStatus = bStatus;
mxDialog->endExecute();
}
+void UnoDialog::centerDialog()
+{
+ Reference< XWindow > xParent( mxParent, UNO_QUERY );
+ if ( !xParent.is() )
+ return;
+
+ Rectangle aParentPosSize = xParent->getPosSize();
+ Rectangle aWinPosSize = mxDialogWindow->getPosSize();
+ Point aWinPos((aParentPosSize.Width - aWinPosSize.Width) / 2,
+ (aParentPosSize.Height - aWinPosSize.Height) / 2);
+
+ if ( ( aWinPos.X + aWinPosSize.Width ) > ( aParentPosSize.X + aParentPosSize.Width ) )
+ aWinPos.X = aParentPosSize.X + aParentPosSize.Width - aWinPosSize.Width;
+
+ if ( ( aWinPos.Y + aWinPosSize.Height ) > ( aParentPosSize.Y + aParentPosSize.Height ) )
+ aWinPos.Y = aParentPosSize.Y + aParentPosSize.Height - aWinPosSize.Height;
+
+ mxDialogWindow->setPosSize( aWinPos.X, aWinPos.Y,
+ aWinPosSize.Width,
+ aWinPosSize.Height,
+ PosSize::POS );
+}
+
// -----------------------------------------------------------------------------
-Reference< XWindowPeer > UnoDialog::createWindowPeer( Reference< XWindowPeer > xParentPeer )
+Reference< XWindowPeer > UnoDialog::createWindowPeer()
throw ( Exception )
{
- mxDialogWindow->setVisible( sal_False );
- Reference< XToolkit > xToolkit( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.Toolkit" ) ), mxMSF ), UNO_QUERY_THROW );
- if ( !xParentPeer.is() )
- xParentPeer = xToolkit->getDesktopWindow();
+ mxDialogWindow->setVisible( sal_False );
+
+ // reuse the parent's toolkit
+ Reference< XToolkit > xToolkit;
+ if ( mxParent.is() )
+ xToolkit.set( mxParent->getToolkit() );
+
+ if ( !xToolkit.is() )
+ xToolkit.set( mxContext->getServiceManager()->createInstanceWithContext(
+ OUString( RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.awt.Toolkit" ) ), mxContext ),
+ UNO_QUERY_THROW );
+
mxReschedule = Reference< XReschedule >( xToolkit, UNO_QUERY );
- mxControl->createPeer( xToolkit, xParentPeer );
-// xWindowPeer = xControl.getPeer();
+ mxControl->createPeer( xToolkit, mxParent );
+
return mxControl->getPeer();
}
@@ -153,14 +203,9 @@ sal_Bool UnoDialog::isHighContrast()
sal_Bool bHighContrast = sal_False;
try
{
- sal_Int32 nBackgroundColor = 0;
- if ( mxDialogModelPropertySet->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "BackgroundColor" ) ) ) >>= nBackgroundColor )
- {
- sal_uInt8 nLum( static_cast< sal_uInt8 >( ( static_cast< sal_uInt8 >( nBackgroundColor >> 16 ) * 28 +
- static_cast< sal_uInt8 >( nBackgroundColor >> 8 ) * 151 +
- static_cast< sal_uInt8 >( nBackgroundColor ) * 77 ) >> 8 ) );
- bHighContrast = nLum <= 38;
- }
+ Reference< XStyleSettingsSupplier > xStyleSettingsSuppl( mxDialogWindow, UNO_QUERY_THROW );
+ Reference< XStyleSettings > xStyleSettings( xStyleSettingsSuppl->getStyleSettings() );
+ bHighContrast = xStyleSettings->getHighContrastMode();
}
catch( Exception& )
{
Modified: openoffice/trunk/main/sdext/source/minimizer/unodialog.hxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sdext/source/minimizer/unodialog.hxx?rev=1457158&r1=1457157&r2=1457158&view=diff
==============================================================================
--- openoffice/trunk/main/sdext/source/minimizer/unodialog.hxx (original)
+++ openoffice/trunk/main/sdext/source/minimizer/unodialog.hxx Fri Mar 15 23:19:19 2013
@@ -26,9 +26,7 @@
#include <com/sun/star/uno/Sequence.h>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#endif
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/frame/XFrame.hpp>
@@ -53,9 +51,6 @@
#include <com/sun/star/awt/XReschedule.hpp>
#include <com/sun/star/awt/XDialog.hpp>
#include <com/sun/star/awt/Size.hpp>
-#include <cppuhelper/implbase1.hxx>
-#include <cppuhelper/implbase2.hxx>
-#include <cppuhelper/implbase3.hxx>
// -------------
// - UnoDialog -
@@ -67,23 +62,24 @@ class UnoDialog
{
public :
- UnoDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame );
- ~UnoDialog();
+ UnoDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext,
+ const com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer >& rxParent);
+ virtual ~UnoDialog();
+ void execute();
+ void endExecute( sal_Bool bStatus );
+ void setTitle( const rtl::OUString &rTitle);
+
+protected:
+ void setVisible( const rtl::OUString& rName, sal_Bool bVisible );
+ sal_Int32 getMapsFromPixels( sal_Int32 nPixels ) const;
+ sal_Bool isHighContrast();
+ void centerDialog();
- void execute();
- void endExecute( sal_Bool bStatus );
-
- com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > createWindowPeer( com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > xParentPeer )
- throw ( com::sun::star::uno::Exception );
+ com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > createWindowPeer() throw ( com::sun::star::uno::Exception );
com::sun::star::uno::Reference< com::sun::star::uno::XInterface > insertControlModel( const rtl::OUString& rServiceName, const rtl::OUString& rName,
const com::sun::star::uno::Sequence< rtl::OUString >& rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& rPropertyValues );
- void setVisible( const rtl::OUString& rName, sal_Bool bVisible );
-
- sal_Bool isHighContrast();
-
- sal_Int32 getMapsFromPixels( sal_Int32 nPixels ) const;
com::sun::star::uno::Reference< com::sun::star::awt::XButton > insertButton( const rtl::OUString& rName,
com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > xActionListener, const com::sun::star::uno::Sequence< rtl::OUString >& rPropertyNames,
@@ -112,15 +108,13 @@ public :
void setControlProperty( const rtl::OUString& rControlName, const rtl::OUString& rPropertyName, const com::sun::star::uno::Any& rPropertyValue );
com::sun::star::uno::Any getControlProperty( const rtl::OUString& rControlName, const rtl::OUString& rPropertyName );
-#if 0
- void showMessageBox( const rtl::OUString& rTitle, const rtl::OUString& rMessage, sal_Bool bErrorBox ) const;
-#endif
void enableControl( const rtl::OUString& rControlName );
void disableControl( const rtl::OUString& rControlName );
- com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF;
- com::sun::star::uno::Reference< com::sun::star::frame::XController > mxController;
- com::sun::star::uno::Reference< com::sun::star::awt::XReschedule > mxReschedule;
+protected:
+
+ com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxContext;
+ com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > mxParent;
com::sun::star::uno::Reference< com::sun::star::uno::XInterface > mxDialogModel;
com::sun::star::uno::Reference< com::sun::star::beans::XMultiPropertySet > mxDialogModelMultiPropertySet;
@@ -128,18 +122,16 @@ public :
com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > mxDialogModelMSF;
com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > mxDialogModelNameContainer;
com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > mxDialogModelNameAccess;
-
com::sun::star::uno::Reference< com::sun::star::awt::XControlModel > mxControlModel;
-
com::sun::star::uno::Reference< com::sun::star::awt::XDialog > mxDialog;
com::sun::star::uno::Reference< com::sun::star::awt::XControl > mxControl;
- com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > mxWindowPeer;
+ sal_Bool mbStatus;
com::sun::star::uno::Reference< com::sun::star::awt::XControlContainer > mxDialogControlContainer;
- com::sun::star::uno::Reference< com::sun::star::lang::XComponent > mxDialogComponent;
com::sun::star::uno::Reference< com::sun::star::awt::XWindow > mxDialogWindow;
+ com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > mxDialogWindowPeer;
- sal_Bool mbStatus;
+ com::sun::star::uno::Reference< com::sun::star::awt::XReschedule > mxReschedule;
};
#endif // UNODIALOG_HXX
Modified: openoffice/trunk/main/set_soenv.in
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/set_soenv.in?rev=1457158&r1=1457157&r2=1457158&view=diff
==============================================================================
--- openoffice/trunk/main/set_soenv.in (original)
+++ openoffice/trunk/main/set_soenv.in Fri Mar 15 23:19:19 2013
@@ -1676,7 +1676,6 @@ ToFile( "ENABLE_CAIRO", "@ENABLE_CA
ToFile( "ENABLE_CAIRO_CANVAS", "@ENABLE_CAIRO_CANVAS@", "e" );
ToFile( "ENABLE_OPENGL", "@ENABLE_OPENGL@", "e" );
ToFile( "ENABLE_PDFIMPORT", "@ENABLE_PDFIMPORT@", "e" );
-ToFile( "ENABLE_MINIMIZER", "@ENABLE_MINIMIZER@","e" );
ToFile( "ENABLE_PRESENTER_SCREEN","@ENABLE_PRESENTER_SCREEN@","e" );
ToFile( "ENABLE_REPORTBUILDER","@ENABLE_REPORTBUILDER@","e" );
ToFile( "SYSTEM_JFREEREPORT","@SYSTEM_JFREEREPORT@","e" );