Kaydet (Commit) 3566e6f0 authored tarafından Jens-Heiner Rechtien's avatar Jens-Heiner Rechtien

INTEGRATION: CWS oasisbf1 (1.2.38); FILE MERGED

2004/10/14 15:14:36 sab 1.2.38.6: #i35431#; transform maximum cursor position
2004/09/30 07:36:05 mib 1.2.38.5: #i32836#: foot end endote references
2004/09/14 17:07:35 toconnor 1.2.38.4: #i33735# export of bindings to Scripting Framework macros and dlg:border
attributes from Oasis to OOo
2004/09/02 08:22:06 mib 1.2.38.3: RESYNC: (1.2-1.3); FILE MERGED
2004/08/18 12:53:14 mib 1.2.38.2: #i32840#: some form events had different names
2004/08/12 14:08:51 mib 1.2.38.1: #i32780#: footnote configuration within sections
üst ae3ed1df
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: Oasis2OOo.cxx,v $ * $RCSfile: Oasis2OOo.cxx,v $
* *
* $Revision: 1.3 $ * $Revision: 1.4 $
* *
* last change: $Author: rt $ $Date: 2004-08-20 08:16:51 $ * last change: $Author: hr $ $Date: 2004-11-09 12:23:36 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -98,6 +98,9 @@ ...@@ -98,6 +98,9 @@
#ifndef _XMLOFF_EVENTOASISTCONTEXT_HXX #ifndef _XMLOFF_EVENTOASISTCONTEXT_HXX
#include "EventOASISTContext.hxx" #include "EventOASISTContext.hxx"
#endif #endif
#ifndef _XMLOFF_DLGOASISTCONTEXT_HXX
#include "DlgOASISTContext.hxx"
#endif
#ifndef _XMLOFF_CONTROLOASISTCONTEXT_HXX #ifndef _XMLOFF_CONTROLOASISTCONTEXT_HXX
#include "ControlOASISTContext.hxx" #include "ControlOASISTContext.hxx"
#endif #endif
...@@ -154,6 +157,7 @@ enum XMLUserDefinedTransformerAction ...@@ -154,6 +157,7 @@ enum XMLUserDefinedTransformerAction
XML_ETACTION_STYLE_RENAME, XML_ETACTION_STYLE_RENAME,
XML_ETACTION_FRAME, XML_ETACTION_FRAME,
XML_ETACTION_EVENT, XML_ETACTION_EVENT,
XML_ETACTION_DLG,
XML_ETACTION_TAB_STOP, XML_ETACTION_TAB_STOP,
XML_ETACTION_FORM_CONTROL, XML_ETACTION_FORM_CONTROL,
XML_ETACTION_FORM_PROPERTY, XML_ETACTION_FORM_PROPERTY,
...@@ -290,13 +294,12 @@ static XMLTransformerActionInit aActionTable[] = ...@@ -290,13 +294,12 @@ static XMLTransformerActionInit aActionTable[] =
OASIS_LIST_STYLE_REF_ACTIONS ), OASIS_LIST_STYLE_REF_ACTIONS ),
// rename <text:note*> to <text:footnote*> or <text:endnote*> // rename <text:note*> to <text:footnote*> or <text:endnote*>
ENTRY1( TEXT, NOTES_CONFIGURATION, XML_ETACTION_NOTES, sal_True ), ENTRY1( TEXT, NOTES_CONFIGURATION, XML_ETACTION_NOTES,
ENTRY1( TEXT, NOTE, XML_ETACTION_NOTES, sal_False ), XML_NOTES_CONFIGURATION),
ENTRY1( TEXT, NOTE, XML_ETACTION_NOTES, XML_NOTE ),
// rename <text:footnote> and <text:endnote> to <text:note> // rename <text:footnote> and <text:endnote> to <text:note>
// TODO: All note references s are currently renamed to <text:footnote-ref> ENTRY1( TEXT, NOTE_REF, XML_ETACTION_NOTES, XML_NOTE_REF ),
ENTRY1Q( TEXT, NOTE_REF, XML_ETACTION_RENAME_ELEM,
XML_NAMESPACE_TEXT, XML_FOOTNOTE_REF ),
// rename <text:tab> to <text:tab-stop> // rename <text:tab> to <text:tab-stop>
ENTRY1Q( TEXT, TAB, XML_ETACTION_RENAME_ELEM, ENTRY1Q( TEXT, TAB, XML_ETACTION_RENAME_ELEM,
...@@ -313,8 +316,12 @@ static XMLTransformerActionInit aActionTable[] = ...@@ -313,8 +316,12 @@ static XMLTransformerActionInit aActionTable[] =
ENTRY1Q( OFFICE, EVENT_LISTENERS, XML_ETACTION_RENAME_ELEM, ENTRY1Q( OFFICE, EVENT_LISTENERS, XML_ETACTION_RENAME_ELEM,
XML_NAMESPACE_OFFICE, XML_EVENTS ), XML_NAMESPACE_OFFICE, XML_EVENTS ),
ENTRY0( SCRIPT, EVENT_LISTENER, XML_ETACTION_EVENT ), ENTRY0( SCRIPT, EVENT_LISTENER, XML_ETACTION_EVENT ),
ENTRY0( SCRIPT, EVENT, XML_ETACTION_EVENT ),
ENTRY0( PRESENTATION, EVENT_LISTENER, XML_ETACTION_EVENT ), ENTRY0( PRESENTATION, EVENT_LISTENER, XML_ETACTION_EVENT ),
// process Basic dialogs
ENTRY0( DLG, STYLE, XML_ETACTION_DLG ),
// process length attributes // process length attributes
ENTRY1( DRAW, RECT, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ), ENTRY1( DRAW, RECT, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
ENTRY1( DRAW, LINE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ), ENTRY1( DRAW, LINE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
...@@ -621,6 +628,12 @@ static XMLTransformerActionInit aEventActionTable[] = ...@@ -621,6 +628,12 @@ static XMLTransformerActionInit aEventActionTable[] =
ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT ) ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
}; };
// OASIS_EVENT_ELEM_ACTIONS
static XMLTransformerActionInit aDlgActionTable[] =
{
ENTRY0( DLG, BORDER, XML_ATACTION_DLG_BORDER )
};
// action table for OASIS_MASTER_PAGE_ACTIONS // action table for OASIS_MASTER_PAGE_ACTIONS
static XMLTransformerActionInit aMasterPageActionTable[] = static XMLTransformerActionInit aMasterPageActionTable[] =
{ {
...@@ -1273,6 +1286,8 @@ class XMLConfigItemTContext_Impl : public XMLTransformerContext ...@@ -1273,6 +1286,8 @@ class XMLConfigItemTContext_Impl : public XMLTransformerContext
{ {
::rtl::OUString m_aContent; ::rtl::OUString m_aContent;
sal_Bool m_bIsRedlineProtectionKey; sal_Bool m_bIsRedlineProtectionKey;
sal_Bool m_bIsCursorX;
sal_Bool m_bIsCursorY;
public: public:
...@@ -1295,7 +1310,9 @@ XMLConfigItemTContext_Impl::XMLConfigItemTContext_Impl( ...@@ -1295,7 +1310,9 @@ XMLConfigItemTContext_Impl::XMLConfigItemTContext_Impl(
XMLTransformerBase& rImp, XMLTransformerBase& rImp,
const OUString& rQName ) : const OUString& rQName ) :
XMLTransformerContext( rImp, rQName ), XMLTransformerContext( rImp, rQName ),
m_bIsRedlineProtectionKey( sal_False ) m_bIsRedlineProtectionKey( sal_False ),
m_bIsCursorX( sal_False ),
m_bIsCursorY( sal_False )
{ {
} }
...@@ -1316,15 +1333,23 @@ void XMLConfigItemTContext_Impl::StartElement( ...@@ -1316,15 +1333,23 @@ void XMLConfigItemTContext_Impl::StartElement(
sal_uInt16 nPrefix = sal_uInt16 nPrefix =
GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName, GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
&aLocalName ); &aLocalName );
if( XML_NAMESPACE_CONFIG == nPrefix && if( XML_NAMESPACE_CONFIG == nPrefix )
IsXMLToken( aLocalName, XML_NAME ) )
{ {
const OUString& rValue = xAttrList->getValueByIndex( i ); if ( IsXMLToken( aLocalName, XML_NAME ) )
const sal_Char sRedlineProtectionKey[] = "RedlineProtectionKey"; {
if( rValue.equalsAsciiL( sRedlineProtectionKey, sizeof(sRedlineProtectionKey)-1 ) ) const OUString& rValue = xAttrList->getValueByIndex( i );
m_bIsRedlineProtectionKey = sal_True; const sal_Char sRedlineProtectionKey[] = "RedlineProtectionKey";
const sal_Char sCursorX[] = "CursorPositionX";
const sal_Char sCursorY[] = "CursorPositionY";
if( rValue.equalsAsciiL( sRedlineProtectionKey, sizeof(sRedlineProtectionKey)-1 ) )
m_bIsRedlineProtectionKey = sal_True;
else if( rValue.equalsAsciiL( sCursorX, sizeof(sCursorX)-1 ) )
m_bIsCursorX = sal_True;
else if( rValue.equalsAsciiL( sCursorY, sizeof(sCursorY)-1 ) )
m_bIsCursorY = sal_True;
break; break;
}
} }
} }
...@@ -1333,8 +1358,21 @@ void XMLConfigItemTContext_Impl::StartElement( ...@@ -1333,8 +1358,21 @@ void XMLConfigItemTContext_Impl::StartElement(
void XMLConfigItemTContext_Impl::Characters( const ::rtl::OUString& rChars ) void XMLConfigItemTContext_Impl::Characters( const ::rtl::OUString& rChars )
{ {
m_aContent += rChars; rtl::OUString sChars(rChars);
XMLTransformerContext::Characters( rChars ); if (m_bIsRedlineProtectionKey)
m_aContent += rChars;
else if (m_bIsCursorX || m_bIsCursorY)
{
sal_Int32 nPos = rChars.toInt32();
if (m_bIsCursorX && nPos > 255)
nPos = 255;
else if (m_bIsCursorY && nPos > 31999)
nPos = 31999;
sChars = ::rtl::OUString::valueOf(nPos);
}
XMLTransformerContext::Characters( sChars );
} }
void XMLConfigItemTContext_Impl::EndElement() void XMLConfigItemTContext_Impl::EndElement()
...@@ -1452,7 +1490,7 @@ XMLTransformerContext *Oasis2OOoTransformer::CreateUserDefinedContext( ...@@ -1452,7 +1490,7 @@ XMLTransformerContext *Oasis2OOoTransformer::CreateUserDefinedContext(
break; break;
case XML_ETACTION_NOTES: case XML_ETACTION_NOTES:
return new XMLNotesTransformerContext( *this, rQName, return new XMLNotesTransformerContext( *this, rQName,
static_cast< sal_Bool >( rAction.m_nParam1 ) ); static_cast< XMLTokenEnum>( rAction.m_nParam1 ), bPersistent );
break; break;
case XML_ETACTION_TABLE: case XML_ETACTION_TABLE:
return new XMLTableTransformerContext_Impl( *this, rQName ); return new XMLTableTransformerContext_Impl( *this, rQName );
...@@ -1470,6 +1508,9 @@ XMLTransformerContext *Oasis2OOoTransformer::CreateUserDefinedContext( ...@@ -1470,6 +1508,9 @@ XMLTransformerContext *Oasis2OOoTransformer::CreateUserDefinedContext(
case XML_ETACTION_EVENT: case XML_ETACTION_EVENT:
return new XMLEventOASISTransformerContext( *this, rQName ); return new XMLEventOASISTransformerContext( *this, rQName );
break; break;
case XML_ETACTION_DLG:
return new XMLDlgOASISTransformerContext( *this, rQName );
break;
case XML_ETACTION_TAB_STOP: case XML_ETACTION_TAB_STOP:
return new XMLTabStopOASISTContext_Impl( *this, rQName ); return new XMLTabStopOASISTContext_Impl( *this, rQName );
break; break;
...@@ -1598,6 +1639,9 @@ XMLTransformerActions *Oasis2OOoTransformer::GetUserDefinedActions( ...@@ -1598,6 +1639,9 @@ XMLTransformerActions *Oasis2OOoTransformer::GetUserDefinedActions(
case OASIS_EVENT_ACTIONS: case OASIS_EVENT_ACTIONS:
m_aActions[OASIS_EVENT_ACTIONS] = m_aActions[OASIS_EVENT_ACTIONS] =
new XMLTransformerActions( aEventActionTable ); new XMLTransformerActions( aEventActionTable );
case OASIS_DLG_ACTIONS:
m_aActions[OASIS_DLG_ACTIONS] =
new XMLTransformerActions( aDlgActionTable );
case OASIS_FORM_CONTROL_ACTIONS: case OASIS_FORM_CONTROL_ACTIONS:
m_aActions[OASIS_FORM_CONTROL_ACTIONS] = m_aActions[OASIS_FORM_CONTROL_ACTIONS] =
new XMLTransformerActions( aFormControlActionTable ); new XMLTransformerActions( aFormControlActionTable );
...@@ -1633,21 +1677,27 @@ XMLTransformerActions *Oasis2OOoTransformer::GetUserDefinedActions( ...@@ -1633,21 +1677,27 @@ XMLTransformerActions *Oasis2OOoTransformer::GetUserDefinedActions(
return pActions; return pActions;
} }
OUString Oasis2OOoTransformer::GetEventName( const OUString& rName ) OUString Oasis2OOoTransformer::GetEventName( const OUString& rName,
sal_Bool bForm )
{ {
if( bForm && !m_pFormEventMap )
m_pFormEventMap =
XMLEventOASISTransformerContext::CreateFormEventMap();
if( !m_pEventMap ) if( !m_pEventMap )
m_pEventMap = XMLEventOASISTransformerContext::CreateEventMap(); m_pEventMap = XMLEventOASISTransformerContext::CreateEventMap();
OUString aMacroName; OUString aMacroName;
sal_uInt16 nPrefix = sal_uInt16 nPrefix =
GetNamespaceMap().GetKeyByAttrName( rName, &aMacroName ); GetNamespaceMap().GetKeyByAttrName( rName, &aMacroName );
return XMLEventOASISTransformerContext::GetEventName( nPrefix, aMacroName, return XMLEventOASISTransformerContext::GetEventName(
*m_pEventMap ); nPrefix, aMacroName, *m_pEventMap,
bForm ? m_pFormEventMap : 0 );
} }
Oasis2OOoTransformer::Oasis2OOoTransformer() throw() : Oasis2OOoTransformer::Oasis2OOoTransformer() throw() :
XMLTransformerBase( aActionTable, aTokenMap ), XMLTransformerBase( aActionTable, aTokenMap ),
m_pEventMap( 0 ) m_pEventMap( 0 ),
m_pFormEventMap( 0 )
{ {
GetNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE), XML_NAMESPACE_OFFICE ); GetNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE), XML_NAMESPACE_OFFICE );
GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE_OOO), XML_NAMESPACE_OFFICE ); GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE_OOO), XML_NAMESPACE_OFFICE );
...@@ -1688,6 +1738,9 @@ Oasis2OOoTransformer::Oasis2OOoTransformer() throw() : ...@@ -1688,6 +1738,9 @@ Oasis2OOoTransformer::Oasis2OOoTransformer() throw() :
GetNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT), XML_NAMESPACE_SCRIPT ); GetNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT), XML_NAMESPACE_SCRIPT );
GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT_OOO), XML_NAMESPACE_SCRIPT ); GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT_OOO), XML_NAMESPACE_SCRIPT );
GetNamespaceMap().Add( GetXMLToken(XML_NP_DLG), GetXMLToken(XML_N_DLG), XML_NAMESPACE_DLG );
GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_DLG), GetXMLToken(XML_N_DLG), XML_NAMESPACE_DLG );
for( sal_uInt16 i=0; i<MAX_OASIS_ACTIONS; ++i ) for( sal_uInt16 i=0; i<MAX_OASIS_ACTIONS; ++i )
m_aActions[i] = 0; m_aActions[i] = 0;
} }
...@@ -1697,6 +1750,7 @@ Oasis2OOoTransformer::~Oasis2OOoTransformer() throw() ...@@ -1697,6 +1750,7 @@ Oasis2OOoTransformer::~Oasis2OOoTransformer() throw()
for( sal_uInt16 i=0; i<MAX_OASIS_ACTIONS; ++i ) for( sal_uInt16 i=0; i<MAX_OASIS_ACTIONS; ++i )
delete m_aActions[i]; delete m_aActions[i];
XMLEventOASISTransformerContext::FlushEventMap( m_pEventMap ); XMLEventOASISTransformerContext::FlushEventMap( m_pEventMap );
XMLEventOASISTransformerContext::FlushEventMap( m_pFormEventMap );
} }
::com::sun::star::uno::Sequence< sal_Int8 > static CreateUnoTunnelId() ::com::sun::star::uno::Sequence< sal_Int8 > static CreateUnoTunnelId()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment