diff options
23 files changed, 174 insertions, 203 deletions
diff --git a/desktop/test/deployment/active/Dispatch.java b/desktop/test/deployment/active/Dispatch.java index d7f1cd1d9536..6fb3fa9d2c8b 100644 --- a/desktop/test/deployment/active/Dispatch.java +++ b/desktop/test/deployment/active/Dispatch.java @@ -24,6 +24,7 @@ package com.sun.star.comp.test.deployment.active_java; import com.sun.star.awt.MessageBoxButtons; +import com.sun.star.awt.MessageBoxType; import com.sun.star.awt.Rectangle; import com.sun.star.awt.XMessageBox; import com.sun.star.awt.XMessageBoxFactory; @@ -74,7 +75,7 @@ public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch smgr.createInstanceWithContext( "com.sun.star.frame.Desktop", context)). getCurrentFrame().getComponentWindow())), - new Rectangle(), "infobox", MessageBoxButtons.BUTTONS_OK, + MessageBoxType.INFOBOX, MessageBoxButtons.BUTTONS_OK, "active", "java"); box.execute(); UnoRuntime.queryInterface(XComponent.class, box).dispose(); diff --git a/desktop/test/deployment/active/active_native.cxx b/desktop/test/deployment/active/active_native.cxx index f29270a2bb8f..768d3927cb4d 100644 --- a/desktop/test/deployment/active/active_native.cxx +++ b/desktop/test/deployment/active/active_native.cxx @@ -250,8 +250,7 @@ void Dispatch::dispatch( css::uno::UNO_QUERY_THROW)->getCurrentFrame(), css::uno::UNO_SET_THROW)->getComponentWindow(), css::uno::UNO_QUERY_THROW), - css::awt::Rectangle(), - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("infobox")), + css::awt::MessageBoxType_INFOBOX, css::awt::MessageBoxButtons::BUTTONS_OK, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("active")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))), diff --git a/desktop/test/deployment/active/active_python.py b/desktop/test/deployment/active/active_python.py index e357271ba6ab..01f72e55121d 100644 --- a/desktop/test/deployment/active/active_python.py +++ b/desktop/test/deployment/active/active_python.py @@ -24,6 +24,7 @@ import unohelper from com.sun.star.awt import Rectangle from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK +from com.sun.star.awt.MessageBoxType import INFOBOX from com.sun.star.frame import XDispatch, XDispatchProvider from com.sun.star.lang import XServiceInfo from com.sun.star.registry import InvalidRegistryException @@ -79,7 +80,7 @@ class Dispatch(unohelper.Base, XServiceInfo, XDispatch): smgr.createInstanceWithContext( \ "com.sun.star.frame.Desktop", self.context). \ getCurrentFrame().getComponentWindow(), \ - Rectangle(), "infobox", BUTTONS_OK, "active", "python") + INFOBOX, BUTTONS_OK, "active", "python") box.execute(); box.dispose(); diff --git a/desktop/test/deployment/passive/Dispatch.java b/desktop/test/deployment/passive/Dispatch.java index 59634a775444..5647b23f235d 100644 --- a/desktop/test/deployment/passive/Dispatch.java +++ b/desktop/test/deployment/passive/Dispatch.java @@ -24,6 +24,7 @@ package com.sun.star.comp.test.deployment.passive_java; import com.sun.star.awt.MessageBoxButtons; +import com.sun.star.awt.MessageBoxType; import com.sun.star.awt.Rectangle; import com.sun.star.awt.XMessageBox; import com.sun.star.awt.XMessageBoxFactory; @@ -74,7 +75,7 @@ public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch smgr.createInstanceWithContext( "com.sun.star.frame.Desktop", context)). getCurrentFrame().getComponentWindow())), - new Rectangle(), "infobox", MessageBoxButtons.BUTTONS_OK, + MessageBoxType.INFOBOX, MessageBoxButtons.BUTTONS_OK, "passive", "java"); box.execute(); UnoRuntime.queryInterface(XComponent.class, box).dispose(); diff --git a/desktop/test/deployment/passive/passive_native.cxx b/desktop/test/deployment/passive/passive_native.cxx index abbb6681e4c3..1a39332a9889 100644 --- a/desktop/test/deployment/passive/passive_native.cxx +++ b/desktop/test/deployment/passive/passive_native.cxx @@ -248,8 +248,7 @@ void Dispatch::dispatch( css::uno::UNO_QUERY_THROW)->getCurrentFrame(), css::uno::UNO_SET_THROW)->getComponentWindow(), css::uno::UNO_QUERY_THROW), - css::awt::Rectangle(), - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("infobox")), + css::awt::MessageBoxType_INFOBOX, css::awt::MessageBoxButtons::BUTTONS_OK, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("passive")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))), diff --git a/desktop/test/deployment/passive/passive_python.py b/desktop/test/deployment/passive/passive_python.py index bff7e3da323a..9ed30595de08 100644 --- a/desktop/test/deployment/passive/passive_python.py +++ b/desktop/test/deployment/passive/passive_python.py @@ -24,6 +24,7 @@ import unohelper from com.sun.star.awt import Rectangle from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK +from com.sun.star.awt.MessageBoxType import INFOBOX from com.sun.star.frame import XDispatch, XDispatchProvider from com.sun.star.lang import XServiceInfo @@ -78,7 +79,7 @@ class Dispatch(unohelper.Base, XServiceInfo, XDispatch): smgr.createInstanceWithContext( \ "com.sun.star.frame.Desktop", self.context). \ getCurrentFrame().getComponentWindow(), \ - Rectangle(), "infobox", BUTTONS_OK, "passive", "python") + INFOBOX, BUTTONS_OK, "passive", "python") box.execute(); box.dispose(); diff --git a/odk/examples/DevelopersGuide/Charts/SelectionChangeListener.java b/odk/examples/DevelopersGuide/Charts/SelectionChangeListener.java index 7b4dd3a87829..794e3b0ce024 100644 --- a/odk/examples/DevelopersGuide/Charts/SelectionChangeListener.java +++ b/odk/examples/DevelopersGuide/Charts/SelectionChangeListener.java @@ -45,6 +45,7 @@ import com.sun.star.awt.Point; import com.sun.star.awt.Rectangle; import com.sun.star.awt.Size; import com.sun.star.awt.XMessageBoxFactory; +import com.sun.star.awt.MessageBoxType; import com.sun.star.awt.XWindow; // __________ Implementation __________ @@ -195,10 +196,9 @@ public class SelectionChangeListener implements XSelectionChangeListener { XWindow xWin = aDesktop.getCurrentFrame().getContainerWindow(); XWindowPeer aWinPeer = (XWindowPeer) UnoRuntime.queryInterface(XWindowPeer.class, xWin); - Rectangle aRect = new Rectangle(); int button = com.sun.star.awt.MessageBoxButtons.BUTTONS_OK; XMessageBoxFactory aMBF = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, aToolKit); - XMessageBox xMB = aMBF.createMessageBox(aWinPeer, aRect, "infobox" , button, "Event-Notify", "Listener was called, selcetion has changed"); + XMessageBox xMB = aMBF.createMessageBox(aWinPeer, MessageBoxType.INFOBOX, button, "Event-Notify", "Listener was called, selcetion has changed"); xMB.execute(); } } diff --git a/odk/examples/DevelopersGuide/GUI/MessageBox.java b/odk/examples/DevelopersGuide/GUI/MessageBox.java index 797d7ff96cf1..73bffc9eb5fe 100644 --- a/odk/examples/DevelopersGuide/GUI/MessageBox.java +++ b/odk/examples/DevelopersGuide/GUI/MessageBox.java @@ -22,6 +22,7 @@ import com.sun.star.awt.Rectangle; +import com.sun.star.awt.MessageBoxType; import com.sun.star.awt.XMessageBox; import com.sun.star.awt.XMessageBoxFactory; import com.sun.star.awt.XVclWindowPeer; @@ -164,9 +165,7 @@ public class MessageBox { try { Object oToolkit = m_xMCF.createInstanceWithContext("com.sun.star.awt.Toolkit", m_xContext); XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit); - // rectangle may be empty if position is in the center of the parent peer - Rectangle aRectangle = new Rectangle(); - XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xParentWindowPeer, aRectangle, "errorbox", com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage); + XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xParentWindowPeer, MessageBoxType.ERRORBOX, com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage); xComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, xMessageBox); if (xMessageBox != null){ short nResult = xMessageBox.execute(); diff --git a/odk/examples/cpp/complextoolbarcontrols/MyProtocolHandler.cxx b/odk/examples/cpp/complextoolbarcontrols/MyProtocolHandler.cxx index 32d30aa083a6..c95fc3de81d8 100644 --- a/odk/examples/cpp/complextoolbarcontrols/MyProtocolHandler.cxx +++ b/odk/examples/cpp/complextoolbarcontrols/MyProtocolHandler.cxx @@ -58,8 +58,7 @@ void BaseDispatch::ShowMessageBox( const Reference< XFrame >& rFrame, const ::rt { Reference< XMessageBox > xMsgBox = xMsgBoxFactory->createMessageBox( Reference< XWindowPeer >( rFrame->getContainerWindow(), UNO_QUERY ), - Rectangle(0,0,300,200), - rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "infobox" ) ), + com::sun::star::awt::MessageBoxType_INFOBOX, MessageBoxButtons::BUTTONS_OK, aTitle, aMsgText ); diff --git a/odk/examples/java/Inspector/Inspector.java b/odk/examples/java/Inspector/Inspector.java index c5b3f24ef344..18d8498dbb54 100644 --- a/odk/examples/java/Inspector/Inspector.java +++ b/odk/examples/java/Inspector/Inspector.java @@ -178,8 +178,7 @@ public class Inspector{ try { Object oToolkit = m_xComponentContext.getServiceManager().createInstanceWithContext("com.sun.star.awt.Toolkit", m_xComponentContext); XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit); - Rectangle aRectangle = new Rectangle(); - XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xWindowPeer, aRectangle, "errorbox", com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage); + XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xWindowPeer, aRectangle, com.sun.star.awt.MessageBoxType.ERRORBOX, com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage); XComponent xComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, xMessageBox); if (xMessageBox != null){ short nResult = xMessageBox.execute(); diff --git a/offapi/com/sun/star/awt/MessageBoxButtons.idl b/offapi/com/sun/star/awt/MessageBoxButtons.idl index b6426d7c474c..a8e7e2b1619a 100644 --- a/offapi/com/sun/star/awt/MessageBoxButtons.idl +++ b/offapi/com/sun/star/awt/MessageBoxButtons.idl @@ -19,15 +19,10 @@ * *************************************************************/ - #ifndef __com_sun_star_awt_MessageBoxButtons_idl__ #define __com_sun_star_awt_MessageBoxButtons_idl__ -//============================================================================= - - module com { module sun { module star { module awt { - -//============================================================================= +module com { module sun { module star { module awt { /** defines constants for the possible message box button combinations. @@ -35,8 +30,6 @@ */ constants MessageBoxButtons { - //------------------------------------------------------------------------- - /** specifies a message with "OK" button. */ const long BUTTONS_OK = 1; @@ -86,8 +79,6 @@ constants MessageBoxButtons const long DEFAULT_BUTTON_IGNORE = 0x60000; }; -//============================================================================= - }; }; }; }; #endif diff --git a/offapi/com/sun/star/awt/MessageBoxCommand.idl b/offapi/com/sun/star/awt/MessageBoxResults.idl index b8207dd1e666..baa72cfb7dca 100644 --- a/offapi/com/sun/star/awt/MessageBoxCommand.idl +++ b/offapi/com/sun/star/awt/MessageBoxResults.idl @@ -19,47 +19,40 @@ * *************************************************************/ - #ifndef __com_sun_star_awt_MessageBoxCommand_idl__ #define __com_sun_star_awt_MessageBoxCommand_idl__ +module com { module sun { module star { module awt { -//============================================================================= - - module com { module sun { module star { module awt { - -//============================================================================= - -/** specifies a message box command. - - @deprecated +/** These constants are used to specify a result of executing a <type>XMessageBox</type>. */ -published constants MessageBoxCommand +constants MessageBoxResults { - //------------------------------------------------------------------------- - - const short CANCEL = 0; + /** The user canceled the <type>XMessageBox</type>, by pressing "Cancel" or "Abort" button. + */ + const short CANCEL = 0; - //------------------------------------------------------------------------- + /** The user pressed the "Ok" button. + */ + const short OK = 1; - const short OK = 1; + /** The user pressed the "Yes" button. + */ + const short YES = 2; - //------------------------------------------------------------------------- + /** The user pressed the "No" button. + */ + const short NO = 3; - const short YES = 2; - - //------------------------------------------------------------------------- - - const short NO = 3; - - //------------------------------------------------------------------------- - - const short RETRY = 4; + /** The user pressed the "Retry" button. + */ + const short RETRY = 4; + /** The user pressed the "Ignore" button. + */ + const short IGNORE = 5; }; -//============================================================================= - }; }; }; }; #endif diff --git a/offapi/com/sun/star/awt/MessageBoxType.idl b/offapi/com/sun/star/awt/MessageBoxType.idl new file mode 100644 index 000000000000..c18274eecf17 --- /dev/null +++ b/offapi/com/sun/star/awt/MessageBoxType.idl @@ -0,0 +1,54 @@ +/************************************************************** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + *************************************************************/ + +#ifndef __com_sun_star_awt_MessageBoxCommand_idl__ +#define __com_sun_star_awt_MessageBoxCommand_idl__ + +module com { module sun { module star { module awt { + +/** specifies the type of a <type>XMessageBox</type>. + */ +published enum MessageBoxType +{ + /** A normal message box. + */ + MESSAGEBOX, + + /** A message box to inform the user about a certain event + */ + INFOBOX, + + /** A message to warn the user about a certain problem. + */ + WARNINGBOX, + + /** A message box to provide an error message to the user. + */ + ERRORBOX, + + /** A message box to query information from the user. + */ + QUERYBOX +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/XMessageBox.idl b/offapi/com/sun/star/awt/XMessageBox.idl index ed27f15fc8e7..951e42e4a061 100644 --- a/offapi/com/sun/star/awt/XMessageBox.idl +++ b/offapi/com/sun/star/awt/XMessageBox.idl @@ -19,61 +19,33 @@ * *************************************************************/ - #ifndef __com_sun_star_awt_XMessageBox_idl__ #define __com_sun_star_awt_XMessageBox_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ #include <com/sun/star/uno/XInterface.idl> -#endif - - -//============================================================================= - - module com { module sun { module star { module awt { -//============================================================================= +module com { module sun { module star { module awt { /** gives access to a message box. - - @deprecated */ -published interface XMessageBox: com::sun::star::uno::XInterface +published interface XMessageBox { - //------------------------------------------------------------------------- - - /** sets the caption text. - */ - [oneway] void setCaptionText( [in] string aText ); - - //------------------------------------------------------------------------- - - /** returns the caption text. + /** the caption text. */ - string getCaptionText(); - - //------------------------------------------------------------------------- - - /** sets the message text. - */ - [oneway] void setMessageText( [in] string aText ); - - //------------------------------------------------------------------------- + [attribute] string CaptionText; - /** returns the message text. + /** the message text. */ - string getMessageText(); - - //------------------------------------------------------------------------- + [attribute] string MessageText; /** shows the message box. + + @return + one of <type>MessageBoxResults</type>. */ short execute(); - }; -//============================================================================= - }; }; }; }; #endif diff --git a/offapi/com/sun/star/awt/XMessageBoxFactory.idl b/offapi/com/sun/star/awt/XMessageBoxFactory.idl index 99875a186971..bf1b8b752a8d 100644 --- a/offapi/com/sun/star/awt/XMessageBoxFactory.idl +++ b/offapi/com/sun/star/awt/XMessageBoxFactory.idl @@ -19,86 +19,56 @@ * *************************************************************/ - - #ifndef __com_sun_star_awt_XMessageBoxFactory_idl__ #define __com_sun_star_awt_XMessageBoxFactory_idl__ -#ifndef __com_sun_star_awt_XWindowPeer_idl__ #include <com/sun/star/awt/XWindowPeer.idl> -#endif - -#ifndef __com_sun_star_awt_XMessageBox_idl__ #include <com/sun/star/awt/XMessageBox.idl> -#endif - -#ifndef __com_sun_star_awt_MessageBoxButtons_idl__ #include <com/sun/star/awt/MessageBoxButtons.idl> -#endif - -#ifndef __com_sun_star_awt_Rectangle_idl__ -#include <com/sun/star/awt/Rectangle.idl> -#endif - - -//============================================================================= +#include <com/sun/star/awt/MessageBoxType.idl> module com { module sun { module star { module awt { -//============================================================================= - /** specifies a factory interface for creating message boxes. */ published interface XMessageBoxFactory : com::sun::star::uno::XInterface { - //------------------------------------------------------------------------- - /** creates a message box. @returns - the created message box or a null reference if it cannot be - created. + the created message box or a null reference if it cannot be + created. @param aParent - a valid XWindowPeer reference which is used as a parent. This parameter - must not be null. + a valid XWindowPeer reference which is used as a parent. - @param aPosSize - a rectangle which defines the position and size of the message - box in pixel. + <p>This parameter must not be null.</p> @param aType - a string which determines the message box type. - The following strings are defined. - <ul> - <li><b>infobox</b>A message box to inform the user about a certain event. - <b>Attention:</b><br/>This type of message box ignores the argument - aButton because a info box always shows a OK button. - </li> - <li><b>warningbox</b>A message to warn the user about a certain problem.</li> - <li><b>errorbox</b>A message box to provide an error message to the user.</li> - <li><b>querybox</b>A message box to query information from the user.</li> - <li><b>messbox</b>A normal message box.</li> - </ul> + the message box type. @param aButtons - specifies which buttons should be available on the - message box. A combination of - <type scope="com::sun::star::awt">MessageBoxButtons</type>. An <b>infobox</b> - ignores this paramter and always use button "OK". + specifies which buttons should be available on the message box. + + <p>A combination of <type>MessageBoxButtons</type>.</p> + <p>A <member scope="com::sun::star::awt">MessageBoxType::INFOBOX</member> + ignores this paramter, instead it uses a + <member scope="com::sun::star::awt">MessageBoxButtons::BUTTONS_OK</member>.</p> @param aTitle - specifies the title of the message box. + specifies the title of the message box. @param aMessage - specifies text which will be shown by the message box. - Line-breaks must be added using 'CR' or 'CR+LF'. + specifies text which will be shown by the message box. + Line-breaks must be added using 'CR' or 'CR+LF'. */ - XMessageBox createMessageBox( [in] com::sun::star::awt::XWindowPeer aParent, [in] com::sun::star::awt::Rectangle aPosSize, [in] string aType, [in] long aButtons, [in] string aTitle, [in] string aMessage ); + XMessageBox createMessageBox( [in] com::sun::star::awt::XWindowPeer aParent, + [in] MessageBoxType eType, + [in] long nButtons, + [in] string sTitle, + [in] string sMessage ); }; -//============================================================================= - }; }; }; }; #endif diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk index 9eeff9af1829..6aff8119ae4e 100644 --- a/offapi/com/sun/star/awt/makefile.mk +++ b/offapi/com/sun/star/awt/makefile.mk @@ -117,7 +117,8 @@ IDLFILES=\ MenuEvent.idl\ MenuItemStyle.idl\ MessageBoxButtons.idl\ - MessageBoxCommand.idl\ + MessageBoxResults.idl\ + MessageBoxType.idl\ MouseButton.idl\ MouseEvent.idl\ MouseWheelBehavior.idl\ diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb Binary files differindex 5780e1a0687c..bb427656798d 100644 --- a/offapi/type_reference/types.rdb +++ b/offapi/type_reference/types.rdb diff --git a/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java b/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java index f10f7d1e0f5c..3ffe1c673253 100644 --- a/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java +++ b/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java @@ -52,7 +52,7 @@ public class _XMessageBoxFactory extends MultiMethodTest { public void _createMessageBox() { final XMessageBox mb = oObj.createMessageBox( (XWindowPeer) tEnv.getObjRelation("WINPEER"), - new Rectangle(0, 0, 100, 100), "errorbox", 1, "The Title", + com.sun.star.awt.MessageBoxType.ERRORBOX, 1, "The Title", "The Message"); final UITools tools = new UITools( (XMultiServiceFactory) tParam.getMSF(), diff --git a/sdext/source/minimizer/unodialog.cxx b/sdext/source/minimizer/unodialog.cxx index 38a3db7d85c0..3bd352271d6a 100644 --- a/sdext/source/minimizer/unodialog.cxx +++ b/sdext/source/minimizer/unodialog.cxx @@ -339,55 +339,6 @@ void UnoDialog::setControlProperty( const OUString& rControlName, const OUString } // ----------------------------------------------------------------------------- -#if 0 -void UnoDialog::showMessageBox( const OUString& rTitle, const OUString& rMessage, sal_Bool bErrorBox ) const -{ - try - { - Reference< XMessageBoxFactory > xMessageBoxFactory( mxMSF->getServiceManager()->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.Toolkit" ) ), mxMSF ), UNO_QUERY_THROW ); - if ( xMessageBoxFactory.is() ) - { - Rectangle aRectangle( 0, 0, 0, 0 ); - Reference< XMessageBox > xMessageBox( xMessageBoxFactory->createMessageBox( mxWindowPeer, aRectangle, - bErrorBox ? OUString( RTL_CONSTASCII_USTRINGPARAM( "errorbox" ) ) : OUString( RTL_CONSTASCII_USTRINGPARAM( "querybox" ) ), MessageBoxButtons::BUTTONS_OK, rTitle, rMessage ) ); - Reference< XComponent > xComponent( xMessageBox, UNO_QUERY_THROW ); - /* sal_Int16 nResult = */ xMessageBox->execute(); - xComponent->dispose(); - } - } - catch ( Exception& ) - { - } - -/* -public void showErrorMessageBox(XWindowPeer _xParentWindowPeer, String _sTitle, String _sMessage){ -XComponent xComponent = null; -try { - Object oToolkit = m_xMCF.createInstanceWithContext("com.sun.star.awt.Toolkit", m_xContext); - XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit); - // rectangle may be empty if position is in the center of the parent peer - - Rectangle aRectangle = new Rectangle(); - XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xParentWindowPeer, aRectangle, "errorbox", com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage); - xComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, xMessageBox); - if (xMessageBox != null){ - short nResult = xMessageBox.execute(); - } -} catch (com.sun.star.uno.Exception ex) { - ex.printStackTrace(System.out); -} -finally{ - //make sure always to dispose the component and free the memory! - if (xComponent != null){ - xComponent.dispose(); - } -}} -*/ -} - -#endif - -// ----------------------------------------------------------------------------- sal_Int32 UnoDialog::getMapsFromPixels( sal_Int32 nPixels ) const { diff --git a/swext/mediawiki/src/com/sun/star/wiki/Helper.java b/swext/mediawiki/src/com/sun/star/wiki/Helper.java index 64d48311e21c..b8fcc3f7bb03 100644 --- a/swext/mediawiki/src/com/sun/star/wiki/Helper.java +++ b/swext/mediawiki/src/com/sun/star/wiki/Helper.java @@ -24,6 +24,7 @@ package com.sun.star.wiki; import com.sun.star.awt.MessageBoxButtons; +import com.sun.star.awt.MessageBoxType; import com.sun.star.awt.XControl; import com.sun.star.awt.XControlContainer; import com.sun.star.awt.XDialog; @@ -1008,8 +1009,7 @@ public class Helper { xMB = xMBFactory.createMessageBox( xParentPeer, - new com.sun.star.awt.Rectangle(), - "querybox", + MessageBoxType.QUERYBOX, MessageBoxButtons.BUTTONS_YES_NO | MessageBoxButtons.DEFAULT_BUTTON_NO, sTitle, sError ); @@ -1018,8 +1018,7 @@ public class Helper { xMB = xMBFactory.createMessageBox( xParentPeer, - new com.sun.star.awt.Rectangle(), - "errorbox", + MessageBoxType.ERRORBOX, MessageBoxButtons.BUTTONS_OK, sTitle, sError ); diff --git a/toolkit/inc/toolkit/awt/vclxtoolkit.hxx b/toolkit/inc/toolkit/awt/vclxtoolkit.hxx index 6d1d8314a189..3a9c56fbbd7e 100644 --- a/toolkit/inc/toolkit/awt/vclxtoolkit.hxx +++ b/toolkit/inc/toolkit/awt/vclxtoolkit.hxx @@ -135,7 +135,7 @@ public: ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > SAL_CALL createSystemChild( const ::com::sun::star::uno::Any& Parent, const ::com::sun::star::uno::Sequence< sal_Int8 >& ProcessId, sal_Int16 SystemType ) throw(::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XMessageBoxFactory - virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XMessageBox > SAL_CALL createMessageBox( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& aParent, const ::com::sun::star::awt::Rectangle& aPosSize, const ::rtl::OUString& aType, ::sal_Int32 aButtons, const ::rtl::OUString& aTitle, const ::rtl::OUString& aMessage ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XMessageBox > SAL_CALL createMessageBox( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& aParent, ::com::sun::star::awt::MessageBoxType eType, ::sal_Int32 nButtons, const ::rtl::OUString& sTitle, const ::rtl::OUString& sMessage ) throw (::com::sun::star::uno::RuntimeException); // ::com::sun::star::awt::XDataTransfer ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::dnd::XDragGestureRecognizer > SAL_CALL getDragGestureRecognizer( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& window ) throw(::com::sun::star::uno::RuntimeException); diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx index 3618585f09de..b30ec2a39ae4 100644 --- a/toolkit/source/awt/vclxtoolkit.cxx +++ b/toolkit/source/awt/vclxtoolkit.cxx @@ -381,6 +381,47 @@ sal_uInt16 ImplGetComponentType( const String& rServiceName ) } +namespace +{ + struct MessageBoxTypeInfo + { + css::awt::MessageBoxType eType; + const sal_Char *pName; + sal_Int32 nLen; + }; + + static MessageBoxTypeInfo aMessageBoxTypeInfo[] = + { + { css::awt::MessageBoxType_MESSAGEBOX, RTL_CONSTASCII_STRINGPARAM("messbox") }, + { css::awt::MessageBoxType_INFOBOX, RTL_CONSTASCII_STRINGPARAM("infobox") }, + { css::awt::MessageBoxType_WARNINGBOX, RTL_CONSTASCII_STRINGPARAM("warningbox") }, + { css::awt::MessageBoxType_ERRORBOX, RTL_CONSTASCII_STRINGPARAM("errorbox") }, + { css::awt::MessageBoxType_QUERYBOX, RTL_CONSTASCII_STRINGPARAM("querybox") }, + { css::awt::MessageBoxType_MAKE_FIXED_SIZE, 0, 0 } + }; + + static bool lcl_convertMessageBoxType( + rtl::OUString &sType, + css::awt::MessageBoxType eType ) + { + const MessageBoxTypeInfo *pMap = aMessageBoxTypeInfo; + css::awt::MessageBoxType eVal = css::awt::MessageBoxType_MAKE_FIXED_SIZE; + + while ( pMap->pName ) + { + if ( pMap->eType == eType ) + { + eVal = eType; + sType = rtl::OUString( pMap->pName, pMap->nLen, RTL_TEXTENCODING_ASCII_US ); + break; + } + pMap++; + } + + return ( eVal != css::awt::MessageBoxType_MAKE_FIXED_SIZE ); + } +} + // ---------------------------------------------------- // class VCLXToolkit // ---------------------------------------------------- @@ -1225,8 +1266,7 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow( // ::com::sun::star::awt::XMessageBoxFactory ::com::sun::star::uno::Reference< ::com::sun::star::awt::XMessageBox > SAL_CALL VCLXToolkit::createMessageBox( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& aParent, - const ::com::sun::star::awt::Rectangle& aPosSize, - const ::rtl::OUString& aType, + ::com::sun::star::awt::MessageBoxType eType, ::sal_Int32 aButtons, const ::rtl::OUString& aTitle, const ::rtl::OUString& aMessage ) throw (::com::sun::star::uno::RuntimeException) @@ -1267,11 +1307,13 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow( if ( sal_Int32( aButtons & 0xffff0000L ) == css::awt::MessageBoxButtons::DEFAULT_BUTTON_IGNORE ) nAddWinBits |= WB_DEF_IGNORE; + rtl::OUString aType; + lcl_convertMessageBoxType( aType, eType ); + aDescriptor.Type = css::awt::WindowClass_MODALTOP; aDescriptor.WindowServiceName = aType; aDescriptor.ParentIndex = -1; aDescriptor.Parent = aParent; - aDescriptor.Bounds = aPosSize; aDescriptor.WindowAttributes = nWindowAttributes; ::com::sun::star::uno::Reference< ::com::sun::star::awt::XMessageBox > xMsgBox( ImplCreateWindow( aDescriptor, nAddWinBits ), css::uno::UNO_QUERY ); diff --git a/toolkit/source/layout/core/root.cxx b/toolkit/source/layout/core/root.cxx index 43adb33bfd6c..b5a7cf80fea0 100644 --- a/toolkit/source/layout/core/root.cxx +++ b/toolkit/source/layout/core/root.cxx @@ -82,10 +82,9 @@ void ShowMessageBox( uno::Reference< lang::XMultiServiceFactory > const& xFactor uno::Reference< awt::XWindowPeer > xWindowPeer( xContainerWindow, uno::UNO_QUERY_THROW ); uno::Reference< awt::XMessageBoxFactory > xMessageBoxFactory( xToolkit, uno::UNO_QUERY ); - awt::Rectangle aRectangle; uno::Reference< awt::XMessageBox > xMessageBox = xMessageBoxFactory->createMessageBox - ( xWindowPeer, aRectangle, OUString::createFromAscii( "errorbox" ), + ( xWindowPeer, awt::MessageBoxType_ERRORBOX, awt::MessageBoxButtons::BUTTONS_OK, aTitle, aMessage ); if ( xMessageBox.is() ) |