Property Propagation Between Model and Control

From Apache OpenOffice Wiki
Jump to: navigation, search



One particularity in the relationship of UNO controls and their models must be considered. Following the principles of the MVC paradigm all changes applied to the control model are directly propagated to the control and (its peer object). However, conversely not all changes applied to the control will notify the model. The general rule is that whenever an attribute of a control is modifiable by the user, a change of this attribute is also propagated to the model. The following table sums up all methods which invocation at UNO controls is propagated to the respective control model. The controls and interfaces are described in detail in the following sections.

Control Service Name in module com.sun.star.awt Interface in com.sun.star.awt Method Name Model Service in com.sun.star.awt Affected Property at the model
UnoControlCheckBox XCheckBox get]State UnoControlCheckBoxModel State
UnoControlRadioButton XRadioButton get]State UnoControlRadioButtonModel State
UnoControlScrollBar XScrollBar get]Value UnoControlScrollBarModel ScrollValue
UnoControlComboBox XComboBox get]Item[s], add/removeItem UnoControlComboBoxModel Text, StringItemList
UnoControlListBox XListBox get]Item[s], [add|remove]Item,

selectItem, selectItemPos()

UnoControlListBoxModel StringItemList*,

SelectedItems

UnoControlEdit XTextComponent get]Text; UnoControlEditModel Text
UnoControlCurrencyField XCurrencyField

XTextComponent

get]Value,

[set|get]Text

UnoControlCurrencyModel Value
UnoControlDateField XDateField

XTextComponent

get]Date,

[set|get]Text

UnoControlDateModel Date
UnoControlTimeField XTimeField

XTextComponent

get]Time,

[set|get]Text

UnoControlTimeModel Time
UnoControlNumericField XNumericField

XTextComponent

get]Value

[set|get]Text

UnoControlNumericFieldModel Value
UnoControlPatternField XPatternField

XTextComponent

get]String,

[set|get]Text

UnoControlPatternFieldModel Text
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages