dba33d: merge with DEV300_m67
This commit is contained in:
commit
1e078f5ee6
@ -100,8 +100,6 @@ Player::Player( const uno::Reference< lang::XMultiServiceFactory >& rxMgr ) :
|
||||
if ((result == noErr) && (mnVersion >= QT701))
|
||||
{
|
||||
// we have version 7.01 or later, initialize
|
||||
mpMovie = [QTMovie movie];
|
||||
[mpMovie retain];
|
||||
mbInitialized = true;
|
||||
}
|
||||
[pool release];
|
||||
@ -110,44 +108,58 @@ Player::Player( const uno::Reference< lang::XMultiServiceFactory >& rxMgr ) :
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
Player::~Player()
|
||||
{
|
||||
if( mbInitialized )
|
||||
{
|
||||
if( mpMovie )
|
||||
{
|
||||
[mpMovie release];
|
||||
mpMovie = nil;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
QTMovie* Player::getMovie()
|
||||
{
|
||||
OSL_ASSERT( mpMovie );
|
||||
return mpMovie;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
bool Player::create( const ::rtl::OUString& rURL )
|
||||
{
|
||||
bool bRet = false;
|
||||
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
|
||||
NSString* aNSStr = [[[NSString alloc] initWithCharacters: rURL.getStr() length: rURL.getLength()]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;
|
||||
// NSString * aNSStringEscaped = [aNSStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
||||
NSURL* aURL = [NSURL URLWithString:aNSStr ];
|
||||
|
||||
// create the Movie
|
||||
|
||||
if( mbInitialized )
|
||||
{
|
||||
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
mpMovie = [mpMovie initWithURL:aURL error:nil];
|
||||
if( mpMovie )
|
||||
{
|
||||
[mpMovie release];
|
||||
mpMovie = nil;
|
||||
}
|
||||
|
||||
NSString* aNSStr = [[[NSString alloc] initWithCharacters: rURL.getStr() length: rURL.getLength()]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;
|
||||
NSURL* aURL = [NSURL URLWithString:aNSStr ];
|
||||
|
||||
|
||||
NSError* pErr = nil;
|
||||
mpMovie = [QTMovie movieWithURL:aURL error:&pErr];
|
||||
if(mpMovie)
|
||||
{
|
||||
[mpMovie retain];
|
||||
maURL = rURL;
|
||||
bRet = true;
|
||||
}
|
||||
if( pErr )
|
||||
{
|
||||
OSL_TRACE( "NSMovie create failed with error %ld (%s)",
|
||||
(long)[pErr code],
|
||||
[[pErr localizedDescription] cString]
|
||||
);
|
||||
}
|
||||
|
||||
[pool release];
|
||||
}
|
||||
|
||||
return bRet;
|
||||
}
|
||||
@ -159,7 +171,7 @@ void SAL_CALL Player::start( )
|
||||
{
|
||||
OSL_TRACE ("Player::start");
|
||||
|
||||
if ( mbInitialized && mpMovie )
|
||||
if( mpMovie )
|
||||
{
|
||||
[mpMovie play];
|
||||
}
|
||||
@ -175,7 +187,6 @@ void SAL_CALL Player::stop( )
|
||||
{
|
||||
[mpMovie stop];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
@ -185,7 +196,7 @@ sal_Bool SAL_CALL Player::isPlaying()
|
||||
{
|
||||
bool bRet = false;
|
||||
|
||||
if ( mbInitialized )
|
||||
if ( mpMovie )
|
||||
{
|
||||
if ([mpMovie rate] != 0)
|
||||
{
|
||||
@ -244,7 +255,6 @@ double SAL_CALL Player::getMediaTime( )
|
||||
stop();
|
||||
}
|
||||
|
||||
|
||||
return position;
|
||||
}
|
||||
|
||||
@ -256,7 +266,6 @@ void SAL_CALL Player::setStopTime( double fTime )
|
||||
OSL_TRACE ("Player::setStopTime %f", fTime);
|
||||
|
||||
mnStopTime = fTime;
|
||||
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
@ -264,9 +273,7 @@ void SAL_CALL Player::setStopTime( double fTime )
|
||||
double SAL_CALL Player::getStopTime( )
|
||||
throw (uno::RuntimeException)
|
||||
{
|
||||
double fRet = 0.0;
|
||||
|
||||
fRet = mnStopTime;
|
||||
double fRet = mnStopTime;
|
||||
|
||||
return fRet;
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ public:
|
||||
virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
|
||||
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
|
||||
|
||||
QTMovie* getMovie() { return mpMovie; }
|
||||
QTMovie* getMovie();
|
||||
|
||||
private:
|
||||
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMgr;
|
||||
|
@ -147,9 +147,9 @@ void MediaWindowBaseImpl::stopPlayingInternal( bool bStop )
|
||||
if( isPlaying() )
|
||||
{
|
||||
if( bStop )
|
||||
mxPlayer->start();
|
||||
else
|
||||
mxPlayer->stop();
|
||||
else
|
||||
mxPlayer->start();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -231,6 +231,8 @@ public:
|
||||
::com::sun::star::uno::Any
|
||||
SetGlobalUNOConstant( const sal_Char* _pAsciiName, const ::com::sun::star::uno::Any& _rValue );
|
||||
|
||||
/** retrieves a global constant in the basic library, referring to some UNO object, returns true if a value is found ( value is in aOut ) false otherwise. */
|
||||
bool GetGlobalUNOConstant( const sal_Char* _pAsciiName, ::com::sun::star::uno::Any& aOut );
|
||||
/** determines whether there are password-protected modules whose size exceedes the
|
||||
legacy module size
|
||||
@param _out_rModuleNames
|
||||
|
@ -74,6 +74,11 @@ class StarBASIC : public SbxObject
|
||||
BOOL bDocBasic;
|
||||
BasicLibInfo* pLibInfo; // Info block for basic manager
|
||||
SbLanguageMode eLanguageMode; // LanguageMode of the basic object
|
||||
BOOL bQuit;
|
||||
|
||||
SbxObjectRef pVBAGlobals;
|
||||
SbxObject* getVBAGlobals( );
|
||||
|
||||
protected:
|
||||
BOOL CError( SbError, const String&, xub_StrLen, xub_StrLen, xub_StrLen );
|
||||
private:
|
||||
@ -196,6 +201,10 @@ public:
|
||||
|
||||
SbxObjectRef getRTL( void ) { return pRtl; }
|
||||
BOOL IsDocBasic() { return bDocBasic; }
|
||||
SbxVariable* VBAFind( const String& rName, SbxClassType t );
|
||||
bool GetUNOConstant( const sal_Char* _pAsciiName, ::com::sun::star::uno::Any& aOut );
|
||||
void QuitAndExitApplication();
|
||||
BOOL IsQuitApplication() { return bQuit; };
|
||||
};
|
||||
|
||||
#ifndef __SB_SBSTARBASICREF_HXX
|
||||
|
@ -47,6 +47,7 @@
|
||||
|
||||
#include <basic/sbuno.hxx>
|
||||
#include <basic/basmgr.hxx>
|
||||
#include <sbunoobj.hxx>
|
||||
#include "basrid.hxx"
|
||||
#include "sbintern.hxx"
|
||||
#include <sb.hrc>
|
||||
@ -1767,6 +1768,15 @@ BasicError* BasicManager::GetNextError()
|
||||
DBG_CHKTHIS( BasicManager, 0 );
|
||||
return pErrorMgr->GetNextError();
|
||||
}
|
||||
bool BasicManager::GetGlobalUNOConstant( const sal_Char* _pAsciiName, ::com::sun::star::uno::Any& aOut )
|
||||
{
|
||||
bool bRes = false;
|
||||
StarBASIC* pStandardLib = GetStdLib();
|
||||
OSL_PRECOND( pStandardLib, "BasicManager::SetGlobalUNOConstant: no lib to insert into!" );
|
||||
if ( pStandardLib )
|
||||
bRes = pStandardLib->GetUNOConstant( _pAsciiName, aOut );
|
||||
return bRes;
|
||||
}
|
||||
|
||||
Any BasicManager::SetGlobalUNOConstant( const sal_Char* _pAsciiName, const Any& _rValue )
|
||||
{
|
||||
|
@ -95,53 +95,48 @@ Any sbxToUnoValue( SbxVariable* pVar );
|
||||
|
||||
Reference< frame::XModel > getModelFromBasic( SbxObject* pBasic )
|
||||
{
|
||||
Reference< frame::XModel > xModel;
|
||||
OSL_PRECOND( pBasic != NULL, "getModelFromBasic: illegal call!" );
|
||||
if ( !pBasic )
|
||||
return NULL;
|
||||
|
||||
SbxObject* basicChosen = pBasic;
|
||||
// look for the ThisComponent variable, first in the parent (which
|
||||
// might be the document's Basic), then in the parent's parent (which might be
|
||||
// the application Basic)
|
||||
const ::rtl::OUString sThisComponent( RTL_CONSTASCII_USTRINGPARAM( "ThisComponent" ) );
|
||||
SbxVariable* pThisComponent = NULL;
|
||||
|
||||
if ( basicChosen == NULL)
|
||||
SbxObject* pLookup = pBasic->GetParent();
|
||||
while ( pLookup && !pThisComponent )
|
||||
{
|
||||
OSL_TRACE("getModelFromBasic() StarBASIC* is NULL" );
|
||||
return xModel;
|
||||
pThisComponent = pLookup->Find( sThisComponent, SbxCLASS_OBJECT );
|
||||
pLookup = pLookup->GetParent();
|
||||
}
|
||||
SbxObject* p = pBasic;
|
||||
SbxObject* pParent = p->GetParent();
|
||||
SbxObject* pParentParent = pParent ? pParent->GetParent() : NULL;
|
||||
|
||||
if( pParentParent )
|
||||
if ( !pThisComponent )
|
||||
{
|
||||
basicChosen = pParentParent;
|
||||
}
|
||||
else if( pParent )
|
||||
{
|
||||
basicChosen = pParent;
|
||||
OSL_TRACE("Failed to get ThisComponent");
|
||||
// the application Basic, at the latest, should have this variable
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Any aModel;
|
||||
SbxVariable *pCompVar = basicChosen->Find( UniString(RTL_CONSTASCII_USTRINGPARAM("ThisComponent")), SbxCLASS_OBJECT );
|
||||
|
||||
if ( pCompVar )
|
||||
Any aThisComponent( sbxToUnoValue( pThisComponent ) );
|
||||
Reference< frame::XModel > xModel( aThisComponent, UNO_QUERY );
|
||||
if ( !xModel.is() )
|
||||
{
|
||||
aModel = sbxToUnoValue( pCompVar );
|
||||
if ( sal_False == ( aModel >>= xModel ) ||
|
||||
!xModel.is() )
|
||||
{
|
||||
OSL_TRACE("Failed to extract model from thisComponent ");
|
||||
return xModel;
|
||||
// it's no XModel. Okay, ThisComponent nowadays is allowed to be a controller.
|
||||
Reference< frame::XController > xController( aThisComponent, UNO_QUERY );
|
||||
if ( xController.is() )
|
||||
xModel = xController->getModel();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if ( !xModel.is() )
|
||||
return NULL;
|
||||
|
||||
#if OSL_DEBUG_LEVEL > 0
|
||||
OSL_TRACE("Have model ThisComponent points to url %s",
|
||||
::rtl::OUStringToOString( xModel->getURL(),
|
||||
RTL_TEXTENCODING_ASCII_US ).pData->buffer );
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
OSL_TRACE("Failed to get ThisComponent");
|
||||
}
|
||||
return xModel;
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,29 @@ SV_IMPL_VARARR(SbTextPortions,SbTextPortion)
|
||||
TYPEINIT1(StarBASIC,SbxObject)
|
||||
|
||||
#define RTLNAME "@SBRTL"
|
||||
// i#i68894#
|
||||
|
||||
const static String aThisComponent( RTL_CONSTASCII_USTRINGPARAM("ThisComponent") );
|
||||
const static String aVBAHook( RTL_CONSTASCII_USTRINGPARAM( "VBAGlobals" ) );
|
||||
|
||||
SbxObject* StarBASIC::getVBAGlobals( )
|
||||
{
|
||||
if ( !pVBAGlobals )
|
||||
pVBAGlobals = (SbUnoObject*)Find( aVBAHook , SbxCLASS_DONTCARE );
|
||||
return pVBAGlobals;
|
||||
}
|
||||
|
||||
// i#i68894#
|
||||
SbxVariable* StarBASIC::VBAFind( const String& rName, SbxClassType t )
|
||||
{
|
||||
if( rName == aThisComponent )
|
||||
return NULL;
|
||||
// rename to init globals
|
||||
if ( getVBAGlobals( ) )
|
||||
return pVBAGlobals->Find( rName, t );
|
||||
return NULL;
|
||||
|
||||
}
|
||||
// Create array for conversion SFX <-> VB error code
|
||||
struct SFX_VB_ErrorItem
|
||||
{
|
||||
@ -681,6 +703,8 @@ StarBASIC::StarBASIC( StarBASIC* p, BOOL bIsDocBasic )
|
||||
pRtl = new SbiStdObject( String( RTL_CONSTASCII_USTRINGPARAM(RTLNAME) ), this );
|
||||
// Search via StarBasic is always global
|
||||
SetFlag( SBX_GBLSEARCH );
|
||||
pVBAGlobals = NULL;
|
||||
bQuit = FALSE;
|
||||
}
|
||||
|
||||
// #51727 Override SetModified so that the modified state
|
||||
@ -995,6 +1019,12 @@ SbxVariable* StarBASIC::FindVarInCurrentScopy
|
||||
return pVar;
|
||||
}
|
||||
|
||||
void StarBASIC::QuitAndExitApplication()
|
||||
{
|
||||
Stop();
|
||||
bQuit = TRUE;
|
||||
}
|
||||
|
||||
void StarBASIC::Stop()
|
||||
{
|
||||
SbiInstance* p = pINST;
|
||||
@ -1533,6 +1563,18 @@ BOOL StarBASIC::LoadOldModules( SvStream& )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool StarBASIC::GetUNOConstant( const sal_Char* _pAsciiName, ::com::sun::star::uno::Any& aOut )
|
||||
{
|
||||
bool bRes = false;
|
||||
::rtl::OUString sVarName( ::rtl::OUString::createFromAscii( _pAsciiName ) );
|
||||
SbUnoObject* pGlobs = dynamic_cast<SbUnoObject*>( Find( sVarName, SbxCLASS_DONTCARE ) );
|
||||
if ( pGlobs )
|
||||
{
|
||||
aOut = pGlobs->getUnoAny();
|
||||
bRes = true;
|
||||
}
|
||||
return bRes;
|
||||
}
|
||||
|
||||
//========================================================================
|
||||
// #118116 Implementation Collection object
|
||||
|
@ -69,6 +69,11 @@
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <com/sun/star/frame/XDesktop.hpp>
|
||||
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
|
||||
#include <comphelper/processfactory.hxx>
|
||||
#include <vcl/svapp.hxx>
|
||||
using namespace ::com::sun::star;
|
||||
|
||||
|
||||
TYPEINIT1(SbModule,SbxObject)
|
||||
@ -84,7 +89,63 @@ SV_IMPL_VARARR(SbiBreakpoints,USHORT)
|
||||
|
||||
SV_IMPL_VARARR(HighlightPortions, HighlightPortion)
|
||||
|
||||
class AsyncQuitHandler
|
||||
{
|
||||
AsyncQuitHandler() {}
|
||||
AsyncQuitHandler( const AsyncQuitHandler&);
|
||||
public:
|
||||
static AsyncQuitHandler& instance()
|
||||
{
|
||||
static AsyncQuitHandler dInst;
|
||||
return dInst;
|
||||
}
|
||||
|
||||
void QuitApplication()
|
||||
{
|
||||
uno::Reference< lang::XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory();
|
||||
if ( xFactory.is() )
|
||||
{
|
||||
uno::Reference< frame::XDesktop > xDeskTop( xFactory->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ) ), uno::UNO_QUERY );
|
||||
if ( xDeskTop.is() )
|
||||
xDeskTop->terminate();
|
||||
}
|
||||
}
|
||||
DECL_LINK( OnAsyncQuit, void* );
|
||||
};
|
||||
|
||||
IMPL_LINK( AsyncQuitHandler, OnAsyncQuit, void*, /*pNull*/ )
|
||||
{
|
||||
QuitApplication();
|
||||
return 0L;
|
||||
}
|
||||
|
||||
#if 0
|
||||
bool UnlockControllerHack( StarBASIC* pBasic )
|
||||
{
|
||||
bool bRes = false;
|
||||
if ( pBasic && pBasic->IsDocBasic() )
|
||||
{
|
||||
uno::Any aUnoVar;
|
||||
::rtl::OUString sVarName( ::rtl::OUString::createFromAscii( "ThisComponent" ) );
|
||||
SbUnoObject* pGlobs = dynamic_cast<SbUnoObject*>( pBasic->Find( sVarName, SbxCLASS_DONTCARE ) );
|
||||
if ( pGlobs )
|
||||
aUnoVar = pGlobs->getUnoAny();
|
||||
uno::Reference< frame::XModel > xModel( aUnoVar, uno::UNO_QUERY);
|
||||
if ( xModel.is() )
|
||||
{
|
||||
try
|
||||
{
|
||||
xModel->unlockControllers();
|
||||
bRes = true;
|
||||
}
|
||||
catch( uno::Exception& )
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
return bRes;
|
||||
}
|
||||
#endif
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Ein BASIC-Modul hat EXTSEARCH gesetzt, damit die im Modul enthaltenen
|
||||
@ -696,6 +757,13 @@ USHORT SbModule::Run( SbMethod* pMeth )
|
||||
pINST->nCallLvl--; // Call-Level wieder runter
|
||||
StarBASIC::FatalError( SbERR_STACK_OVERFLOW );
|
||||
}
|
||||
|
||||
// VBA always ensure screenupdating is enabled after completing
|
||||
StarBASIC* pBasic = PTR_CAST(StarBASIC,GetParent());
|
||||
#if 0
|
||||
if ( pBasic && pBasic->IsDocBasic() && !pINST )
|
||||
UnlockControllerHack( pBasic );
|
||||
#endif
|
||||
if( bDelInst )
|
||||
{
|
||||
// #57841 Uno-Objekte, die in RTL-Funktionen gehalten werden,
|
||||
@ -705,6 +773,11 @@ USHORT SbModule::Run( SbMethod* pMeth )
|
||||
delete pINST;
|
||||
pINST = NULL;
|
||||
}
|
||||
if ( pBasic && pBasic->IsDocBasic() && pBasic->IsQuitApplication() && !pINST )
|
||||
{
|
||||
Application::PostUserEvent( LINK( &AsyncQuitHandler::instance(), AsyncQuitHandler, OnAsyncQuit ), NULL );
|
||||
}
|
||||
|
||||
return nRes;
|
||||
}
|
||||
|
||||
|
@ -56,57 +56,6 @@ using com::sun::star::uno::Reference;
|
||||
|
||||
SbxVariable* getVBAConstant( const String& rName );
|
||||
|
||||
const static String aThisComponent( RTL_CONSTASCII_USTRINGPARAM("ThisComponent") );
|
||||
const static String aVBAHook( RTL_CONSTASCII_USTRINGPARAM( "VBAGlobals" ) );
|
||||
// i#i68894#
|
||||
SbxArray* getVBAGlobals( )
|
||||
{
|
||||
static SbxArrayRef pArray;
|
||||
static bool isInitialised = false;
|
||||
if ( isInitialised )
|
||||
return pArray;
|
||||
Reference < XComponentContext > xCtx;
|
||||
Reference < XPropertySet > xProps(
|
||||
::comphelper::getProcessServiceFactory(), UNO_QUERY_THROW );
|
||||
xCtx.set( xProps->getPropertyValue( rtl::OUString(
|
||||
RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))),
|
||||
UNO_QUERY_THROW );
|
||||
SbUnoObject dGlobs( String( RTL_CONSTASCII_USTRINGPARAM("ExcelGlobals") ), xCtx->getValueByName( ::rtl::OUString::createFromAscii( "/singletons/ooo.vba.theGlobals") ) );
|
||||
|
||||
SbxVariable *vba = dGlobs.Find( String( RTL_CONSTASCII_USTRINGPARAM("getGlobals") ) , SbxCLASS_DONTCARE );
|
||||
|
||||
if ( vba )
|
||||
{
|
||||
pArray = static_cast<SbxArray *>(vba->GetObject());
|
||||
isInitialised = true;
|
||||
return pArray;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// i#i68894#
|
||||
SbxVariable* VBAFind( const String& rName, SbxClassType t )
|
||||
{
|
||||
if( rName == aThisComponent )
|
||||
return NULL;
|
||||
|
||||
SbxArray *pVBAGlobals = getVBAGlobals( );
|
||||
for (USHORT i = 0; pVBAGlobals && i < pVBAGlobals->Count(); i++)
|
||||
{
|
||||
SbxVariable *pElem = pVBAGlobals->Get( i );
|
||||
if (!pElem || !pElem->IsObject())
|
||||
continue;
|
||||
SbxObject *pVba = static_cast<SbxObject *>(pElem->GetObject());
|
||||
SbxVariable *pVbaVar = pVba ? pVba->Find( rName, t ) : NULL;
|
||||
if( pVbaVar )
|
||||
{
|
||||
return pVbaVar;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
// Suchen eines Elements
|
||||
// Die Bits im String-ID:
|
||||
// 0x8000 - Argv ist belegt
|
||||
@ -191,7 +140,7 @@ SbxVariable* SbiRuntime::FindElement
|
||||
if ( bVBAEnabled )
|
||||
{
|
||||
// Try Find in VBA symbols space
|
||||
pElem = VBAFind( aName, SbxCLASS_DONTCARE );
|
||||
pElem = rBasic.VBAFind( aName, SbxCLASS_DONTCARE );
|
||||
if ( pElem )
|
||||
bSetName = false; // don't overwrite uno name
|
||||
else
|
||||
|
@ -44,9 +44,15 @@
|
||||
#include <com/sun/star/util/Time.hpp>
|
||||
#include <com/sun/star/uno/Sequence.hxx>
|
||||
#include <com/sun/star/sdbc/XRow.hpp>
|
||||
#include <com/sun/star/sdb/XColumn.hpp>
|
||||
|
||||
namespace connectivity
|
||||
{
|
||||
namespace detail
|
||||
{
|
||||
class IValueSource;
|
||||
}
|
||||
|
||||
class OOO_DLLPUBLIC_DBTOOLS ORowSetValue
|
||||
{
|
||||
union
|
||||
@ -361,6 +367,12 @@ namespace connectivity
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow>& _xRow);
|
||||
|
||||
void fill(const ::com::sun::star::uno::Any& _rValue);
|
||||
|
||||
void fill( const sal_Int32 _nType,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _rxColumn );
|
||||
|
||||
private:
|
||||
void impl_fill( const sal_Int32 _nType, sal_Bool _bNullable, const detail::IValueSource& _rValueSource );
|
||||
};
|
||||
|
||||
/// ORowSetValueDecorator decorates a ORowSetValue so the value is "refcounted"
|
||||
|
@ -65,7 +65,8 @@ public class DbaseDatabase extends AbstractDatabase
|
||||
private void createDBDocument() throws Exception
|
||||
{
|
||||
final File documentFile = File.createTempFile("dbase", ".odb");
|
||||
documentFile.deleteOnExit();
|
||||
if ( documentFile.exists() )
|
||||
documentFile.delete();
|
||||
final File subPath = new File(documentFile.getParent() + File.separator + documentFile.getName().replaceAll(".odb", "") + File.separator );
|
||||
subPath.mkdir();
|
||||
//subPath.deleteOnExit();
|
||||
|
@ -72,7 +72,8 @@ public class HsqlDatabase extends AbstractDatabase
|
||||
private void createDBDocument() throws Exception
|
||||
{
|
||||
final File documentFile = File.createTempFile("testdb", ".odb");
|
||||
documentFile.deleteOnExit();
|
||||
if ( documentFile.exists() )
|
||||
documentFile.delete();
|
||||
m_databaseDocumentFile = URLHelper.getFileURLFromSystemPath(documentFile);
|
||||
|
||||
m_databaseDocument = (XOfficeDatabaseDocument) UnoRuntime.queryInterface(
|
||||
|
@ -40,13 +40,16 @@
|
||||
#include <rtl/ustrbuf.hxx>
|
||||
#include <rtl/logfile.hxx>
|
||||
|
||||
using namespace connectivity;
|
||||
using namespace dbtools;
|
||||
using namespace ::dbtools;
|
||||
using namespace ::com::sun::star::sdbc;
|
||||
using namespace ::com::sun::star::sdb;
|
||||
using namespace ::com::sun::star::uno;
|
||||
using namespace ::com::sun::star::util;
|
||||
using namespace ::com::sun::star::io;
|
||||
|
||||
namespace connectivity
|
||||
{
|
||||
|
||||
namespace {
|
||||
static sal_Bool isStorageCompatible(sal_Int32 _eType1, sal_Int32 _eType2)
|
||||
{
|
||||
@ -1897,6 +1900,107 @@ void ORowSetValue::setSigned(sal_Bool _bMod)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
namespace detail
|
||||
{
|
||||
class SAL_NO_VTABLE IValueSource
|
||||
{
|
||||
public:
|
||||
virtual ::rtl::OUString getString() const = 0;
|
||||
virtual sal_Bool getBoolean() const = 0;
|
||||
virtual sal_Int8 getByte() const = 0;
|
||||
virtual sal_Int16 getShort() const = 0;
|
||||
virtual sal_Int32 getInt() const = 0;
|
||||
virtual sal_Int64 getLong() const = 0;
|
||||
virtual float getFloat() const = 0;
|
||||
virtual double getDouble() const = 0;
|
||||
virtual Date getDate() const = 0;
|
||||
virtual Time getTime() const = 0;
|
||||
virtual DateTime getTimestamp() const = 0;
|
||||
virtual Sequence< sal_Int8 > getBytes() const = 0;
|
||||
virtual Reference< XInputStream > getBinaryStream() const = 0;
|
||||
virtual Reference< XInputStream > getCharacterStream() const = 0;
|
||||
virtual sal_Bool wasNull() const = 0;
|
||||
|
||||
virtual ~IValueSource() { }
|
||||
};
|
||||
|
||||
class RowValue : public IValueSource
|
||||
{
|
||||
public:
|
||||
RowValue( const Reference< XRow >& _xRow, const sal_Int32 _nPos )
|
||||
:m_xRow( _xRow )
|
||||
,m_nPos( _nPos )
|
||||
{
|
||||
}
|
||||
|
||||
// IValueSource
|
||||
virtual ::rtl::OUString getString() const { return m_xRow->getString( m_nPos ); };
|
||||
virtual sal_Bool getBoolean() const { return m_xRow->getBoolean( m_nPos ); };
|
||||
virtual sal_Int8 getByte() const { return m_xRow->getByte( m_nPos ); };
|
||||
virtual sal_Int16 getShort() const { return m_xRow->getShort( m_nPos ); }
|
||||
virtual sal_Int32 getInt() const { return m_xRow->getInt( m_nPos ); }
|
||||
virtual sal_Int64 getLong() const { return m_xRow->getLong( m_nPos ); }
|
||||
virtual float getFloat() const { return m_xRow->getFloat( m_nPos ); };
|
||||
virtual double getDouble() const { return m_xRow->getDouble( m_nPos ); };
|
||||
virtual Date getDate() const { return m_xRow->getDate( m_nPos ); };
|
||||
virtual Time getTime() const { return m_xRow->getTime( m_nPos ); };
|
||||
virtual DateTime getTimestamp() const { return m_xRow->getTimestamp( m_nPos ); };
|
||||
virtual Sequence< sal_Int8 > getBytes() const { return m_xRow->getBytes( m_nPos ); };
|
||||
virtual Reference< XInputStream > getBinaryStream() const { return m_xRow->getBinaryStream( m_nPos ); };
|
||||
virtual Reference< XInputStream > getCharacterStream() const { return m_xRow->getCharacterStream( m_nPos ); };
|
||||
virtual sal_Bool wasNull() const { return m_xRow->wasNull( ); };
|
||||
|
||||
private:
|
||||
const Reference< XRow > m_xRow;
|
||||
const sal_Int32 m_nPos;
|
||||
};
|
||||
|
||||
class ColumnValue : public IValueSource
|
||||
{
|
||||
public:
|
||||
ColumnValue( const Reference< XColumn >& _rxColumn )
|
||||
:m_xColumn( _rxColumn )
|
||||
{
|
||||
}
|
||||
|
||||
// IValueSource
|
||||
virtual ::rtl::OUString getString() const { return m_xColumn->getString(); };
|
||||
virtual sal_Bool getBoolean() const { return m_xColumn->getBoolean(); };
|
||||
virtual sal_Int8 getByte() const { return m_xColumn->getByte(); };
|
||||
virtual sal_Int16 getShort() const { return m_xColumn->getShort(); }
|
||||
virtual sal_Int32 getInt() const { return m_xColumn->getInt(); }
|
||||
virtual sal_Int64 getLong() const { return m_xColumn->getLong(); }
|
||||
virtual float getFloat() const { return m_xColumn->getFloat(); };
|
||||
virtual double getDouble() const { return m_xColumn->getDouble(); };
|
||||
virtual Date getDate() const { return m_xColumn->getDate(); };
|
||||
virtual Time getTime() const { return m_xColumn->getTime(); };
|
||||
virtual DateTime getTimestamp() const { return m_xColumn->getTimestamp(); };
|
||||
virtual Sequence< sal_Int8 > getBytes() const { return m_xColumn->getBytes(); };
|
||||
virtual Reference< XInputStream > getBinaryStream() const { return m_xColumn->getBinaryStream(); };
|
||||
virtual Reference< XInputStream > getCharacterStream() const { return m_xColumn->getCharacterStream(); };
|
||||
virtual sal_Bool wasNull() const { return m_xColumn->wasNull( ); };
|
||||
|
||||
private:
|
||||
const Reference< XColumn > m_xColumn;
|
||||
};
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
void ORowSetValue::fill( const sal_Int32 _nType, const Reference< XColumn >& _rxColumn )
|
||||
{
|
||||
detail::ColumnValue aColumnValue( _rxColumn );
|
||||
impl_fill( _nType, sal_True, aColumnValue );
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
void ORowSetValue::fill( sal_Int32 _nPos, sal_Int32 _nType, sal_Bool _bNullable, const Reference< XRow>& _xRow )
|
||||
{
|
||||
detail::RowValue aRowValue( _xRow, _nPos );
|
||||
impl_fill( _nType, _bNullable, aRowValue );
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
void ORowSetValue::fill(sal_Int32 _nPos,
|
||||
sal_Int32 _nType,
|
||||
@ -1907,10 +2011,8 @@ void ORowSetValue::fill(sal_Int32 _nPos,
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
void ORowSetValue::fill(sal_Int32 _nPos,
|
||||
sal_Int32 _nType,
|
||||
sal_Bool _bNullable,
|
||||
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow>& _xRow)
|
||||
void ORowSetValue::impl_fill( const sal_Int32 _nType, sal_Bool _bNullable, const detail::IValueSource& _rValueSource )
|
||||
|
||||
{
|
||||
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbtools", "Ocke.Janssen@sun.com", "ORowSetValue::fill (2)" );
|
||||
sal_Bool bReadData = sal_True;
|
||||
@ -1921,63 +2023,71 @@ void ORowSetValue::fill(sal_Int32 _nPos,
|
||||
case DataType::DECIMAL:
|
||||
case DataType::NUMERIC:
|
||||
case DataType::LONGVARCHAR:
|
||||
(*this) = _xRow->getString(_nPos);
|
||||
(*this) = _rValueSource.getString();
|
||||
break;
|
||||
case DataType::BIGINT:
|
||||
if ( isSigned() )
|
||||
(*this) = _xRow->getLong(_nPos);
|
||||
(*this) = _rValueSource.getLong();
|
||||
else
|
||||
(*this) = _xRow->getString(_nPos);
|
||||
(*this) = _rValueSource.getString();
|
||||
break;
|
||||
case DataType::FLOAT:
|
||||
(*this) = _xRow->getFloat(_nPos);
|
||||
(*this) = _rValueSource.getFloat();
|
||||
break;
|
||||
case DataType::DOUBLE:
|
||||
case DataType::REAL:
|
||||
(*this) = _xRow->getDouble(_nPos);
|
||||
(*this) = _rValueSource.getDouble();
|
||||
break;
|
||||
case DataType::DATE:
|
||||
(*this) = _xRow->getDate(_nPos);
|
||||
(*this) = _rValueSource.getDate();
|
||||
break;
|
||||
case DataType::TIME:
|
||||
(*this) = _xRow->getTime(_nPos);
|
||||
(*this) = _rValueSource.getTime();
|
||||
break;
|
||||
case DataType::TIMESTAMP:
|
||||
(*this) = _xRow->getTimestamp(_nPos);
|
||||
(*this) = _rValueSource.getTimestamp();
|
||||
break;
|
||||
case DataType::BINARY:
|
||||
case DataType::VARBINARY:
|
||||
case DataType::LONGVARBINARY:
|
||||
(*this) = _xRow->getBytes(_nPos);
|
||||
(*this) = _rValueSource.getBytes();
|
||||
break;
|
||||
case DataType::BIT:
|
||||
case DataType::BOOLEAN:
|
||||
(*this) = _xRow->getBoolean(_nPos);
|
||||
(*this) = _rValueSource.getBoolean();
|
||||
break;
|
||||
case DataType::TINYINT:
|
||||
if ( isSigned() )
|
||||
(*this) = _xRow->getByte(_nPos);
|
||||
(*this) = _rValueSource.getByte();
|
||||
else
|
||||
(*this) = _xRow->getShort(_nPos);
|
||||
(*this) = _rValueSource.getShort();
|
||||
break;
|
||||
case DataType::SMALLINT:
|
||||
if ( isSigned() )
|
||||
(*this) = _xRow->getShort(_nPos);
|
||||
(*this) = _rValueSource.getShort();
|
||||
else
|
||||
(*this) = _xRow->getInt(_nPos);
|
||||
(*this) = _rValueSource.getInt();
|
||||
break;
|
||||
case DataType::INTEGER:
|
||||
if ( isSigned() )
|
||||
(*this) = _xRow->getInt(_nPos);
|
||||
(*this) = _rValueSource.getInt();
|
||||
else
|
||||
(*this) = _xRow->getLong(_nPos);
|
||||
(*this) = _rValueSource.getLong();
|
||||
break;
|
||||
case DataType::CLOB:
|
||||
<<<<<<< local
|
||||
(*this) = ::com::sun::star::uno::makeAny(_xRow->getClob(_nPos));
|
||||
=======
|
||||
(*this) = ::com::sun::star::uno::makeAny(_rValueSource.getCharacterStream());
|
||||
>>>>>>> other
|
||||
setTypeKind(DataType::CLOB);
|
||||
break;
|
||||
case DataType::BLOB:
|
||||
<<<<<<< local
|
||||
(*this) = ::com::sun::star::uno::makeAny(_xRow->getBlob(_nPos));
|
||||
=======
|
||||
(*this) = ::com::sun::star::uno::makeAny(_rValueSource.getBinaryStream());
|
||||
>>>>>>> other
|
||||
setTypeKind(DataType::BLOB);
|
||||
break;
|
||||
case DataType::OTHER:
|
||||
@ -1989,7 +2099,7 @@ void ORowSetValue::fill(sal_Int32 _nPos,
|
||||
bReadData = false;
|
||||
break;
|
||||
}
|
||||
if ( bReadData && _bNullable && _xRow->wasNull() )
|
||||
if ( bReadData && _bNullable && _rValueSource.wasNull() )
|
||||
setNull();
|
||||
setTypeKind(_nType);
|
||||
}
|
||||
@ -2158,3 +2268,5 @@ void ORowSetValue::fill(const Any& _rValue)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace connectivity
|
||||
|
@ -145,6 +145,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getTypeInfo( ) throw(SQ
|
||||
}
|
||||
}
|
||||
|
||||
::connectivity::ODatabaseMetaDataResultSet::ORows aTypeInfoRows;
|
||||
while( xRet->next() )
|
||||
{
|
||||
::connectivity::ODatabaseMetaDataResultSet::ORow aRow;
|
||||
@ -169,8 +170,9 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaDataBase::getTypeInfo( ) throw(SQ
|
||||
else
|
||||
++aIter;
|
||||
}
|
||||
m_aTypeInfoRows.push_back(aRow);
|
||||
aTypeInfoRows.push_back(aRow);
|
||||
}
|
||||
m_aTypeInfoRows = aTypeInfoRows;
|
||||
}
|
||||
}
|
||||
::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eTypeInfo);
|
||||
|
@ -152,7 +152,6 @@ namespace connectivity
|
||||
// Vorzeitiger Abbruch der Schleife moeglich, denn
|
||||
// wir haben, was wir wollten.
|
||||
nStartPos = i+1;
|
||||
*pData = 0;
|
||||
break;
|
||||
}
|
||||
else
|
||||
@ -161,6 +160,7 @@ namespace connectivity
|
||||
}
|
||||
}
|
||||
} // for( xub_StrLen i = nStartPos; i < nLen; ++i )
|
||||
*pData = 0;
|
||||
_rStr.ReleaseBufferAccess(xub_StrLen(pData - pStart));
|
||||
}
|
||||
}
|
||||
|
@ -55,6 +55,7 @@
|
||||
#include <connectivity/dbexception.hxx>
|
||||
#include <comphelper/namedvaluecollection.hxx>
|
||||
#include <unotools/confignode.hxx>
|
||||
#include <unotools/ucbstreamhelper.hxx>
|
||||
#include "resource/hsqldb_res.hrc"
|
||||
#include "resource/sharedresources.hxx"
|
||||
|
||||
@ -70,6 +71,8 @@ namespace connectivity
|
||||
using namespace ::com::sun::star::frame;
|
||||
using namespace ::com::sun::star::lang;
|
||||
using namespace ::com::sun::star::embed;
|
||||
using namespace ::com::sun::star::io;
|
||||
using namespace ::com::sun::star::task;
|
||||
using namespace ::com::sun::star::reflection;
|
||||
|
||||
namespace hsqldb
|
||||
@ -260,6 +263,50 @@ namespace connectivity
|
||||
);
|
||||
aProperties.put( "SystemProperties", Sequence< NamedValue >( &aPermittedClasses, 1 ) );
|
||||
|
||||
const ::rtl::OUString sProperties( RTL_CONSTASCII_USTRINGPARAM( "properties" ) );
|
||||
::rtl::OUString sMessage;
|
||||
try
|
||||
{
|
||||
if ( !bIsNewDatabase && xStorage->isStreamElement(sProperties) )
|
||||
{
|
||||
Reference<XStream > xStream = xStorage->openStreamElement(sProperties,ElementModes::READ);
|
||||
if ( xStream.is() )
|
||||
{
|
||||
::std::auto_ptr<SvStream> pStream( ::utl::UcbStreamHelper::CreateStream(xStream) );
|
||||
if ( pStream.get() )
|
||||
{
|
||||
ByteString sLine;
|
||||
while ( pStream->ReadLine(sLine) )
|
||||
{
|
||||
if ( sLine.Equals("version=",0,sizeof("version=")-1) )
|
||||
{
|
||||
sLine = sLine.GetToken(1,'=');
|
||||
const sal_Int32 nMajor = sLine.GetToken(0,'.').ToInt32();
|
||||
const sal_Int32 nMinor = sLine.GetToken(1,'.').ToInt32();
|
||||
const sal_Int32 nMicro = sLine.GetToken(2,'.').ToInt32();
|
||||
if ( nMajor > 1
|
||||
|| ( nMajor == 1 && nMinor > 8 )
|
||||
|| ( nMajor == 1 && nMinor == 8 && nMicro > 0 ) )
|
||||
{
|
||||
::connectivity::SharedResources aResources;
|
||||
sMessage = aResources.getResourceString(STR_ERROR_NEW_VERSION);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} // if ( xStream.is() )
|
||||
::comphelper::disposeComponent(xStream);
|
||||
}
|
||||
}
|
||||
catch(Exception&)
|
||||
{
|
||||
}
|
||||
if ( sMessage.getLength() )
|
||||
{
|
||||
::dbtools::throwGenericSQLException(sMessage ,*this);
|
||||
}
|
||||
|
||||
// readonly?
|
||||
Reference<XPropertySet> xProp(xStorage,UNO_QUERY);
|
||||
if ( xProp.is() )
|
||||
|
@ -102,6 +102,7 @@ SHL1STDLIBS=\
|
||||
$(DBTOOLSLIB) \
|
||||
$(JVMFWKLIB) \
|
||||
$(COMPHELPERLIB) \
|
||||
$(TOOLSLIB) \
|
||||
$(UNOTOOLSLIB)
|
||||
|
||||
|
||||
|
@ -30,37 +30,35 @@
|
||||
#*************************************************************************
|
||||
CALL_CDECL=TRUE
|
||||
|
||||
#mozilla specific stuff.
|
||||
MOZ_LIB=$(SOLARVERSION)$/$(INPATH)$/lib$(UPDMINOREXT)
|
||||
MOZ_INC=$(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/mozilla
|
||||
#End of mozilla specific stuff.
|
||||
|
||||
PRJ=..$/..$/..$/..
|
||||
PRJINC=..$/..$/..
|
||||
PRJNAME=connectivity
|
||||
TARGET=mozbootstrap
|
||||
|
||||
USE_DEFFILE=TRUE
|
||||
ENABLE_EXCEPTIONS=TRUE
|
||||
VISIBILITY_HIDDEN=TRUE
|
||||
|
||||
.IF "$(OS)" == "OS2"
|
||||
all:
|
||||
@echo " Not building under OS/2"
|
||||
.ENDIF
|
||||
|
||||
# --- Settings ----------------------------------
|
||||
.IF "$(DBGUTIL_OJ)"!=""
|
||||
ENVCFLAGS+=/FR$(SLO)$/
|
||||
.ENDIF
|
||||
|
||||
USE_DEFFILE=TRUE
|
||||
ENABLE_EXCEPTIONS=TRUE
|
||||
VISIBILITY_HIDDEN=TRUE
|
||||
|
||||
# --- begin of mozilla specific stuff
|
||||
MOZ_LIB=$(SOLARVERSION)$/$(INPATH)$/lib$(UPDMINOREXT)
|
||||
MOZ_INC=$(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/mozilla
|
||||
# --- end of mozilla specific stuff
|
||||
|
||||
.INCLUDE : settings.mk
|
||||
|
||||
.INCLUDE : $(PRJ)$/version.mk
|
||||
|
||||
.INCLUDE : ../makefile_mozab.mk
|
||||
|
||||
INCPRE += -I../mozillasrc
|
||||
|
||||
#mozilla specific stuff.
|
||||
# --- Files -------------------------------------
|
||||
|
||||
SLOFILES += \
|
||||
@ -93,95 +91,6 @@ SLOFILES += \
|
||||
$(SLO)$/MNSProfileDirServiceProvider.obj
|
||||
.ENDIF
|
||||
|
||||
CDEFS += -DMOZILLA_INTERNAL_API
|
||||
|
||||
.IF "$(GUI)"=="UNX"
|
||||
.IF "$(COMNAME)"=="sunpro5"
|
||||
CFLAGS += -features=tmplife
|
||||
#This flag is needed to build mozilla 1.7 code
|
||||
.ENDIF # "$(COMNAME)"=="sunpro5"
|
||||
.ENDIF
|
||||
|
||||
MOZINC = . -I.. -I..$/mozillasrc -I$(MOZ_INC) -I$(MOZ_INC)$/nspr -I$(MOZ_INC)$/xpcom \
|
||||
-I$(MOZ_INC)$/string -I$(MOZ_INC)$/rdf -I$(MOZ_INC)$/msgbase \
|
||||
-I$(MOZ_INC)$/addrbook -I$(MOZ_INC)$/mork -I$(MOZ_INC)$/locale \
|
||||
-I$(MOZ_INC)$/pref -I$(MOZ_INC)$/mime -I$(MOZ_INC)$/chrome \
|
||||
-I$(MOZ_INC)$/necko -I$(MOZ_INC)$/intl -I$(MOZ_INC)$/profile \
|
||||
-I$(MOZ_INC)$/embed_base -I$(MOZ_INC)$/mozldap -I$(MOZ_INC)$/uconv\
|
||||
-I$(MOZ_INC)$/xpcom_obsolete -I$(MOZ_INC)$/content
|
||||
|
||||
.IF "$(GUI)" == "WNT"
|
||||
.IF "$(COM)" == "GCC"
|
||||
INCPOST += $(MOZINC)
|
||||
CDEFS += -DWINVER=0x400 -DMOZILLA_CLIENT \
|
||||
-DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
|
||||
-DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
|
||||
-DNS_MT_SUPPORTED -DNETLIB_THREAD \
|
||||
-DOJI -DWIN32 -D_X86_ -D_WINDOWS \
|
||||
-DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
|
||||
-DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
|
||||
-DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti -Wall -Wconversion -Wpointer-arith \
|
||||
-Wcast-align -Woverloaded-virtual -Wsynth \
|
||||
-Wno-long-long
|
||||
.ELSE
|
||||
.IF "$(DBG_LEVEL)" == "0"
|
||||
INCPRE += $(MOZINC)
|
||||
CDEFS += -DWINVER=0x400 -DMOZILLA_CLIENT \
|
||||
-DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
|
||||
-DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
|
||||
-DDMSVC4 -DNS_MT_SUPPORTED -DNETLIB_THREAD \
|
||||
-DOJI -DWIN32 -D_X86_ -D_WINDOWS \
|
||||
-DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
|
||||
-DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
|
||||
-DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL \
|
||||
-UDEBUG
|
||||
CFLAGS += -GR- -W3 -Gy -MD -UDEBUG
|
||||
.ELSE
|
||||
INCPRE += $(MOZINC)
|
||||
CDEFS += -DWINVER=0x400 -DMOZILLA_CLIENT \
|
||||
-DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
|
||||
-DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
|
||||
-DDMSVC4 -DDEVELOPER_DEBUG -DNS_MT_SUPPORTED -DNETLIB_THREAD \
|
||||
-DOJI -DWIN32 -D_X86_ -D_WINDOWS \
|
||||
-DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
|
||||
-DDEBUG_Administrator -DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
|
||||
-DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL \
|
||||
-UDEBUG
|
||||
CFLAGS += -Zi -GR- -W3 -Gy -MDd -UDEBUG
|
||||
.IF "$(CCNUMVER)" >= "001399999999"
|
||||
CDEFS += -D_STL_NOFORCE_MANIFEST
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
.IF "$(GUI)" == "UNX"
|
||||
INCPOST += $(MOZINC)
|
||||
CDEFS+= -DMOZILLA_CLIENT \
|
||||
-DXP_UNIX
|
||||
.IF "$(OS)" == "LINUX"
|
||||
CFLAGS += -fPIC -g
|
||||
CDEFS+= -DOJI
|
||||
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti -Wconversion -Wpointer-arith \
|
||||
-Wcast-align -Woverloaded-virtual -Wsynth \
|
||||
-Wno-long-long -pthread
|
||||
CDEFS += -DTRACING
|
||||
.ELIF "$(OS)" == "NETBSD" || "$(OS)" == "MACOSX"
|
||||
CFLAGS += -fPIC
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti -Wconversion -Wpointer-arith \
|
||||
-Wcast-align -Woverloaded-virtual -Wsynth \
|
||||
-Wno-long-long -Wno-deprecated
|
||||
CDEFS += -DTRACING
|
||||
.ENDIF
|
||||
|
||||
SHL1TARGET_NAME=$(TARGET)$(MOZAB_MAJOR)
|
||||
|
||||
.ENDIF # MACOSX
|
||||
|
||||
# --- Targets ----------------------------------
|
||||
|
||||
.INCLUDE : target.mk
|
||||
|
@ -43,38 +43,28 @@ all:
|
||||
@echo " see http://www.mozilla.org/issues/show_bug.cgi?id=91209"
|
||||
.ENDIF
|
||||
|
||||
#mozilla specific stuff.
|
||||
# --- begin of mozilla specific stuff
|
||||
MOZ_LIB=$(SOLARVERSION)$/$(INPATH)$/lib$(UPDMINOREXT)
|
||||
MOZ_INC=$(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)$/mozilla
|
||||
|
||||
.IF "$(OS)"=="WNT"
|
||||
.IF "$(USE_SHELL)"=="4nt"
|
||||
MOZ_EMBED_LIB := $(shell @+-dir /ba:f $(MOZ_LIB)$/embed_base_s.lib 2>NUL )
|
||||
MOZ_REG_LIB := $(shell @+-dir /ba:f $(MOZ_LIB)$/mozreg_s.lib 2>NUL )
|
||||
.ELSE #"$(USE_SHELL)"=="4nt"
|
||||
MOZ_EMBED_LIB := $(shell @-test -f $(MOZ_LIB)$/embed_base_s.lib && echo $(MOZ_LIB)$/embed_base_s.lib )
|
||||
MOZ_REG_LIB := $(shell @-test -f $(MOZ_LIB)$/mozreg_s.lib && echo $(MOZ_LIB)$/mozreg_s.lib )
|
||||
.ENDIF
|
||||
|
||||
.IF X"$(MOZ_EMBED_LIB)"=="X"
|
||||
MOZ_EMBED_LIB := $(MOZ_LIB)$/baseembed_s.lib
|
||||
.ENDIF
|
||||
.IF X"$(MOZ_REG_LIB)" == "X"
|
||||
MOZ_REG_LIB := $(MOZ_LIB)$/mozreg.lib
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
MOZ_EMBED_LIB *:= $(MOZ_LIB)$/baseembed_s.lib
|
||||
MOZ_REG_LIB *:= $(MOZ_LIB)$/mozreg.lib
|
||||
|
||||
.IF "$(OS)"=="WNT"
|
||||
.IF "$(COM)"=="GCC"
|
||||
MOZ_LIB_XPCOM= -L$(MOZ_LIB) -lembed_base_s -lnspr4 -lmozreg_s -lxpcom -lxpcom_core
|
||||
.ELSE
|
||||
LIB += $(MOZ_LIB)
|
||||
MOZ_LIB_XPCOM= $(MOZ_EMBED_LIB) $(MOZ_LIB)$/nspr4.lib $(MOZ_REG_LIB) $(MOZ_LIB)$/xpcom.lib $(MOZ_LIB)$/xpcom_core.lib
|
||||
.ENDIF
|
||||
|
||||
.ELSE "$(OS)"=="WNT"
|
||||
MOZ_LIB_XPCOM = -L$(MOZ_LIB) -lnspr4 -lxpcom_core -lmozreg_s -lembed_base_s
|
||||
.ENDIF
|
||||
#End of mozilla specific stuff.
|
||||
# --- end of mozilla specific stuff
|
||||
|
||||
USE_DEFFILE=TRUE
|
||||
ENABLE_EXCEPTIONS=TRUE
|
||||
@ -87,10 +77,6 @@ COMPONENT_CONFIG_SCHEMA=$(TARGET)2.xcs
|
||||
|
||||
# --- Settings ----------------------------------
|
||||
|
||||
.IF "$(DBGUTIL_OJ)"!=""
|
||||
ENVCFLAGS+=/FR$(SLO)$/
|
||||
.ENDIF
|
||||
|
||||
.INCLUDE : $(PRJ)$/makefile.pmk
|
||||
|
||||
.INCLUDE : $(PRJ)$/version.mk
|
||||
@ -121,7 +107,6 @@ DEF1NAME= $(SHL1TARGET)
|
||||
DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt \
|
||||
$(SLB)$/$(TARGET).lib
|
||||
DEFLIB1NAME=$(TARGET)
|
||||
#DEF1EXPORTFILE= exports.dxp
|
||||
|
||||
|
||||
# --- Files -------------------------------------
|
||||
@ -165,6 +150,7 @@ DEPOBJFILES=$(SLO2FILES)
|
||||
# --- MOZAB BASE Library -----------------------------------
|
||||
|
||||
SHL2VERSIONMAP= $(TARGET2).map
|
||||
SHL2NOCHECK=TRUE
|
||||
SHL2TARGET= $(TARGET2)$(DLLPOSTFIX)
|
||||
SHL2OBJS=$(SLO2FILES)
|
||||
SHL2STDLIBS=\
|
||||
|
128
connectivity/source/drivers/mozab/makefile_mozab.mk
Normal file
128
connectivity/source/drivers/mozab/makefile_mozab.mk
Normal file
@ -0,0 +1,128 @@
|
||||
#*************************************************************************
|
||||
#
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# Copyright 2008 by Sun Microsystems, Inc.
|
||||
#
|
||||
# OpenOffice.org - a multi-platform office productivity suite
|
||||
#
|
||||
# This file is part of OpenOffice.org.
|
||||
#
|
||||
# OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License version 3
|
||||
# only, as published by the Free Software Foundation.
|
||||
#
|
||||
# OpenOffice.org is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Lesser General Public License version 3 for more details
|
||||
# (a copy is included in the LICENSE file that accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# version 3 along with OpenOffice.org. If not, see
|
||||
# <http://www.openoffice.org/license.html>
|
||||
# for a copy of the LGPLv3 License.
|
||||
#
|
||||
#*************************************************************************
|
||||
|
||||
CDEFS += -DMOZILLA_INTERNAL_API
|
||||
|
||||
.IF "$(GUI)"=="UNX"
|
||||
.IF "$(COMNAME)"=="sunpro5"
|
||||
CFLAGS += -features=tmplife
|
||||
#This flag is needed to build mozilla 1.7 code
|
||||
.ENDIF # "$(COMNAME)"=="sunpro5"
|
||||
.ENDIF
|
||||
|
||||
MOZINC = . \
|
||||
-I.. \
|
||||
-I$(MOZ_INC) \
|
||||
-I$(MOZ_INC)$/nspr \
|
||||
-I$(MOZ_INC)$/xpcom \
|
||||
-I$(MOZ_INC)$/string \
|
||||
-I$(MOZ_INC)$/rdf \
|
||||
-I$(MOZ_INC)$/msgbase \
|
||||
-I$(MOZ_INC)$/addrbook \
|
||||
-I$(MOZ_INC)$/mork \
|
||||
-I$(MOZ_INC)$/locale \
|
||||
-I$(MOZ_INC)$/pref \
|
||||
-I$(MOZ_INC)$/mime \
|
||||
-I$(MOZ_INC)$/chrome \
|
||||
-I$(MOZ_INC)$/necko \
|
||||
-I$(MOZ_INC)$/intl \
|
||||
-I$(MOZ_INC)$/profile \
|
||||
-I$(MOZ_INC)$/embed_base \
|
||||
-I$(MOZ_INC)$/mozldap \
|
||||
-I$(MOZ_INC)$/uconv \
|
||||
-I$(MOZ_INC)$/xpcom_obsolete \
|
||||
-I$(MOZ_INC)$/content
|
||||
|
||||
.IF "$(GUI)" == "WNT"
|
||||
CDEFS += \
|
||||
-DMOZILLA_CLIENT \
|
||||
-DXP_PC \
|
||||
-DXP_WIN \
|
||||
-DXP_WIN32 \
|
||||
-DOJI \
|
||||
-DWIN32 \
|
||||
-D_X86_ \
|
||||
-D_WINDOWS \
|
||||
-DMOZ_XUL \
|
||||
-DMOZ_REFLOW_PERF \
|
||||
-DMOZ_REFLOW_PERF_DSP
|
||||
.IF "$(COM)" == "GCC"
|
||||
INCPOST += $(MOZINC)
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti \
|
||||
-Wall \
|
||||
-Wconversion \
|
||||
-Wpointer-arith \
|
||||
-Wcast-align \
|
||||
-Woverloaded-virtual \
|
||||
-Wsynth \
|
||||
-Wno-long-long
|
||||
.ELSE # .IF "$(COM)" == "GCC"
|
||||
INCPRE += $(MOZINC)
|
||||
.IF "$(DBG_LEVEL)" != "0"
|
||||
.IF "$(CCNUMVER)" >= "001399999999"
|
||||
CDEFS += -D_STL_NOFORCE_MANIFEST
|
||||
.ENDIF # .IF "$(CCNUMVER)" >= "001399999999"
|
||||
.ENDIF # .IF "$(DBG_LEVEL)" != "0"
|
||||
.ENDIF # .IF "$(COM)" == "GCC"
|
||||
.ENDIF # .IF "$(GUI)" == "WNT"
|
||||
|
||||
.IF "$(GUI)" == "UNX"
|
||||
INCPOST += $(MOZINC)
|
||||
CDEFS+= -DMOZILLA_CLIENT \
|
||||
-DXP_UNIX
|
||||
.IF "$(OS)" == "LINUX"
|
||||
CFLAGS += -fPIC -g
|
||||
CDEFS += -DOJI
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti \
|
||||
-Wconversion \
|
||||
-Wpointer-arith \
|
||||
-Wcast-align \
|
||||
-Woverloaded-virtual \
|
||||
-Wsynth \
|
||||
-Wno-long-long \
|
||||
-pthread
|
||||
CDEFS += -DTRACING
|
||||
.ELIF "$(OS)" == "NETBSD" || "$(OS)" == "MACOSX"
|
||||
CFLAGS += -fPIC
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti \
|
||||
-Wconversion \
|
||||
-Wpointer-arith \
|
||||
-Wcast-align \
|
||||
-Woverloaded-virtual \
|
||||
-Wsynth \
|
||||
-Wno-long-long \
|
||||
-Wno-deprecated
|
||||
CDEFS += -DTRACING
|
||||
.ENDIF # "$(OS)" == "NETBSD" || "$(OS)" == "MACOSX"
|
||||
|
||||
SHL1TARGET_NAME=$(TARGET)$(MOZAB_MAJOR)
|
||||
|
||||
.ENDIF # "$(GUI)" == "UNX"
|
||||
|
@ -40,16 +40,12 @@ PRJINC=..$/..$/..
|
||||
PRJNAME=connectivity
|
||||
TARGET=mozabsrc
|
||||
|
||||
# --- Settings ----------------------------------
|
||||
|
||||
USE_DEFFILE=TRUE
|
||||
ENABLE_EXCEPTIONS=TRUE
|
||||
VISIBILITY_HIDDEN=TRUE
|
||||
|
||||
# --- Settings ----------------------------------
|
||||
.IF "$(DBGUTIL_OJ)"!=""
|
||||
ENVCFLAGS+=/FR$(SLO)$/
|
||||
.ENDIF
|
||||
|
||||
|
||||
.INCLUDE : settings.mk
|
||||
|
||||
.IF ("$(SYSTEM_MOZILLA)" == "YES" && "$(WITH_MOZILLA)" == "YES") || "$(WITH_MOZILLA)" == "NO" || "$(OS)" == "OS2"
|
||||
@ -61,8 +57,10 @@ dummy:
|
||||
|
||||
.INCLUDE : $(PRJ)$/version.mk
|
||||
|
||||
.INCLUDE : ../makefile_mozab.mk
|
||||
|
||||
INCPRE += -I../bootstrap
|
||||
|
||||
#mozilla specific stuff.
|
||||
# --- Files -------------------------------------
|
||||
|
||||
SLOFILES = \
|
||||
@ -75,97 +73,8 @@ SLOFILES = \
|
||||
$(SLO)$/MNSTerminateListener.obj \
|
||||
$(SLO)$/MLdapAttributeMap.obj \
|
||||
|
||||
|
||||
CDEFS += -DMOZILLA_INTERNAL_API
|
||||
|
||||
.IF "$(GUI)"=="UNX"
|
||||
.IF "$(COMNAME)"=="sunpro5"
|
||||
CFLAGS += -features=tmplife
|
||||
#This flag is needed to build mozilla 1.7 code
|
||||
.ENDIF # "$(COMNAME)"=="sunpro5"
|
||||
.ENDIF
|
||||
|
||||
MOZINC = . -I.. -I..$/bootstrap -I$(MOZ_INC) -I$(MOZ_INC)$/nspr -I$(MOZ_INC)$/xpcom \
|
||||
-I$(MOZ_INC)$/string -I$(MOZ_INC)$/rdf -I$(MOZ_INC)$/msgbase \
|
||||
-I$(MOZ_INC)$/addrbook -I$(MOZ_INC)$/mork -I$(MOZ_INC)$/locale \
|
||||
-I$(MOZ_INC)$/pref -I$(MOZ_INC)$/mime -I$(MOZ_INC)$/chrome \
|
||||
-I$(MOZ_INC)$/necko -I$(MOZ_INC)$/intl -I$(MOZ_INC)$/profile \
|
||||
-I$(MOZ_INC)$/embed_base -I$(MOZ_INC)$/mozldap -I$(MOZ_INC)$/uconv\
|
||||
-I$(MOZ_INC)$/xpcom_obsolete -I$(MOZ_INC)$/content
|
||||
|
||||
.IF "$(GUI)" == "WNT"
|
||||
.IF "$(COM)"=="GCC"
|
||||
INCPOST += $(MOZINC)
|
||||
CDEFS += -DWINVER=0x400 -DMOZILLA_CLIENT \
|
||||
-DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
|
||||
-DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
|
||||
-DNS_MT_SUPPORTED -DNETLIB_THREAD \
|
||||
-DOJI -DWIN32 -D_X86_ -D_WINDOWS \
|
||||
-DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
|
||||
-DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
|
||||
-DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti -Wall -Wconversion -Wpointer-arith \
|
||||
-Wcast-align -Woverloaded-virtual -Wsynth \
|
||||
-Wno-long-long
|
||||
.ELSE
|
||||
.IF "$(DBG_LEVEL)" == "0"
|
||||
INCPRE += $(MOZINC)
|
||||
CDEFS += -DWINVER=0x400 -DMOZILLA_CLIENT \
|
||||
-DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
|
||||
-DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
|
||||
-DDMSVC4 -DNS_MT_SUPPORTED -DNETLIB_THREAD \
|
||||
-DOJI -DWIN32 -D_X86_ -D_WINDOWS \
|
||||
-DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
|
||||
-DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
|
||||
-DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL \
|
||||
-UDEBUG
|
||||
CFLAGS += -GR- -W3 -Gy -MD -UDEBUG
|
||||
.ELSE
|
||||
INCPRE += $(MOZINC)
|
||||
CDEFS += -DWINVER=0x400 -DMOZILLA_CLIENT \
|
||||
-DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
|
||||
-DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
|
||||
-DDMSVC4 -DDEVELOPER_DEBUG -DNS_MT_SUPPORTED -DNETLIB_THREAD \
|
||||
-DOJI -DWIN32 -D_X86_ -D_WINDOWS \
|
||||
-DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
|
||||
-DDEBUG_Administrator -DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
|
||||
-DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL \
|
||||
-UDEBUG
|
||||
CFLAGS += -Zi -GR- -W3 -Gy -MDd -UDEBUG
|
||||
.IF "$(CCNUMVER)" >= "001399999999"
|
||||
CDEFS += -D_STL_NOFORCE_MANIFEST
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
.IF "$(GUI)" == "UNX"
|
||||
INCPOST += $(MOZINC)
|
||||
CDEFS+= -DMOZILLA_CLIENT \
|
||||
-DXP_UNIX
|
||||
.IF "$(OS)" == "LINUX"
|
||||
CFLAGS += -fPIC -g
|
||||
CDEFS+= -DOJI
|
||||
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti -Wconversion -Wpointer-arith \
|
||||
-Wcast-align -Woverloaded-virtual -Wsynth \
|
||||
-Wno-long-long -pthread
|
||||
CDEFS += -DTRACING
|
||||
.ELIF "$(OS)" == "NETBSD" || "$(OS)" == "MACOSX"
|
||||
CFLAGS += -fPIC
|
||||
CFLAGSCXX += \
|
||||
-fno-rtti -Wconversion -Wpointer-arith \
|
||||
-Wcast-align -Woverloaded-virtual -Wsynth \
|
||||
-Wno-long-long -Wno-deprecated
|
||||
CDEFS += -DTRACING
|
||||
.ENDIF
|
||||
.ENDIF
|
||||
|
||||
SHL1TARGET_NAME=$(TARGET)$(MOZAB_MAJOR)
|
||||
|
||||
.ENDIF # MACOSX
|
||||
|
||||
# --- Targets ----------------------------------
|
||||
|
||||
.INCLUDE : target.mk
|
||||
|
@ -44,6 +44,7 @@
|
||||
#define STR_NO_TABLE_EDITOR_DIALOG ( STR_HSQLDB_BASE + 3 )
|
||||
#define STR_NO_TABLENAME ( STR_HSQLDB_BASE + 4 )
|
||||
#define STR_NO_DOCUMENTUI ( STR_HSQLDB_BASE + 5 )
|
||||
#define STR_ERROR_NEW_VERSION ( STR_HSQLDB_BASE + 6 )
|
||||
|
||||
#endif // CONNECTIVITY_RESOURCE_HSQLDB_HRC
|
||||
|
||||
|
@ -645,3 +645,8 @@ String STR_NO_DOCUMENTUI
|
||||
{
|
||||
Text [ en-US ] = "The provided DocumentUI is not allowed to be NULL.";
|
||||
};
|
||||
String STR_ERROR_NEW_VERSION
|
||||
{
|
||||
Text = "The connection could not be established. The database was created by a newer version of %PRODUCTNAME.";
|
||||
};
|
||||
|
||||
|
@ -21,7 +21,7 @@ dt desktop\os2\source\applauncher nmake - p dt_applauncher dt_inc NULL
|
||||
dt desktop\unx\source\officeloader nmake - u dt_officeloader_unx dt_inc NULL
|
||||
dt desktop\source\pagein nmake - u dt_pagein dt_inc NULL
|
||||
dt desktop\source\pkgchk\unopkg nmake - all dt_unopkg dt_dp_misc dt_app dt_inc dt_guiloader.w NULL
|
||||
dt desktop\source\deployment nmake - all dt_deployment dt_dp_manager dt_dp_registry dt_dp_registry_package dt_dp_registry_executable dt_dp_registry_help dt_dp_registry_script dt_dp_registry_sfwk dt_dp_registry_component dt_dp_registry_configuration dt_dp_migration dt_dp_unopkg dt_inc NULL
|
||||
dt desktop\source\deployment nmake - all dt_deployment dt_dp_manager dt_dp_registry dt_dp_registry_package dt_dp_registry_executable dt_dp_registry_help dt_dp_registry_script dt_dp_registry_sfwk dt_dp_registry_component dt_dp_registry_configuration dt_dp_migration dt_dp_unopkg dt_inc dt_dp_misc NULL
|
||||
dt desktop\source\deployment\misc nmake - all dt_dp_misc dt_inc NULL
|
||||
dt desktop\source\deployment\unopkg nmake - all dt_dp_unopkg dt_inc NULL
|
||||
dt desktop\source\deployment\migration nmake - all dt_dp_migration dt_inc NULL
|
||||
|
@ -1745,8 +1745,15 @@ sal_Bool Desktop::InitializeQuickstartMode( Reference< XMultiServiceFactory >& r
|
||||
aSeq[0] <<= bQuickstart;
|
||||
|
||||
// Try to instanciate quickstart service. This service is not mandatory, so
|
||||
// do nothing if service is not available.
|
||||
// do nothing if service is not available
|
||||
|
||||
// #i105753# the following if was invented for performance
|
||||
// unfortunately this broke the QUARTZ behavior which is to always run
|
||||
// in quickstart mode since Mac applications do not usually quit
|
||||
// when the last document closes
|
||||
#ifndef QUARTZ
|
||||
if ( bQuickstart )
|
||||
#endif
|
||||
{
|
||||
Reference < XComponent > xQuickstart( rSMgr->createInstanceWithArguments(
|
||||
DEFINE_CONST_UNICODE( "com.sun.star.office.Quickstart" ), aSeq ),
|
||||
|
@ -1141,7 +1141,7 @@ void ExtensionBox_Impl::checkEntries()
|
||||
//------------------------------------------------------------------------------
|
||||
bool ExtensionBox_Impl::isHCMode()
|
||||
{
|
||||
return (bool)GetDisplayBackground().GetColor().IsDark();
|
||||
return (bool)GetSettings().GetStyleSettings().GetHighContrastMode();
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
@ -284,8 +284,8 @@ private:
|
||||
css::uno::Reference< css::uno::XComponentContext > m_context;
|
||||
UpdateDialog & m_dialog;
|
||||
std::vector< dp_gui::TUpdateListEntry > m_vExtensionList;
|
||||
css::uno::Reference< css::deployment::XUpdateInformationProvider >
|
||||
m_updateInformation;
|
||||
css::uno::Reference< css::deployment::XUpdateInformationProvider > m_updateInformation;
|
||||
css::uno::Reference< css::task::XInteractionHandler > m_xInteractionHdl;
|
||||
|
||||
// guarded by Application::GetSolarMutex():
|
||||
css::uno::Reference< css::task::XAbortChannel > m_abort;
|
||||
@ -302,7 +302,21 @@ UpdateDialog::Thread::Thread(
|
||||
m_updateInformation(
|
||||
css::deployment::UpdateInformationProvider::create(context)),
|
||||
m_stop(false)
|
||||
{}
|
||||
{
|
||||
if( m_context.is() )
|
||||
{
|
||||
css::uno::Reference< css::lang::XMultiComponentFactory > xServiceManager( m_context->getServiceManager() );
|
||||
|
||||
if( xServiceManager.is() )
|
||||
{
|
||||
m_xInteractionHdl = css::uno::Reference< css::task::XInteractionHandler > (
|
||||
xServiceManager->createInstanceWithContext( OUSTR( "com.sun.star.task.InteractionHandler" ), m_context),
|
||||
css::uno::UNO_QUERY );
|
||||
if ( m_xInteractionHdl.is() )
|
||||
m_updateInformation->setInteractionHandler( m_xInteractionHdl );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateDialog::Thread::stop() {
|
||||
css::uno::Reference< css::task::XAbortChannel > abort;
|
||||
@ -327,7 +341,11 @@ UpdateDialog::Thread::Entry::Entry(
|
||||
version(theVersion)
|
||||
{}
|
||||
|
||||
UpdateDialog::Thread::~Thread() {}
|
||||
UpdateDialog::Thread::~Thread()
|
||||
{
|
||||
if ( m_xInteractionHdl.is() )
|
||||
m_updateInformation->setInteractionHandler( css::uno::Reference< css::task::XInteractionHandler > () );
|
||||
}
|
||||
|
||||
void UpdateDialog::Thread::execute()
|
||||
{
|
||||
@ -1260,7 +1278,7 @@ IMPL_LINK( UpdateDialog, hyperlink_clicked, svt::FixedHyperlink*, pHyperlink )
|
||||
{
|
||||
css::uno::Reference< css::system::XSystemShellExecute > xSystemShellExecute(
|
||||
m_context->getServiceManager()->createInstanceWithContext(
|
||||
::rtl::OUString::createFromAscii( "com.sun.star.system.SystemShellExecute" ),
|
||||
OUSTR( "com.sun.star.system.SystemShellExecute" ),
|
||||
m_context), css::uno::UNO_QUERY_THROW);
|
||||
//throws css::lang::IllegalArgumentException, css::system::SystemShellExecuteException
|
||||
xSystemShellExecute->execute(
|
||||
|
@ -215,7 +215,7 @@ LicenseDialogImpl::LicenseDialogImpl(
|
||||
|
||||
{
|
||||
|
||||
if (GetBackground().GetColor().IsDark())
|
||||
if (GetSettings().GetStyleSettings().GetHighContrastMode())
|
||||
{
|
||||
// high contrast mode needs other images
|
||||
m_fiArrow1.SetImage(Image(DpGuiResId(IMG_LICENCE_ARROW_HC)));
|
||||
|
@ -373,9 +373,11 @@ UserPage::UserPage( svt::OWizardMachine* parent, const ResId& resid)
|
||||
SvtUserOptions aUserOpt;
|
||||
m_edFirst.SetText(aUserOpt.GetFirstName());
|
||||
m_edLast.SetText(aUserOpt.GetLastName());
|
||||
#if 0
|
||||
rtl::OUString aUserName;
|
||||
vos::OSecurity().getUserName( aUserName );
|
||||
aUserOpt.SetID( aUserName );
|
||||
#endif
|
||||
|
||||
m_edInitials.SetText(aUserOpt.GetID());
|
||||
if (m_lang == LANGUAGE_RUSSIAN)
|
||||
|
@ -149,6 +149,13 @@ namespace drawinglayer
|
||||
/// On-demand prepared Viewport in discrete units for convenience
|
||||
const basegfx::B2DRange& getDiscreteViewport() const;
|
||||
|
||||
/** support reduced DisplayQuality, PropertyName is 'ReducedDisplayQuality'. This
|
||||
is used e.g. to allow to lower display quality for OverlayPrimitives and
|
||||
may lead to simpler decompositions in the local create2DDecomposition
|
||||
implementations of the primitives
|
||||
*/
|
||||
bool getReducedDisplayQuality() const;
|
||||
|
||||
/** Get the uno::Sequence< beans::PropertyValue > which contains all ViewInformation
|
||||
|
||||
Use this call if You need to extract all contained ViewInformation. The ones
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <drawinglayer/attribute/sdrattribute3d.hxx>
|
||||
#include <drawinglayer/geometry/viewinformation3d.hxx>
|
||||
#include <basegfx/matrix/b2dhommatrix.hxx>
|
||||
#include <vcl/bitmapex.hxx>
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -70,9 +71,13 @@ namespace drawinglayer
|
||||
double mfOldDiscreteSizeY;
|
||||
basegfx::B2DRange maOldUnitVisiblePart;
|
||||
|
||||
// the last created BitmapEx, e.g. for fast HitTest. This does not really need
|
||||
// memory since BitmapEx is internally RefCounted
|
||||
BitmapEx maOldRenderedBitmap;
|
||||
|
||||
// private helpers
|
||||
bool impGetShadow3D(const geometry::ViewInformation2D& rViewInformation) const;
|
||||
void calculateDsicreteSizes(
|
||||
void calculateDiscreteSizes(
|
||||
const geometry::ViewInformation2D& rViewInformation,
|
||||
basegfx::B2DRange& rDiscreteRange,
|
||||
basegfx::B2DRange& rVisibleDiscreteRange,
|
||||
@ -87,7 +92,18 @@ namespace drawinglayer
|
||||
// Geometry extractor. Shadow will be added as in createLocalDecomposition, but
|
||||
// the 3D content is not converted to a bitmap visualisation but to projected 2D gemetry. This
|
||||
// helper is useful e.g. for Contour extraction or HitTests.
|
||||
Primitive2DSequence getGeometry2D(const geometry::ViewInformation2D& rViewInformation) const;
|
||||
Primitive2DSequence getGeometry2D() const;
|
||||
Primitive2DSequence getShadow2D(const geometry::ViewInformation2D& rViewInformation) const;
|
||||
|
||||
// Fast HitTest which uses the last buffered BitmapEx from the last
|
||||
// rendered area if available. The return value describes if the check
|
||||
// could be done with the current information, so do NOT use o_rResult
|
||||
// when it returns false. o_rResult will be changed on return true and
|
||||
// then contains a definitive answer if content of this scene is hit or
|
||||
// not. On return false, it is normally necessary to use the geometric
|
||||
// HitTest (see CutFindProcessor usages). The given HitPoint
|
||||
// has to be in logic coordinates in scene's ObjectCoordinateSystem.
|
||||
bool tryToCheckLastVisualisationDirectHit(const basegfx::B2DPoint& rLogicHitPoint, bool& o_rResult) const;
|
||||
|
||||
// constructor/destructor
|
||||
ScenePrimitive2D(
|
||||
|
@ -43,6 +43,7 @@
|
||||
|
||||
namespace basegfx { class B2DPolygon; }
|
||||
namespace basegfx { class B2DPolyPolygon; }
|
||||
namespace drawinglayer { namespace primitive2d { class ScenePrimitive2D; }}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -80,6 +81,7 @@ namespace drawinglayer
|
||||
bool checkFillHitWithTolerance(
|
||||
const basegfx::B2DPolyPolygon& rPolyPolygon,
|
||||
double fDiscreteHitTolerance);
|
||||
void check3DHit(const primitive2d::ScenePrimitive2D& rCandidate);
|
||||
|
||||
public:
|
||||
HitTestProcessor2D(
|
||||
|
@ -97,7 +97,7 @@ namespace drawinglayer
|
||||
basegfx::B2DPolyPolygon maClipPolyPolygon;
|
||||
|
||||
// the target MetaFile
|
||||
GDIMetaFile& mrMetaFile;
|
||||
GDIMetaFile* mpMetaFile;
|
||||
|
||||
// do not allow embedding SvtGraphicFills into each other,
|
||||
// use a counter to prevent that
|
||||
|
@ -51,6 +51,7 @@ namespace drawinglayer { namespace primitive2d {
|
||||
class BitmapPrimitive2D;
|
||||
class FillBitmapPrimitive2D;
|
||||
class PolyPolygonGradientPrimitive2D;
|
||||
class PolyPolygonBitmapPrimitive2D;
|
||||
class PolyPolygonColorPrimitive2D;
|
||||
class MetafilePrimitive2D;
|
||||
class MaskPrimitive2D;
|
||||
@ -100,6 +101,7 @@ namespace drawinglayer
|
||||
void RenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate);
|
||||
void RenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapCandidate);
|
||||
void RenderPolyPolygonGradientPrimitive2D(const primitive2d::PolyPolygonGradientPrimitive2D& rPolygonCandidate);
|
||||
void RenderPolyPolygonBitmapPrimitive2D(const primitive2d::PolyPolygonBitmapPrimitive2D& rPolygonCandidate);
|
||||
void RenderPolyPolygonColorPrimitive2D(const primitive2d::PolyPolygonColorPrimitive2D& rPolygonCandidate);
|
||||
void RenderMetafilePrimitive2D(const primitive2d::MetafilePrimitive2D& rPolygonCandidate);
|
||||
void RenderMaskPrimitive2DPixel(const primitive2d::MaskPrimitive2D& rMaskCandidate);
|
||||
|
@ -0,0 +1,86 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: zbufferprocessor3d.hxx,v $
|
||||
*
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* last change: $Author: aw $ $Date: 2008-06-24 15:30:18 $
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#ifndef INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX
|
||||
#define INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX
|
||||
|
||||
#include <drawinglayer/processor3d/defaultprocessor3d.hxx>
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
namespace drawinglayer
|
||||
{
|
||||
namespace processor3d
|
||||
{
|
||||
class CutFindProcessor : public BaseProcessor3D
|
||||
{
|
||||
private:
|
||||
// the start and stop point for the cut vector
|
||||
basegfx::B3DPoint maFront;
|
||||
basegfx::B3DPoint maBack;
|
||||
|
||||
// the found cut points
|
||||
::std::vector< basegfx::B3DPoint > maResult;
|
||||
|
||||
// #i102956# the transformation change from TransformPrimitive3D processings
|
||||
// needs to be remembered to be able to transform found cuts to the
|
||||
// basic coordinate system the processor starts with
|
||||
basegfx::B3DHomMatrix maCombinedTransform;
|
||||
|
||||
// bitfield
|
||||
bool mbAnyHit : 1;
|
||||
|
||||
// as tooling, the process() implementation takes over API handling and calls this
|
||||
// virtual render method when the primitive implementation is BasePrimitive3D-based.
|
||||
virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate);
|
||||
|
||||
public:
|
||||
CutFindProcessor(const geometry::ViewInformation3D& rViewInformation,
|
||||
const basegfx::B3DPoint& rFront,
|
||||
const basegfx::B3DPoint& rBack,
|
||||
bool bAnyHit);
|
||||
|
||||
// data access
|
||||
const ::std::vector< basegfx::B3DPoint >& getCutPoints() const { return maResult; }
|
||||
bool getAnyHit() const { return mbAnyHit; }
|
||||
};
|
||||
} // end of namespace processor3d
|
||||
} // end of namespace drawinglayer
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#endif //INCLUDED_DRAWINGLAYER_PROCESSOR3D_CUTFINDPROCESSOR3D_HXX
|
||||
|
||||
// eof
|
@ -90,6 +90,8 @@ mkdir: %_DEST%\inc%_EXT%\drawinglayer\processor2d
|
||||
|
||||
mkdir: %_DEST%\inc%_EXT%\drawinglayer\processor3d
|
||||
..\inc\drawinglayer\processor3d\baseprocessor3d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor3d\baseprocessor3d.hxx
|
||||
..\inc\drawinglayer\processor3d\cutfindprocessor3d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor3d\cutfindprocessor3d.hxx
|
||||
..\inc\drawinglayer\processor3d\defaultprocessor3d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor3d\defaultprocessor3d.hxx
|
||||
..\inc\drawinglayer\processor3d\zbufferprocessor3d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor3d\zbufferprocessor3d.hxx
|
||||
..\inc\drawinglayer\processor3d\tbufferprocessor3d.hxx %_DEST%\inc%_EXT%\drawinglayer\processor3d\tbufferprocessor3d.hxx
|
||||
|
||||
|
@ -81,12 +81,18 @@ namespace drawinglayer
|
||||
basegfx::B2DRange maDiscreteViewport;
|
||||
|
||||
// the DrawPage which is target of visualisation. This is needed e.g. for
|
||||
// the view-dependent decomposition of PageNumber TextFields
|
||||
// the view-dependent decomposition of PageNumber TextFields.
|
||||
// This parameter is buffered here, but mainly resides in mxExtendedInformation,
|
||||
// so it will be interpreted, but held there. It will also not be added
|
||||
// to mxExtendedInformation in impFillViewInformationFromContent (it's there already)
|
||||
uno::Reference< drawing::XDrawPage > mxVisualizedPage;
|
||||
|
||||
// the point in time
|
||||
double mfViewTime;
|
||||
|
||||
// bitfield
|
||||
bool mbReducedDisplayQuality : 1;
|
||||
|
||||
// the complete PropertyValue representation (if already created)
|
||||
uno::Sequence< beans::PropertyValue > mxViewInformation;
|
||||
|
||||
@ -125,6 +131,12 @@ namespace drawinglayer
|
||||
return s_sNameProperty;
|
||||
}
|
||||
|
||||
const ::rtl::OUString& getNamePropertyReducedDisplayQuality()
|
||||
{
|
||||
static ::rtl::OUString s_sNameProperty(RTL_CONSTASCII_USTRINGPARAM("ReducedDisplayQuality"));
|
||||
return s_sNameProperty;
|
||||
}
|
||||
|
||||
void impInterpretPropertyValues(const uno::Sequence< beans::PropertyValue >& rViewParameters)
|
||||
{
|
||||
if(rViewParameters.hasElements())
|
||||
@ -139,7 +151,17 @@ namespace drawinglayer
|
||||
{
|
||||
const beans::PropertyValue& rProp = rViewParameters[a];
|
||||
|
||||
if(rProp.Name == getNamePropertyObjectTransformation())
|
||||
if(rProp.Name == getNamePropertyReducedDisplayQuality())
|
||||
{
|
||||
// extra information; add to filtered information
|
||||
mxExtendedInformation[nExtendedInsert++] = rProp;
|
||||
|
||||
// for performance reasons, also cache content locally
|
||||
sal_Bool bSalBool = sal_True;
|
||||
rProp.Value >>= bSalBool;
|
||||
mbReducedDisplayQuality = bSalBool;
|
||||
}
|
||||
else if(rProp.Name == getNamePropertyObjectTransformation())
|
||||
{
|
||||
com::sun::star::geometry::AffineMatrix2D aAffineMatrix2D;
|
||||
rProp.Value >>= aAffineMatrix2D;
|
||||
@ -185,6 +207,7 @@ namespace drawinglayer
|
||||
const bool bViewportUsed(!maViewport.isEmpty());
|
||||
const bool bTimeUsed(0.0 < mfViewTime);
|
||||
const bool bVisualizedPageUsed(mxVisualizedPage.is());
|
||||
const bool bReducedDisplayQualityUsed(true == mbReducedDisplayQuality);
|
||||
const bool bExtraInformation(mxExtendedInformation.hasElements());
|
||||
sal_uInt32 nIndex(0);
|
||||
const sal_uInt32 nCount(
|
||||
@ -193,6 +216,7 @@ namespace drawinglayer
|
||||
(bViewportUsed ? 1 : 0) +
|
||||
(bTimeUsed ? 1 : 0) +
|
||||
(bVisualizedPageUsed ? 1 : 0) +
|
||||
(bReducedDisplayQualityUsed ? 1 : 0) +
|
||||
(bExtraInformation ? mxExtendedInformation.getLength() : 0));
|
||||
|
||||
mxViewInformation.realloc(nCount);
|
||||
@ -265,6 +289,7 @@ namespace drawinglayer
|
||||
maDiscreteViewport(),
|
||||
mxVisualizedPage(rxDrawPage),
|
||||
mfViewTime(fViewTime),
|
||||
mbReducedDisplayQuality(false),
|
||||
mxViewInformation(),
|
||||
mxExtendedInformation()
|
||||
{
|
||||
@ -281,6 +306,7 @@ namespace drawinglayer
|
||||
maDiscreteViewport(),
|
||||
mxVisualizedPage(),
|
||||
mfViewTime(),
|
||||
mbReducedDisplayQuality(false),
|
||||
mxViewInformation(rViewParameters),
|
||||
mxExtendedInformation()
|
||||
{
|
||||
@ -355,6 +381,11 @@ namespace drawinglayer
|
||||
return mxVisualizedPage;
|
||||
}
|
||||
|
||||
bool getReducedDisplayQuality() const
|
||||
{
|
||||
return mbReducedDisplayQuality;
|
||||
}
|
||||
|
||||
const uno::Sequence< beans::PropertyValue >& getViewInformationSequence() const
|
||||
{
|
||||
if(!mxViewInformation.hasElements())
|
||||
@ -501,6 +532,11 @@ namespace drawinglayer
|
||||
return mpViewInformation2D->getDiscreteViewport();
|
||||
}
|
||||
|
||||
bool ViewInformation2D::getReducedDisplayQuality() const
|
||||
{
|
||||
return mpViewInformation2D->getReducedDisplayQuality();
|
||||
}
|
||||
|
||||
const uno::Sequence< beans::PropertyValue >& ViewInformation2D::getViewInformationSequence() const
|
||||
{
|
||||
return mpViewInformation2D->getViewInformationSequence();
|
||||
|
@ -100,7 +100,7 @@ namespace drawinglayer
|
||||
return maShadowPrimitives.hasElements();
|
||||
}
|
||||
|
||||
void ScenePrimitive2D::calculateDsicreteSizes(
|
||||
void ScenePrimitive2D::calculateDiscreteSizes(
|
||||
const geometry::ViewInformation2D& rViewInformation,
|
||||
basegfx::B2DRange& rDiscreteRange,
|
||||
basegfx::B2DRange& rVisibleDiscreteRange,
|
||||
@ -110,23 +110,12 @@ namespace drawinglayer
|
||||
rDiscreteRange = basegfx::B2DRange(0.0, 0.0, 1.0, 1.0);
|
||||
rDiscreteRange.transform(rViewInformation.getObjectToViewTransformation() * getObjectTransformation());
|
||||
|
||||
// force to discrete expanded bounds (it grows, so expanding works perfectly well)
|
||||
rDiscreteRange.expand(basegfx::B2DTuple(floor(rDiscreteRange.getMinX()), floor(rDiscreteRange.getMinY())));
|
||||
rDiscreteRange.expand(basegfx::B2DTuple(ceil(rDiscreteRange.getMaxX()), ceil(rDiscreteRange.getMaxY())));
|
||||
|
||||
// clip it against discrete Viewport (if set)
|
||||
rVisibleDiscreteRange = rDiscreteRange;
|
||||
|
||||
if(!rViewInformation.getViewport().isEmpty())
|
||||
{
|
||||
rVisibleDiscreteRange.intersect(rViewInformation.getDiscreteViewport());
|
||||
|
||||
if(!rVisibleDiscreteRange.isEmpty())
|
||||
{
|
||||
// force to discrete expanded bounds, too
|
||||
rVisibleDiscreteRange.expand(basegfx::B2DTuple(floor(rVisibleDiscreteRange.getMinX()), floor(rVisibleDiscreteRange.getMinY())));
|
||||
rVisibleDiscreteRange.expand(basegfx::B2DTuple(ceil(rVisibleDiscreteRange.getMaxX()), ceil(rVisibleDiscreteRange.getMaxY())));
|
||||
}
|
||||
}
|
||||
|
||||
if(rVisibleDiscreteRange.isEmpty())
|
||||
@ -177,11 +166,11 @@ namespace drawinglayer
|
||||
}
|
||||
}
|
||||
|
||||
// get the involved ranges (see helper method calculateDsicreteSizes for details)
|
||||
// get the involved ranges (see helper method calculateDiscreteSizes for details)
|
||||
basegfx::B2DRange aDiscreteRange;
|
||||
basegfx::B2DRange aVisibleDiscreteRange;
|
||||
basegfx::B2DRange aUnitVisibleRange;
|
||||
calculateDsicreteSizes(rViewInformation, aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
|
||||
calculateDiscreteSizes(rViewInformation, aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
|
||||
|
||||
if(!aVisibleDiscreteRange.isEmpty())
|
||||
{
|
||||
@ -200,6 +189,31 @@ namespace drawinglayer
|
||||
fViewSizeY *= fReduceFactor;
|
||||
}
|
||||
|
||||
if(rViewInformation.getReducedDisplayQuality())
|
||||
{
|
||||
// when reducing the visualisation is allowed (e.g. an OverlayObject
|
||||
// only needed for dragging), reduce resolution extra
|
||||
// to speed up dragging interactions
|
||||
const double fArea(fViewSizeX * fViewSizeY);
|
||||
double fReducedVisualisationFactor(1.0 / (sqrt(fArea) * (1.0 / 170.0)));
|
||||
|
||||
if(fReducedVisualisationFactor > 1.0)
|
||||
{
|
||||
fReducedVisualisationFactor = 1.0;
|
||||
}
|
||||
else if(fReducedVisualisationFactor < 0.20)
|
||||
{
|
||||
fReducedVisualisationFactor = 0.20;
|
||||
}
|
||||
|
||||
if(fReducedVisualisationFactor != 1.0)
|
||||
{
|
||||
fReduceFactor *= fReducedVisualisationFactor;
|
||||
fViewSizeX *= fReducedVisualisationFactor;
|
||||
fViewSizeY *= fReducedVisualisationFactor;
|
||||
}
|
||||
}
|
||||
|
||||
// calculate logic render size in world coordinates for usage in renderer
|
||||
basegfx::B2DVector aLogicRenderSize(
|
||||
aDiscreteRange.getWidth() * fReduceFactor,
|
||||
@ -207,9 +221,8 @@ namespace drawinglayer
|
||||
aLogicRenderSize *= rViewInformation.getInverseObjectToViewTransformation();
|
||||
|
||||
// determine the oversample value
|
||||
static bool bDoOversample(false);
|
||||
static sal_uInt16 nDefaultOversampleValue(3);
|
||||
const sal_uInt16 nOversampleValue((bDoOversample || aDrawinglayerOpt.IsAntiAliasing()) ? nDefaultOversampleValue : 0);
|
||||
const sal_uInt16 nOversampleValue(aDrawinglayerOpt.IsAntiAliasing() ? nDefaultOversampleValue : 0);
|
||||
|
||||
// use default 3D primitive processor to create BitmapEx for aUnitVisiblePart and process
|
||||
processor3d::ZBufferProcessor3D aZBufferProcessor3D(
|
||||
@ -224,18 +237,16 @@ namespace drawinglayer
|
||||
|
||||
aZBufferProcessor3D.processNonTransparent(getChildren3D());
|
||||
aZBufferProcessor3D.processTransparent(getChildren3D());
|
||||
const BitmapEx aNewBitmap(aZBufferProcessor3D.getBitmapEx());
|
||||
const Size aBitmapSizePixel(aNewBitmap.GetSizePixel());
|
||||
const_cast< ScenePrimitive2D* >(this)->maOldRenderedBitmap = aZBufferProcessor3D.getBitmapEx();
|
||||
const Size aBitmapSizePixel(maOldRenderedBitmap.GetSizePixel());
|
||||
|
||||
if(aBitmapSizePixel.getWidth() && aBitmapSizePixel.getHeight())
|
||||
{
|
||||
// create transform for the created bitmap in discrete coordinates first.
|
||||
// #i97772# Do not forget to apply evtl. render size reduction to scaling
|
||||
basegfx::B2DHomMatrix aNew2DTransform;
|
||||
const double fSizeReductionFactor(1.0 / fReduceFactor);
|
||||
|
||||
aNew2DTransform.set(0, 0, (double)(aBitmapSizePixel.getWidth() - 1) * fSizeReductionFactor);
|
||||
aNew2DTransform.set(1, 1, (double)(aBitmapSizePixel.getHeight() - 1) * fSizeReductionFactor);
|
||||
aNew2DTransform.set(0, 0, aVisibleDiscreteRange.getWidth());
|
||||
aNew2DTransform.set(1, 1, aVisibleDiscreteRange.getHeight());
|
||||
aNew2DTransform.set(0, 2, aVisibleDiscreteRange.getMinX());
|
||||
aNew2DTransform.set(1, 2, aVisibleDiscreteRange.getMinY());
|
||||
|
||||
@ -243,7 +254,7 @@ namespace drawinglayer
|
||||
aNew2DTransform *= rViewInformation.getInverseObjectToViewTransformation();
|
||||
|
||||
// create bitmap primitive and add
|
||||
const Primitive2DReference xRef(new BitmapPrimitive2D(aNewBitmap, aNew2DTransform));
|
||||
const Primitive2DReference xRef(new BitmapPrimitive2D(maOldRenderedBitmap, aNew2DTransform));
|
||||
appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, xRef);
|
||||
|
||||
// test: Allow to add an outline in the debugger when tests are needed
|
||||
@ -262,17 +273,10 @@ namespace drawinglayer
|
||||
return aRetval;
|
||||
}
|
||||
|
||||
Primitive2DSequence ScenePrimitive2D::getGeometry2D(const geometry::ViewInformation2D& rViewInformation) const
|
||||
Primitive2DSequence ScenePrimitive2D::getGeometry2D() const
|
||||
{
|
||||
Primitive2DSequence aRetval;
|
||||
|
||||
// create 2D shadows from contained 3D primitives
|
||||
if(impGetShadow3D(rViewInformation))
|
||||
{
|
||||
// add extracted 2d shadows (before 3d scene creations itself)
|
||||
aRetval = maShadowPrimitives;
|
||||
}
|
||||
|
||||
// create 2D projected geometry from 3D geometry
|
||||
if(getChildren3D().hasElements())
|
||||
{
|
||||
@ -284,14 +288,68 @@ namespace drawinglayer
|
||||
// process local primitives
|
||||
aGeometryProcessor.process(getChildren3D());
|
||||
|
||||
// fetch result and append
|
||||
Primitive2DSequence a2DExtractedPrimitives(aGeometryProcessor.getPrimitive2DSequence());
|
||||
appendPrimitive2DSequenceToPrimitive2DSequence(aRetval, a2DExtractedPrimitives);
|
||||
// fetch result
|
||||
aRetval = aGeometryProcessor.getPrimitive2DSequence();
|
||||
}
|
||||
|
||||
return aRetval;
|
||||
}
|
||||
|
||||
Primitive2DSequence ScenePrimitive2D::getShadow2D(const geometry::ViewInformation2D& rViewInformation) const
|
||||
{
|
||||
Primitive2DSequence aRetval;
|
||||
|
||||
// create 2D shadows from contained 3D primitives
|
||||
if(impGetShadow3D(rViewInformation))
|
||||
{
|
||||
// add extracted 2d shadows (before 3d scene creations itself)
|
||||
aRetval = maShadowPrimitives;
|
||||
}
|
||||
|
||||
return aRetval;
|
||||
}
|
||||
|
||||
bool ScenePrimitive2D::tryToCheckLastVisualisationDirectHit(const basegfx::B2DPoint& rLogicHitPoint, bool& o_rResult) const
|
||||
{
|
||||
if(!maOldRenderedBitmap.IsEmpty() && !maOldUnitVisiblePart.isEmpty())
|
||||
{
|
||||
basegfx::B2DHomMatrix aInverseSceneTransform(getObjectTransformation());
|
||||
aInverseSceneTransform.invert();
|
||||
const basegfx::B2DPoint aRelativePoint(aInverseSceneTransform * rLogicHitPoint);
|
||||
|
||||
if(maOldUnitVisiblePart.isInside(aRelativePoint))
|
||||
{
|
||||
// calculate coordinates relative to visualized part
|
||||
double fDivisorX(maOldUnitVisiblePart.getWidth());
|
||||
double fDivisorY(maOldUnitVisiblePart.getHeight());
|
||||
|
||||
if(basegfx::fTools::equalZero(fDivisorX))
|
||||
{
|
||||
fDivisorX = 1.0;
|
||||
}
|
||||
|
||||
if(basegfx::fTools::equalZero(fDivisorY))
|
||||
{
|
||||
fDivisorY = 1.0;
|
||||
}
|
||||
|
||||
const double fRelativeX((aRelativePoint.getX() - maOldUnitVisiblePart.getMinX()) / fDivisorX);
|
||||
const double fRelativeY((aRelativePoint.getY() - maOldUnitVisiblePart.getMinY()) / fDivisorY);
|
||||
|
||||
// combine with real BitmapSizePixel to get bitmap coordinates
|
||||
const Size aBitmapSizePixel(maOldRenderedBitmap.GetSizePixel());
|
||||
const sal_Int32 nX(basegfx::fround(fRelativeX * aBitmapSizePixel.Width()));
|
||||
const sal_Int32 nY(basegfx::fround(fRelativeY * aBitmapSizePixel.Height()));
|
||||
|
||||
// try to get a statement about transparency in that pixel
|
||||
o_rResult = (0xff != maOldRenderedBitmap.GetTransparency(nX, nY));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
ScenePrimitive2D::ScenePrimitive2D(
|
||||
const primitive3d::Primitive3DSequence& rxChildren3D,
|
||||
const attribute::SdrSceneAttribute& rSdrSceneAttribute,
|
||||
@ -308,7 +366,8 @@ namespace drawinglayer
|
||||
mbShadow3DChecked(false),
|
||||
mfOldDiscreteSizeX(0.0),
|
||||
mfOldDiscreteSizeY(0.0),
|
||||
maOldUnitVisiblePart()
|
||||
maOldUnitVisiblePart(),
|
||||
maOldRenderedBitmap()
|
||||
{
|
||||
}
|
||||
|
||||
@ -359,7 +418,7 @@ namespace drawinglayer
|
||||
{
|
||||
::osl::MutexGuard aGuard( m_aMutex );
|
||||
|
||||
// get the involved ranges (see helper method calculateDsicreteSizes for details)
|
||||
// get the involved ranges (see helper method calculateDiscreteSizes for details)
|
||||
basegfx::B2DRange aDiscreteRange;
|
||||
basegfx::B2DRange aUnitVisibleRange;
|
||||
bool bNeedNewDecomposition(false);
|
||||
@ -368,21 +427,22 @@ namespace drawinglayer
|
||||
if(getLocalDecomposition().hasElements())
|
||||
{
|
||||
basegfx::B2DRange aVisibleDiscreteRange;
|
||||
calculateDsicreteSizes(rViewInformation, aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
|
||||
calculateDiscreteSizes(rViewInformation, aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
|
||||
bDiscreteSizesAreCalculated = true;
|
||||
|
||||
// display has changed and cannot be reused when resolution did change
|
||||
if(!basegfx::fTools::equal(aDiscreteRange.getWidth(), mfOldDiscreteSizeX) ||
|
||||
!basegfx::fTools::equal(aDiscreteRange.getHeight(), mfOldDiscreteSizeY))
|
||||
// needs to be painted when the new part is not part of the last
|
||||
// decomposition
|
||||
if(!maOldUnitVisiblePart.isInside(aUnitVisibleRange))
|
||||
{
|
||||
bNeedNewDecomposition = true;
|
||||
}
|
||||
|
||||
// display has changed and cannot be reused when resolution got bigger. It
|
||||
// can be reused when resolution got smaller, though.
|
||||
if(!bNeedNewDecomposition)
|
||||
{
|
||||
// needs to be painted when the new part is not part of the last
|
||||
// decomposition
|
||||
if(!maOldUnitVisiblePart.isInside(aUnitVisibleRange))
|
||||
if(basegfx::fTools::more(aDiscreteRange.getWidth(), mfOldDiscreteSizeX) ||
|
||||
basegfx::fTools::more(aDiscreteRange.getHeight(), mfOldDiscreteSizeY))
|
||||
{
|
||||
bNeedNewDecomposition = true;
|
||||
}
|
||||
@ -400,7 +460,7 @@ namespace drawinglayer
|
||||
if(!bDiscreteSizesAreCalculated)
|
||||
{
|
||||
basegfx::B2DRange aVisibleDiscreteRange;
|
||||
calculateDsicreteSizes(rViewInformation, aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
|
||||
calculateDiscreteSizes(rViewInformation, aDiscreteRange, aVisibleDiscreteRange, aUnitVisibleRange);
|
||||
}
|
||||
|
||||
// remember last used NewDiscreteSize and NewUnitVisiblePart
|
||||
|
@ -162,7 +162,8 @@ namespace drawinglayer
|
||||
{
|
||||
// 2D Scene primitive containing 3D stuff; extract 2D contour in world coordinates
|
||||
const primitive2d::ScenePrimitive2D& rScenePrimitive2DCandidate(static_cast< const primitive2d::ScenePrimitive2D& >(rCandidate));
|
||||
const primitive2d::Primitive2DSequence xExtracted2DSceneGeometry(rScenePrimitive2DCandidate.getGeometry2D(getViewInformation2D()));
|
||||
const primitive2d::Primitive2DSequence xExtracted2DSceneGeometry(rScenePrimitive2DCandidate.getGeometry2D());
|
||||
const primitive2d::Primitive2DSequence xExtracted2DSceneShadow(rScenePrimitive2DCandidate.getShadow2D(getViewInformation2D()));
|
||||
|
||||
// proccess content
|
||||
if(xExtracted2DSceneGeometry.hasElements())
|
||||
@ -170,6 +171,12 @@ namespace drawinglayer
|
||||
process(xExtracted2DSceneGeometry);
|
||||
}
|
||||
|
||||
// proccess content
|
||||
if(xExtracted2DSceneShadow.hasElements())
|
||||
{
|
||||
process(xExtracted2DSceneShadow);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE2D_ID_WRONGSPELLPRIMITIVE2D :
|
||||
|
@ -48,6 +48,8 @@
|
||||
#include <drawinglayer/primitive2d/sceneprimitive2d.hxx>
|
||||
#include <drawinglayer/primitive2d/hittestprimitive2d.hxx>
|
||||
#include <drawinglayer/primitive2d/pointarrayprimitive2d.hxx>
|
||||
#include <basegfx/matrix/b3dhommatrix.hxx>
|
||||
#include <drawinglayer/processor3d/cutfindprocessor3d.hxx>
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -164,6 +166,121 @@ namespace drawinglayer
|
||||
return bRetval;
|
||||
}
|
||||
|
||||
void HitTestProcessor2D::check3DHit(const primitive2d::ScenePrimitive2D& rCandidate)
|
||||
{
|
||||
// calculate relative point in unified 2D scene
|
||||
const basegfx::B2DPoint aLogicHitPosition(getViewInformation2D().getInverseObjectToViewTransformation() * getDiscreteHitPosition());
|
||||
|
||||
// use bitmap check in ScenePrimitive2D
|
||||
bool bTryFastResult(false);
|
||||
|
||||
if(rCandidate.tryToCheckLastVisualisationDirectHit(aLogicHitPosition, bTryFastResult))
|
||||
{
|
||||
mbHit = bTryFastResult;
|
||||
}
|
||||
else
|
||||
{
|
||||
basegfx::B2DHomMatrix aInverseSceneTransform(rCandidate.getObjectTransformation());
|
||||
aInverseSceneTransform.invert();
|
||||
const basegfx::B2DPoint aRelativePoint(aInverseSceneTransform * aLogicHitPosition);
|
||||
|
||||
// check if test point is inside scene's unified area at all
|
||||
if(aRelativePoint.getX() >= 0.0 && aRelativePoint.getX() <= 1.0
|
||||
&& aRelativePoint.getY() >= 0.0 && aRelativePoint.getY() <= 1.0)
|
||||
{
|
||||
// get 3D view information
|
||||
const geometry::ViewInformation3D& rObjectViewInformation3D = rCandidate.getViewInformation3D();
|
||||
|
||||
// create HitPoint Front and Back, transform to object coordinates
|
||||
basegfx::B3DHomMatrix aViewToObject(rObjectViewInformation3D.getObjectToView());
|
||||
aViewToObject.invert();
|
||||
const basegfx::B3DPoint aFront(aViewToObject * basegfx::B3DPoint(aRelativePoint.getX(), aRelativePoint.getY(), 0.0));
|
||||
const basegfx::B3DPoint aBack(aViewToObject * basegfx::B3DPoint(aRelativePoint.getX(), aRelativePoint.getY(), 1.0));
|
||||
|
||||
if(!aFront.equal(aBack))
|
||||
{
|
||||
const primitive3d::Primitive3DSequence& rPrimitives = rCandidate.getChildren3D();
|
||||
|
||||
if(rPrimitives.hasElements())
|
||||
{
|
||||
// make BoundVolume empty and overlapping test for speedup
|
||||
const basegfx::B3DRange aObjectRange(
|
||||
drawinglayer::primitive3d::getB3DRangeFromPrimitive3DSequence(
|
||||
rPrimitives, rObjectViewInformation3D));
|
||||
|
||||
if(!aObjectRange.isEmpty())
|
||||
{
|
||||
const basegfx::B3DRange aFrontBackRange(aFront, aBack);
|
||||
|
||||
if(aObjectRange.overlaps(aFrontBackRange))
|
||||
{
|
||||
// bound volumes hit, geometric cut tests needed
|
||||
drawinglayer::processor3d::CutFindProcessor aCutFindProcessor(
|
||||
rObjectViewInformation3D,
|
||||
aFront,
|
||||
aBack,
|
||||
true);
|
||||
aCutFindProcessor.process(rPrimitives);
|
||||
|
||||
mbHit = (0 != aCutFindProcessor.getCutPoints().size());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This is needed to check hit with 3D shadows, too. HitTest is without shadow
|
||||
// to keep compatible with previous versions. Keeping here as reference
|
||||
//
|
||||
// if(!getHit())
|
||||
// {
|
||||
// // if scene has shadow, check hit with shadow, too
|
||||
// const primitive2d::Primitive2DSequence xExtracted2DSceneShadow(rCandidate.getShadow2D(getViewInformation2D()));
|
||||
//
|
||||
// if(xExtracted2DSceneShadow.hasElements())
|
||||
// {
|
||||
// // proccess extracted 2D content
|
||||
// process(xExtracted2DSceneShadow);
|
||||
// }
|
||||
// }
|
||||
|
||||
if(!getHit())
|
||||
{
|
||||
// empty 3D scene; Check for border hit
|
||||
basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(basegfx::B2DRange(0.0, 0.0, 1.0, 1.0)));
|
||||
aOutline.transform(rCandidate.getObjectTransformation());
|
||||
|
||||
mbHit = checkHairlineHitWithTolerance(aOutline, getDiscreteHitTolerance());
|
||||
}
|
||||
|
||||
// This is what the previous version did. Keeping it here for reference
|
||||
//
|
||||
// // 2D Scene primitive containing 3D stuff; extract 2D contour in world coordinates
|
||||
// // This may be refined later to an own 3D HitTest renderer which processes the 3D
|
||||
// // geometry directly
|
||||
// const primitive2d::ScenePrimitive2D& rScenePrimitive2DCandidate(static_cast< const primitive2d::ScenePrimitive2D& >(rCandidate));
|
||||
// const primitive2d::Primitive2DSequence xExtracted2DSceneGeometry(rScenePrimitive2DCandidate.getGeometry2D());
|
||||
// const primitive2d::Primitive2DSequence xExtracted2DSceneShadow(rScenePrimitive2DCandidate.getShadow2D(getViewInformation2D()));
|
||||
//
|
||||
// if(xExtracted2DSceneGeometry.hasElements() || xExtracted2DSceneShadow.hasElements())
|
||||
// {
|
||||
// // proccess extracted 2D content
|
||||
// process(xExtracted2DSceneGeometry);
|
||||
// process(xExtracted2DSceneShadow);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // empty 3D scene; Check for border hit
|
||||
// const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
|
||||
// if(!aRange.isEmpty())
|
||||
// {
|
||||
// const basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(aRange));
|
||||
// mbHit = checkHairlineHitWithTolerance(aOutline, getDiscreteHitTolerance());
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
void HitTestProcessor2D::processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate)
|
||||
{
|
||||
if(getHit())
|
||||
@ -334,25 +451,8 @@ namespace drawinglayer
|
||||
{
|
||||
if(!getHitTextOnly())
|
||||
{
|
||||
// 2D Scene primitive containing 3D stuff; extract 2D contour in world coordinates
|
||||
// This may be refined later to an own 3D HitTest renderer which processes the 3D
|
||||
// geometry directly
|
||||
const primitive2d::ScenePrimitive2D& rScenePrimitive2DCandidate(static_cast< const primitive2d::ScenePrimitive2D& >(rCandidate));
|
||||
const primitive2d::Primitive2DSequence xExtracted2DSceneGeometry(rScenePrimitive2DCandidate.getGeometry2D(getViewInformation2D()));
|
||||
|
||||
if(xExtracted2DSceneGeometry.hasElements())
|
||||
{
|
||||
// proccess extracted 2D content
|
||||
process(xExtracted2DSceneGeometry);
|
||||
}
|
||||
else
|
||||
{
|
||||
// empty 3D scene; Check for border hit
|
||||
const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
|
||||
basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(aRange));
|
||||
|
||||
mbHit = checkHairlineHitWithTolerance(aOutline, getDiscreteHitTolerance());
|
||||
}
|
||||
const primitive2d::ScenePrimitive2D& rSceneCandidate(static_cast< const primitive2d::ScenePrimitive2D& >(rCandidate));
|
||||
check3DHit(rSceneCandidate);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -365,14 +465,23 @@ namespace drawinglayer
|
||||
// ignorable primitives
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE2D_ID_SHADOWPRIMITIVE2D :
|
||||
{
|
||||
// Ignore shadows; we do not want to have shadows hittable.
|
||||
// Remove this one to make shadows hittable on demand.
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE2D_ID_TEXTSIMPLEPORTIONPRIMITIVE2D :
|
||||
case PRIMITIVE2D_ID_TEXTDECORATEDPORTIONPRIMITIVE2D :
|
||||
{
|
||||
// for text use the BoundRect of the primitive itself
|
||||
const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
|
||||
basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(aRange));
|
||||
|
||||
if(!aRange.isEmpty())
|
||||
{
|
||||
const basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(aRange));
|
||||
mbHit = checkFillHitWithTolerance(basegfx::B2DPolyPolygon(aOutline), getDiscreteHitTolerance());
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
@ -392,10 +501,13 @@ namespace drawinglayer
|
||||
// - For Bitamps, the mask and/or alpha information may be used
|
||||
// - For MetaFiles, the MetaFile content may be used
|
||||
const basegfx::B2DRange aRange(rCandidate.getB2DRange(getViewInformation2D()));
|
||||
basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(aRange));
|
||||
|
||||
if(!aRange.isEmpty())
|
||||
{
|
||||
const basegfx::B2DPolygon aOutline(basegfx::tools::createPolygonFromRect(aRange));
|
||||
mbHit = checkFillHitWithTolerance(basegfx::B2DPolyPolygon(aOutline), getDiscreteHitTolerance());
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -113,6 +113,7 @@ namespace drawinglayer
|
||||
{
|
||||
// Prepare VDev, MetaFile and connections
|
||||
OutputDevice* pLastOutputDevice = mpOutputDevice;
|
||||
GDIMetaFile* pLastMetafile = mpMetaFile;
|
||||
basegfx::B2DRange aPrimitiveRange(primitive2d::getB2DRangeFromPrimitive2DSequence(rContent, getViewInformation2D()));
|
||||
|
||||
// transform primitive range with current transformation (e.g shadow offset)
|
||||
@ -125,6 +126,7 @@ namespace drawinglayer
|
||||
MapMode aNewMapMode(pLastOutputDevice->GetMapMode());
|
||||
|
||||
mpOutputDevice = &aContentVDev;
|
||||
mpMetaFile = &o_rContentMetafile;
|
||||
aContentVDev.EnableOutput(false);
|
||||
aContentVDev.SetMapMode(pLastOutputDevice->GetMapMode());
|
||||
o_rContentMetafile.Record(&aContentVDev);
|
||||
@ -145,6 +147,7 @@ namespace drawinglayer
|
||||
o_rContentMetafile.SetPrefMapMode(aNewMapMode);
|
||||
o_rContentMetafile.SetPrefSize(aPrimitiveRectangle.GetSize());
|
||||
mpOutputDevice = pLastOutputDevice;
|
||||
mpMetaFile = pLastMetafile;
|
||||
|
||||
return aPrimitiveRectangle;
|
||||
}
|
||||
@ -219,7 +222,7 @@ namespace drawinglayer
|
||||
SvMemoryStream aMemStm;
|
||||
|
||||
aMemStm << *pSvtGraphicFill;
|
||||
mrMetaFile.AddAction(new MetaCommentAction("XPATHFILL_SEQ_BEGIN", 0, static_cast< const BYTE* >(aMemStm.GetData()), aMemStm.Seek(STREAM_SEEK_TO_END)));
|
||||
mpMetaFile->AddAction(new MetaCommentAction("XPATHFILL_SEQ_BEGIN", 0, static_cast< const BYTE* >(aMemStm.GetData()), aMemStm.Seek(STREAM_SEEK_TO_END)));
|
||||
mnSvtGraphicFillCount++;
|
||||
}
|
||||
}
|
||||
@ -229,7 +232,7 @@ namespace drawinglayer
|
||||
if(pSvtGraphicFill && mnSvtGraphicFillCount)
|
||||
{
|
||||
mnSvtGraphicFillCount--;
|
||||
mrMetaFile.AddAction(new MetaCommentAction("XPATHFILL_SEQ_END"));
|
||||
mpMetaFile->AddAction(new MetaCommentAction("XPATHFILL_SEQ_END"));
|
||||
delete pSvtGraphicFill;
|
||||
}
|
||||
}
|
||||
@ -372,7 +375,7 @@ namespace drawinglayer
|
||||
SvMemoryStream aMemStm;
|
||||
|
||||
aMemStm << *pSvtGraphicStroke;
|
||||
mrMetaFile.AddAction(new MetaCommentAction("XPATHSTROKE_SEQ_BEGIN", 0, static_cast< const BYTE* >(aMemStm.GetData()), aMemStm.Seek(STREAM_SEEK_TO_END)));
|
||||
mpMetaFile->AddAction(new MetaCommentAction("XPATHSTROKE_SEQ_BEGIN", 0, static_cast< const BYTE* >(aMemStm.GetData()), aMemStm.Seek(STREAM_SEEK_TO_END)));
|
||||
mnSvtGraphicStrokeCount++;
|
||||
}
|
||||
}
|
||||
@ -382,7 +385,7 @@ namespace drawinglayer
|
||||
if(pSvtGraphicStroke && mnSvtGraphicStrokeCount)
|
||||
{
|
||||
mnSvtGraphicStrokeCount--;
|
||||
mrMetaFile.AddAction(new MetaCommentAction("XPATHSTROKE_SEQ_END"));
|
||||
mpMetaFile->AddAction(new MetaCommentAction("XPATHSTROKE_SEQ_END"));
|
||||
delete pSvtGraphicStroke;
|
||||
}
|
||||
}
|
||||
@ -392,7 +395,7 @@ namespace drawinglayer
|
||||
|
||||
VclMetafileProcessor2D::VclMetafileProcessor2D(const geometry::ViewInformation2D& rViewInformation, OutputDevice& rOutDev)
|
||||
: VclProcessor2D(rViewInformation, rOutDev),
|
||||
mrMetaFile(*rOutDev.GetConnectMetaFile()),
|
||||
mpMetaFile(rOutDev.GetConnectMetaFile()),
|
||||
mnSvtGraphicFillCount(0),
|
||||
mnSvtGraphicStrokeCount(0),
|
||||
mfCurrentUnifiedTransparence(0.0),
|
||||
@ -816,19 +819,19 @@ namespace drawinglayer
|
||||
{
|
||||
default : // case drawinglayer::primitive2d::FIELD_TYPE_COMMON :
|
||||
{
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringCommon));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringCommon));
|
||||
break;
|
||||
}
|
||||
case drawinglayer::primitive2d::FIELD_TYPE_PAGE :
|
||||
{
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringPage));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringPage));
|
||||
break;
|
||||
}
|
||||
case drawinglayer::primitive2d::FIELD_TYPE_URL :
|
||||
{
|
||||
const rtl::OUString& rURL = rFieldPrimitive.getString();
|
||||
const String aOldString(rURL);
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringCommon, 0, reinterpret_cast< const BYTE* >(aOldString.GetBuffer()), 2 * aOldString.Len()));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringCommon, 0, reinterpret_cast< const BYTE* >(aOldString.GetBuffer()), 2 * aOldString.Len()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -838,7 +841,7 @@ namespace drawinglayer
|
||||
process(rContent);
|
||||
|
||||
// for the end comment the type is not relevant yet, they are all the same. Just add.
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringEnd));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringEnd));
|
||||
|
||||
if(mpPDFExtOutDevData && drawinglayer::primitive2d::FIELD_TYPE_URL == rFieldPrimitive.getType())
|
||||
{
|
||||
@ -863,7 +866,7 @@ namespace drawinglayer
|
||||
|
||||
// process recursively and add MetaFile comment
|
||||
process(rLinePrimitive.get2DDecomposition(getViewInformation2D()));
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentString));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentString));
|
||||
|
||||
break;
|
||||
}
|
||||
@ -876,7 +879,7 @@ namespace drawinglayer
|
||||
|
||||
// process recursively and add MetaFile comment
|
||||
process(rBulletPrimitive.get2DDecomposition(getViewInformation2D()));
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentString));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentString));
|
||||
|
||||
break;
|
||||
}
|
||||
@ -893,7 +896,7 @@ namespace drawinglayer
|
||||
|
||||
// process recursively and add MetaFile comment
|
||||
process(rParagraphPrimitive.get2DDecomposition(getViewInformation2D()));
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentString));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentString));
|
||||
|
||||
if(mpPDFExtOutDevData)
|
||||
{
|
||||
@ -910,9 +913,9 @@ namespace drawinglayer
|
||||
static const ByteString aCommentStringB("XTEXT_PAINTSHAPE_END");
|
||||
|
||||
// add MetaFile comment, process recursively and add MetaFile comment
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringA));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringA));
|
||||
process(rBlockPrimitive.get2DDecomposition(getViewInformation2D()));
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringB));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringB));
|
||||
|
||||
break;
|
||||
}
|
||||
@ -965,17 +968,17 @@ namespace drawinglayer
|
||||
// create the entries for the respective break positions
|
||||
if(i == nNextCellBreak)
|
||||
{
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringA, i - nTextPosition));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringA, i - nTextPosition));
|
||||
nNextCellBreak = mxBreakIterator->nextCharacters(rTxt, i, rLocale, ::com::sun::star::i18n::CharacterIteratorMode::SKIPCELL, 1, nDone);
|
||||
}
|
||||
if(i == nNextWordBoundary.endPos)
|
||||
{
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringB, i - nTextPosition));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringB, i - nTextPosition));
|
||||
nNextWordBoundary = mxBreakIterator->getWordBoundary(rTxt, i + 1, rLocale, ::com::sun::star::i18n::WordType::ANY_WORD, sal_True);
|
||||
}
|
||||
if(i == nNextSentenceBreak)
|
||||
{
|
||||
mrMetaFile.AddAction(new MetaCommentAction(aCommentStringC, i - nTextPosition));
|
||||
mpMetaFile->AddAction(new MetaCommentAction(aCommentStringC, i - nTextPosition));
|
||||
nNextSentenceBreak = mxBreakIterator->endOfSentence(rTxt, i + 1, rLocale);
|
||||
}
|
||||
}
|
||||
@ -1057,7 +1060,7 @@ namespace drawinglayer
|
||||
{
|
||||
const Polygon aToolsPolygon(aCandidate);
|
||||
|
||||
mrMetaFile.AddAction(new MetaPolyLineAction(aToolsPolygon, aLineInfo));
|
||||
mpMetaFile->AddAction(new MetaPolyLineAction(aToolsPolygon, aLineInfo));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1500,7 +1503,10 @@ namespace drawinglayer
|
||||
// svae old mfCurrentUnifiedTransparence and set new one
|
||||
// so that contained SvtGraphicStroke may use the current one
|
||||
const double fLastCurrentUnifiedTransparence(mfCurrentUnifiedTransparence);
|
||||
mfCurrentUnifiedTransparence = rUniAlphaCandidate.getAlpha();
|
||||
// #i105377# paint the content metafile opaque as the transparency gets
|
||||
// split of into the gradient below
|
||||
// mfCurrentUnifiedTransparence = rUniAlphaCandidate.getAlpha();
|
||||
mfCurrentUnifiedTransparence = 0;
|
||||
|
||||
// various content, create content-metafile
|
||||
GDIMetaFile aContentMetafile;
|
||||
|
@ -218,6 +218,12 @@ namespace drawinglayer
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE2D_ID_POLYPOLYGONBITMAPPRIMITIVE2D :
|
||||
{
|
||||
// direct draw of bitmap
|
||||
RenderPolyPolygonBitmapPrimitive2D(static_cast< const primitive2d::PolyPolygonBitmapPrimitive2D& >(rCandidate));
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D :
|
||||
{
|
||||
// direct draw of PolyPolygon with color
|
||||
|
@ -565,6 +565,98 @@ namespace drawinglayer
|
||||
}
|
||||
}
|
||||
|
||||
// direct draw of bitmap
|
||||
void VclProcessor2D::RenderPolyPolygonBitmapPrimitive2D(const primitive2d::PolyPolygonBitmapPrimitive2D& rPolygonCandidate)
|
||||
{
|
||||
bool bDone(false);
|
||||
const basegfx::B2DPolyPolygon& rPolyPolygon = rPolygonCandidate.getB2DPolyPolygon();
|
||||
|
||||
if(rPolyPolygon.count())
|
||||
{
|
||||
const attribute::FillBitmapAttribute& rFillBitmapAttribute = rPolygonCandidate.getFillBitmap();
|
||||
const Bitmap& rBitmap = rFillBitmapAttribute.getBitmap();
|
||||
|
||||
if(rBitmap.IsEmpty())
|
||||
{
|
||||
// empty bitmap, done
|
||||
bDone = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// try to catch cases where the bitmap will be color-modified to a single
|
||||
// color (e.g. shadow). This would NOT be optimizable with an alpha channel
|
||||
// at the Bitmap which we do not have here. When this should change, this
|
||||
// optimization has to be reworked accordingly.
|
||||
const sal_uInt32 nBColorModifierStackCount(maBColorModifierStack.count());
|
||||
|
||||
if(nBColorModifierStackCount)
|
||||
{
|
||||
const basegfx::BColorModifier& rTopmostModifier = maBColorModifierStack.getBColorModifier(nBColorModifierStackCount - 1);
|
||||
|
||||
if(basegfx::BCOLORMODIFYMODE_REPLACE == rTopmostModifier.getMode())
|
||||
{
|
||||
// the bitmap fill is in unified color, so we can replace it with
|
||||
// a single polygon fill. The form of the fill depends on tiling
|
||||
if(rFillBitmapAttribute.getTiling())
|
||||
{
|
||||
// with tiling, fill the whole PolyPolygon with the modifier color
|
||||
basegfx::B2DPolyPolygon aLocalPolyPolygon(rPolyPolygon);
|
||||
|
||||
aLocalPolyPolygon.transform(maCurrentTransformation);
|
||||
mpOutputDevice->SetLineColor();
|
||||
mpOutputDevice->SetFillColor(Color(rTopmostModifier.getBColor()));
|
||||
mpOutputDevice->DrawPolyPolygon(aLocalPolyPolygon);
|
||||
}
|
||||
else
|
||||
{
|
||||
// without tiling, only the area common to the bitmap tile and the
|
||||
// PolyPolygon is filled. Create the bitmap tile area in object
|
||||
// coordinates. For this, the object transformation needs to be created
|
||||
// from the already scaled PolyPolygon. The tile area in object
|
||||
// coordinates wil always be non-rotated, so it's not necessary to
|
||||
// work with a polygon here
|
||||
basegfx::B2DRange aTileRange(rFillBitmapAttribute.getTopLeft(),
|
||||
rFillBitmapAttribute.getTopLeft() + rFillBitmapAttribute.getSize());
|
||||
const basegfx::B2DRange aPolyPolygonRange(rPolyPolygon.getB2DRange());
|
||||
basegfx::B2DHomMatrix aNewObjectTransform;
|
||||
|
||||
aNewObjectTransform.set(0, 0, aPolyPolygonRange.getWidth());
|
||||
aNewObjectTransform.set(1, 1, aPolyPolygonRange.getHeight());
|
||||
aNewObjectTransform.set(0, 2, aPolyPolygonRange.getMinX());
|
||||
aNewObjectTransform.set(1, 2, aPolyPolygonRange.getMinY());
|
||||
aTileRange.transform(aNewObjectTransform);
|
||||
|
||||
// now clip the object polyPolygon against the tile range
|
||||
// to get the common area (OR)
|
||||
basegfx::B2DPolyPolygon aTarget = basegfx::tools::clipPolyPolygonOnRange(rPolyPolygon, aTileRange, true, false);
|
||||
|
||||
if(aTarget.count())
|
||||
{
|
||||
aTarget.transform(maCurrentTransformation);
|
||||
mpOutputDevice->SetLineColor();
|
||||
mpOutputDevice->SetFillColor(Color(rTopmostModifier.getBColor()));
|
||||
mpOutputDevice->DrawPolyPolygon(aTarget);
|
||||
}
|
||||
}
|
||||
|
||||
bDone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// empty polyPolygon, done
|
||||
bDone = true;
|
||||
}
|
||||
|
||||
if(!bDone)
|
||||
{
|
||||
// use default decomposition
|
||||
process(rPolygonCandidate.get2DDecomposition(getViewInformation2D()));
|
||||
}
|
||||
}
|
||||
|
||||
// direct draw of PolyPolygon with color
|
||||
void VclProcessor2D::RenderPolyPolygonColorPrimitive2D(const primitive2d::PolyPolygonColorPrimitive2D& rPolygonCandidate)
|
||||
{
|
||||
|
199
drawinglayer/source/processor3d/cutfindprocessor3d.cxx
Normal file
199
drawinglayer/source/processor3d/cutfindprocessor3d.cxx
Normal file
@ -0,0 +1,199 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: zbufferprocessor3d.cxx,v $
|
||||
*
|
||||
* $Revision: 1.5 $
|
||||
*
|
||||
* last change: $Author: aw $ $Date: 2008-06-24 15:31:09 $
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
// MARKER(update_precomp.py): autogen include statement, do not remove
|
||||
#include "precompiled_drawinglayer.hxx"
|
||||
|
||||
#include <drawinglayer/processor3d/cutfindprocessor3d.hxx>
|
||||
#include <drawinglayer/primitive3d/drawinglayer_primitivetypes3d.hxx>
|
||||
#include <drawinglayer/primitive3d/transformprimitive3d.hxx>
|
||||
#include <drawinglayer/primitive3d/hatchtextureprimitive3d.hxx>
|
||||
#include <drawinglayer/primitive3d/hittestprimitive3d.hxx>
|
||||
#include <drawinglayer/primitive3d/polypolygonprimitive3d.hxx>
|
||||
#include <basegfx/polygon/b3dpolygon.hxx>
|
||||
#include <basegfx/polygon/b3dpolygontools.hxx>
|
||||
#include <basegfx/polygon/b3dpolypolygontools.hxx>
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
namespace drawinglayer
|
||||
{
|
||||
namespace processor3d
|
||||
{
|
||||
CutFindProcessor::CutFindProcessor(const geometry::ViewInformation3D& rViewInformation,
|
||||
const basegfx::B3DPoint& rFront,
|
||||
const basegfx::B3DPoint& rBack,
|
||||
bool bAnyHit)
|
||||
: BaseProcessor3D(rViewInformation),
|
||||
maFront(rFront),
|
||||
maBack(rBack),
|
||||
maResult(),
|
||||
maCombinedTransform(),
|
||||
mbAnyHit(bAnyHit)
|
||||
{
|
||||
}
|
||||
|
||||
void CutFindProcessor::processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate)
|
||||
{
|
||||
if(getAnyHit() && maResult.size())
|
||||
{
|
||||
// stop processing as soon as a hit was recognized
|
||||
return;
|
||||
}
|
||||
|
||||
// it is a BasePrimitive3D implementation, use getPrimitiveID() call for switch
|
||||
switch(rCandidate.getPrimitiveID())
|
||||
{
|
||||
case PRIMITIVE3D_ID_TRANSFORMPRIMITIVE3D :
|
||||
{
|
||||
// transform group.
|
||||
const primitive3d::TransformPrimitive3D& rPrimitive = static_cast< const primitive3d::TransformPrimitive3D& >(rCandidate);
|
||||
|
||||
// remember old and transform front, back to object coordinates
|
||||
const basegfx::B3DPoint aLastFront(maFront);
|
||||
const basegfx::B3DPoint aLastBack(maBack);
|
||||
basegfx::B3DHomMatrix aInverseTrans(rPrimitive.getTransformation());
|
||||
aInverseTrans.invert();
|
||||
maFront *= aInverseTrans;
|
||||
maBack *= aInverseTrans;
|
||||
|
||||
// remember current and create new transformation; add new object transform from right side
|
||||
const geometry::ViewInformation3D aLastViewInformation3D(getViewInformation3D());
|
||||
const geometry::ViewInformation3D aNewViewInformation3D(
|
||||
aLastViewInformation3D.getObjectTransformation() * rPrimitive.getTransformation(),
|
||||
aLastViewInformation3D.getOrientation(),
|
||||
aLastViewInformation3D.getProjection(),
|
||||
aLastViewInformation3D.getDeviceToView(),
|
||||
aLastViewInformation3D.getViewTime(),
|
||||
aLastViewInformation3D.getExtendedInformationSequence());
|
||||
updateViewInformation(aNewViewInformation3D);
|
||||
|
||||
// #i102956# remember needed back-transform for found cuts (combine from right side)
|
||||
const basegfx::B3DHomMatrix aLastCombinedTransform(maCombinedTransform);
|
||||
maCombinedTransform = maCombinedTransform * rPrimitive.getTransformation();
|
||||
|
||||
// let break down
|
||||
process(rPrimitive.getChildren());
|
||||
|
||||
// restore transformations and front, back
|
||||
maCombinedTransform = aLastCombinedTransform;
|
||||
updateViewInformation(aLastViewInformation3D);
|
||||
maFront = aLastFront;
|
||||
maBack = aLastBack;
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE3D_ID_POLYGONHAIRLINEPRIMITIVE3D :
|
||||
{
|
||||
// PolygonHairlinePrimitive3D, not used for hit test with planes, ignore. This
|
||||
// means that also thick line expansion will not be hit-tested as
|
||||
// PolyPolygonMaterialPrimitive3D
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE3D_ID_HATCHTEXTUREPRIMITIVE3D :
|
||||
{
|
||||
// #i97321#
|
||||
// For HatchTexturePrimitive3D, do not use the decomposition since it will produce
|
||||
// clipped hatch lines in 3D. It can be used when the hatch also has a filling, but for
|
||||
// simplicity, just use the children which are the PolyPolygonMaterialPrimitive3D
|
||||
// which define the hatched areas anyways; for HitTest this is more than adequate
|
||||
const primitive3d::HatchTexturePrimitive3D& rPrimitive = static_cast< const primitive3d::HatchTexturePrimitive3D& >(rCandidate);
|
||||
process(rPrimitive.getChildren());
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE3D_ID_HITTESTPRIMITIVE3D :
|
||||
{
|
||||
// HitTestPrimitive3D, force usage due to we are doing a hit test and this
|
||||
// primitive only gets generated on 3d objects without fill, exactly for this
|
||||
// purpose
|
||||
const primitive3d::HitTestPrimitive3D& rPrimitive = static_cast< const primitive3d::HitTestPrimitive3D& >(rCandidate);
|
||||
process(rPrimitive.getChildren());
|
||||
break;
|
||||
}
|
||||
case PRIMITIVE3D_ID_POLYPOLYGONMATERIALPRIMITIVE3D :
|
||||
{
|
||||
// PolyPolygonMaterialPrimitive3D
|
||||
const primitive3d::PolyPolygonMaterialPrimitive3D& rPrimitive = static_cast< const primitive3d::PolyPolygonMaterialPrimitive3D& >(rCandidate);
|
||||
|
||||
if(!maFront.equal(maBack))
|
||||
{
|
||||
const basegfx::B3DPolyPolygon& rPolyPolygon = rPrimitive.getB3DPolyPolygon();
|
||||
const sal_uInt32 nPolyCount(rPolyPolygon.count());
|
||||
|
||||
if(nPolyCount)
|
||||
{
|
||||
const basegfx::B3DPolygon aPolygon(rPolyPolygon.getB3DPolygon(0));
|
||||
const sal_uInt32 nPointCount(aPolygon.count());
|
||||
|
||||
if(nPointCount > 2)
|
||||
{
|
||||
const basegfx::B3DVector aPlaneNormal(aPolygon.getNormal());
|
||||
|
||||
if(!aPlaneNormal.equalZero())
|
||||
{
|
||||
const basegfx::B3DPoint aPointOnPlane(aPolygon.getB3DPoint(0));
|
||||
double fCut(0.0);
|
||||
|
||||
if(basegfx::tools::getCutBetweenLineAndPlane(aPlaneNormal, aPointOnPlane, maFront, maBack, fCut))
|
||||
{
|
||||
const basegfx::B3DPoint aCutPoint(basegfx::interpolate(maFront, maBack, fCut));
|
||||
|
||||
if(basegfx::tools::isInside(rPolyPolygon, aCutPoint, false))
|
||||
{
|
||||
// #i102956# add result. Do not forget to do this in the coordinate
|
||||
// system the processor get started with, so use the collected
|
||||
// combined transformation from processed TransformPrimitive3D's
|
||||
maResult.push_back(maCombinedTransform * aCutPoint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
default :
|
||||
{
|
||||
// process recursively
|
||||
process(rCandidate.get3DDecomposition(getViewInformation3D()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} // end of namespace processor3d
|
||||
} // end of namespace drawinglayer
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// eof
|
@ -46,6 +46,7 @@ ENABLE_EXCEPTIONS=TRUE
|
||||
|
||||
SLOFILES= \
|
||||
$(SLO)$/baseprocessor3d.obj \
|
||||
$(SLO)$/cutfindprocessor3d.obj \
|
||||
$(SLO)$/defaultprocessor3d.obj \
|
||||
$(SLO)$/shadow3dextractor.obj \
|
||||
$(SLO)$/geometry2dextractor.obj \
|
||||
|
@ -83,6 +83,7 @@
|
||||
#include <rtl/process.h>
|
||||
|
||||
#include <comphelper/processfactory.hxx>
|
||||
#include <comphelper/namedvaluecollection.hxx>
|
||||
|
||||
#include "docholder.hxx"
|
||||
#include "commonembobj.hxx"
|
||||
@ -1025,20 +1026,14 @@ sal_Bool DocumentHolder::LoadDocToFrame( sal_Bool bInPlace )
|
||||
if ( xDoc.is() )
|
||||
{
|
||||
// load new document in to the frame
|
||||
uno::Reference< frame::XComponentLoader > xComponentLoader( m_xFrame, uno::UNO_QUERY );
|
||||
if( !xComponentLoader.is() )
|
||||
throw uno::RuntimeException();
|
||||
uno::Reference< frame::XComponentLoader > xComponentLoader( m_xFrame, uno::UNO_QUERY_THROW );
|
||||
|
||||
uno::Sequence< beans::PropertyValue > aArgs( bInPlace ? 3 : 2 );
|
||||
aArgs[0].Name = ::rtl::OUString::createFromAscii( "Model" );
|
||||
aArgs[0].Value <<= m_xComponent;
|
||||
aArgs[1].Name = ::rtl::OUString::createFromAscii( "ReadOnly" );
|
||||
aArgs[1].Value <<= m_bReadOnly;
|
||||
::comphelper::NamedValueCollection aArgs;
|
||||
aArgs.put( "Model", m_xComponent );
|
||||
aArgs.put( "ReadOnly", m_bReadOnly );
|
||||
//aArgs.put( "Hidden", sal_True );
|
||||
if ( bInPlace )
|
||||
{
|
||||
aArgs[2].Name = ::rtl::OUString::createFromAscii( "PluginMode" );
|
||||
aArgs[2].Value <<= sal_Int16(1);
|
||||
}
|
||||
aArgs.put( "PluginMode", sal_Int16(1) );
|
||||
::rtl::OUString sUrl;
|
||||
uno::Reference< lang::XServiceInfo> xServiceInfo(xDoc,uno::UNO_QUERY);
|
||||
if ( xServiceInfo.is()
|
||||
@ -1055,7 +1050,7 @@ sal_Bool DocumentHolder::LoadDocToFrame( sal_Bool bInPlace )
|
||||
xComponentLoader->loadComponentFromURL( sUrl,
|
||||
rtl::OUString::createFromAscii( "_self" ),
|
||||
0,
|
||||
aArgs );
|
||||
aArgs.getPropertyValues() );
|
||||
|
||||
return sal_True;
|
||||
}
|
||||
|
@ -208,7 +208,10 @@ int SalAquaPicker::run()
|
||||
}
|
||||
|
||||
if (retVal == NSFileHandlingPanelOKButton) {
|
||||
implsetDisplayDirectory([[NSURL fileURLWithPath:[m_pDialog directory]] OUStringForInfo:FULLPATH]);
|
||||
NSString* pDir = [m_pDialog directory];
|
||||
if (pDir) {
|
||||
implsetDisplayDirectory([[NSURL fileURLWithPath:pDir] OUStringForInfo:FULLPATH]);
|
||||
}
|
||||
}
|
||||
|
||||
DBG_PRINT_EXIT(CLASS_NAME, __func__, retVal);
|
||||
|
@ -560,7 +560,7 @@ void SvtFileDialog::Init_Impl
|
||||
WinBits nStyle
|
||||
)
|
||||
{
|
||||
sal_Bool bIsHighContrast = GetDisplayBackground().GetColor().IsDark();
|
||||
sal_Bool bIsHighContrast = GetSettings().GetStyleSettings().GetHighContrastMode();
|
||||
m_aImages = ImageList( SvtResId( bIsHighContrast ? RID_FILEPICKER_IMAGES_HC : RID_FILEPICKER_IMAGES ) );
|
||||
|
||||
_pImp->_nStyle = nStyle;
|
||||
@ -2683,7 +2683,7 @@ void SvtFileDialog::implUpdateImages( )
|
||||
{
|
||||
// determine high contrast mode
|
||||
{
|
||||
sal_Bool bIsHighContrast = GetDisplayBackground().GetColor().IsDark();
|
||||
sal_Bool bIsHighContrast = GetSettings().GetStyleSettings().GetHighContrastMode();
|
||||
m_aImages = ImageList( SvtResId( bIsHighContrast ? RID_FILEPICKER_IMAGES_HC : RID_FILEPICKER_IMAGES ) );
|
||||
}
|
||||
|
||||
|
@ -231,7 +231,7 @@ void SvtUpButton_Impl::FillURLMenu( PopupMenu* _pMenu )
|
||||
::svtools::VolumeInfo aVolInfo( sal_True /* volume */, sal_False /* remote */,
|
||||
sal_False /* removable */, sal_False /* floppy */,
|
||||
sal_False /* compact disk */ );
|
||||
sal_Bool bIsHighContrast = pBox->GetDisplayBackground().GetColor().IsDark();
|
||||
sal_Bool bIsHighContrast = pBox->GetSettings().GetStyleSettings().GetHighContrastMode();
|
||||
Image aVolumeImage( SvFileInformationManager::GetFolderImage( aVolInfo, bIsHighContrast ) );
|
||||
|
||||
while ( nCount >= 1 )
|
||||
@ -319,7 +319,7 @@ void SvtTravelButton_Impl::FillURLMenu( PopupMenu* _pMenu )
|
||||
|
||||
_pMenu->Clear();
|
||||
|
||||
sal_Bool bIsHighContrast = GetDialogParent()->GetView()->GetDisplayBackground().GetColor().IsDark();
|
||||
sal_Bool bIsHighContrast = GetDialogParent()->GetView()->GetSettings().GetStyleSettings().GetHighContrastMode();
|
||||
|
||||
USHORT nItemId = 1;
|
||||
String sDisplayName;
|
||||
|
@ -73,6 +73,8 @@ rtl::OUString SalGtkPicker::uritounicode(const gchar* pIn)
|
||||
INetURLObject aURL(sURL);
|
||||
if (INET_PROT_FILE == aURL.GetProtocol())
|
||||
{
|
||||
// all the URLs are handled by office in UTF-8
|
||||
// so the Gnome FP related URLs should be converted accordingly
|
||||
gchar *pEncodedFileName = g_filename_from_uri(pIn, NULL, NULL);
|
||||
if ( pEncodedFileName )
|
||||
{
|
||||
@ -94,12 +96,19 @@ rtl::OUString SalGtkPicker::uritounicode(const gchar* pIn)
|
||||
|
||||
rtl::OString SalGtkPicker::unicodetouri(const rtl::OUString &rURL)
|
||||
{
|
||||
// all the URLs are handled by office in UTF-8 ( and encoded with "%xx" codes based on UTF-8 )
|
||||
// so the Gnome FP related URLs should be converted accordingly
|
||||
OString sURL = OUStringToOString(rURL, RTL_TEXTENCODING_UTF8);
|
||||
INetURLObject aURL(rURL);
|
||||
if (INET_PROT_FILE == aURL.GetProtocol())
|
||||
{
|
||||
rtl::OUString sOUURL = aURL.getExternalURL(INetURLObject::DECODE_WITH_CHARSET, osl_getThreadTextEncoding());
|
||||
sURL = OUStringToOString( sOUURL, osl_getThreadTextEncoding());
|
||||
OUString aNewURL = Reference<uri::XExternalUriReferenceTranslator>(Reference<XMultiServiceFactory>(comphelper::getProcessServiceFactory(), UNO_QUERY_THROW)->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uri.ExternalUriReferenceTranslator"))), UNO_QUERY_THROW)->translateToExternal( rURL );
|
||||
|
||||
if( aNewURL.getLength() )
|
||||
{
|
||||
// At this point the URL should contain ascii characters only actually
|
||||
sURL = OUStringToOString( aNewURL, osl_getThreadTextEncoding() );
|
||||
}
|
||||
}
|
||||
return sURL;
|
||||
}
|
||||
|
@ -84,12 +84,12 @@ static Reference< XInterface > SAL_CALL createInstance( const Reference< XMultiS
|
||||
// the three uno functions that will be exported
|
||||
extern "C"
|
||||
{
|
||||
void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv )
|
||||
void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** )
|
||||
{
|
||||
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
|
||||
}
|
||||
|
||||
sal_Bool SAL_CALL component_writeInfo( void* pServiceManager, void* pRegistryKey )
|
||||
sal_Bool SAL_CALL component_writeInfo( void*, void* pRegistryKey )
|
||||
{
|
||||
sal_Bool bRetVal = sal_True;
|
||||
|
||||
@ -110,7 +110,7 @@ extern "C"
|
||||
return bRetVal;
|
||||
}
|
||||
|
||||
void* SAL_CALL component_getFactory( const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* pRegistryKey )
|
||||
void* SAL_CALL component_getFactory( const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* )
|
||||
{
|
||||
void* pRet = 0;
|
||||
|
||||
|
@ -111,6 +111,8 @@ using namespace ::com::sun::star::uno;
|
||||
// helper functions
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
namespace
|
||||
{
|
||||
// controling event notifications
|
||||
@ -157,14 +159,15 @@ KDE4FilePicker::KDE4FilePicker( const uno::Reference<lang::XMultiServiceFactory>
|
||||
_resMgr( CREATEVERSIONRESMGR( fps_office ) )
|
||||
{
|
||||
_extraControls = new QWidget();
|
||||
|
||||
_layout = new QGridLayout(_extraControls);
|
||||
|
||||
_dialog = new KFileDialog(KUrl(""), QString(""), 0, _extraControls);
|
||||
_dialog = new KFileDialog(KUrl("~"), QString(""), 0, _extraControls);
|
||||
_dialog->setMode(KFile::File | KFile::LocalOnly);
|
||||
|
||||
//default mode
|
||||
_dialog->setOperationMode(KFileDialog::Opening);
|
||||
|
||||
_dialog->setStyleSheet("color: black;");
|
||||
}
|
||||
|
||||
KDE4FilePicker::~KDE4FilePicker()
|
||||
@ -207,21 +210,12 @@ sal_Int16 SAL_CALL KDE4FilePicker::execute()
|
||||
}
|
||||
}
|
||||
|
||||
_dialog->clearFilter();
|
||||
_dialog->setFilter(_filter);
|
||||
_dialog->exec();
|
||||
|
||||
//nasty hack to get a local qt event loop going to process the dialog
|
||||
//otherwise the dialog returns immediately
|
||||
while (_dialog->isVisible())
|
||||
{
|
||||
kapp->processEvents(QEventLoop::WaitForMoreEvents);
|
||||
}
|
||||
|
||||
//block and wait for user input
|
||||
if (_dialog->result() == KFileDialog::Accepted)
|
||||
{
|
||||
if (_dialog->exec() == KFileDialog::Accepted)
|
||||
return ExecutableDialogResults::OK;
|
||||
}
|
||||
|
||||
return ExecutableDialogResults::CANCEL;
|
||||
}
|
||||
@ -230,14 +224,10 @@ void SAL_CALL KDE4FilePicker::setMultiSelectionMode( sal_Bool multiSelect )
|
||||
throw( uno::RuntimeException )
|
||||
{
|
||||
if (multiSelect)
|
||||
{
|
||||
_dialog->setMode(KFile::Files | KFile::LocalOnly);
|
||||
}
|
||||
else
|
||||
{
|
||||
_dialog->setMode(KFile::File | KFile::LocalOnly);
|
||||
}
|
||||
}
|
||||
|
||||
void SAL_CALL KDE4FilePicker::setDefaultName( const ::rtl::OUString &name )
|
||||
throw( uno::RuntimeException )
|
||||
@ -250,7 +240,7 @@ void SAL_CALL KDE4FilePicker::setDisplayDirectory( const rtl::OUString &dir )
|
||||
throw( uno::RuntimeException )
|
||||
{
|
||||
const QString url = toQString(dir);
|
||||
_dialog->setStartDir(KUrl(url));
|
||||
_dialog->setUrl(KUrl(url));
|
||||
}
|
||||
|
||||
rtl::OUString SAL_CALL KDE4FilePicker::getDisplayDirectory()
|
||||
@ -263,15 +253,62 @@ rtl::OUString SAL_CALL KDE4FilePicker::getDisplayDirectory()
|
||||
uno::Sequence< ::rtl::OUString > SAL_CALL KDE4FilePicker::getFiles()
|
||||
throw( uno::RuntimeException )
|
||||
{
|
||||
QStringList files = _dialog->selectedFiles();
|
||||
QStringList rawFiles = _dialog->selectedFiles();
|
||||
QStringList files;
|
||||
|
||||
uno::Sequence< ::rtl::OUString > seq(files.size());
|
||||
|
||||
for (int i=0 ; i<files.size() ; ++i)
|
||||
// check if we need to add an extension
|
||||
QString extension = "";
|
||||
if ( _dialog->operationMode() == KFileDialog::Saving )
|
||||
{
|
||||
const QString fileName = "file:" + files[i];
|
||||
seq[i] = toOUString(fileName);
|
||||
QCheckBox *cb = dynamic_cast<QCheckBox*> (
|
||||
_customWidgets[ExtendedFilePickerElementIds::CHECKBOX_AUTOEXTENSION ]);
|
||||
|
||||
if (cb->isChecked())
|
||||
{
|
||||
extension = _dialog->currentFilter(); // assuming filter value is like this *.ext
|
||||
extension.replace("*","");
|
||||
}
|
||||
}
|
||||
|
||||
// Workaround for the double click selection KDE4 bug
|
||||
// kde file picker returns the file and directories for selectedFiles()
|
||||
// when a file is double clicked
|
||||
// make a true list of files
|
||||
const QString dir = "file://" + KUrl(rawFiles[0]).directory();
|
||||
|
||||
bool singleFile = true;
|
||||
if (rawFiles.size() > 1)
|
||||
{
|
||||
singleFile = false;
|
||||
//for multi file sequences, oo expects the first param to be the directory
|
||||
//can't treat all cases like multi file because in some instances (inserting image)
|
||||
//oo WANTS only one entry in the final list
|
||||
files.append(dir);
|
||||
}
|
||||
|
||||
for (USHORT i = 0; i < rawFiles.size(); ++i)
|
||||
{
|
||||
// if the raw file is not the base directory (see above kde bug)
|
||||
// we add the file to list of avail files
|
||||
if ((dir + "/") != ("file://" + rawFiles[i]))
|
||||
{
|
||||
QString filename = KUrl(rawFiles[i]).fileName();
|
||||
|
||||
if (singleFile)
|
||||
filename.prepend(dir + "/");
|
||||
|
||||
//prevent extension append if we already have one
|
||||
if (filename.endsWith(extension))
|
||||
files.append(filename);
|
||||
else
|
||||
files.append(filename + extension);
|
||||
}
|
||||
}
|
||||
|
||||
// add all files and leading directory to outgoing OO sequence
|
||||
uno::Sequence< ::rtl::OUString > seq(files.size());
|
||||
for (int i = 0; i < files.size(); ++i)
|
||||
seq[i] = toOUString(files[i]);
|
||||
|
||||
return seq;
|
||||
}
|
||||
@ -283,9 +320,7 @@ void SAL_CALL KDE4FilePicker::appendFilter( const ::rtl::OUString &title, const
|
||||
QString f = toQString(filter);
|
||||
|
||||
if (!_filter.isNull())
|
||||
{
|
||||
_filter.append("\n");
|
||||
}
|
||||
|
||||
//add to hash map for reverse lookup in getCurrentFilter
|
||||
_filters.insert(f, t);
|
||||
@ -294,15 +329,18 @@ void SAL_CALL KDE4FilePicker::appendFilter( const ::rtl::OUString &title, const
|
||||
//see the docs
|
||||
t.replace("/", "\\/");
|
||||
|
||||
// openoffice gives us filters separated by ';' qt dialogs just want space separated
|
||||
f.replace(";", " ");
|
||||
|
||||
_filter.append(QString("%1|%2").arg(f).arg(t));
|
||||
}
|
||||
|
||||
void SAL_CALL KDE4FilePicker::setCurrentFilter( const rtl::OUString &title )
|
||||
throw( lang::IllegalArgumentException, uno::RuntimeException )
|
||||
{
|
||||
QString filter = toQString(title);
|
||||
filter.replace("/", "\\/");
|
||||
_dialog->filterWidget()->setCurrentFilter(filter);
|
||||
QString t = toQString(title);
|
||||
t.replace("/", "\\/");
|
||||
_dialog->filterWidget()->setCurrentFilter(t);
|
||||
}
|
||||
|
||||
rtl::OUString SAL_CALL KDE4FilePicker::getCurrentFilter()
|
||||
@ -312,17 +350,29 @@ rtl::OUString SAL_CALL KDE4FilePicker::getCurrentFilter()
|
||||
|
||||
//default if not found
|
||||
if (filter.isNull())
|
||||
{
|
||||
filter = "ODF Text Document (.odt)";
|
||||
}
|
||||
|
||||
return toOUString(filter);
|
||||
}
|
||||
|
||||
void SAL_CALL KDE4FilePicker::appendFilterGroup( const rtl::OUString&, const uno::Sequence<beans::StringPair>& )
|
||||
void SAL_CALL KDE4FilePicker::appendFilterGroup( const rtl::OUString& , const uno::Sequence<beans::StringPair>& filters)
|
||||
throw( lang::IllegalArgumentException, uno::RuntimeException )
|
||||
{
|
||||
//TODO
|
||||
if (!_filter.isNull())
|
||||
_filter.append(QString("\n"));
|
||||
|
||||
const USHORT length = filters.getLength();
|
||||
for (USHORT i = 0; i < length; ++i)
|
||||
{
|
||||
beans::StringPair aPair = filters[i];
|
||||
|
||||
_filter.append(QString("%1|%2").arg(
|
||||
toQString(aPair.Second).replace(";", " ")).arg(
|
||||
toQString(aPair.First).replace("/","\\/")));
|
||||
|
||||
if (i != length - 1)
|
||||
_filter.append('\n');
|
||||
}
|
||||
}
|
||||
|
||||
void SAL_CALL KDE4FilePicker::setValue( sal_Int16 controlId, sal_Int16, const uno::Any &value )
|
||||
|
@ -139,7 +139,7 @@ ________________________________________________________________________________
|
||||
// define helper to get information about service environment
|
||||
//*****************************************************************************************************************
|
||||
#define COMPONENTGETIMPLEMENTATIONENVIRONMENT \
|
||||
extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvironmentTypeName , \
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvironmentTypeName , \
|
||||
uno_Environment** ) \
|
||||
{ \
|
||||
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ; \
|
||||
@ -150,7 +150,7 @@ ________________________________________________________________________________
|
||||
// define registration of service
|
||||
//*****************************************************************************************************************
|
||||
#define COMPONENTWRITEINFO( INFOS ) \
|
||||
extern "C" sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/ , \
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/ , \
|
||||
void* pRegistryKey ) \
|
||||
{ \
|
||||
LOG_REGISTRATION_WRITEINFO( "\t[start]\n" ) \
|
||||
@ -185,7 +185,7 @@ ________________________________________________________________________________
|
||||
// define method to instanciate new services
|
||||
//*****************************************************************************************************************
|
||||
#define COMPONENTGETFACTORY( IFFACTORIES ) \
|
||||
extern "C" void* SAL_CALL component_getFactory( const sal_Char* pImplementationName , \
|
||||
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplementationName , \
|
||||
void* pServiceManager , \
|
||||
void* /*pRegistryKey*/ ) \
|
||||
{ \
|
||||
|
@ -198,20 +198,21 @@ namespace framework{
|
||||
#define LAYOUTMANAGER_PROPNAME_ASCII_REFRESHVISIBILITY "RefreshContextToolbarVisibility"
|
||||
#define LAYOUTMANAGER_PROPNAME_ASCII_HIDECURRENTUI "HideCurrentUI"
|
||||
#define LAYOUTMANAGER_PROPNAME_ASCII_LOCKCOUNT "LockCount"
|
||||
#define LAYOUTMANAGER_PROPNAME_ASCII_PRESERVE_CONTENT_SIZE "PreserveContentSize"
|
||||
|
||||
#define LAYOUTMANAGER_PROPNAME_MENUBARCLOSER ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_MENUBARCLOSER )
|
||||
#define LAYOUTMANAGER_PROPNAME_AUTOMATICTOOLBARS ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_AUTOMATICTOOLBARS )
|
||||
#define LAYOUTMANAGER_PROPNAME_REFRESHVISIBILITY ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_REFRESHVISIBILITY )
|
||||
#define LAYOUTMANAGER_PROPNAME_HIDECURRENTUI ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_HIDECURRENTUI )
|
||||
#define LAYOUTMANAGER_PROPNAME_LOCKCOUNT ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_LOCKCOUNT )
|
||||
#define LAYOUTMANAGER_PROPNAME_PRESERVE_CONTENT_SIZE ::rtl::OUString::createFromAscii( LAYOUTMANAGER_PROPNAME_ASCII_PRESERVE_CONTENT_SIZE )
|
||||
|
||||
#define LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER 0
|
||||
#define LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS 1
|
||||
#define LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY 2
|
||||
#define LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI 3
|
||||
#define LAYOUTMANAGER_PROPHANDLE_LOCKCOUNT 4
|
||||
|
||||
#define LAYOUTMANAGER_PROPCOUNT 5
|
||||
#define LAYOUTMANAGER_PROPHANDLE_PRESERVE_CONTENT_SIZE 5
|
||||
|
||||
//_______________________________________________
|
||||
/** properties for "UICommandDescription" class */
|
||||
|
@ -127,6 +127,7 @@ namespace framework{
|
||||
#define SERVICENAME_IMAGEMANAGER DECLARE_ASCII("com.sun.star.ui.ImageManager" )
|
||||
#define SERVICENAME_TABWINDOWSERVICE DECLARE_ASCII("com.sun.star.ui.dialogs.TabContainerWindow" )
|
||||
#define SERVICENAME_WINDOWCONTENTFACTORYMANAGER DECLARE_ASCII("com.sun.star.ui.WindowContentFactoryManager" )
|
||||
#define SERVICENAME_DISPLAYACCESS DECLARE_ASCII("com.sun.star.awt.DisplayAccess" )
|
||||
|
||||
//_________________________________________________________________________________________________________________
|
||||
// used implementationnames by framework
|
||||
|
@ -69,6 +69,7 @@
|
||||
#include <com/sun/star/ui/XUIElementFactory.hpp>
|
||||
#include <com/sun/star/frame/XInplaceLayout.hpp>
|
||||
#include <com/sun/star/ui/DockingArea.hpp>
|
||||
#include <com/sun/star/awt/XTopWindow2.hpp>
|
||||
#include <com/sun/star/awt/XDockableWindow.hpp>
|
||||
#include <com/sun/star/awt/XDockableWindowListener.hpp>
|
||||
#include <com/sun/star/frame/XMenuBarMergingAcceptor.hpp>
|
||||
@ -78,8 +79,9 @@
|
||||
// other includes
|
||||
//_________________________________________________________________________________________________________________
|
||||
#include <cppuhelper/propshlp.hxx>
|
||||
#include <cppuhelper/implbase9.hxx>
|
||||
#include <cppuhelper/interfacecontainer.hxx>
|
||||
#include <cppuhelper/weak.hxx>
|
||||
#include <comphelper/propertycontainer.hxx>
|
||||
#include <vcl/wintypes.hxx>
|
||||
#include <svtools/miscopt.hxx>
|
||||
#include <vcl/toolbox.hxx>
|
||||
@ -89,22 +91,23 @@ class MenuBar;
|
||||
namespace framework
|
||||
{
|
||||
class GlobalSettings;
|
||||
class LayoutManager : public css::lang::XTypeProvider ,
|
||||
public css::lang::XServiceInfo ,
|
||||
public ::com::sun::star::frame::XLayoutManager ,
|
||||
public css::awt::XWindowListener ,
|
||||
public css::frame::XFrameActionListener ,
|
||||
public ::com::sun::star::ui::XUIConfigurationListener ,
|
||||
public ::com::sun::star::frame::XInplaceLayout ,
|
||||
public css::awt::XDockableWindowListener ,
|
||||
public ::com::sun::star::frame::XMenuBarMergingAcceptor,
|
||||
public css::frame::XLayoutManagerEventBroadcaster ,
|
||||
typedef ::cppu::WeakImplHelper9 < ::com::sun::star::lang::XServiceInfo
|
||||
, ::com::sun::star::frame::XLayoutManager
|
||||
, ::com::sun::star::awt::XWindowListener
|
||||
, ::com::sun::star::frame::XFrameActionListener
|
||||
, ::com::sun::star::ui::XUIConfigurationListener
|
||||
, ::com::sun::star::frame::XInplaceLayout
|
||||
, ::com::sun::star::awt::XDockableWindowListener
|
||||
, ::com::sun::star::frame::XMenuBarMergingAcceptor
|
||||
, ::com::sun::star::frame::XLayoutManagerEventBroadcaster
|
||||
> LayoutManager_Base;
|
||||
typedef ::comphelper::OPropertyContainer LayoutManager_PBase;
|
||||
class LayoutManager : public LayoutManager_Base ,
|
||||
// base classes
|
||||
// Order is neccessary for right initialization!
|
||||
private ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
|
||||
public ::cppu::OBroadcastHelper ,
|
||||
public ::cppu::OPropertySetHelper , // => XPropertySet / XFastPropertySet / XMultiPropertySet
|
||||
public ::cppu::OWeakObject // => XWeak, XInterface
|
||||
public LayoutManager_PBase
|
||||
{
|
||||
public:
|
||||
enum { DOCKINGAREAS_COUNT = 4 };
|
||||
@ -388,6 +391,7 @@ namespace framework
|
||||
|
||||
// layouting methods
|
||||
sal_Bool implts_compareRectangles( const ::com::sun::star::awt::Rectangle& rRect1, const ::com::sun::star::awt::Rectangle& rRect2 );
|
||||
sal_Bool implts_resizeContainerWindow( const ::com::sun::star::awt::Size& rContainerSize, const ::com::sun::star::awt::Point& rComponentPos );
|
||||
::Size implts_getTopBottomDockingAreaSizes();
|
||||
::Size implts_getContainerWindowOutputSize();
|
||||
::com::sun::star::awt::Rectangle implts_getDockingAreaWindowSizes();
|
||||
@ -399,7 +403,8 @@ namespace framework
|
||||
void implts_findNextDockingPos( ::com::sun::star::ui::DockingArea DockingArea, const ::Size& aUIElementSize, ::Point& rVirtualPos, ::Point& rPixelPos );
|
||||
::com::sun::star::awt::Rectangle implts_calcDockingAreaSizes();
|
||||
void implts_setDockingAreaWindowSizes( const com::sun::star::awt::Rectangle& rBorderSpace );
|
||||
sal_Bool implts_doLayout( sal_Bool bForceRequestBorderSpace );
|
||||
sal_Bool implts_doLayout( sal_Bool bForceRequestBorderSpace, sal_Bool bOuterResize );
|
||||
void implts_doLayout_notify( sal_Bool bOuterResize );
|
||||
|
||||
// internal methods to control status/progress bar
|
||||
::Size implts_getStatusBarSize();
|
||||
@ -449,15 +454,15 @@ namespace framework
|
||||
virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
|
||||
virtual ::com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw (::com::sun::star::uno::RuntimeException);
|
||||
|
||||
static const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
|
||||
|
||||
css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR; /** reference to factory, which has created this instance. */
|
||||
css::uno::Reference< css::util::XURLTransformer > m_xURLTransformer;
|
||||
css::uno::Reference< css::container::XIndexAccess > m_xDisplayAccess;
|
||||
css::uno::Reference< css::frame::XFrame > m_xFrame;
|
||||
css::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager > m_xModuleCfgMgr;
|
||||
css::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager > m_xDocCfgMgr;
|
||||
css::uno::WeakReference< css::frame::XModel > m_xModel;
|
||||
css::uno::Reference< css::awt::XWindow > m_xContainerWindow;
|
||||
css::uno::Reference< css::awt::XTopWindow2 > m_xContainerTopWindow;
|
||||
css::uno::Reference< css::awt::XWindow > m_xDockAreaWindows[DOCKINGAREAS_COUNT];
|
||||
sal_Int32 m_nLockCount;
|
||||
UIElementVector m_aUIElements;
|
||||
@ -474,6 +479,7 @@ namespace framework
|
||||
bool m_bStoreWindowState;
|
||||
bool m_bHideCurrentUI;
|
||||
bool m_bGlobalSettings;
|
||||
bool m_bPreserveContentSize;
|
||||
DockingOperation m_eDockOperation;
|
||||
UIElement m_aDockUIElement;
|
||||
css::awt::Rectangle m_aDockingArea;
|
||||
|
@ -186,6 +186,8 @@ void SAL_CALL PopupMenuControllerBase::highlight( const css::awt::MenuEvent& ) t
|
||||
void PopupMenuControllerBase::impl_select(const Reference< XDispatch >& _xDispatch,const ::com::sun::star::util::URL& aURL)
|
||||
{
|
||||
Sequence<PropertyValue> aArgs;
|
||||
OSL_ENSURE(_xDispatch.is(),"PopupMenuControllerBase::impl_select: No dispatch");
|
||||
if ( _xDispatch.is() )
|
||||
_xDispatch->dispatch( aURL, aArgs );
|
||||
}
|
||||
|
||||
@ -204,7 +206,7 @@ void SAL_CALL PopupMenuControllerBase::select( const css::awt::MenuEvent& rEvent
|
||||
xServiceManager = m_xServiceManager;
|
||||
aLock.unlock();
|
||||
|
||||
if ( xPopupMenu.is() && xDispatch.is() )
|
||||
if ( xPopupMenu.is() )
|
||||
{
|
||||
VCLXPopupMenu* pPopupMenu = (VCLXPopupMenu *)VCLXPopupMenu::GetImplementation( xPopupMenu );
|
||||
if ( pPopupMenu )
|
||||
|
@ -67,17 +67,13 @@
|
||||
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
|
||||
#include <com/sun/star/awt/XTopWindow.hpp>
|
||||
#include <com/sun/star/awt/XSystemDependentMenuPeer.hpp>
|
||||
#ifndef _COM_SUN_STAR_LANG_XYSTEMDEPENDENT_HPP_
|
||||
#include <com/sun/star/lang/SystemDependent.hpp>
|
||||
#endif
|
||||
#include <com/sun/star/awt/VclWindowPeerAttribute.hpp>
|
||||
#include <com/sun/star/awt/PosSize.hpp>
|
||||
#include <com/sun/star/awt/XDevice.hpp>
|
||||
#include <com/sun/star/awt/XSystemDependentWindowPeer.hpp>
|
||||
#include <com/sun/star/awt/XTopWindow.hpp>
|
||||
#ifndef _COM_SUN_STAR_UI_XMODULEUICONFIGURATIONMANAGER_HPP_
|
||||
#include <com/sun/star/ui/XModuleUIConfigurationManagerSupplier.hpp>
|
||||
#endif
|
||||
#include <com/sun/star/ui/XUIConfigurationManagerSupplier.hpp>
|
||||
#include <com/sun/star/ui/UIElementType.hpp>
|
||||
#include <com/sun/star/container/XNameReplace.hpp>
|
||||
@ -92,18 +88,18 @@
|
||||
// other includes
|
||||
//_________________________________________________________________________________________________________________
|
||||
#include <svtools/imgdef.hxx>
|
||||
#include <tools/diagnose_ex.h>
|
||||
#include <vcl/window.hxx>
|
||||
#include <vcl/wrkwin.hxx>
|
||||
#include <vcl/dockingarea.hxx>
|
||||
#include <vcl/svapp.hxx>
|
||||
#include <vcl/i18nhelp.hxx>
|
||||
#include <vcl/wall.hxx>
|
||||
#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
|
||||
#include <toolkit/unohlp.hxx>
|
||||
#endif
|
||||
#include <toolkit/awt/vclxwindow.hxx>
|
||||
#include <toolkit/awt/vclxmenu.hxx>
|
||||
#include <comphelper/mediadescriptor.hxx>
|
||||
#include <comphelper/uno3.hxx>
|
||||
#include <rtl/logfile.hxx>
|
||||
#include <svtools/cmdoptions.hxx>
|
||||
|
||||
@ -354,40 +350,8 @@ static void impl_setDockingWindowVisibility( const css::uno::Reference< css::lan
|
||||
//*****************************************************************************************************************
|
||||
// XInterface, XTypeProvider, XServiceInfo
|
||||
//*****************************************************************************************************************
|
||||
DEFINE_XINTERFACE_14 ( LayoutManager ,
|
||||
OWeakObject ,
|
||||
DIRECT_INTERFACE( css::lang::XTypeProvider ),
|
||||
DIRECT_INTERFACE( css::lang::XServiceInfo ),
|
||||
DIRECT_INTERFACE( ::com::sun::star::frame::XLayoutManager ),
|
||||
DIRECT_INTERFACE( css::awt::XWindowListener ),
|
||||
DIRECT_INTERFACE( css::frame::XFrameActionListener ),
|
||||
DIRECT_INTERFACE( ::com::sun::star::ui::XUIConfigurationListener ),
|
||||
DIRECT_INTERFACE( ::com::sun::star::frame::XInplaceLayout ),
|
||||
DIRECT_INTERFACE( css::awt::XDockableWindowListener ),
|
||||
DIRECT_INTERFACE( ::com::sun::star::frame::XMenuBarMergingAcceptor ),
|
||||
DIRECT_INTERFACE( css::frame::XLayoutManagerEventBroadcaster ),
|
||||
DERIVED_INTERFACE( css::lang::XEventListener, css::frame::XFrameActionListener ),
|
||||
DIRECT_INTERFACE( ::com::sun::star::beans::XMultiPropertySet ),
|
||||
DIRECT_INTERFACE( ::com::sun::star::beans::XFastPropertySet ),
|
||||
DIRECT_INTERFACE( ::com::sun::star::beans::XPropertySet )
|
||||
)
|
||||
|
||||
DEFINE_XTYPEPROVIDER_14 ( LayoutManager ,
|
||||
css::lang::XTypeProvider ,
|
||||
css::lang::XServiceInfo ,
|
||||
::com::sun::star::frame::XLayoutManager ,
|
||||
css::awt::XWindowListener ,
|
||||
css::frame::XFrameActionListener ,
|
||||
css::lang::XEventListener ,
|
||||
::com::sun::star::ui::XUIConfigurationListener ,
|
||||
::com::sun::star::frame::XInplaceLayout ,
|
||||
css::awt::XDockableWindowListener ,
|
||||
::com::sun::star::frame::XMenuBarMergingAcceptor ,
|
||||
css::frame::XLayoutManagerEventBroadcaster ,
|
||||
::com::sun::star::beans::XMultiPropertySet ,
|
||||
::com::sun::star::beans::XFastPropertySet ,
|
||||
::com::sun::star::beans::XPropertySet
|
||||
)
|
||||
IMPLEMENT_FORWARD_XTYPEPROVIDER2( LayoutManager, LayoutManager_Base, LayoutManager_PBase )
|
||||
IMPLEMENT_FORWARD_XINTERFACE2( LayoutManager, LayoutManager_Base, LayoutManager_PBase )
|
||||
|
||||
DEFINE_XSERVICEINFO_MULTISERVICE ( LayoutManager ,
|
||||
::cppu::OWeakObject ,
|
||||
@ -398,15 +362,14 @@ DEFINE_XSERVICEINFO_MULTISERVICE ( LayoutManager
|
||||
DEFINE_INIT_SERVICE ( LayoutManager, {} )
|
||||
|
||||
|
||||
LayoutManager::LayoutManager( const Reference< XMultiServiceFactory >& xServiceManager ) :
|
||||
ThreadHelpBase( &Application::GetSolarMutex() )
|
||||
LayoutManager::LayoutManager( const Reference< XMultiServiceFactory >& xServiceManager )
|
||||
: LayoutManager_Base ( )
|
||||
, ThreadHelpBase ( &Application::GetSolarMutex() )
|
||||
, ::cppu::OBroadcastHelperVar< ::cppu::OMultiTypeInterfaceContainerHelper, ::cppu::OMultiTypeInterfaceContainerHelper::keyType >( m_aLock.getShareableOslMutex() )
|
||||
, ::cppu::OPropertySetHelper ( *(static_cast< ::cppu::OBroadcastHelper* >(this)) )
|
||||
, ::cppu::OWeakObject ( )
|
||||
, LayoutManager_PBase ( *(static_cast< ::cppu::OBroadcastHelper* >(this)) )
|
||||
, m_xSMGR( xServiceManager )
|
||||
, m_xURLTransformer( Reference< XURLTransformer >( xServiceManager->createInstance(
|
||||
SERVICENAME_URLTRANSFORMER),
|
||||
UNO_QUERY ))
|
||||
, m_xURLTransformer( xServiceManager->createInstance( SERVICENAME_URLTRANSFORMER ), UNO_QUERY )
|
||||
, m_xDisplayAccess( xServiceManager->createInstance( SERVICENAME_DISPLAYACCESS ), UNO_QUERY )
|
||||
, m_nLockCount( 0 )
|
||||
, m_bActive( sal_False )
|
||||
, m_bInplaceMenuSet( sal_False )
|
||||
@ -421,6 +384,7 @@ LayoutManager::LayoutManager( const Reference< XMultiServiceFactory >& xServiceM
|
||||
, m_bStoreWindowState( sal_False )
|
||||
, m_bHideCurrentUI( false )
|
||||
, m_bGlobalSettings( sal_False )
|
||||
, m_bPreserveContentSize( false )
|
||||
, m_eDockOperation( DOCKOP_ON_COLROW )
|
||||
, m_pInplaceMenuBar( NULL )
|
||||
, m_xModuleManager( Reference< XModuleManager >(
|
||||
@ -462,6 +426,15 @@ LayoutManager::LayoutManager( const Reference< XMultiServiceFactory >& xServiceM
|
||||
|
||||
m_aAsyncLayoutTimer.SetTimeout( 50 );
|
||||
m_aAsyncLayoutTimer.SetTimeoutHdl( LINK( this, LayoutManager, AsyncLayoutHdl ) );
|
||||
|
||||
|
||||
registerProperty( LAYOUTMANAGER_PROPNAME_AUTOMATICTOOLBARS, LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS, css::beans::PropertyAttribute::TRANSIENT, &m_bAutomaticToolbars, ::getCppuType( &m_bAutomaticToolbars ) );
|
||||
registerProperty( LAYOUTMANAGER_PROPNAME_HIDECURRENTUI, LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI, css::beans::PropertyAttribute::TRANSIENT, &m_bHideCurrentUI, ::getCppuType( &m_bHideCurrentUI ) );
|
||||
registerProperty( LAYOUTMANAGER_PROPNAME_LOCKCOUNT, LAYOUTMANAGER_PROPHANDLE_LOCKCOUNT, css::beans::PropertyAttribute::TRANSIENT | css::beans::PropertyAttribute::READONLY, &m_nLockCount, getCppuType( &m_nLockCount ) );
|
||||
registerProperty( LAYOUTMANAGER_PROPNAME_MENUBARCLOSER, LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER, css::beans::PropertyAttribute::TRANSIENT, &m_bMenuBarCloser, ::getCppuType( &m_bMenuBarCloser ) );
|
||||
const sal_Bool bRefreshVisibility = sal_False;
|
||||
registerPropertyNoMember( LAYOUTMANAGER_PROPNAME_REFRESHVISIBILITY, LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY, css::beans::PropertyAttribute::TRANSIENT, ::getCppuType( &bRefreshVisibility ), &bRefreshVisibility );
|
||||
registerProperty( LAYOUTMANAGER_PROPNAME_PRESERVE_CONTENT_SIZE, LAYOUTMANAGER_PROPHANDLE_PRESERVE_CONTENT_SIZE, css::beans::PropertyAttribute::TRANSIENT, &m_bPreserveContentSize, ::getCppuType( &m_bPreserveContentSize ) );
|
||||
}
|
||||
|
||||
LayoutManager::~LayoutManager()
|
||||
@ -3240,7 +3213,7 @@ void LayoutManager::implts_updateUIElementsVisibleState( sal_Bool bSetVisible )
|
||||
if ( bSetVisible )
|
||||
{
|
||||
implts_createNonContextSensitiveToolBars();
|
||||
doLayout();
|
||||
implts_doLayout_notify( sal_False );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3516,7 +3489,7 @@ sal_Bool LayoutManager::implts_showProgressBar()
|
||||
if ( !pWindow->IsVisible() )
|
||||
{
|
||||
pWindow->Show();
|
||||
doLayout();
|
||||
implts_doLayout_notify( sal_False );
|
||||
}
|
||||
return sal_True;
|
||||
}
|
||||
@ -3557,7 +3530,7 @@ sal_Bool LayoutManager::implts_hideProgressBar()
|
||||
( bHideStatusBar || bInternalStatusBar ))
|
||||
{
|
||||
pWindow->Hide();
|
||||
doLayout();
|
||||
implts_doLayout_notify( sal_False );
|
||||
return sal_True;
|
||||
}
|
||||
|
||||
@ -3829,6 +3802,7 @@ throw ( RuntimeException )
|
||||
{
|
||||
m_aDockingArea = css::awt::Rectangle();
|
||||
m_xContainerWindow = m_xDockingAreaAcceptor->getContainerWindow();
|
||||
m_xContainerTopWindow.set( m_xContainerWindow, UNO_QUERY );
|
||||
m_xContainerWindow->addWindowListener( Reference< css::awt::XWindowListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
|
||||
|
||||
// we always must keep a connection to the window of our frame for resize events
|
||||
@ -3913,7 +3887,7 @@ throw ( RuntimeException )
|
||||
implts_createNonContextSensitiveToolBars();
|
||||
}
|
||||
implts_sortUIElements();
|
||||
implts_doLayout( sal_True );
|
||||
implts_doLayout( sal_True, sal_False );
|
||||
}
|
||||
}
|
||||
|
||||
@ -5477,26 +5451,33 @@ throw (RuntimeException)
|
||||
implts_notifyListeners( css::frame::LayoutManagerEvents::UNLOCK, a );
|
||||
|
||||
if ( bDoLayout )
|
||||
doLayout();
|
||||
implts_doLayout_notify( sal_True );
|
||||
}
|
||||
|
||||
void SAL_CALL LayoutManager::doLayout()
|
||||
throw (RuntimeException)
|
||||
{
|
||||
sal_Bool bLayouted = implts_doLayout( sal_False );
|
||||
implts_doLayout_notify( sal_True );
|
||||
}
|
||||
|
||||
void LayoutManager::implts_doLayout_notify( sal_Bool bOuterResize )
|
||||
{
|
||||
sal_Bool bLayouted = implts_doLayout( sal_False, bOuterResize );
|
||||
if ( bLayouted )
|
||||
implts_notifyListeners( css::frame::LayoutManagerEvents::LAYOUT, Any() );
|
||||
}
|
||||
|
||||
sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace )
|
||||
sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace, sal_Bool bOuterResize )
|
||||
{
|
||||
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::implts_doLayout" );
|
||||
|
||||
sal_Bool bNoLock( sal_False );
|
||||
css::awt::Rectangle aCurrBorderSpace;
|
||||
Reference< css::awt::XWindow > xContainerWindow;
|
||||
Reference< css::awt::XTopWindow2 > xContainerTopWindow;
|
||||
Reference< css::awt::XWindow > xComponentWindow;
|
||||
Reference< XDockingAreaAcceptor > xDockingAreaAcceptor;
|
||||
bool bPreserveContentSize( false );
|
||||
|
||||
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
|
||||
ReadGuard aReadLock( m_aLock );
|
||||
@ -5507,8 +5488,11 @@ sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace )
|
||||
|
||||
bNoLock = ( m_nLockCount == 0 );
|
||||
xContainerWindow = m_xContainerWindow;
|
||||
xContainerTopWindow = m_xContainerTopWindow;
|
||||
xComponentWindow = m_xFrame->getComponentWindow();
|
||||
xDockingAreaAcceptor = m_xDockingAreaAcceptor;
|
||||
aCurrBorderSpace = m_aDockingArea;
|
||||
bPreserveContentSize = m_bPreserveContentSize;
|
||||
aReadLock.unlock();
|
||||
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
|
||||
|
||||
@ -5516,7 +5500,8 @@ sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace )
|
||||
|
||||
if ( bNoLock &&
|
||||
xDockingAreaAcceptor.is() &&
|
||||
xContainerWindow.is() )
|
||||
xContainerWindow.is() &&
|
||||
xComponentWindow.is() )
|
||||
{
|
||||
bLayouted = sal_True;
|
||||
|
||||
@ -5531,12 +5516,45 @@ sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace )
|
||||
sal_Bool bEqual = implts_compareRectangles( aBorderSpace, aCurrBorderSpace );
|
||||
|
||||
if ( !bEqual || bForceRequestBorderSpace || bMustDoLayout )
|
||||
{
|
||||
// we always resize the content window (instead of the complete container window) if we're not set up
|
||||
// to (attempt to) preserve the content window's size
|
||||
if ( bOuterResize && !bPreserveContentSize )
|
||||
bOuterResize = sal_False;
|
||||
|
||||
// maximized windows can resized their content window only, not their container window
|
||||
if ( bOuterResize && xContainerTopWindow.is() && xContainerTopWindow->getIsMaximized() )
|
||||
bOuterResize = sal_False;
|
||||
|
||||
// if the component window does not have a size (yet), then we can't use it to calc the container
|
||||
// window size
|
||||
css::awt::Rectangle aComponentRect = xComponentWindow->getPosSize();
|
||||
if ( bOuterResize && ( aComponentRect.Width == 0 ) && ( aComponentRect.Height == 0 ) )
|
||||
bOuterResize = sal_False;
|
||||
|
||||
bGotRequestedBorderSpace = sal_False;
|
||||
if ( bOuterResize )
|
||||
{
|
||||
Reference< awt::XDevice > xDevice( xContainerWindow, uno::UNO_QUERY );
|
||||
awt::DeviceInfo aContainerInfo = xDevice->getInfo();
|
||||
|
||||
awt::Size aRequestedSize( aComponentRect.Width + aContainerInfo.LeftInset + aContainerInfo.RightInset + aBorderSpace.X + aBorderSpace.Width,
|
||||
aComponentRect.Height + aContainerInfo.TopInset + aContainerInfo.BottomInset + aBorderSpace.Y + aBorderSpace.Height );
|
||||
awt::Point aComponentPos( aBorderSpace.X, aBorderSpace.Y );
|
||||
|
||||
bGotRequestedBorderSpace = implts_resizeContainerWindow( aRequestedSize, aComponentPos );
|
||||
}
|
||||
|
||||
// if we did not do an container window resize, or it failed, then use the DockingAcceptor as usual
|
||||
if ( !bGotRequestedBorderSpace )
|
||||
{
|
||||
bGotRequestedBorderSpace = xDockingAreaAcceptor->requestDockingAreaSpace( aBorderSpace );
|
||||
if ( bGotRequestedBorderSpace )
|
||||
{
|
||||
xDockingAreaAcceptor->setDockingAreaSpace( aBorderSpace );
|
||||
}
|
||||
|
||||
if ( bGotRequestedBorderSpace )
|
||||
{
|
||||
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
|
||||
aWriteGuard.lock();
|
||||
m_aDockingArea = aBorderSpace;
|
||||
@ -5603,6 +5621,52 @@ sal_Bool LayoutManager::implts_compareRectangles( const css::awt::Rectangle& rRe
|
||||
( rRect1.Height == rRect2.Height ));
|
||||
}
|
||||
|
||||
sal_Bool LayoutManager::implts_resizeContainerWindow( const awt::Size& rContainerSize,
|
||||
const awt::Point& rComponentPos )
|
||||
{
|
||||
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
|
||||
ReadGuard aReadLock( m_aLock );
|
||||
Reference< awt::XWindow > xContainerWindow = m_xContainerWindow;
|
||||
Reference< awt::XTopWindow2 > xContainerTopWindow = m_xContainerTopWindow;
|
||||
Reference< awt::XWindow > xComponentWindow = m_xFrame->getComponentWindow();
|
||||
Reference< container::XIndexAccess > xDisplayAccess = m_xDisplayAccess;
|
||||
aReadLock.unlock();
|
||||
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
|
||||
|
||||
// calculate the maximum size we have for the container window
|
||||
awt::Rectangle aWorkArea;
|
||||
try
|
||||
{
|
||||
sal_Int32 nDisplay = xContainerTopWindow->getDisplay();
|
||||
Reference< beans::XPropertySet > xDisplayInfo( xDisplayAccess->getByIndex( nDisplay ), UNO_QUERY_THROW );
|
||||
OSL_VERIFY( xDisplayInfo->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "WorkArea" ) ) ) >>= aWorkArea );
|
||||
}
|
||||
catch( const Exception& )
|
||||
{
|
||||
DBG_UNHANDLED_EXCEPTION();
|
||||
}
|
||||
|
||||
if ( ( aWorkArea.Width > 0 ) && ( aWorkArea.Height > 0 ) )
|
||||
{
|
||||
if ( ( rContainerSize.Width > aWorkArea.Width )
|
||||
|| ( rContainerSize.Height > aWorkArea.Height )
|
||||
)
|
||||
return sal_False;
|
||||
// Strictly, this is not correct. If we have a multi-screen display (css.awt.DisplayAccess.MultiDisplay == true),
|
||||
// the the "effective work area" would be much larger than the work area of a single display, since we could in theory
|
||||
// position the container window across multiple screens.
|
||||
// However, this should suffice as a heuristics here ... (nobody really wants to check whethere the different screens are
|
||||
// stacked horizontally or vertically, whether their work areas can really be combined, or are separated by non-work-areas,
|
||||
// and the like ... right?)
|
||||
}
|
||||
|
||||
// resize our container window
|
||||
xContainerWindow->setPosSize( 0, 0, rContainerSize.Width, rContainerSize.Height, css::awt::PosSize::SIZE );
|
||||
// position the component window
|
||||
xComponentWindow->setPosSize( rComponentPos.X, rComponentPos.Y, 0, 0, css::awt::PosSize::POS );
|
||||
return sal_True;
|
||||
}
|
||||
|
||||
void SAL_CALL LayoutManager::setVisible( sal_Bool bVisible )
|
||||
throw (::com::sun::star::uno::RuntimeException)
|
||||
{
|
||||
@ -7028,7 +7092,7 @@ IMPL_LINK( LayoutManager, AsyncLayoutHdl, Timer *, EMPTYARG )
|
||||
aReadLock.unlock();
|
||||
|
||||
implts_setDockingAreaWindowSizes( aDockingArea );
|
||||
implts_doLayout( sal_True );
|
||||
implts_doLayout( sal_True, sal_False );
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -7079,7 +7143,8 @@ throw ( RuntimeException )
|
||||
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
|
||||
|
||||
implts_reset( sal_True );
|
||||
implts_doLayout( sal_True );
|
||||
implts_doLayout( sal_True, sal_False );
|
||||
implts_doLayout( sal_True, sal_True );
|
||||
}
|
||||
else if (( aEvent.Action == FrameAction_FRAME_UI_ACTIVATED ) ||
|
||||
( aEvent.Action == FrameAction_FRAME_UI_DEACTIVATING ))
|
||||
@ -7106,7 +7171,6 @@ throw ( RuntimeException )
|
||||
// SAFE AREA -----------------------------------------------------------------------------------------------
|
||||
|
||||
implts_reset( sal_False );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -7148,6 +7212,7 @@ throw( RuntimeException )
|
||||
}
|
||||
m_xInplaceMenuBar.clear();
|
||||
m_xContainerWindow.clear();
|
||||
m_xContainerTopWindow.clear();
|
||||
implts_destroyDockingAreaWindows();
|
||||
|
||||
if ( m_xModuleCfgMgr.is() )
|
||||
@ -7198,6 +7263,7 @@ throw( RuntimeException )
|
||||
}
|
||||
m_xInplaceMenuBar.clear();
|
||||
m_xContainerWindow.clear();
|
||||
m_xContainerTopWindow.clear();
|
||||
}
|
||||
else if ( rEvent.Source == Reference< XInterface >( m_xDocCfgMgr, UNO_QUERY ))
|
||||
{
|
||||
@ -7412,65 +7478,21 @@ sal_Bool SAL_CALL LayoutManager::convertFastPropertyValue( Any& aConverted
|
||||
sal_Int32 nHandle ,
|
||||
const Any& aValue ) throw( com::sun::star::lang::IllegalArgumentException )
|
||||
{
|
||||
// Initialize state with FALSE !!!
|
||||
// (Handle can be invalid)
|
||||
sal_Bool bReturn = sal_False;
|
||||
|
||||
switch( nHandle )
|
||||
{
|
||||
case LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER :
|
||||
bReturn = PropHelper::willPropertyBeChanged(
|
||||
com::sun::star::uno::makeAny(m_bMenuBarCloser),
|
||||
aValue,
|
||||
aOldValue,
|
||||
aConvertedValue);
|
||||
break;
|
||||
case LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS:
|
||||
bReturn = PropHelper::willPropertyBeChanged(
|
||||
com::sun::star::uno::makeAny(m_bAutomaticToolbars),
|
||||
aValue,
|
||||
aOldValue,
|
||||
aConvertedValue);
|
||||
break;
|
||||
case LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY:
|
||||
bReturn = PropHelper::willPropertyBeChanged(
|
||||
com::sun::star::uno::makeAny(sal_False),
|
||||
aValue,
|
||||
aOldValue,
|
||||
aConvertedValue);
|
||||
break;
|
||||
case LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI:
|
||||
bReturn = PropHelper::willPropertyBeChanged(
|
||||
com::sun::star::uno::makeAny(m_bHideCurrentUI),
|
||||
aValue,
|
||||
aOldValue,
|
||||
aConvertedValue);
|
||||
break;
|
||||
}
|
||||
|
||||
// Return state of operation.
|
||||
return bReturn ;
|
||||
return LayoutManager_PBase::convertFastPropertyValue( aConvertedValue, aOldValue, nHandle, aValue );
|
||||
}
|
||||
|
||||
void SAL_CALL LayoutManager::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle ,
|
||||
const com::sun::star::uno::Any& aValue ) throw( com::sun::star::uno::Exception )
|
||||
{
|
||||
if ( nHandle != LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY )
|
||||
LayoutManager_PBase::setFastPropertyValue_NoBroadcast( nHandle, aValue );
|
||||
|
||||
switch( nHandle )
|
||||
{
|
||||
case LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER:
|
||||
{
|
||||
sal_Bool bCloserState = sal_False;
|
||||
aValue >>= bCloserState;
|
||||
implts_setMenuBarCloser( bCloserState );
|
||||
implts_updateMenuBarClose();
|
||||
break;
|
||||
}
|
||||
case LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS:
|
||||
{
|
||||
sal_Bool bValue = sal_Bool();
|
||||
if ( aValue >>= bValue )
|
||||
m_bAutomaticToolbars = bValue;
|
||||
break;
|
||||
}
|
||||
|
||||
case LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY:
|
||||
{
|
||||
sal_Bool bValue = sal_Bool();
|
||||
@ -7478,40 +7500,17 @@ void SAL_CALL LayoutManager::setFastPropertyValue_NoBroadcast( sal_Int32
|
||||
implts_refreshContextToolbarsVisibility();
|
||||
break;
|
||||
}
|
||||
|
||||
case LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI:
|
||||
{
|
||||
sal_Bool bValue = sal_Bool();
|
||||
if ( aValue >>= bValue )
|
||||
{
|
||||
m_bHideCurrentUI = bValue;
|
||||
implts_setCurrentUIVisibility( !bValue );
|
||||
}
|
||||
implts_setCurrentUIVisibility( !m_bHideCurrentUI );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SAL_CALL LayoutManager::getFastPropertyValue( com::sun::star::uno::Any& aValue ,
|
||||
sal_Int32 nHandle ) const
|
||||
{
|
||||
switch( nHandle )
|
||||
{
|
||||
case LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER:
|
||||
aValue <<= m_bMenuBarCloser;
|
||||
break;
|
||||
case LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS:
|
||||
aValue <<= m_bAutomaticToolbars;
|
||||
break;
|
||||
case LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY:
|
||||
aValue <<= sal_False;
|
||||
break;
|
||||
case LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI:
|
||||
aValue <<= m_bHideCurrentUI;
|
||||
break;
|
||||
case LAYOUTMANAGER_PROPHANDLE_LOCKCOUNT:
|
||||
aValue <<= m_nLockCount;
|
||||
break;
|
||||
}
|
||||
LayoutManager_PBase::getFastPropertyValue( aValue, nHandle );
|
||||
}
|
||||
|
||||
::cppu::IPropertyArrayHelper& SAL_CALL LayoutManager::getInfoHelper()
|
||||
@ -7530,9 +7529,9 @@ void SAL_CALL LayoutManager::getFastPropertyValue( com::sun::star::uno::Any& aVa
|
||||
if( pInfoHelper == NULL )
|
||||
{
|
||||
// Define static member to give structure of properties to baseclass "OPropertySetHelper".
|
||||
// "impl_getStaticPropertyDescriptor" is a non exported and static funtion, who will define a static propertytable.
|
||||
// "sal_True" say: Table is sorted by name.
|
||||
static ::cppu::OPropertyArrayHelper aInfoHelper( impl_getStaticPropertyDescriptor(), sal_True );
|
||||
uno::Sequence< beans::Property > aProperties;
|
||||
describeProperties( aProperties );
|
||||
static ::cppu::OPropertyArrayHelper aInfoHelper( aProperties, sal_True );
|
||||
pInfoHelper = &aInfoHelper;
|
||||
}
|
||||
}
|
||||
@ -7564,28 +7563,5 @@ com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CA
|
||||
return (*pInfo);
|
||||
}
|
||||
|
||||
const com::sun::star::uno::Sequence< com::sun::star::beans::Property > LayoutManager::impl_getStaticPropertyDescriptor()
|
||||
{
|
||||
// Create a new static property array to initialize sequence!
|
||||
// Table of all predefined properties of this class. Its used from OPropertySetHelper-class!
|
||||
// Don't forget to change the defines (see begin of this file), if you add, change or delete a property in this list!!!
|
||||
// It's necessary for methods of OPropertySetHelper.
|
||||
// ATTENTION:
|
||||
// YOU MUST SORT FOLLOW TABLE BY NAME ALPHABETICAL !!!
|
||||
|
||||
static const com::sun::star::beans::Property pProperties[] =
|
||||
{
|
||||
com::sun::star::beans::Property( LAYOUTMANAGER_PROPNAME_AUTOMATICTOOLBARS, LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS, ::getCppuType((const sal_Bool*)NULL), com::sun::star::beans::PropertyAttribute::TRANSIENT ),
|
||||
com::sun::star::beans::Property( LAYOUTMANAGER_PROPNAME_HIDECURRENTUI, LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI, ::getCppuType((const sal_Bool*)NULL), com::sun::star::beans::PropertyAttribute::TRANSIENT ),
|
||||
com::sun::star::beans::Property( LAYOUTMANAGER_PROPNAME_LOCKCOUNT, LAYOUTMANAGER_PROPHANDLE_LOCKCOUNT, ::getCppuType((const sal_Int32*)NULL), com::sun::star::beans::PropertyAttribute::TRANSIENT|com::sun::star::beans::PropertyAttribute::READONLY ),
|
||||
com::sun::star::beans::Property( LAYOUTMANAGER_PROPNAME_MENUBARCLOSER, LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER, ::getCppuType((const sal_Bool*)NULL), com::sun::star::beans::PropertyAttribute::TRANSIENT ),
|
||||
com::sun::star::beans::Property( LAYOUTMANAGER_PROPNAME_REFRESHVISIBILITY, LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY, ::getCppuType((const sal_Bool*)NULL), com::sun::star::beans::PropertyAttribute::TRANSIENT )
|
||||
};
|
||||
// Use it to initialize sequence!
|
||||
static const com::sun::star::uno::Sequence< com::sun::star::beans::Property > lPropertyDescriptor( pProperties, LAYOUTMANAGER_PROPCOUNT );
|
||||
// Return static "PropertyDescriptor"
|
||||
return lPropertyDescriptor;
|
||||
}
|
||||
|
||||
} // namespace framework
|
||||
|
||||
|
@ -39,6 +39,8 @@ ENABLE_EXCEPTIONS= TRUE
|
||||
|
||||
.INCLUDE : settings.mk
|
||||
|
||||
VISIBILITY_HIDDEN = TRUE
|
||||
|
||||
# --- Generate -----------------------------------------------------
|
||||
|
||||
SLOFILES= \
|
||||
|
@ -40,6 +40,8 @@ LIBTARGET= NO
|
||||
|
||||
.INCLUDE : settings.mk
|
||||
|
||||
VISIBILITY_HIDDEN = TRUE
|
||||
|
||||
# --- Generate -----------------------------------------------------
|
||||
|
||||
SLOFILES= \
|
||||
|
@ -231,6 +231,13 @@ BackingWindow::~BackingWindow()
|
||||
delete mpAccExec;
|
||||
}
|
||||
|
||||
void BackingWindow::GetFocus()
|
||||
{
|
||||
if( IsVisible() )
|
||||
maWriterButton.GrabFocus();
|
||||
Window::GetFocus();
|
||||
}
|
||||
|
||||
class ImageContainerRes : public Resource
|
||||
{
|
||||
public:
|
||||
|
@ -173,6 +173,7 @@ namespace framework
|
||||
virtual void DataChanged( const DataChangedEvent& rDCEvt );
|
||||
virtual Window* GetParentLabelFor( const Window* pLabel ) const;
|
||||
virtual Window* GetParentLabeledBy( const Window* pLabeled ) const;
|
||||
virtual void GetFocus();
|
||||
|
||||
void setOwningFrame( const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& xFrame );
|
||||
};
|
||||
|
@ -188,6 +188,8 @@ void FontMenuController::impl_select(const Reference< XDispatch >& _xDispatch,co
|
||||
m_xFrame,
|
||||
aTargetURL,
|
||||
Sequence<PropertyValue>());
|
||||
OSL_ENSURE(_xDispatch.is(),"FontMenuController::impl_select: No dispatch");
|
||||
if ( _xDispatch.is() )
|
||||
_xDispatch->dispatch( aTargetURL, aArgs );
|
||||
}
|
||||
|
||||
|
@ -326,6 +326,8 @@ void FontSizeMenuController::impl_select(const Reference< XDispatch >& _xDispatc
|
||||
Sequence<PropertyValue> aArgs;
|
||||
if(::comphelper::UiEventsLogger::isEnabled()) //#i88653#
|
||||
UiEventLogHelper(::rtl::OUString::createFromAscii("FontSizeMenuController")).log(m_xServiceManager, m_xFrame, aTargetURL, aArgs);
|
||||
OSL_ENSURE(_xDispatch.is(),"FontSizeMenuController::impl_select: No dispatch");
|
||||
if ( _xDispatch.is() )
|
||||
_xDispatch->dispatch( aTargetURL, aArgs );
|
||||
}
|
||||
|
||||
|
@ -254,6 +254,8 @@ void HeaderMenuController::impl_select(const Reference< XDispatch >& _xDispatch,
|
||||
Sequence<PropertyValue> aArgs;
|
||||
if(::comphelper::UiEventsLogger::isEnabled()) //#i88653#
|
||||
UiEventLogHelper(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(m_bFooter ? "FooterMenuController" : "HeaderMenuController"))).log(m_xServiceManager, m_xFrame, aTargetURL, aArgs);
|
||||
OSL_ENSURE(_xDispatch.is(),"HeaderMenuController::impl_select: No dispatch");
|
||||
if ( _xDispatch.is() )
|
||||
_xDispatch->dispatch( aTargetURL, aArgs );
|
||||
}
|
||||
|
||||
|
@ -160,6 +160,8 @@ void ObjectMenuController::impl_select(const Reference< XDispatch >& _xDispatch,
|
||||
Sequence<PropertyValue> aArgs;
|
||||
if(::comphelper::UiEventsLogger::isEnabled()) //#i88653#
|
||||
UiEventLogHelper(::rtl::OUString::createFromAscii("ObjectMenuController")).log(m_xServiceManager, m_xFrame, aTargetURL, aArgs);
|
||||
OSL_ENSURE(_xDispatch.is(),"ObjectMenuController::impl_select: No dispatch");
|
||||
if ( _xDispatch.is() )
|
||||
_xDispatch->dispatch( aTargetURL, aArgs );
|
||||
}
|
||||
|
||||
|
@ -44,10 +44,6 @@
|
||||
#include <xml/saxnamespacefilter.hxx>
|
||||
#include <services.h>
|
||||
|
||||
#ifndef _FRAMEWORK_SERVICES_LAYOUTMANAGER_HXX_
|
||||
#include <services/layoutmanager.hxx>
|
||||
#endif
|
||||
|
||||
#ifndef _FRAMEWORK_UIELEMENT_ROOTITEMCONTAINER_HXX_
|
||||
#include <uielement/rootitemcontainer.hxx>
|
||||
#endif
|
||||
|
@ -275,7 +275,8 @@ Reference< XHyphenatedWord > SAL_CALL
|
||||
return xRes;
|
||||
|
||||
// search for entry with that language
|
||||
LangSvcEntries_Hyph *pEntry = aSvcMap[ nLanguage ].get();
|
||||
HyphSvcByLangMap_t::iterator aIt( aSvcMap.find( nLanguage ) );
|
||||
LangSvcEntries_Hyph *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
|
||||
BOOL bWordModified = FALSE;
|
||||
if (!pEntry || (nMaxLeading < 0 || nMaxLeading > nWordLen))
|
||||
@ -418,7 +419,8 @@ Reference< XHyphenatedWord > SAL_CALL
|
||||
return xRes;
|
||||
|
||||
// search for entry with that language
|
||||
LangSvcEntries_Hyph *pEntry = aSvcMap[ nLanguage ].get();
|
||||
HyphSvcByLangMap_t::iterator aIt( aSvcMap.find( nLanguage ) );
|
||||
LangSvcEntries_Hyph *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
|
||||
BOOL bWordModified = FALSE;
|
||||
if (!pEntry || !(0 <= nIndex && nIndex <= nWordLen - 2))
|
||||
@ -555,7 +557,8 @@ Reference< XPossibleHyphens > SAL_CALL
|
||||
return xRes;
|
||||
|
||||
// search for entry with that language
|
||||
LangSvcEntries_Hyph *pEntry = aSvcMap[ nLanguage ].get();
|
||||
HyphSvcByLangMap_t::iterator aIt( aSvcMap.find( nLanguage ) );
|
||||
LangSvcEntries_Hyph *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
|
||||
if (!pEntry)
|
||||
{
|
||||
@ -714,7 +717,8 @@ Sequence< OUString >
|
||||
// search for entry with that language and use data from that
|
||||
INT16 nLanguage = LocaleToLanguage( rLocale );
|
||||
HyphenatorDispatcher *pThis = (HyphenatorDispatcher *) this;
|
||||
const LangSvcEntries_Hyph *pEntry = pThis->aSvcMap[ nLanguage ].get();
|
||||
const HyphSvcByLangMap_t::iterator aIt( pThis->aSvcMap.find( nLanguage ) );
|
||||
const LangSvcEntries_Hyph *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
if (pEntry)
|
||||
{
|
||||
aRes = pEntry->aSvcImplNames;
|
||||
|
@ -330,7 +330,8 @@ BOOL SpellCheckerDispatcher::isValid_Impl(
|
||||
return bRes;
|
||||
|
||||
// search for entry with that language
|
||||
LangSvcEntries_Spell *pEntry = aSvcMap[ nLanguage ].get();
|
||||
SpellSvcByLangMap_t::iterator aIt( aSvcMap.find( nLanguage ) );
|
||||
LangSvcEntries_Spell *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
|
||||
if (!pEntry)
|
||||
{
|
||||
@ -497,7 +498,8 @@ Reference< XSpellAlternatives > SpellCheckerDispatcher::spell_Impl(
|
||||
return xRes;
|
||||
|
||||
// search for entry with that language
|
||||
LangSvcEntries_Spell *pEntry = aSvcMap[ nLanguage ].get();
|
||||
SpellSvcByLangMap_t::iterator aIt( aSvcMap.find( nLanguage ) );
|
||||
LangSvcEntries_Spell *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
|
||||
if (!pEntry)
|
||||
{
|
||||
@ -848,7 +850,8 @@ Sequence< OUString >
|
||||
// search for entry with that language and use data from that
|
||||
INT16 nLanguage = LocaleToLanguage( rLocale );
|
||||
SpellCheckerDispatcher *pThis = (SpellCheckerDispatcher *) this;
|
||||
const LangSvcEntries_Spell *pEntry = pThis->aSvcMap[ nLanguage ].get();
|
||||
const SpellSvcByLangMap_t::iterator aIt( pThis->aSvcMap.find( nLanguage ) );
|
||||
const LangSvcEntries_Spell *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
if (pEntry)
|
||||
aRes = pEntry->aSvcImplNames;
|
||||
|
||||
|
@ -136,7 +136,8 @@ Sequence< Reference< XMeaning > > SAL_CALL
|
||||
return aMeanings;
|
||||
|
||||
// search for entry with that language
|
||||
LangSvcEntries_Thes *pEntry = aSvcMap[ nLanguage ].get();
|
||||
ThesSvcByLangMap_t::iterator aIt( aSvcMap.find( nLanguage ) );
|
||||
LangSvcEntries_Thes *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
|
||||
if (!pEntry)
|
||||
{
|
||||
@ -265,7 +266,8 @@ Sequence< OUString >
|
||||
// search for entry with that language and use data from that
|
||||
INT16 nLanguage = LocaleToLanguage( rLocale );
|
||||
ThesaurusDispatcher *pThis = (ThesaurusDispatcher *) this;
|
||||
const LangSvcEntries_Thes *pEntry = pThis->aSvcMap[ nLanguage ].get();
|
||||
const ThesSvcByLangMap_t::iterator aIt( pThis->aSvcMap.find( nLanguage ) );
|
||||
const LangSvcEntries_Thes *pEntry = aIt != aSvcMap.end() ? aIt->second.get() : NULL;
|
||||
if (pEntry)
|
||||
aRes = pEntry->aSvcImplNames;
|
||||
|
||||
|
@ -35,11 +35,6 @@
|
||||
<value>1</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="DefaultSearchEngine" install:module="defaultsearchengine">
|
||||
<prop oor:name="Name">
|
||||
<value>Google</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="SearchEngines">
|
||||
<node oor:name="Euroseek" oor:op="replace">
|
||||
<node oor:name="And">
|
||||
|
@ -521,6 +521,14 @@
|
||||
<prop oor:name="DynamicBorderColors" oor:type="xs:boolean">
|
||||
<value>true</value>
|
||||
</prop>
|
||||
<prop oor:name="UseDocumentTextMetrics" oor:type="xs:boolean">
|
||||
<value>false</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="com.sun.star.sheet.SpreadsheetDocument">
|
||||
<prop oor:name="UseDocumentTextMetrics" oor:type="xs:boolean">
|
||||
<value>false</value>
|
||||
</prop>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
@ -702,33 +702,6 @@
|
||||
<node oor:name="Topics"/>
|
||||
</node>
|
||||
</node>
|
||||
<node oor:name="Cursor" >
|
||||
<node oor:name="DirectCursor" >
|
||||
<prop oor:name="UseDirectCursor" install:module="directcursor">
|
||||
<value>true</value>
|
||||
</prop>
|
||||
<prop oor:name="Insert" install:module="directcursor">
|
||||
<value>3</value>
|
||||
</prop>
|
||||
</node>
|
||||
</node>
|
||||
<node oor:name="DefaultFont" install:module="defaultfontarial">
|
||||
<prop oor:name="Standard">
|
||||
<value >Arial</value>
|
||||
</prop>
|
||||
<prop oor:name="Heading">
|
||||
<value >Arial</value>
|
||||
</prop>
|
||||
<prop oor:name="List">
|
||||
<value >Arial</value>
|
||||
</prop>
|
||||
<prop oor:name="Caption">
|
||||
<value >Arial</value>
|
||||
</prop>
|
||||
<prop oor:name="Index">
|
||||
<value >Arial</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="Layout" >
|
||||
<node oor:name="Other" >
|
||||
<prop oor:name="TabStop">
|
||||
|
@ -89,8 +89,6 @@ MODULEFILES= \
|
||||
Paths-macosx.xcu \
|
||||
Paths-unxwnt.xcu \
|
||||
Writer-cjk.xcu \
|
||||
Writer-defaultfontarial.xcu \
|
||||
Writer-directcursor.xcu \
|
||||
Writer-javamail.xcu \
|
||||
Impress-ogltrans.xcu \
|
||||
Embedding-calc.xcu \
|
||||
|
@ -7,9 +7,6 @@
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: VCL.xcu,v $
|
||||
* $Revision: 1.62.116.1 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
@ -825,64 +822,184 @@
|
||||
<value>Lohit Nepali;Kalimati;Samanata;Sans</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="hi-IN" oor:op="replace">
|
||||
<node oor:name="as-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Helmet;Interface System;Sans Serif</value>
|
||||
<value>Lohit Assamese;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Assamese;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Assamese;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Assamese;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Assamese;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Assamese;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="bn-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Bengali;Vrinda;Lucidasans;Lucida Sans;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Bengali;Vrinda;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Bengali;Vrinda;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Bengali;Vrinda;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Bengali;Vrinda;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Bengali;Vrinda;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="hi-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Mangal;Lucidasans;Lucida Sans;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Mangal;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Mangal;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Mangal;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Mangal;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Hindi;Mangal;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="gu-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Helmet;Interface System;Sans Serif</value>
|
||||
<value>Lohit Gujarati;Shruti;Lucidasans;Lucida Sans;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Gujarati;Shruti;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Gujarati;Shruti;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Gujarati;Shruti;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Gujarati;Shruti;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Gujarati;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Gujarati;Shruti;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="kn-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Kannada;Tunga;Lucidasans;Lucida Sans;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Kannada;Tunga;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Kannada;Tunga;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Kannada;Tunga;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Kannada;Tunga;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Kannada;Tunga;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="mai-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Maithili;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Maithili;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Maithili;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Maithili;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Maithili;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Maithili;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="ml-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Meera;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Meera;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Meera;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Meera;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Meera;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Meera;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="mr-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Marathi;Tahoma;Lucidasans;Lucida Sans;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Marathi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Marathi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Marathi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Marathi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Marathi;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="or-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>utkal;Tahoma;Lucidasans;Lucida Sans;Supplement;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU;Interface User;WarpSans;Geneva;MS Sans Serif;Helv;Dialog;Albany AMT;Albany;Lucida;Arial;Nimbus Sans L;Helvetica;Charcoal;Chicago;Helmet;Interface System;Sans Serif</value>
|
||||
<value>utkal;Kalinga;Lohit Oriya;Samyak Oriya;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>utkal;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>utkal;Kalinga;Lohit Oriya;Samyak Oriya;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>utkal;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>utkal;Kalinga;Lohit Oriya;Samyak Oriya;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>utkal;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>utkal;Kalinga;Lohit Oriya;Samyak Oriya;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>utkal;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>utkal;Kalinga;Lohit Oriya;Samyak Oriya;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>utkal;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>utkal;Kalinga;Lohit Oriya;Samyak Oriya;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="pa-IN" oor:op="replace">
|
||||
@ -907,22 +1024,62 @@
|
||||
</node>
|
||||
<node oor:name="ta-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Tamil;Tahoma;Sans Serif</value>
|
||||
<value>Lohit Tamil;Latha;Sans Serif</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Tamil;Latha;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Tamil;Latha;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Tamil;Latha;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Tamil;Latha;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Tamil;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
<value>Lohit Tamil;Latha;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="te-IN" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Telugu;Gautami;Lucidasans;Lucida Sans;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Telugu;Gautami;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Telugu;Gautami;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Telugu;Gautami;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Telugu;Gautami;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Lohit Telugu;Gautami;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="ur" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>PakTypeNaqsh;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>PakTypeNaqsh;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>PakTypeNaqsh;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>PakTypeNaqsh;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>PakTypeNaqsh;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>PakTypeNaqsh;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
|
||||
@ -1022,6 +1179,26 @@
|
||||
</node>
|
||||
<node oor:name="rw" oor:op="replace">
|
||||
</node>
|
||||
<node oor:name="si" oor:op="replace">
|
||||
<prop oor:name="UI_SANS" oor:op="replace" oor:type="xs:string">
|
||||
<value>LKLUG;Iskoola Pota;Lucidasans;Lucida Sans;Andale Sans UI;Arial Unicode MS;Lucida Sans Unicode;clearlyU</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_DISPLAY" oor:op="replace" oor:type="xs:string">
|
||||
<value>Iskoola Pota;LKLUG;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_HEADING" oor:op="replace" oor:type="xs:string">
|
||||
<value>Iskoola Pota;LKLUG;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_PRESENTATION" oor:op="replace" oor:type="xs:string">
|
||||
<value>Iskoola Pota;LKLUG;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_SPREADSHEET" oor:op="replace" oor:type="xs:string">
|
||||
<value>Iskoola Pota;LKLUG;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
<prop oor:name="CTL_TEXT" oor:op="replace" oor:type="xs:string">
|
||||
<value>Iskoola Pota;LKLUG;Tahoma;Lucidasans;Lucida Sans;Arial Unicode MS</value>
|
||||
</prop>
|
||||
</node>
|
||||
</node>
|
||||
<node oor:name="FontSubstitutions">
|
||||
<node oor:name="en" oor:op="replace">
|
||||
@ -1471,9 +1648,9 @@
|
||||
<value>Default,Serif</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="bitstreamveramono" oor:op="replace">
|
||||
<node oor:name="bitstreamverasansmono" oor:op="replace">
|
||||
<prop oor:name="SubstFonts">
|
||||
<value>dejavumono</value>
|
||||
<value>dejavusansmono;couriernew;liberationmono</value>
|
||||
</prop>
|
||||
<prop oor:name="SubstFontsHTML"><value>monospace</value></prop>
|
||||
<prop oor:name="FontWeight"><value>Normal</value></prop>
|
||||
@ -2200,7 +2377,7 @@
|
||||
</node>
|
||||
<node oor:name="couriernew" oor:op="replace">
|
||||
<prop oor:name="SubstFonts">
|
||||
<value>cumberland;cumberlandamt;liberationmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
<value>cumberland;cumberlandamt;liberationmono;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
</prop>
|
||||
<prop oor:name="SubstFontsMS"><value></value></prop>
|
||||
<prop oor:name="SubstFontsPS"><value>Courier</value></prop>
|
||||
@ -2211,7 +2388,7 @@
|
||||
</node>
|
||||
<node oor:name="cumberland" oor:op="replace">
|
||||
<prop oor:name="SubstFonts">
|
||||
<value>cumberlandamt;couriernew;liberationmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
<value>cumberlandamt;couriernew;liberationmono;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
</prop>
|
||||
<prop oor:name="SubstFontsMS">
|
||||
<value>Courier New</value>
|
||||
@ -2234,7 +2411,7 @@
|
||||
</node>
|
||||
<node oor:name="cumberlandamt" oor:op="replace">
|
||||
<prop oor:name="SubstFonts">
|
||||
<value>cumberland;couriernew;liberationmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
<value>cumberland;couriernew;liberationmono;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
</prop>
|
||||
<prop oor:name="SubstFontsMS">
|
||||
<value>Courier New</value>
|
||||
@ -2321,9 +2498,9 @@
|
||||
<value>Default,Serif</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="dejavumono" oor:op="replace">
|
||||
<node oor:name="dejavusansmono" oor:op="replace">
|
||||
<prop oor:name="SubstFonts">
|
||||
<value>bitstreamveramono</value>
|
||||
<value>bitstreamverasansmono;couriernew;liberationmono</value>
|
||||
</prop>
|
||||
<prop oor:name="SubstFontsHTML"><value>monospace</value></prop>
|
||||
<prop oor:name="FontWeight"><value>Normal</value></prop>
|
||||
@ -4562,7 +4739,7 @@
|
||||
</node>
|
||||
<node oor:name="liberationmono" oor:op="replace">
|
||||
<prop oor:name="SubstFonts">
|
||||
<value>cumberland;cumberlandamt;couriernew;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
<value>cumberland;cumberlandamt;couriernew;dejavusansmono;nimbusmonol;courier;lucidatypewriter;lucidasanstypewriter;monaco;monospaced;nimbusmono;nimbusmonol</value>
|
||||
</prop>
|
||||
<prop oor:name="SubstFontsMS">
|
||||
<value>Courier New</value>
|
||||
|
@ -47,7 +47,6 @@ XCUFILES= \
|
||||
UserProfile.xcu
|
||||
|
||||
MODULEFILES= \
|
||||
Inet-defaultsearchengine.xcu \
|
||||
Setup-brand.xcu \
|
||||
Setup-writer.xcu \
|
||||
Setup-calc.xcu \
|
||||
|
@ -844,11 +844,28 @@
|
||||
</prop>
|
||||
<prop oor:name="DynamicBorderColors" oor:type="xs:boolean">
|
||||
<info>
|
||||
<desc>specifies whether the controls should use dynamic border coloring, if possible.
|
||||
Dymamic border coloring means that when the mouse is hovered over a control, and when a control receives the focus, this is indicated with special border colors.</desc>
|
||||
<desc>
|
||||
specifies whether the controls should use dynamic border coloring, if possible.
|
||||
Dymamic border coloring means that when the mouse is hovered over a control, and when a control receives the focus, this is indicated with special border colors.
|
||||
</desc>
|
||||
</info>
|
||||
<value>false</value>
|
||||
</prop>
|
||||
<prop oor:name="UseDocumentTextMetrics" oor:type="xs:boolean">
|
||||
<info>
|
||||
<desc>
|
||||
controls whether form controls, when they render their text, use the same metrics as the document
|
||||
does. If this is set to <true>, then the control text's appearance better matches the text
|
||||
in the surrounding document.</p>
|
||||
<p>Technically, documents use a reference device for formatting, which usually has a higher
|
||||
resolution than the actual output device. The option decides whether form controls should use
|
||||
the same reference device as the surrounding document. However, some of OOo's document implementations
|
||||
do not properly use their reference device in all situations, in which case the option might better
|
||||
be disabled.<p>
|
||||
</desc>
|
||||
</info>
|
||||
<value>true</value>
|
||||
</prop>
|
||||
</group>
|
||||
<group oor:name="ProductVersionID">
|
||||
<info>
|
||||
@ -1181,7 +1198,8 @@ Dymamic border coloring means that when the mouse is hovered over a control, and
|
||||
<prop oor:name="QuadraticFormControlRenderLimit" oor:type="xs:int">
|
||||
<info>
|
||||
<author>AW</author>
|
||||
<desc>This defines a Limitation for the default raster conversion of FormControls in edit mode.
|
||||
<desc>
|
||||
This defines a Limitation for the default raster conversion of FormControls in edit mode.
|
||||
These have the ability to be displayed using this fallback to Bitmaps.
|
||||
The number is the maximum number of pixels to use, e.g. 300x150 Pixels is allowed as default.
|
||||
When FormControls would need more Pixels than this, the Bitmap will be limited and scaled to the needed pixel size at paint time.
|
||||
@ -5356,6 +5374,13 @@ Dymamic border coloring means that when the mouse is hovered over a control, and
|
||||
</constraints>
|
||||
<value>0</value>
|
||||
</prop>
|
||||
<prop oor:name="AllowDuplicateFieldNames" oor:type="xs:boolean">
|
||||
<info>
|
||||
<author>pl</author>
|
||||
<desc>Specifies whether multiple form fields exported are allowed to have the same field name.</desc>
|
||||
</info>
|
||||
<value>false</value>
|
||||
</prop>
|
||||
<prop oor:name="IsSkipEmptyPages" oor:type="xs:boolean">
|
||||
<info>
|
||||
<author>FME</author>
|
||||
|
@ -56,18 +56,16 @@ MYDONEFILES += $(foreach,i,$(MYSYMFILES) $(MISC)$/$(i:b).done)
|
||||
|
||||
ALLTAR: GENIDL
|
||||
|
||||
GENIDL : $(MY_GEN_IDL_PATH) $(MYDONEFILES)
|
||||
GENIDL : $(MYDONEFILES)
|
||||
|
||||
GENRDB : GENIDL $(MYURDFILES)
|
||||
|
||||
$(MISC)$/%.done : %.api
|
||||
@@-$(MKDIR) $(MY_GEN_IDL_PATH)
|
||||
@echo Processing $?
|
||||
$(PERL) api-to-idl.pl $? $(MY_GEN_IDL_PATH)
|
||||
@$(TOUCH) $@
|
||||
|
||||
$(MY_GEN_IDL_PATH) :
|
||||
@@-$(MKDIR) $@
|
||||
|
||||
CLEAN :
|
||||
@$(RM) $(MY_GEN_IDL_PATH)$/*.idl
|
||||
@$(RM) $(foreach,i,$(MYSYMFILES) $(MISC)$/$(i:b).done)
|
||||
|
54
oovbaapi/ooo/vba/ControlProvider.idl
Normal file
54
oovbaapi/ooo/vba/ControlProvider.idl
Normal file
@ -0,0 +1,54 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XGlobals.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_ControlProvider_idl__
|
||||
#define __ooo_vba_ControlProvider_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __com_sun_star_frame_XModel_idl__
|
||||
#include <com/sun/star/frame/XModel.idl>
|
||||
#endif
|
||||
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
interface XControlProvider;
|
||||
|
||||
service ControlProvider
|
||||
{
|
||||
interface ::ooo::vba::XControlProvider;
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
66
oovbaapi/ooo/vba/XApplicationBase.idl
Normal file
66
oovbaapi/ooo/vba/XApplicationBase.idl
Normal file
@ -0,0 +1,66 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile$
|
||||
*
|
||||
* $Revision$
|
||||
*
|
||||
* last change: $Author$ $Date$
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XApplicationBase_idl__
|
||||
#define __ooo_vba_XApplicationBase_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
module ooo { module vba {
|
||||
//=============================================================================
|
||||
|
||||
interface XApplicationBase
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
[attribute] boolean ScreenUpdating;
|
||||
[attribute] boolean DisplayStatusBar;
|
||||
[attribute, readonly] string Version;
|
||||
|
||||
void Quit();
|
||||
|
||||
any CommandBars( [in] any aIndex );
|
||||
void Run([in] string MacroName, [in] /*Optional*/ any varg1, [in] /*Optional*/ any varg2, [in] /*Optional*/ any varg3, [in] /*Optional*/ any varg4, [in] /*Optional*/ any varg5, [in] /*Optional*/ any varg6, [in] /*Optional*/ any varg7, [in] /*Optional*/ any varg8, [in] /*Optional*/ any varg9, [in] /*Optional*/ any varg10, [in] /*Optional*/ any varg11, [in] /*Optional*/ any varg12, [in] /*Optional*/ any varg13, [in] /*Optional*/ any varg14, [in] /*Optional*/ any varg15, [in] /*Optional*/ any varg16, [in] /*Optional*/ any varg17, [in] /*Optional*/ any varg18, [in] /*Optional*/ any varg19, [in] /*Optional*/ any varg20, [in] /*Optional*/ any varg21, [in] /*Optional*/ any varg22, [in] /*Optional*/ any varg23, [in] /*Optional*/ any varg24, [in] /*Optional*/ any varg25, [in] /*Optional*/ any varg26, [in] /*Optional*/ any varg27, [in] /*Optional*/ any varg28, [in] /*Optional*/ any varg29, [in] /*Optional*/ any varg30);
|
||||
float CentimetersToPoints([in] float Centimeters );
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
@ -54,9 +54,12 @@ interface XCommandBar
|
||||
|
||||
[attribute] string Name;
|
||||
[attribute] boolean Visible;
|
||||
[attribute] boolean Enabled;
|
||||
|
||||
void Delete() raises ( com::sun::star::script::BasicErrorException );
|
||||
any Controls( [in] any Index ) raises ( com::sun::star::script::BasicErrorException );
|
||||
long Type() raises ( com::sun::star::script::BasicErrorException );
|
||||
any FindControl( [in] any Type, [in] any Id, [in] any Tag, [in] any Visible, [in] any Recursive ) raises ( com::sun::star::script::BasicErrorException );
|
||||
};
|
||||
|
||||
}; };
|
||||
|
52
oovbaapi/ooo/vba/XCommandBarButton.idl
Normal file
52
oovbaapi/ooo/vba/XCommandBarButton.idl
Normal file
@ -0,0 +1,52 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile$
|
||||
*
|
||||
* $Revision$
|
||||
*
|
||||
* last change: $Author$ $Date$
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XCommandBarButton_idl__
|
||||
#define __ooo_vba_XCommandBarButton_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
//=============================================================================
|
||||
|
||||
module ooo { module vba {
|
||||
//=============================================================================
|
||||
|
||||
interface XCommandBarButton: com::sun::star::uno::XInterface
|
||||
{
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
@ -54,6 +54,8 @@ interface XCommandBarControl
|
||||
[attribute] string Caption;
|
||||
[attribute] string OnAction;
|
||||
[attribute] boolean Visible;
|
||||
[attribute, readonly] long Type;
|
||||
[attribute] boolean Enabled;
|
||||
|
||||
void Delete() raises ( com::sun::star::script::BasicErrorException );
|
||||
any Controls( [in] any Index ) raises ( com::sun::star::script::BasicErrorException );
|
||||
|
52
oovbaapi/ooo/vba/XCommandBarPopup.idl
Normal file
52
oovbaapi/ooo/vba/XCommandBarPopup.idl
Normal file
@ -0,0 +1,52 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile$
|
||||
*
|
||||
* $Revision$
|
||||
*
|
||||
* last change: $Author$ $Date$
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XCommandBarPopup_idl__
|
||||
#define __ooo_vba_XCommandBarPopup_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
//=============================================================================
|
||||
|
||||
module ooo { module vba {
|
||||
//=============================================================================
|
||||
|
||||
interface XCommandBarPopup: com::sun::star::uno::XInterface
|
||||
{
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
@ -27,41 +27,38 @@
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XGlobals_idl__
|
||||
#define __ooo_vba_XGlobals_idl__
|
||||
#ifndef __ooo_vba_XControlProvider_idl__
|
||||
#define __ooo_vba_XControlProvider_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_excel_XApplication_idl__
|
||||
#include <ooo/vba/excel/XApplication.idl>
|
||||
|
||||
#ifndef __com_sun_star_frame_XModel_idl__
|
||||
#include <com/sun/star/frame/XModel.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_excel_XWorkbook_idl__
|
||||
#include <ooo/vba/excel/XWorkbook.idl>
|
||||
|
||||
#ifndef __com_sun_star_awt_XControl_idl__
|
||||
#include <com/sun/star/awt/XControl.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_excel_XWorksheet_idl__
|
||||
#include <ooo/vba/excel/XWorksheet.idl>
|
||||
|
||||
#ifndef __com_sun_star_drawing_XControlShape_idl__
|
||||
#include <com/sun/star/drawing/XControlShape.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_msforms_XControl_idl__
|
||||
#include <ooo/vba/msforms/XControl.idl>
|
||||
#endif
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
interface XGlobals: com::sun::star::uno::XInterface
|
||||
interface XControlProvider
|
||||
{
|
||||
// FIXME, need better way to expose globals
|
||||
sequence< any > getGlobals();
|
||||
::ooo::vba::msforms::XControl createControl( [in] ::com::sun::star::drawing::XControlShape xControl, [in] ::com::sun::star::frame::XModel xDocOwner );
|
||||
::ooo::vba::msforms::XControl createUserformControl( [in] ::com::sun::star::awt::XControl xControl, [in] ::com::sun::star::awt::XControl xDialog, [in] ::com::sun::star::frame::XModel xDocOwner );
|
||||
|
||||
[attribute, readonly] ooo::vba::excel::XApplication Application;
|
||||
[attribute, readonly] ooo::vba::excel::XWorkbook ActiveWorkbook;
|
||||
[attribute, readonly] ooo::vba::excel::XWorksheet ActiveSheet;
|
||||
any WorkSheets( [in] any aIndex );
|
||||
any WorkBooks( [in] any aIndex );
|
||||
any Sheets( [in] any aIndex );
|
||||
any Range( [in] any Cell1, [in] any Cell2 );
|
||||
any Names( [in] any Index );
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
||||
|
58
oovbaapi/ooo/vba/XDialogBase.idl
Normal file
58
oovbaapi/ooo/vba/XDialogBase.idl
Normal file
@ -0,0 +1,58 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XDialog.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XDialog_idl__
|
||||
#define __ooo_vba_XDialog_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
//=============================================================================
|
||||
|
||||
interface XDialogBase
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
void Show();
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
60
oovbaapi/ooo/vba/XDialogsBase.idl
Normal file
60
oovbaapi/ooo/vba/XDialogsBase.idl
Normal file
@ -0,0 +1,60 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XDialogs.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XDialogs_idl__
|
||||
#define __ooo_vba_XDialogs_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_XCollection_idl__
|
||||
#include <ooo/vba/XCollection.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
//=============================================================================
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
//interface XDialogs : ::ooo::vba::XCollection
|
||||
interface XDialogsBase
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
[attribute, readonly] long Count;
|
||||
any Item( [in] any Index );
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
67
oovbaapi/ooo/vba/XDocumentBase.idl
Normal file
67
oovbaapi/ooo/vba/XDocumentBase.idl
Normal file
@ -0,0 +1,67 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile$
|
||||
*
|
||||
* $Revision$
|
||||
*
|
||||
* last change: $Author$ $Date$
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XDocumentBase_idl__
|
||||
#define __ooo_vba_XDocumentBase_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
module ooo { module vba {
|
||||
//=============================================================================
|
||||
|
||||
interface XDocumentBase
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
[attribute, readonly] string Name;
|
||||
[attribute, readonly] string Path;
|
||||
[attribute, readonly] string FullName;
|
||||
[attribute] boolean Saved;
|
||||
|
||||
void Close([in] any SaveChanges, [in] any FileName, [in] any RouteWorkBook);
|
||||
void Save();
|
||||
void Activate();
|
||||
void Protect( [in] any Password );
|
||||
void Unprotect( [in] any Password );
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
71
oovbaapi/ooo/vba/XDocumentProperties.idl
Normal file
71
oovbaapi/ooo/vba/XDocumentProperties.idl
Normal file
@ -0,0 +1,71 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XDocument.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __ooo_vba_XDocumentProperties_idl__
|
||||
#define __ooo_vba_XDocumentProperties_idl__
|
||||
|
||||
#ifndef __com_sun_star_script_BasicErrorException_idl__
|
||||
#include <com/sun/star/script/BasicErrorException.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_XCollection_idl__
|
||||
#include <ooo/vba/XCollection.idl>
|
||||
#endif
|
||||
|
||||
module ooo { module vba {
|
||||
interface XDocumentProperty;
|
||||
interface XDocumentProperties
|
||||
{
|
||||
interface XCollection;
|
||||
/** Creates a new custom document property.
|
||||
* You can only add a new document property to the custom DocumentProperties collection. Depending on value of
|
||||
* boolean LinkSource, either (False) Value or (True) LinkSource must be provided.
|
||||
* @param Name (Required String. The name of the property.
|
||||
* @param LinkToContent Specifies whether the property is linked to the contents of the container document. If this argument is True, the LinkSource argument is required; if it's False, the value argument is required.
|
||||
* @param Type The data type of the property. Can be one of the following MsoDocProperties constants:
|
||||
* msoPropertyTypeBoolean, msoPropertyTypeDate, msoPropertyTypeFloat, msoPropertyTypeNumber, or msoPropertyTypeString.
|
||||
* @param Value The value of the property, if it's not linked to the contents of the container document.
|
||||
* The value is converted to match the data type specified by the type argument, if it can't be converted, an error occurs.
|
||||
* If LinkToContent is True, the Value argument is ignored and the new document property is assigned a default value
|
||||
* until the linked property values are updated by the container application (usually when the document is saved).
|
||||
* @param LinkSource Ignored if LinkToContent is False. The source of the linked property. The container application determines
|
||||
* what types of source linking you can use.
|
||||
*/
|
||||
XDocumentProperty Add([in] string Name, [in] boolean LinkToContent, [in] /* MsoDocProperties */ byte Type, [in] any Value,
|
||||
[in] /*optional*/ any LinkSource)
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
106
oovbaapi/ooo/vba/XDocumentProperty.idl
Normal file
106
oovbaapi/ooo/vba/XDocumentProperty.idl
Normal file
@ -0,0 +1,106 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XDocument.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __ooo_vba_XDocumentProperty_idl__
|
||||
#define __ooo_vba_XDocumentProperty_idl__
|
||||
|
||||
#ifndef __com_sun_star_script_BasicErrorException_idl__
|
||||
#include <com/sun/star/script/BasicErrorException.idl>
|
||||
#endif
|
||||
#ifndef __com_sun_star_script_XDefaultProperty_idl__
|
||||
#include <com/sun/star/script/XDefaultProperty.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
/**
|
||||
* Specific built-in document property. Use CustomDocumentProperties(index),
|
||||
* where index is the name or index number of the custom document property,
|
||||
* to return a DocumentProperty object that represents a specific custom document property.
|
||||
*/
|
||||
interface XDocumentProperty
|
||||
{
|
||||
|
||||
interface com::sun::star::script::XDefaultProperty;
|
||||
interface ooo::vba::XHelperInterface;
|
||||
|
||||
void Delete()
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
/** Required String. The name of the property.
|
||||
*/
|
||||
string getName()
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
void setName([in] string Name)
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
/** The data type of the property.
|
||||
* Can be one of the following MsoDocProperties constants:
|
||||
* msoPropertyTypeBoolean, msoPropertyTypeDate, msoPropertyTypeFloat,
|
||||
* msoPropertyTypeNumber, or msoPropertyTypeString.
|
||||
*/
|
||||
byte getType()
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
void setType([in] byte Type)
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
/** If true, then LinkSource has a valid value. */
|
||||
boolean getLinkToContent()
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
void setLinkToContent([in] boolean LinkToContent)
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
/** If LinkToContent is false, then this contains the value of the property
|
||||
* The data type of the value will match the Type property.
|
||||
*/
|
||||
any getValue()
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
void setValue([in] any Value)
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
/** If LinkToContent is false, then this contains the value of the property */
|
||||
string getLinkSource()
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
|
||||
void setLinkSource([in] string LinkSource)
|
||||
raises (com::sun::star::script::BasicErrorException);
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
55
oovbaapi/ooo/vba/XDocumentsBase.idl
Normal file
55
oovbaapi/ooo/vba/XDocumentsBase.idl
Normal file
@ -0,0 +1,55 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XDocumentsBase.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XDocumentsBase_idl__
|
||||
#define __ooo_vba_XDocumentsBase_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XCollection_idl__
|
||||
#include <ooo/vba/XCollection.idl>
|
||||
#endif
|
||||
|
||||
|
||||
//=============================================================================
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
//=============================================================================
|
||||
|
||||
interface XDocumentsBase
|
||||
{
|
||||
interface ::ooo::vba::XCollection;
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
71
oovbaapi/ooo/vba/XFontBase.idl
Normal file
71
oovbaapi/ooo/vba/XFontBase.idl
Normal file
@ -0,0 +1,71 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XFont.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XFont_idl__
|
||||
#define __ooo_vba_XFont_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
|
||||
#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
//=============================================================================
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
interface XFontBase
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
[attribute] any Size;
|
||||
[attribute] any ColorIndex;
|
||||
[attribute] any Color;
|
||||
[attribute] any Bold;
|
||||
[attribute] any Underline;
|
||||
[attribute] any Strikethrough;
|
||||
[attribute] any Shadow;
|
||||
[attribute] any Italic;
|
||||
[attribute] any Subscript;
|
||||
[attribute] any Superscript;
|
||||
[attribute] any Name;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
||||
|
53
oovbaapi/ooo/vba/XGlobalsBase.idl
Normal file
53
oovbaapi/ooo/vba/XGlobalsBase.idl
Normal file
@ -0,0 +1,53 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile: XGlobals.idl,v $
|
||||
* $Revision: 1.4 $
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XGlobalsBase_idl__
|
||||
#define __ooo_vba_XGlobalsBase_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
#ifndef __com_sun_star_lang_XMultiServiceFactory
|
||||
#include <com/sun/star/lang/XMultiServiceFactory.idl>
|
||||
#endif
|
||||
module ooo { module vba {
|
||||
interface XGlobalsBase
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
interface ::com::sun::star::lang::XMultiServiceFactory;
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
||||
|
67
oovbaapi/ooo/vba/XPageSetupBase.idl
Normal file
67
oovbaapi/ooo/vba/XPageSetupBase.idl
Normal file
@ -0,0 +1,67 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* Copyright 2008 by Sun Microsystems, Inc.
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile$
|
||||
* $Revision$
|
||||
*
|
||||
* This file is part of OpenOffice.org.
|
||||
*
|
||||
* OpenOffice.org is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License version 3
|
||||
* only, as published by the Free Software Foundation.
|
||||
*
|
||||
* OpenOffice.org is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License version 3 for more details
|
||||
* (a copy is included in the LICENSE file that accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* version 3 along with OpenOffice.org. If not, see
|
||||
* <http://www.openoffice.org/license.html>
|
||||
* for a copy of the LGPLv3 License.
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XPageSetupBase_idl__
|
||||
#define __ooo_vba_XPageSetupBase_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
//=============================================================================
|
||||
|
||||
module ooo { module vba {
|
||||
|
||||
//=============================================================================
|
||||
|
||||
|
||||
interface XPageSetupBase
|
||||
{
|
||||
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
//Attributes
|
||||
[attribute] double TopMargin;
|
||||
[attribute] double BottomMargin;
|
||||
[attribute] double RightMargin;
|
||||
[attribute] double LeftMargin;
|
||||
[attribute] long Orientation;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
||||
|
||||
|
62
oovbaapi/ooo/vba/XWindowBase.idl
Normal file
62
oovbaapi/ooo/vba/XWindowBase.idl
Normal file
@ -0,0 +1,62 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile$
|
||||
*
|
||||
* $Revision$
|
||||
*
|
||||
* last change: $Author$ $Date$
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
#ifndef __ooo_vba_XHelperWindow_idl__
|
||||
#define __ooo_vba_XHelperWindow_idl__
|
||||
|
||||
#ifndef __com_sun_star_uno_XInterface_idl__
|
||||
#include <com/sun/star/uno/XInterface.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XHelperInterface_idl__
|
||||
#include <ooo/vba/XHelperInterface.idl>
|
||||
#endif
|
||||
|
||||
module ooo { module vba {
|
||||
//=============================================================================
|
||||
|
||||
interface XWindowBase
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
[attribute] long Height;
|
||||
[attribute] long Left;
|
||||
[attribute] long Top;
|
||||
[attribute] boolean Visible;
|
||||
[attribute] long Width;
|
||||
};
|
||||
|
||||
}; };
|
||||
|
||||
#endif
|
@ -28,21 +28,21 @@
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __ooo_vba_Globals_idl__
|
||||
#define __ooo_vba_Globals_idl__
|
||||
#ifndef __ooo_vba_excel_Globals_idl__
|
||||
#define __ooo_vba_excel_Globals_idl__
|
||||
|
||||
#ifndef __ooo_vba_XGlobals_idl__
|
||||
#include <ooo/vba/XGlobals.idl>
|
||||
#ifndef __ooo_vba_excel_XGlobals_idl__
|
||||
#include <ooo/vba/excel/XGlobals.idl>
|
||||
#endif
|
||||
|
||||
#include <com/sun/star/uno/XComponentContext.idl>
|
||||
#include <com/sun/star/table/XCellRange.idl>
|
||||
|
||||
module ooo { module vba {
|
||||
module ooo { module vba { module excel {
|
||||
service Globals : XGlobals
|
||||
{
|
||||
};
|
||||
|
||||
}; };
|
||||
}; }; };
|
||||
|
||||
#endif
|
53
oovbaapi/ooo/vba/excel/TextFrame.idl
Normal file
53
oovbaapi/ooo/vba/excel/TextFrame.idl
Normal file
@ -0,0 +1,53 @@
|
||||
/*************************************************************************
|
||||
*
|
||||
* OpenOffice.org - a multi-platform office productivity suite
|
||||
*
|
||||
* $RCSfile$
|
||||
*
|
||||
* $Revision$
|
||||
*
|
||||
* last change: $Author$ $Date$
|
||||
*
|
||||
* The Contents of this file are made available subject to
|
||||
* the terms of GNU Lesser General Public License Version 2.1.
|
||||
*
|
||||
*
|
||||
* GNU Lesser General Public License Version 2.1
|
||||
* =============================================
|
||||
* Copyright 2005 by Sun Microsystems, Inc.
|
||||
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License version 2.1, as published by the Free Software Foundation.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __ooo_vba_excel_TextFrame_idl__
|
||||
#define __ooo_vba_excel_TextFrame_idl__
|
||||
|
||||
#ifndef __ooo_vba_excel_XTextFrame_idl__
|
||||
#include <ooo/vba/excel/XTextFrame.idl>
|
||||
#endif
|
||||
|
||||
#include <com/sun/star/uno/XComponentContext.idl>
|
||||
|
||||
module ooo { module vba { module excel {
|
||||
service TextFrame : XTextFrame
|
||||
{
|
||||
//createTextFrame( [in] ::ooo::vba::XHelperInterface Parent, [in] ::com::sun::star::frame::XModel xModel );
|
||||
};
|
||||
|
||||
}; }; };
|
||||
|
||||
#endif
|
@ -42,10 +42,6 @@
|
||||
#include <ooo/vba/XAssistant.idl>
|
||||
#endif
|
||||
|
||||
#ifndef __ooo_vba_XCommandBars_idl__
|
||||
#include <ooo/vba/XCommandBars.idl>
|
||||
#endif
|
||||
|
||||
module ooo { module vba { module excel {
|
||||
|
||||
interface XRange;
|
||||
@ -56,10 +52,10 @@ interface XWorksheetFunction;
|
||||
interface XWindow;
|
||||
interface XWorksheet;
|
||||
|
||||
interface XApplication
|
||||
interface XApplication : com::sun::star::uno::XInterface
|
||||
{
|
||||
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
// interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
[attribute, readonly] any Selection;
|
||||
[attribute, readonly] XWorkbook ActiveWorkbook;
|
||||
@ -74,14 +70,11 @@ interface XApplication
|
||||
// to determine this
|
||||
[attribute, readonly] XWorkbook ThisWorkbook;
|
||||
[attribute, readonly] string Name;
|
||||
[attribute] boolean ScreenUpdating;
|
||||
[attribute] boolean DisplayStatusBar;
|
||||
[attribute] boolean DisplayAlerts;
|
||||
[attribute] boolean DisplayFormulaBar;
|
||||
[attribute] any CutCopyMode;
|
||||
[attribute] any StatusBar;
|
||||
[attribute] long Cursor;
|
||||
[attribute, readonly] string Version;
|
||||
|
||||
void setDefaultFilePath([in] string DefaultFilePath) raises(com::sun::star::script::BasicErrorException);
|
||||
|
||||
@ -90,7 +83,7 @@ interface XApplication
|
||||
string LibraryPath() raises(com::sun::star::script::BasicErrorException);
|
||||
string TemplatesPath() raises(com::sun::star::script::BasicErrorException);
|
||||
string PathSeparator() raises(com::sun::star::script::BasicErrorException);
|
||||
any CommandBars( [in] any aIndex );
|
||||
//any CommandBars( [in] any aIndex );
|
||||
any Workbooks( [in] any aIndex );
|
||||
any Worksheets( [in] any aIndex );
|
||||
any Windows( [in] any aIndex );
|
||||
@ -110,6 +103,7 @@ interface XApplication
|
||||
raises(com::sun::star::script::BasicErrorException);
|
||||
void Volatile([in] any Volatile);
|
||||
void DoEvents();
|
||||
any Caller( [in] any aIndex );
|
||||
};
|
||||
|
||||
}; }; };
|
||||
|
@ -45,13 +45,8 @@ module ooo { module vba { module excel {
|
||||
|
||||
//=============================================================================
|
||||
|
||||
interface XApplication;
|
||||
|
||||
interface XDialog
|
||||
interface XDialog : com::sun::star::uno::XInterface
|
||||
{
|
||||
interface ::ooo::vba::XHelperInterface;
|
||||
|
||||
void Show();
|
||||
};
|
||||
|
||||
}; }; };
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user