/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module frame {
/** represents a component which is created from a URL and arguments.
< p >
It is a representation of a resource in the sense that it was
created / loaded from the resource . The arguments are passed to the loader
to modify its behavior . An example for such an argument is " AsTemplate " ,
which loads the resource as a template for a new document .
( see com : : sun : : star : : document : : MediaDescriptor for further details )
< / p >
< p >
Models can be controlled by controller components , which are usually
views of the model .
( see Controller for further details )
< / p >
< p >
If there is at least one controller , there is by definition a
current controller . And if that controller supports the interface
com : : sun : : star : : view : : XSelectionSupplier , it has a current selection too .
< / p >
@ see com : : sun : : star : : document : : MediaDescriptor
@ see Controller
@ see com : : sun : : star : : view : : XSelectionSupplier
*/
published interface XModel: com::sun::star::lang::XComponent
{
/** informs a model about its resource description.
@ param URL
specifies the resource
@ param Arguments
are optional arguments for that resource
( see com : : sun : : star : : document : : MediaDescriptor )
@ return
` TRUE ` for success
< br >
` FALSE ` otherwise
*/
boolean attachResource(
[in] string URL,
[in] sequence<com::sun::star::beans::PropertyValue> Arguments);
/** provides information about the location of this model
@ returns
the URL of the resource which is represented by this model .
@ see XStorable : : getLocation ( )
*/
string getURL();
/** provides read access on currently representation of the
com : : sun : : star : : document : : MediaDescriptor
of this model which describes the model and its state
@ returns
the arguments with which the model was originally created or
stored the last time .
*/
sequence< com::sun::star::beans::PropertyValue > getArgs();
/** is called whenever a new controller is created for this model.
< p >
The com : : sun : : star : : lang : : XComponent interface
of the controller must be used to recognize when it is deleted .
< / p >
@ param Controller
a new controller for this model
@ see XModel : : disconnectController ( )
*/
void connectController( [in] XController Controller );
/** is called whenever an existing controller should be deregistered at this model.
< p >
The com : : sun : : star : : lang : : XComponent interface
of the controller must be used to recognize when it is deleted .
< / p >
@ param Controller
the existing controller which should be deregistered
@ see XModel : : connectController ( )
*/
void disconnectController( [in] XController Controller );
/** suspends some notifications to the controllers which are used
for display updates .
< p >
The calls to XModel : : lockControllers ( ) and
XModel : : unlockControllers ( ) may be
nested and even overlapping , but they must be in pairs . While
there is at least one lock remaining , some notifications
for display updates are not broadcasted .
< / p >
*/
void lockControllers();
/** resumes the notifications which were suspended by
XModel : : lockControllers ( ) .
< p >
The calls to XModel : : lockControllers ( ) and
XModel : : unlockControllers ( ) may be
nested and even overlapping , but they must be in pairs . While
there is at least one lock remaining , some notifications for
display updates are not broadcasted .
< / p >
*/
void unlockControllers();
/** determines if there is at least one lock remaining.
< p >
While there is at least one lock remaining , some notifications
for display updates are not broadcasted to the controllers .
< / p >
@ return
` TRUE ` if any lock exist
< br >
` FALSE ` otherwise
*/
boolean hasControllersLocked();
/** provides access to the controller which currently controls this model
@ returns
If the controller which is active is a controller of this model ,
it will be returned . If not , the controller which was the last
active of this model is returned . If no controller of this model
ever was active , the controller first registered is returned . If no
controller is registered for this model , ` NULL ` is returned .
*/
XController getCurrentController();
/** sets a registered controller as the current controller.
@ param Controller
reference to an already existing connected controller , which should be
the new active one
@ throws com : : sun : : star : : container : : NoSuchElementException
if < var > xController < / var > isn ' t an already connected controller on this model
*/
void setCurrentController( [in] XController Controller )
raises( com::sun::star::container::NoSuchElementException );
/** provides read access on current selection on controller
@ returns
the current selection in the current controller .
If there is no current controller , it returns ` NULL ` .
*/
com::sun::star::uno::XInterface getCurrentSelection();
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-10-04)
¤
*© Formatika GbR, Deutschland