summaryrefslogtreecommitdiff
path: root/xmlscript/test
diff options
context:
space:
mode:
authorDaniel Boelzle <dbo@openoffice.org>2001-02-27 11:45:17 +0000
committerDaniel Boelzle <dbo@openoffice.org>2001-02-27 11:45:17 +0000
commit8661d7233e9a335588b740133d684188ec28914b (patch)
tree432e1e79b85aca32dd96153ecc9acd686060f19e /xmlscript/test
parent1cd5fc353a5e0befdb9f703208da945b4fff60d6 (diff)
further impl; bugfixing
Diffstat (limited to 'xmlscript/test')
-rw-r--r--xmlscript/test/imexp.cxx160
-rw-r--r--xmlscript/test/test.xml204
2 files changed, 114 insertions, 250 deletions
diff --git a/xmlscript/test/imexp.cxx b/xmlscript/test/imexp.cxx
index 203c0c56249e..c83d1c75f756 100644
--- a/xmlscript/test/imexp.cxx
+++ b/xmlscript/test/imexp.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: imexp.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: dbo $ $Date: 2001-02-20 14:05:25 $
+ * last change: $Author: dbo $ $Date: 2001-02-27 12:45:17 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -99,52 +99,6 @@ using namespace ::com::sun::star::uno;
-//-----------------------------------------
-// The document handler, which is needed for the saxparser
-// The Documenthandler for reading sax
-//-----------------------------------------
-class ErrorHandler :
- public WeakImplHelper2< xml::sax::XEntityResolver , xml::sax::XErrorHandler >
-{
-public:
- ErrorHandler()
- {}
-
-public: // Error handler
- virtual void SAL_CALL error(const Any& aSAXParseException) throw (xml::sax::SAXException, RuntimeException)
- {
- OSL_ENSURE( 0, "Error !\n" );
- Exception exc;
- OSL_VERIFY( aSAXParseException >>= exc );
- throw exc;
- }
- virtual void SAL_CALL fatalError(const Any& aSAXParseException) throw (xml::sax::SAXException, RuntimeException)
- {
- OSL_ENSURE( 0, "Fatal Error !\n" );
- Exception exc;
- OSL_VERIFY( aSAXParseException >>= exc );
- throw exc;
- }
- virtual void SAL_CALL warning(const Any& aSAXParseException) throw (xml::sax::SAXException, RuntimeException)
- {
- OSL_ENSURE( 0, "Warning !\n" );
- Exception exc;
- OSL_VERIFY( aSAXParseException >>= exc );
- throw exc;
- }
-
- virtual xml::sax::InputSource SAL_CALL resolveEntity(
- const OUString& sPublicId,
- const OUString& sSystemId)
- throw (xml::sax::SAXException,RuntimeException)
- {
- OSL_ENSURE( 0, "not impl !\n" );
- return xml::sax::InputSource();
- }
-};
-
-
-
Reference< lang::XMultiServiceFactory > createApplicationServiceManager()
{
Reference< lang::XMultiServiceFactory > xReturn = createServiceFactory();
@@ -255,87 +209,43 @@ Reference< lang::XMultiServiceFactory > createApplicationServiceManager()
// -----------------------------------------------------------------------
-Reference< container::XNameContainer > importFile(
- char const * fname,
- Reference< lang::XMultiServiceFactory > const & xSMgr )
+Sequence< Reference< container::XNameContainer > > importFile(
+ char const * fname )
{
- Reference< xml::sax::XParser > xParser( xSMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.xml.sax.Parser") ) ), UNO_QUERY );
- if (xParser.is())
+ // create the input stream
+ FILE *f = ::fopen( fname, "rb" );
+ if (f)
{
- ErrorHandler * pHandler = new ErrorHandler();
- xParser->setErrorHandler( (xml::sax::XErrorHandler *)pHandler );
- xParser->setEntityResolver( (xml::sax::XEntityResolver *)pHandler );
-
- Reference< container::XNameContainer > xModel( xSMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlDialogModel") ) ), UNO_QUERY );
- OSL_ASSERT( xModel.is() );
- xParser->setDocumentHandler( ::xmlscript::importDialogModel( xModel ) );
-
- // create the input stream
- FILE *f = ::fopen( fname, "rb" );
- if (f)
- {
- ::fseek( f, 0 ,SEEK_END );
- int nLength = ::ftell( f );
- ::fseek( f, 0, SEEK_SET );
+ ::fseek( f, 0 ,SEEK_END );
+ int nLength = ::ftell( f );
+ ::fseek( f, 0, SEEK_SET );
- ByteSequence seqIn( nLength );
- ::fread( seqIn.getArray(), nLength, 1, f );
- ::fclose( f );
+ Sequence< sal_Int8 > bytes( nLength );
+ ::fread( bytes.getArray(), nLength, 1, f );
+ ::fclose( f );
- xml::sax::InputSource source;
- source.aInputStream = ::xmlscript::createInputStream( seqIn );
- source.sSystemId = OUString::createFromAscii( fname );
-
- // start parsing
- xParser->parseStream( source );
- return xModel;
- }
- else
- {
- OSL_ENSURE( 0, "### Cannot read file!\n" );
- }
+ Sequence< Reference< container::XNameContainer > > models;
+ ::xmlscript::importDialogModelsFromByteSequence( &models, bytes );
+ return models;
}
else
{
- OSL_ENSURE( 0, "### couln't create sax-parser component\n" );
+ throw Exception( OUString( RTL_CONSTASCII_USTRINGPARAM("### Cannot read file!") ),
+ Reference< XInterface >() );
}
- return Reference< container::XNameContainer >();
}
-bool exportToFile(
+void exportToFile(
char const * fname,
- Reference< container::XNameContainer > const & xModel,
- Reference< lang::XMultiServiceFactory > const & xSMgr )
+ Sequence< Reference< container::XNameContainer > > const & models )
{
- Reference< xml::sax::XExtendedDocumentHandler > xHandler(
- xSMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.xml.sax.Writer") ) ), UNO_QUERY );
- OSL_ASSERT( xHandler.is() );
- if (! xHandler.is())
- {
- OSL_ENSURE( 0, "### couln't create sax-writer component\n" );
- return false;
- }
-
- ByteSequence seq;
- Reference< io::XActiveDataSource > xSource( xHandler, UNO_QUERY );
- xSource->setOutputStream( ::xmlscript::createOutputStream( &seq ) );
-
- xHandler->startDocument();
-
- ::xmlscript::exportDialogModel(
- xModel,
- Reference< xml::sax::XExtendedDocumentHandler >::query( xHandler ) );
-
- xHandler->endDocument();
+ Sequence< sal_Int8 > bytes;
+ ::xmlscript::exportDialogModelsToByteSequence( &bytes, models );
FILE * f = ::fopen( fname, "w" );
- ::fwrite( seq.getConstArray(), 1 ,seq.getLength(), f );
+ ::fwrite( bytes.getConstArray(), 1, bytes.getLength(), f );
::fflush( f );
::fclose( f );
- return true;
}
@@ -369,25 +279,29 @@ void MyApp::Main()
Reference< awt::XToolkit> xToolkit( xMSF->createInstance(
OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.ExtToolkit" ) ) ), UNO_QUERY );
- // import dialog
+ // import dialogs
OString aParam1( OUStringToOString( OUString( GetCommandLineParam( 0 ) ), RTL_TEXTENCODING_ASCII_US ) );
- Reference< container::XNameContainer > xImport( importFile( aParam1.getStr(), xMSF ) );
+ Sequence< Reference< container::XNameContainer > > models( importFile( aParam1.getStr() ) );
if (GetCommandLineParamCount() == 2)
{
// write and read again dialogs
OString aParam2( OUStringToOString( OUString( GetCommandLineParam( 1 ) ), RTL_TEXTENCODING_ASCII_US ) );
- exportToFile( aParam2.getStr(), xImport, xMSF );
+ exportToFile( aParam2.getStr(), models );
// re-import
- xImport = importFile( aParam2.getStr(), xMSF );
+ models = importFile( aParam2.getStr() );
}
- Reference< awt::XControl > xDlg( xMSF->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlDialog" ) ) ), UNO_QUERY );
- xDlg->setModel( Reference< awt::XControlModel >::query( xImport ) );
- xDlg->createPeer( xToolkit, NULL );
- Reference< awt::XDialog > xD( xDlg, UNO_QUERY );
- xD->execute();
+ Reference< container::XNameContainer > const * pModels = models.getConstArray();
+ for ( sal_Int32 nPos = 0; nPos < models.getLength(); ++nPos )
+ {
+ Reference< awt::XControl > xDlg( xMSF->createInstance(
+ OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlDialog" ) ) ), UNO_QUERY );
+ xDlg->setModel( Reference< awt::XControlModel >::query( pModels[ nPos ] ) );
+ xDlg->createPeer( xToolkit, 0 );
+ Reference< awt::XDialog > xD( xDlg, UNO_QUERY );
+ xD->execute();
+ }
}
catch (uno::Exception & rExc)
{
diff --git a/xmlscript/test/test.xml b/xmlscript/test/test.xml
index f9c62c66198b..0071adeed71b 100644
--- a/xmlscript/test/test.xml
+++ b/xmlscript/test/test.xml
@@ -1,119 +1,69 @@
-<window xmlns="http://openoffice.org/2000/dialog"
- xmlns:dlg="http://openoffice.org/2000/dialog"
-
- label="Test-Dialog" height="800" width="800">
-
-<dlg:styles>
- <dlg:style style-id="bla" background-color="0xffffff" dlg:text-color="255"/>
- <dlg:style style-id="bla2" background-color="0xff00ff" dlg:text-color="255193873"/>
- <dlg:style style-id="bla3" background-color="0" dlg:text-color="0xffffff" font-name="Arial" font-height="24"/>
- <dlg:style style-id="no_border" border="none"/>
-</dlg:styles>
-
- <dlg:bulletinboard xmlns:ns="http://www.fake">
-
- <button dlg:id="button1" ns:value="hallo" dlg:left="50" ns:top="50" width="50" height="50"
- style-id="bla3"
- xmlns:ns="http://openoffice.org/2000/dialog">
-
- <event listener-type="type" event-method="clicked"
- script-type="basic" script-code="code" param="testi"/>
- </button>
-
- <button dlg:id="button3" ns:value="hallo2" dlg:left="250" ns:top="50" width="50" height="50"
- style-id="bla"
- xmlns:ns="http://openoffice.org/2000/dialog"/>
-
- <checkbox id="check1" value="checked" left="50" top="150" width="100" height="20"
- checked="true"
- />
- <checkbox id="check2" value="dontknow" left="50" top="170" width="100" height="20"
- tristate="true"
- />
- <checkbox id="check3" value="tristate_checked" left="50" top="190" width="100" height="20"
- checked="true"
- tristate="true"
- />
-
- <menulist id="list1" multiselection="true" left="50" top="400" width="100" height="100">
- <menupopup>
- <menuitem value="item1"/>
- <menuitem value="item2" selected="true"/>
- <menuitem value="item3" selected="true"/>
- </menupopup>
- </menulist>
-
- <menulist id="list2" left="250" top="400" width="100" height="100">
- <menupopup>
- <menuitem value="item4"/>
- <menuitem value="item5" selected="true"/>
- <menuitem value="item6"/>
- </menupopup>
- </menulist>
-
- <combobox id="combo1" value="combotext1" left="250" top="150" width="50" height="50"
- >
- <menupopup>
- <menuitem value="Citem1"/>
- <menuitem value="Citem2"/>
- </menupopup>
- </combobox>
- <combobox id="combo2" value="combotext2" left="310" top="150" width="50" height="50"
- spin="true"
- >
- <menupopup>
- <menuitem value="Citem3"/>
- <menuitem value="Citem4"/>
- </menupopup>
- </combobox>
-
- <radiogroup>
- <radio id="radio1" value="radio1" left="50" top="250" width="100" height="20"
- />
- <radio id="radio2" value="checked" left="50" top="270" width="100" height="20"
- checked="true"
- />
- <radio id="radio3" value="unchecked" left="50" top="290" width="100" height="20"
- checked="false"
- />
- </radiogroup>
-
- <titledbox id="groupbox1" left="250" top="250" width="120" height="100">
- <title value="grouped"/>
- <radio id="radio4" value="default radio" left="5" top="15" width="100" height="20"
- />
- <radio id="radio5" value="dontknow" left="5" top="35" width="100" height="20"
- tristate="true"
- />
- <radio id="radio6" value="tristate_checked" left="5" top="55" width="100" height="20"
- tristate="true"
- checked="true"
- />
- <radio id="radio7" value="checked" left="5" top="75" width="100" height="20"
- checked="true"
- />
- </titledbox>
-
- <text id="fixed1" left="50" top="520" width="180" height="20"
- value="fixed text is here..."
- multiline="true"
- align="center"/>
-
- <textfield id="field1" left="250" top="520" width="50" height="40"
- value="edit text here..." readonly="true" vscroll="true"
- multiline="true"
- align="right" style-id="no_border"/>
-
- <textfield id="field2" left="320" top="520" width="50" height="40"
- value="hidden text" hscroll="true"
- echochar="*"
- align="left"/>
-
- <img id="image1" left="50" top="600" width="80" height="50"
- src="../../test/w3c.jpg"/>
-
- <filecontrol id="file1" left="150" top="600" width="100" height="100"
- value="f:\script\xmlscript\test\w3c.jpg"/>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dialogs SYSTEM "../dtd/dialog.dtd">
+
+<dialogs xmlns="http://openoffice.org/2000/dialog">
+
+ <window xmlns:dlg="http://openoffice.org/2000/dialog"
+ label="Test-Dialog" height="800" width="800">
+
+ <dlg:styles>
+ <dlg:style style-id="bla" background-color="0xffffff" dlg:text-color="255"/>
+ <dlg:style style-id="bla2" background-color="0xff00ff" dlg:text-color="255193873"/>
+ <dlg:style style-id="bla3" background-color="0" dlg:text-color="0xffffff" font-name="Arial" font-height="24"/>
+ <dlg:style style-id="no_border" border="none"/>
+ </dlg:styles>
+
+ <dlg:bulletinboard xmlns:ns="http://www.fake">
+ <button dlg:id="button1" ns:value="hallo" dlg:left="50" ns:top="50" width="50" height="50" style-id="bla3" xmlns:ns="http://openoffice.org/2000/dialog">
+ <event listener-type="type" event-method="clicked" script-type="basic" script-code="code" param="testi"/>
+ </button>
+ <button dlg:id="button3" ns:value="hallo2" dlg:left="250" ns:top="50" width="50" height="50" style-id="bla" xmlns:ns="http://openoffice.org/2000/dialog"/>
+ <checkbox id="check1" value="checked" left="50" top="150" width="100" height="20" checked="true"/>
+ <checkbox id="check2" value="dontknow" left="50" top="170" width="100" height="20" tristate="true"/>
+ <checkbox id="check3" value="tristate_checked" left="50" top="190" width="100" height="20" checked="true" tristate="true"/>
+ <menulist id="list1" multiselection="true" left="50" top="400" width="100" height="100">
+ <menupopup>
+ <menuitem value="item1"/>
+ <menuitem value="item2" selected="true"/>
+ <menuitem value="item3" selected="true"/>
+ </menupopup>
+ </menulist>
+ <menulist id="list2" left="250" top="400" width="100" height="100">
+ <menupopup>
+ <menuitem value="item4"/>
+ <menuitem value="item5" selected="true"/>
+ <menuitem value="item6"/>
+ </menupopup>
+ </menulist>
+ <combobox id="combo1" value="combotext1" left="250" top="150" width="50" height="50">
+ <menupopup>
+ <menuitem value="Citem1"/>
+ <menuitem value="Citem2"/>
+ </menupopup>
+ </combobox>
+ <combobox id="combo2" value="combotext2" left="310" top="150" width="50" height="50" spin="true">
+ <menupopup>
+ <menuitem value="Citem3"/>
+ <menuitem value="Citem4"/>
+ </menupopup>
+ </combobox>
+ <radiogroup>
+ <radio id="radio1" value="radio1" left="50" top="250" width="100" height="20"/>
+ <radio id="radio2" value="checked" left="50" top="270" width="100" height="20" checked="true"/>
+ <radio id="radio3" value="unchecked" left="50" top="290" width="100" height="20" checked="false"/>
+ </radiogroup>
+ <titledbox id="groupbox1" left="250" top="250" width="120" height="100">
+ <title value="grouped"/>
+ <radio id="radio4" value="default radio" left="5" top="15" width="100" height="20"/>
+ <radio id="radio5" value="dontknow" left="5" top="35" width="100" height="20" tristate="true"/>
+ <radio id="radio6" value="tristate_checked" left="5" top="55" width="100" height="20" tristate="true" checked="true"/>
+ <radio id="radio7" value="checked" left="5" top="75" width="100" height="20" checked="true"/>
+ </titledbox>
+ <text id="fixed1" left="50" top="520" width="180" height="20" value="fixed text is here..." multiline="true" align="center"/>
+ <textfield id="field1" left="250" top="520" width="50" height="40" value="edit text here..." readonly="true" vscroll="true" multiline="true" align="right" style-id="no_border"/>
+ <textfield id="field2" left="320" top="520" width="50" height="40" value="hidden text" hscroll="true" echochar="*" align="left"/>
+ <img id="image1" left="50" top="600" width="80" height="50" src="../../test/w3c.jpg"/>
+ <filecontrol id="file1" left="150" top="600" width="100" height="100" value="f:\script\xmlscript\test\w3c.jpg"/>
<!--
<currencyfield id="currency1" left="250" top="600" width="100" height="20"
value="5.6075" value-min="0.5" value-max="10.0" value-step="0.1"
@@ -123,19 +73,19 @@
value="5.6075" value-min="0.5" value-max="10.0" value-step="0.1"
thousands-separator="true" />
-->
+ </dlg:bulletinboard>
- <datefield id="datefield1" left="400" top="50" width="100" height="20"
- date-format="short DDMMYY"
- spin="true"/>
+ </window>
- <timefield id="time1" left="400" top="150" width="100" height="20"
- time-format="24h short" value-min="0" value-max="12"
- strict-format="true" value="6"
- spin="true"/>
+ <window xmlns:dlg2="http://openoffice.org/2000/dialog"
+ label="Test-Dialog2" height="100" width="200">
- <patternfield id="pattern1" left="400" top="200" width="100" height="20"
- value="pattern" strict-format="true" readonly="true"/>
+ <dlg2:bulletinboard>
+ <dlg2:datefield id="datefield1" left="20" top="20" width="100" height="20" date-format="short DDMMYY" spin="true"/>
+ <timefield id="time1" left="20" top="50" width="100" height="20" time-format="24h short" value-min="0" value-max="12" strict-format="true" value="6" spin="true"/>
+ <patternfield id="pattern1" left="20" top="70" width="100" height="20" value="pattern" strict-format="true" readonly="true"/>
+ </dlg2:bulletinboard>
- </dlg:bulletinboard>
+ </window>
-</window>
+</dialogs>