From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- .../com/sun/star/inspection/XPropertyControl.idl | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 offapi/com/sun/star/inspection/XPropertyControl.idl (limited to 'offapi/com/sun/star/inspection/XPropertyControl.idl') diff --git a/offapi/com/sun/star/inspection/XPropertyControl.idl b/offapi/com/sun/star/inspection/XPropertyControl.idl new file mode 100644 index 000000000..f257a3bbb --- /dev/null +++ b/offapi/com/sun/star/inspection/XPropertyControl.idl @@ -0,0 +1,106 @@ +/* -*- 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 . + */ + +#ifndef __com_sun_star_inspection_XPropertyControl_idl__ +#define __com_sun_star_inspection_XPropertyControl_idl__ + +#include +#include + +module com { module sun { module star { module inspection { + +interface XPropertyControlContext; + +/** defines the interface for a single control in an ObjectInspector + + @since OOo 2.0.3 +*/ +interface XPropertyControl +{ + /** denotes the type of the control, as one of the PropertyControlType + constants + */ + [attribute, readonly] short ControlType; + + /** denotes the current content of the control. + +

At every point in time, this value is either `VOID`, or of the type + described by #ValueType.

+ + @throws com::sun::star::beans::IllegalTypeException + if an attempt is made to set a value which is not `VOID` and whose + type does not equal #ValueType. + */ + [attribute] any Value + { + set raises ( com::sun::star::beans::IllegalTypeException ); + }; + + /** denotes the value type of the control. + + @see Value + */ + [attribute, readonly] type ValueType; + + /** specifies the context of the control within the ObjectInspector. + +

The property control should actively notify its state changes to the context. + In particular, changes in the focus and the value of the control must be notified. + */ + [attribute] XPropertyControlContext ControlContext; + + /** determines whether the control content is currently modified + +

An XPropertyControl internally manages a flag indicating whether + its content is modified. This flag is reset to `FALSE` every time our + #ControlContext is notified of our current value. Also, the control + implementation must set this flag to `TRUE` if and only if the user changed the + control content.

+ + @see notifyModifiedValue + @see ControlContext + @see XPropertyControlContext::valueChanged + */ + boolean isModified(); + + /** notifies the context in which the control lives of the current control value, + if this value is currently modified + + @see isModified + @see ControlContext + @see XPropertyControlListener::valueChanged + */ + void notifyModifiedValue(); + + /** denotes the window which is the real UI representation of the property control. + +

The ObjectInspector will automatically position and size this control + as needed, care for its Z-order, and so on.

+ +

This Window must not be `NULL`, else the whole control is not usable.

+ */ + [attribute, readonly] com::sun::star::awt::XWindow ControlWindow; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3