Kaydet (Commit) 27cfcb1e authored tarafından Ariel Constenla-Haile's avatar Ariel Constenla-Haile

i121544 - Clean-up MessageBox API

üst 734b532f
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
package com.sun.star.comp.test.deployment.active_java; package com.sun.star.comp.test.deployment.active_java;
import com.sun.star.awt.MessageBoxButtons; import com.sun.star.awt.MessageBoxButtons;
import com.sun.star.awt.MessageBoxType;
import com.sun.star.awt.Rectangle; import com.sun.star.awt.Rectangle;
import com.sun.star.awt.XMessageBox; import com.sun.star.awt.XMessageBox;
import com.sun.star.awt.XMessageBoxFactory; import com.sun.star.awt.XMessageBoxFactory;
...@@ -74,7 +75,7 @@ public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch ...@@ -74,7 +75,7 @@ public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch
smgr.createInstanceWithContext( smgr.createInstanceWithContext(
"com.sun.star.frame.Desktop", context)). "com.sun.star.frame.Desktop", context)).
getCurrentFrame().getComponentWindow())), getCurrentFrame().getComponentWindow())),
new Rectangle(), "infobox", MessageBoxButtons.BUTTONS_OK, MessageBoxType.INFOBOX, MessageBoxButtons.BUTTONS_OK,
"active", "java"); "active", "java");
box.execute(); box.execute();
UnoRuntime.queryInterface(XComponent.class, box).dispose(); UnoRuntime.queryInterface(XComponent.class, box).dispose();
......
...@@ -250,8 +250,7 @@ void Dispatch::dispatch( ...@@ -250,8 +250,7 @@ void Dispatch::dispatch(
css::uno::UNO_QUERY_THROW)->getCurrentFrame(), css::uno::UNO_QUERY_THROW)->getCurrentFrame(),
css::uno::UNO_SET_THROW)->getComponentWindow(), css::uno::UNO_SET_THROW)->getComponentWindow(),
css::uno::UNO_QUERY_THROW), css::uno::UNO_QUERY_THROW),
css::awt::Rectangle(), css::awt::MessageBoxType_INFOBOX,
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("infobox")),
css::awt::MessageBoxButtons::BUTTONS_OK, css::awt::MessageBoxButtons::BUTTONS_OK,
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("active")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("active")),
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))),
......
...@@ -24,6 +24,7 @@ import unohelper ...@@ -24,6 +24,7 @@ import unohelper
from com.sun.star.awt import Rectangle from com.sun.star.awt import Rectangle
from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK 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.frame import XDispatch, XDispatchProvider
from com.sun.star.lang import XServiceInfo from com.sun.star.lang import XServiceInfo
from com.sun.star.registry import InvalidRegistryException from com.sun.star.registry import InvalidRegistryException
...@@ -79,7 +80,7 @@ class Dispatch(unohelper.Base, XServiceInfo, XDispatch): ...@@ -79,7 +80,7 @@ class Dispatch(unohelper.Base, XServiceInfo, XDispatch):
smgr.createInstanceWithContext( \ smgr.createInstanceWithContext( \
"com.sun.star.frame.Desktop", self.context). \ "com.sun.star.frame.Desktop", self.context). \
getCurrentFrame().getComponentWindow(), \ getCurrentFrame().getComponentWindow(), \
Rectangle(), "infobox", BUTTONS_OK, "active", "python") INFOBOX, BUTTONS_OK, "active", "python")
box.execute(); box.execute();
box.dispose(); box.dispose();
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
package com.sun.star.comp.test.deployment.passive_java; package com.sun.star.comp.test.deployment.passive_java;
import com.sun.star.awt.MessageBoxButtons; import com.sun.star.awt.MessageBoxButtons;
import com.sun.star.awt.MessageBoxType;
import com.sun.star.awt.Rectangle; import com.sun.star.awt.Rectangle;
import com.sun.star.awt.XMessageBox; import com.sun.star.awt.XMessageBox;
import com.sun.star.awt.XMessageBoxFactory; import com.sun.star.awt.XMessageBoxFactory;
...@@ -74,7 +75,7 @@ public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch ...@@ -74,7 +75,7 @@ public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch
smgr.createInstanceWithContext( smgr.createInstanceWithContext(
"com.sun.star.frame.Desktop", context)). "com.sun.star.frame.Desktop", context)).
getCurrentFrame().getComponentWindow())), getCurrentFrame().getComponentWindow())),
new Rectangle(), "infobox", MessageBoxButtons.BUTTONS_OK, MessageBoxType.INFOBOX, MessageBoxButtons.BUTTONS_OK,
"passive", "java"); "passive", "java");
box.execute(); box.execute();
UnoRuntime.queryInterface(XComponent.class, box).dispose(); UnoRuntime.queryInterface(XComponent.class, box).dispose();
......
...@@ -248,8 +248,7 @@ void Dispatch::dispatch( ...@@ -248,8 +248,7 @@ void Dispatch::dispatch(
css::uno::UNO_QUERY_THROW)->getCurrentFrame(), css::uno::UNO_QUERY_THROW)->getCurrentFrame(),
css::uno::UNO_SET_THROW)->getComponentWindow(), css::uno::UNO_SET_THROW)->getComponentWindow(),
css::uno::UNO_QUERY_THROW), css::uno::UNO_QUERY_THROW),
css::awt::Rectangle(), css::awt::MessageBoxType_INFOBOX,
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("infobox")),
css::awt::MessageBoxButtons::BUTTONS_OK, css::awt::MessageBoxButtons::BUTTONS_OK,
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("passive")), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("passive")),
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))), rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))),
......
...@@ -24,6 +24,7 @@ import unohelper ...@@ -24,6 +24,7 @@ import unohelper
from com.sun.star.awt import Rectangle from com.sun.star.awt import Rectangle
from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK 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.frame import XDispatch, XDispatchProvider
from com.sun.star.lang import XServiceInfo from com.sun.star.lang import XServiceInfo
...@@ -78,7 +79,7 @@ class Dispatch(unohelper.Base, XServiceInfo, XDispatch): ...@@ -78,7 +79,7 @@ class Dispatch(unohelper.Base, XServiceInfo, XDispatch):
smgr.createInstanceWithContext( \ smgr.createInstanceWithContext( \
"com.sun.star.frame.Desktop", self.context). \ "com.sun.star.frame.Desktop", self.context). \
getCurrentFrame().getComponentWindow(), \ getCurrentFrame().getComponentWindow(), \
Rectangle(), "infobox", BUTTONS_OK, "passive", "python") INFOBOX, BUTTONS_OK, "passive", "python")
box.execute(); box.execute();
box.dispose(); box.dispose();
......
...@@ -45,6 +45,7 @@ import com.sun.star.awt.Point; ...@@ -45,6 +45,7 @@ import com.sun.star.awt.Point;
import com.sun.star.awt.Rectangle; import com.sun.star.awt.Rectangle;
import com.sun.star.awt.Size; import com.sun.star.awt.Size;
import com.sun.star.awt.XMessageBoxFactory; import com.sun.star.awt.XMessageBoxFactory;
import com.sun.star.awt.MessageBoxType;
import com.sun.star.awt.XWindow; import com.sun.star.awt.XWindow;
// __________ Implementation __________ // __________ Implementation __________
...@@ -195,10 +196,9 @@ public class SelectionChangeListener implements XSelectionChangeListener { ...@@ -195,10 +196,9 @@ public class SelectionChangeListener implements XSelectionChangeListener {
XWindow xWin = aDesktop.getCurrentFrame().getContainerWindow(); XWindow xWin = aDesktop.getCurrentFrame().getContainerWindow();
XWindowPeer aWinPeer = (XWindowPeer) UnoRuntime.queryInterface(XWindowPeer.class, xWin); XWindowPeer aWinPeer = (XWindowPeer) UnoRuntime.queryInterface(XWindowPeer.class, xWin);
Rectangle aRect = new Rectangle();
int button = com.sun.star.awt.MessageBoxButtons.BUTTONS_OK; int button = com.sun.star.awt.MessageBoxButtons.BUTTONS_OK;
XMessageBoxFactory aMBF = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, aToolKit); 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(); xMB.execute();
} }
} }
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
import com.sun.star.awt.Rectangle; import com.sun.star.awt.Rectangle;
import com.sun.star.awt.MessageBoxType;
import com.sun.star.awt.XMessageBox; import com.sun.star.awt.XMessageBox;
import com.sun.star.awt.XMessageBoxFactory; import com.sun.star.awt.XMessageBoxFactory;
import com.sun.star.awt.XVclWindowPeer; import com.sun.star.awt.XVclWindowPeer;
...@@ -164,9 +165,7 @@ public class MessageBox { ...@@ -164,9 +165,7 @@ public class MessageBox {
try { try {
Object oToolkit = m_xMCF.createInstanceWithContext("com.sun.star.awt.Toolkit", m_xContext); Object oToolkit = m_xMCF.createInstanceWithContext("com.sun.star.awt.Toolkit", m_xContext);
XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit); XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit);
// rectangle may be empty if position is in the center of the parent peer XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xParentWindowPeer, MessageBoxType.ERRORBOX, com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage);
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); xComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, xMessageBox);
if (xMessageBox != null){ if (xMessageBox != null){
short nResult = xMessageBox.execute(); short nResult = xMessageBox.execute();
......
...@@ -58,8 +58,7 @@ void BaseDispatch::ShowMessageBox( const Reference< XFrame >& rFrame, const ::rt ...@@ -58,8 +58,7 @@ void BaseDispatch::ShowMessageBox( const Reference< XFrame >& rFrame, const ::rt
{ {
Reference< XMessageBox > xMsgBox = xMsgBoxFactory->createMessageBox( Reference< XMessageBox > xMsgBox = xMsgBoxFactory->createMessageBox(
Reference< XWindowPeer >( rFrame->getContainerWindow(), UNO_QUERY ), Reference< XWindowPeer >( rFrame->getContainerWindow(), UNO_QUERY ),
Rectangle(0,0,300,200), com::sun::star::awt::MessageBoxType_INFOBOX,
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "infobox" ) ),
MessageBoxButtons::BUTTONS_OK, MessageBoxButtons::BUTTONS_OK,
aTitle, aTitle,
aMsgText ); aMsgText );
......
...@@ -178,8 +178,7 @@ public class Inspector{ ...@@ -178,8 +178,7 @@ public class Inspector{
try { try {
Object oToolkit = m_xComponentContext.getServiceManager().createInstanceWithContext("com.sun.star.awt.Toolkit", m_xComponentContext); Object oToolkit = m_xComponentContext.getServiceManager().createInstanceWithContext("com.sun.star.awt.Toolkit", m_xComponentContext);
XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit); XMessageBoxFactory xMessageBoxFactory = (XMessageBoxFactory) UnoRuntime.queryInterface(XMessageBoxFactory.class, oToolkit);
Rectangle aRectangle = new Rectangle(); XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xWindowPeer, aRectangle, com.sun.star.awt.MessageBoxType.ERRORBOX, com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage);
XMessageBox xMessageBox = xMessageBoxFactory.createMessageBox(_xWindowPeer, aRectangle, "errorbox", com.sun.star.awt.MessageBoxButtons.BUTTONS_OK, _sTitle, _sMessage);
XComponent xComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, xMessageBox); XComponent xComponent = (XComponent) UnoRuntime.queryInterface(XComponent.class, xMessageBox);
if (xMessageBox != null){ if (xMessageBox != null){
short nResult = xMessageBox.execute(); short nResult = xMessageBox.execute();
......
...@@ -19,15 +19,10 @@ ...@@ -19,15 +19,10 @@
* *
*************************************************************/ *************************************************************/
#ifndef __com_sun_star_awt_MessageBoxButtons_idl__ #ifndef __com_sun_star_awt_MessageBoxButtons_idl__
#define __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 /** defines constants for the possible message box button
combinations. combinations.
...@@ -35,8 +30,6 @@ ...@@ -35,8 +30,6 @@
*/ */
constants MessageBoxButtons constants MessageBoxButtons
{ {
//-------------------------------------------------------------------------
/** specifies a message with "OK" button. /** specifies a message with "OK" button.
*/ */
const long BUTTONS_OK = 1; const long BUTTONS_OK = 1;
...@@ -86,8 +79,6 @@ constants MessageBoxButtons ...@@ -86,8 +79,6 @@ constants MessageBoxButtons
const long DEFAULT_BUTTON_IGNORE = 0x60000; const long DEFAULT_BUTTON_IGNORE = 0x60000;
}; };
//=============================================================================
}; }; }; }; }; }; }; };
#endif #endif
...@@ -19,47 +19,40 @@ ...@@ -19,47 +19,40 @@
* *
*************************************************************/ *************************************************************/
#ifndef __com_sun_star_awt_MessageBoxCommand_idl__ #ifndef __com_sun_star_awt_MessageBoxCommand_idl__
#define __com_sun_star_awt_MessageBoxCommand_idl__ #define __com_sun_star_awt_MessageBoxCommand_idl__
module com { module sun { module star { module awt {
//============================================================================= /** These constants are used to specify a result of executing a <type>XMessageBox</type>.
module com { module sun { module star { module awt {
//=============================================================================
/** specifies a message box command.
@deprecated
*/ */
published constants MessageBoxCommand constants MessageBoxResults
{ {
//------------------------------------------------------------------------- /** The user canceled the <type>XMessageBox</type>, by pressing "Cancel" or "Abort" button.
*/
const short CANCEL = 0; 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; /** The user pressed the "Retry" button.
*/
//------------------------------------------------------------------------- const short RETRY = 4;
const short NO = 3;
//-------------------------------------------------------------------------
const short RETRY = 4;
/** The user pressed the "Ignore" button.
*/
const short IGNORE = 5;
}; };
//=============================================================================
}; }; }; }; }; }; }; };
#endif #endif
/**************************************************************
*
* 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
...@@ -19,61 +19,33 @@ ...@@ -19,61 +19,33 @@
* *
*************************************************************/ *************************************************************/
#ifndef __com_sun_star_awt_XMessageBox_idl__ #ifndef __com_sun_star_awt_XMessageBox_idl__
#define __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> #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. /** gives access to a message box.
@deprecated
*/ */
published interface XMessageBox: com::sun::star::uno::XInterface published interface XMessageBox
{ {
//------------------------------------------------------------------------- /** the caption text.
/** sets the caption text.
*/
[oneway] void setCaptionText( [in] string aText );
//-------------------------------------------------------------------------
/** returns the caption text.
*/ */
string getCaptionText(); [attribute] string CaptionText;
//-------------------------------------------------------------------------
/** sets the message text.
*/
[oneway] void setMessageText( [in] string aText );
//-------------------------------------------------------------------------
/** returns the message text. /** the message text.
*/ */
string getMessageText(); [attribute] string MessageText;
//-------------------------------------------------------------------------
/** shows the message box. /** shows the message box.
@return
one of <type>MessageBoxResults</type>.
*/ */
short execute(); short execute();
}; };
//=============================================================================
}; }; }; }; }; }; }; };
#endif #endif
...@@ -19,86 +19,56 @@ ...@@ -19,86 +19,56 @@
* *
*************************************************************/ *************************************************************/
#ifndef __com_sun_star_awt_XMessageBoxFactory_idl__ #ifndef __com_sun_star_awt_XMessageBoxFactory_idl__
#define __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> #include <com/sun/star/awt/XWindowPeer.idl>
#endif
#ifndef __com_sun_star_awt_XMessageBox_idl__
#include <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> #include <com/sun/star/awt/MessageBoxButtons.idl>
#endif #include <com/sun/star/awt/MessageBoxType.idl>
#ifndef __com_sun_star_awt_Rectangle_idl__
#include <com/sun/star/awt/Rectangle.idl>
#endif
//=============================================================================
module com { module sun { module star { module awt { module com { module sun { module star { module awt {
//=============================================================================
/** specifies a factory interface for creating message boxes. /** specifies a factory interface for creating message boxes.
*/ */
published interface XMessageBoxFactory : com::sun::star::uno::XInterface published interface XMessageBoxFactory : com::sun::star::uno::XInterface
{ {
//-------------------------------------------------------------------------
/** creates a message box. /** creates a message box.
@returns @returns
the created message box or a null reference if it cannot be the created message box or a null reference if it cannot be
created. created.
@param aParent @param aParent
a valid XWindowPeer reference which is used as a parent. This parameter a valid XWindowPeer reference which is used as a parent.
must not be null.
@param aPosSize <p>This parameter must not be null.</p>
a rectangle which defines the position and size of the message
box in pixel.
@param aType @param aType
a string which determines the message box type. 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>
@param aButtons @param aButtons
specifies which buttons should be available on the specifies which buttons should be available on the message box.
message box. A combination of
<type scope="com::sun::star::awt">MessageBoxButtons</type>. An <b>infobox</b> <p>A combination of <type>MessageBoxButtons</type>.</p>
ignores this paramter and always use button "OK". <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 @param aTitle
specifies the title of the message box. specifies the title of the message box.
@param aMessage @param aMessage
specifies text which will be shown by the message box. specifies text which will be shown by the message box.
Line-breaks must be added using 'CR' or 'CR+LF'. 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 #endif
...@@ -117,7 +117,8 @@ IDLFILES=\ ...@@ -117,7 +117,8 @@ IDLFILES=\
MenuEvent.idl\ MenuEvent.idl\
MenuItemStyle.idl\ MenuItemStyle.idl\
MessageBoxButtons.idl\ MessageBoxButtons.idl\
MessageBoxCommand.idl\ MessageBoxResults.idl\
MessageBoxType.idl\
MouseButton.idl\ MouseButton.idl\
MouseEvent.idl\ MouseEvent.idl\
MouseWheelBehavior.idl\ MouseWheelBehavior.idl\
......
...@@ -52,7 +52,7 @@ public class _XMessageBoxFactory extends MultiMethodTest { ...@@ -52,7 +52,7 @@ public class _XMessageBoxFactory extends MultiMethodTest {
public void _createMessageBox() { public void _createMessageBox() {
final XMessageBox mb = oObj.createMessageBox( final XMessageBox mb = oObj.createMessageBox(
(XWindowPeer) tEnv.getObjRelation("WINPEER"), (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"); "The Message");
final UITools tools = new UITools( final UITools tools = new UITools(
(XMultiServiceFactory) tParam.getMSF(), (XMultiServiceFactory) tParam.getMSF(),
......
...@@ -338,55 +338,6 @@ void UnoDialog::setControlProperty( const OUString& rControlName, const OUString ...@@ -338,55 +338,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 sal_Int32 UnoDialog::getMapsFromPixels( sal_Int32 nPixels ) const
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
package com.sun.star.wiki; package com.sun.star.wiki;
import com.sun.star.awt.MessageBoxButtons; import com.sun.star.awt.MessageBoxButtons;
import com.sun.star.awt.MessageBoxType;
import com.sun.star.awt.XControl; import com.sun.star.awt.XControl;
import com.sun.star.awt.XControlContainer; import com.sun.star.awt.XControlContainer;
import com.sun.star.awt.XDialog; import com.sun.star.awt.XDialog;
...@@ -1008,8 +1009,7 @@ public class Helper ...@@ -1008,8 +1009,7 @@ public class Helper
{ {
xMB = xMBFactory.createMessageBox( xMB = xMBFactory.createMessageBox(
xParentPeer, xParentPeer,
new com.sun.star.awt.Rectangle(), MessageBoxType.QUERYBOX,
"querybox",
MessageBoxButtons.BUTTONS_YES_NO | MessageBoxButtons.DEFAULT_BUTTON_NO, MessageBoxButtons.BUTTONS_YES_NO | MessageBoxButtons.DEFAULT_BUTTON_NO,
sTitle, sTitle,
sError ); sError );
...@@ -1018,8 +1018,7 @@ public class Helper ...@@ -1018,8 +1018,7 @@ public class Helper
{ {
xMB = xMBFactory.createMessageBox( xMB = xMBFactory.createMessageBox(
xParentPeer, xParentPeer,
new com.sun.star.awt.Rectangle(), MessageBoxType.ERRORBOX,
"errorbox",
MessageBoxButtons.BUTTONS_OK, MessageBoxButtons.BUTTONS_OK,
sTitle, sTitle,
sError ); sError );
......
...@@ -135,7 +135,7 @@ public: ...@@ -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::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 // ::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::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); ::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);
......
...@@ -381,6 +381,47 @@ sal_uInt16 ImplGetComponentType( const String& rServiceName ) ...@@ -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 // class VCLXToolkit
// ---------------------------------------------------- // ----------------------------------------------------
...@@ -1225,8 +1266,7 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow( ...@@ -1225,8 +1266,7 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow(
// ::com::sun::star::awt::XMessageBoxFactory // ::com::sun::star::awt::XMessageBoxFactory
::com::sun::star::uno::Reference< ::com::sun::star::awt::XMessageBox > SAL_CALL VCLXToolkit::createMessageBox( ::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::uno::Reference< ::com::sun::star::awt::XWindowPeer >& aParent,
const ::com::sun::star::awt::Rectangle& aPosSize, ::com::sun::star::awt::MessageBoxType eType,
const ::rtl::OUString& aType,
::sal_Int32 aButtons, ::sal_Int32 aButtons,
const ::rtl::OUString& aTitle, const ::rtl::OUString& aTitle,
const ::rtl::OUString& aMessage ) throw (::com::sun::star::uno::RuntimeException) const ::rtl::OUString& aMessage ) throw (::com::sun::star::uno::RuntimeException)
...@@ -1267,11 +1307,13 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow( ...@@ -1267,11 +1307,13 @@ css::uno::Reference< css::awt::XWindowPeer > VCLXToolkit::ImplCreateWindow(
if ( sal_Int32( aButtons & 0xffff0000L ) == css::awt::MessageBoxButtons::DEFAULT_BUTTON_IGNORE ) if ( sal_Int32( aButtons & 0xffff0000L ) == css::awt::MessageBoxButtons::DEFAULT_BUTTON_IGNORE )
nAddWinBits |= WB_DEF_IGNORE; nAddWinBits |= WB_DEF_IGNORE;
rtl::OUString aType;
lcl_convertMessageBoxType( aType, eType );
aDescriptor.Type = css::awt::WindowClass_MODALTOP; aDescriptor.Type = css::awt::WindowClass_MODALTOP;
aDescriptor.WindowServiceName = aType; aDescriptor.WindowServiceName = aType;
aDescriptor.ParentIndex = -1; aDescriptor.ParentIndex = -1;
aDescriptor.Parent = aParent; aDescriptor.Parent = aParent;
aDescriptor.Bounds = aPosSize;
aDescriptor.WindowAttributes = nWindowAttributes; aDescriptor.WindowAttributes = nWindowAttributes;
::com::sun::star::uno::Reference< ::com::sun::star::awt::XMessageBox > xMsgBox( ::com::sun::star::uno::Reference< ::com::sun::star::awt::XMessageBox > xMsgBox(
ImplCreateWindow( aDescriptor, nAddWinBits ), css::uno::UNO_QUERY ); ImplCreateWindow( aDescriptor, nAddWinBits ), css::uno::UNO_QUERY );
......
...@@ -82,10 +82,9 @@ void ShowMessageBox( uno::Reference< lang::XMultiServiceFactory > const& xFactor ...@@ -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::XWindowPeer > xWindowPeer( xContainerWindow, uno::UNO_QUERY_THROW );
uno::Reference< awt::XMessageBoxFactory > xMessageBoxFactory( xToolkit, uno::UNO_QUERY ); uno::Reference< awt::XMessageBoxFactory > xMessageBoxFactory( xToolkit, uno::UNO_QUERY );
awt::Rectangle aRectangle;
uno::Reference< awt::XMessageBox > xMessageBox uno::Reference< awt::XMessageBox > xMessageBox
= xMessageBoxFactory->createMessageBox = xMessageBoxFactory->createMessageBox
( xWindowPeer, aRectangle, OUString::createFromAscii( "errorbox" ), ( xWindowPeer, awt::MessageBoxType_ERRORBOX,
awt::MessageBoxButtons::BUTTONS_OK, aTitle, aMessage ); awt::MessageBoxButtons::BUTTONS_OK, aTitle, aMessage );
if ( xMessageBox.is() ) if ( xMessageBox.is() )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment