You could add this Snippet to our collection:

http://codesnippets.services.openoffice.org/

Tom

Christoph Lutz schrieb:
> Hi Carsten,
> 
> On 7/14/06, Carsten Driesner <[EMAIL PROTECTED]> wrote:
>> You can see that the configuration set "Factories" contains nodes for
>> every appplication module, in the example
>> "com.sun.star.frame.StartModule" and "com.sun.star.text.TextDocument".
>> The property called "ooSetupFactoryWindowAttributes" stores the left,top
>> position and the width and height in pixel. You can use the
>> configuration API to change these values programmatically.
> 
> thanks. this works!
> 
> if you are interested in the solution, just have a look at example code
> below.
> 
>> I am not sure if the current implementation reads the values for every
>> new window or if it just uses internal values. So it's possible that the
>> values are only read once  from the configuration at startup time. Be
>> aware that these values will be overwritten when a user changes the
>> position or size of an application window.
> 
> it seems that the current implementation reads the attribue for every
> new window and doesn't use internal values!
> 
> here the example code:
> 
>    /**
>     * Diese Hilfsmethode liest das Attribut
> ooSetupFactoryWindowAttributes aus
>     * dem Konfigurationsknoten
>     *
> "/org.openoffice.Setup/Office/Factories/com.sun.star.text.TextDocument"
>     * der OOo-Konfiguration, welches die Standard-FensterAttribute
> enthält, mit
>     * denen neue Fenster für TextDokumente erzeugt werden.
>     *
>     * @return
>     */
>    private static String getDefaultWindowAttributes(XComponentContext
> ctx) {
>        try {
>            Object cp = ctx.getServiceManager().createInstanceWithContext(
>                "com.sun.star.configuration.ConfigurationProvider", ctx);
> 
>            // creation arguments: nodepath
>            com.sun.star.beans.PropertyValue aPathArgument = new
> com.sun.star.beans.PropertyValue();
>            aPathArgument.Name = "nodepath";
>            aPathArgument.Value =
> "/org.openoffice.Setup/Office/Factories/com.sun.star.text.TextDocument";
>            Object[] aArguments = new Object[1];
>            aArguments[0] = aPathArgument;
> 
>            XMultiServiceFactory xmsf = (XMultiServiceFactory) UnoRuntime
>                .queryInterface(XMultiServiceFactory.class, cp);
>            Object ca = xmsf.createInstanceWithArguments(
>                "com.sun.star.configuration.ConfigurationUpdateAccess",
>                aArguments);
> 
>            XPropertySet prop = (XPropertySet) UnoRuntime.queryInterface(
>                XPropertySet.class, ca);
>            return prop
>               
> .getPropertyValue("ooSetupFactoryWindowAttributes").toString();
>        } catch (java.lang.Exception e) {
>        }
>        return null;
>    }
> 
>    /**
>     * Diese Hilfsmethode setzt das Attribut
> ooSetupFactoryWindowAttributes aus
>     * dem Konfigurationsknoten
>     *
> "/org.openoffice.Setup/Office/Factories/com.sun.star.text.TextDocument"
>     * der OOo-Konfiguration auf den neuen Wert value, der (am besten) über
>     * einen vorhergehenden Aufruf von getDefaultWindowAttributes() gewonnen
>     * wird.
>     *
>     * @param value
>     */
>    private static void setDefaultWindowAttributes(XComponentContext ctx,
>            String value) {
>        try {
>            Object cp = ctx.getServiceManager().createInstanceWithContext(
>                "com.sun.star.configuration.ConfigurationProvider", ctx);
> 
>            // creation arguments: nodepath
>            com.sun.star.beans.PropertyValue aPathArgument = new
> com.sun.star.beans.PropertyValue();
>            aPathArgument.Name = "nodepath";
>            aPathArgument.Value =
> "/org.openoffice.Setup/Office/Factories/com.sun.star.text.TextDocument";
>            Object[] aArguments = new Object[1];
>            aArguments[0] = aPathArgument;
> 
>            XMultiServiceFactory xmsf = (XMultiServiceFactory) UnoRuntime
>                .queryInterface(XMultiServiceFactory.class, cp);
>            Object ca = xmsf.createInstanceWithArguments(
>                "com.sun.star.configuration.ConfigurationUpdateAccess",
>                aArguments);
> 
>            XPropertySet prop = (XPropertySet) UnoRuntime.queryInterface(
>                XPropertySet.class, ca);
>            prop.setPropertyValue("ooSetupFactoryWindowAttributes", value);
> 
>            XChangesBatch committer = (XChangesBatch) UnoRuntime
>                .queryInterface(XChangesBatch.class, ca);
>            committer.commitChanges();
>        } catch (java.lang.Exception e) {
>        }
>    }
> 
> regards,
> Christoph
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to