Fri, 17 May 2013 01:06:58 +0200Added extra icon in left panel tree for indicating Pou type (function, functionBlock, or program) when alone
Laurent Bessard [Fri, 17 May 2013 01:06:58 +0200] rev 1164
Added extra icon in left panel tree for indicating Pou type (function, functionBlock, or program) when alone

Thu, 16 May 2013 23:01:03 +0200Added icon for wxGlade_hmi extension editor
Laurent Bessard [Thu, 16 May 2013 23:01:03 +0200] rev 1163
Added icon for wxGlade_hmi extension editor

Thu, 16 May 2013 15:46:57 +0200Fixed ConfTreeNodeEditor background colour
Laurent Bessard [Thu, 16 May 2013 15:46:57 +0200] rev 1162
Fixed ConfTreeNodeEditor background colour

Thu, 16 May 2013 15:45:45 +0200Moved CodeFileEditor Variable Panel button to grid left
Laurent Bessard [Thu, 16 May 2013 15:45:45 +0200] rev 1161
Moved CodeFileEditor Variable Panel button to grid left

Thu, 16 May 2013 20:42:48 +0900Fixed GCC warnings when building stub code for python PLC globals access
Edouard Tisserant [Thu, 16 May 2013 20:42:48 +0900] rev 1160
Fixed GCC warnings when building stub code for python PLC globals access

Thu, 16 May 2013 13:13:00 +0200Fixed bug tabs selected cyclically when drag'n dropping variable into Editor
Laurent Bessard [Thu, 16 May 2013 13:13:00 +0200] rev 1159
Fixed bug tabs selected cyclically when drag'n dropping variable into Editor

Thu, 16 May 2013 13:11:33 +0200Fixed bug tabs selected cyclically when drag'n dropping variable into Editor
Laurent Bessard [Thu, 16 May 2013 13:11:33 +0200] rev 1158
Fixed bug tabs selected cyclically when drag'n dropping variable into Editor

Thu, 16 May 2013 17:40:32 +0900Added wiimote input example using python-cwiid and python PLC global variable access
Edouard Tisserant [Thu, 16 May 2013 17:40:32 +0900] rev 1157
Added wiimote input example using python-cwiid and python PLC global variable access

Thu, 16 May 2013 17:40:22 +0900Added more clear error message in case of access to non declared PLC global from python code
Edouard Tisserant [Thu, 16 May 2013 17:40:22 +0900] rev 1156
Added more clear error message in case of access to non declared PLC global from python code

Thu, 16 May 2013 14:47:57 +0900Extended WxGlade HMI with automatic mapping of event handlers declared in wxglade editor
Edouard Tisserant [Thu, 16 May 2013 14:47:57 +0900] rev 1155
Extended WxGlade HMI with automatic mapping of event handlers declared in wxglade editor

Thu, 16 May 2013 14:46:20 +0900Fixed build error with python <-> PLCglobals variables declared with no initial value
Edouard Tisserant [Thu, 16 May 2013 14:46:20 +0900] rev 1154
Fixed build error with python <-> PLCglobals variables declared with no initial value

Thu, 16 May 2013 00:37:27 +0200Fixed bug in New variable name generated in CodeFileEditor Variable Panel
Laurent Bessard [Thu, 16 May 2013 00:37:27 +0200] rev 1153
Fixed bug in New variable name generated in CodeFileEditor Variable Panel

Thu, 16 May 2013 00:31:07 +0200Fixed bug scrollbar not displayed in CodeFileEditor VariablePanel when grid is to small to show all variables
Laurent Bessard [Thu, 16 May 2013 00:31:07 +0200] rev 1152
Fixed bug scrollbar not displayed in CodeFileEditor VariablePanel when grid is to small to show all variables

Thu, 16 May 2013 00:01:09 +0200Fixed bug wxGlade hmi not closed when stopping PLC
Laurent Bessard [Thu, 16 May 2013 00:01:09 +0200] rev 1151
Fixed bug wxGlade hmi not closed when stopping PLC

Thu, 16 May 2013 00:00:35 +0200Fixed bug when typing and caret is at last test position in CodeFileEditor
Laurent Bessard [Thu, 16 May 2013 00:00:35 +0200] rev 1150
Fixed bug when typing and caret is at last test position in CodeFileEditor

Wed, 15 May 2013 23:27:19 +0200Fixed bug in ST code generator with extensible standard functions
Laurent Bessard [Wed, 15 May 2013 23:27:19 +0200] rev 1149
Fixed bug in ST code generator with extensible standard functions

Wed, 15 May 2013 23:11:49 +0200Fixed bug when generating py_ext code when no variable defined
Laurent Bessard [Wed, 15 May 2013 23:11:49 +0200] rev 1148
Fixed bug when generating py_ext code when no variable defined

Wed, 15 May 2013 22:37:07 +0200Merged
Laurent Bessard [Wed, 15 May 2013 22:37:07 +0200] rev 1147
Merged

Wed, 15 May 2013 22:14:12 +0200Fixed variable panel in CodeFileEditor
Laurent Bessard [Wed, 15 May 2013 22:14:12 +0200] rev 1146
Fixed variable panel in CodeFileEditor

Wed, 15 May 2013 18:21:20 +0900Fixed PLC global var access from python. Added test in tests/python
Edouard Tisserant [Wed, 15 May 2013 18:21:20 +0900] rev 1145
Fixed PLC global var access from python. Added test in tests/python

Wed, 15 May 2013 17:13:49 +0900Added stub code and declarations for bidirectional access to PLC globals from python code (untested)
Edouard Tisserant [Wed, 15 May 2013 17:13:49 +0900] rev 1144
Added stub code and declarations for bidirectional access to PLC globals from python code (untested)

Wed, 15 May 2013 08:20:17 +0200Fixed bug in ST code generator when function output variable has no name
Laurent Bessard [Wed, 15 May 2013 08:20:17 +0200] rev 1143
Fixed bug in ST code generator when function output variable has no name

Wed, 15 May 2013 00:30:12 +0200Fixed functions used by one or more POU not showing question dialog when trying to delete
Laurent Bessard [Wed, 15 May 2013 00:30:12 +0200] rev 1142
Fixed functions used by one or more POU not showing question dialog when trying to delete

Tue, 14 May 2013 22:59:27 +0200Fixed bug connection disappear when removing variable from interface of an already used POU
Laurent Bessard [Tue, 14 May 2013 22:59:27 +0200] rev 1141
Fixed bug connection disappear when removing variable from interface of an already used POU

Tue, 14 May 2013 22:31:14 +0200Fixed bug when drag'n dropping global in function variable panel (not possible according to standard)
Laurent Bessard [Tue, 14 May 2013 22:31:14 +0200] rev 1140
Fixed bug when drag'n dropping global in function variable panel (not possible according to standard)

Tue, 14 May 2013 22:25:33 +0200Fixed bug when deleting line between code and headers on Windows
Laurent Bessard [Tue, 14 May 2013 22:25:33 +0200] rev 1139
Fixed bug when deleting line between code and headers on Windows

Tue, 14 May 2013 20:16:07 +0200Replaced the 2 tabs variable and code in CodeFileEditor by only one type with SplitterWindow and fixed drag'n drop of variable from variable to code.
Laurent Bessard [Tue, 14 May 2013 20:16:07 +0200] rev 1138
Replaced the 2 tabs variable and code in CodeFileEditor by only one type with SplitterWindow and fixed drag'n drop of variable from variable to code.

Tue, 14 May 2013 18:43:52 +0200Merged
Laurent Bessard [Tue, 14 May 2013 18:43:52 +0200] rev 1137
Merged

Tue, 14 May 2013 18:42:29 +0200Added global variable names in CodeFileEditor auto-completion list
Laurent Bessard [Tue, 14 May 2013 18:42:29 +0200] rev 1136
Added global variable names in CodeFileEditor auto-completion list

Tue, 14 May 2013 11:23:43 +0200Added support for updating model when broken connection is detected in Viewer
Laurent Bessard [Tue, 14 May 2013 11:23:43 +0200] rev 1135
Added support for updating model when broken connection is detected in Viewer

Tue, 14 May 2013 11:12:34 +0200Fixed PLC code generator when interface of an already used POU has changed
Laurent Bessard [Tue, 14 May 2013 11:12:34 +0200] rev 1134
Fixed PLC code generator when interface of an already used POU has changed

Tue, 14 May 2013 10:56:57 +0200Fixed bug in loading block in Viewer when block interface has changed
Laurent Bessard [Tue, 14 May 2013 10:56:57 +0200] rev 1133
Fixed bug in loading block in Viewer when block interface has changed

Tue, 14 May 2013 18:41:33 +0900Rewrote py_ext and wxglade generators in a clean factored way, added C skeleton for python access to PLC global vars
Edouard Tisserant [Tue, 14 May 2013 18:41:33 +0900] rev 1132
Rewrote py_ext and wxglade generators in a clean factored way, added C skeleton for python access to PLC global vars

Tue, 14 May 2013 00:30:35 +0200Fixed bug in wxGlade hmi python code generated
Laurent Bessard [Tue, 14 May 2013 00:30:35 +0200] rev 1131
Fixed bug in wxGlade hmi python code generated

Mon, 13 May 2013 23:15:28 +0200Fixed loading of Blocks in Viewer when block interface have changed
Laurent Bessard [Mon, 13 May 2013 23:15:28 +0200] rev 1130
Fixed loading of Blocks in Viewer when block interface have changed

Mon, 13 May 2013 23:10:10 +0200Removed restriction on deletion of a POU or DataType already used, replaced by a dialog asking user to confirm
Laurent Bessard [Mon, 13 May 2013 23:10:10 +0200] rev 1129
Removed restriction on deletion of a POU or DataType already used, replaced by a dialog asking user to confirm

Mon, 13 May 2013 23:08:47 +0200Removed restriction on POU interface variables modification when POU is already used
Laurent Bessard [Mon, 13 May 2013 23:08:47 +0200] rev 1128
Removed restriction on POU interface variables modification when POU is already used

Mon, 13 May 2013 23:07:24 +0200Fixed bug when generating new name for configuration and resource variable in VariablePanel
Laurent Bessard [Mon, 13 May 2013 23:07:24 +0200] rev 1127
Fixed bug when generating new name for configuration and resource variable in VariablePanel

Mon, 13 May 2013 16:38:53 +0200Fixed bug with Copy/Paste in Primary Selection in Text Viewers
Laurent Bessard [Mon, 13 May 2013 16:38:53 +0200] rev 1126
Fixed bug with Copy/Paste in Primary Selection in Text Viewers

Mon, 13 May 2013 14:36:54 +0200Updated python example
Laurent Bessard [Mon, 13 May 2013 14:36:54 +0200] rev 1125
Updated python example

Mon, 13 May 2013 14:31:23 +0200Fixed support for defining python runtime code using sections like in c_ext
Laurent Bessard [Mon, 13 May 2013 14:31:23 +0200] rev 1124
Fixed support for defining python runtime code using sections like in c_ext

Sun, 12 May 2013 23:32:30 +0200Fixed bug on biggest Viewer zoom factor preventing them to be used on Windows
Laurent Bessard [Sun, 12 May 2013 23:32:30 +0200] rev 1123
Fixed bug on biggest Viewer zoom factor preventing them to be used on Windows

Sun, 12 May 2013 23:30:00 +0200Adding support for using current selected variable for generate newly added variable informations in VariablePanel
Laurent Bessard [Sun, 12 May 2013 23:30:00 +0200] rev 1122
Adding support for using current selected variable for generate newly added variable informations in VariablePanel

Fri, 10 May 2013 15:17:33 +0200Fixed Beremiz_service not closing on Windows
Laurent Bessard [Fri, 10 May 2013 15:17:33 +0200] rev 1121
Fixed Beremiz_service not closing on Windows

Fri, 10 May 2013 13:15:18 +0200Removed some prints for code debugging
Laurent Bessard [Fri, 10 May 2013 13:15:18 +0200] rev 1120
Removed some prints for code debugging

Fri, 10 May 2013 13:07:41 +0200Fixed generated code in c_ext file
Laurent Bessard [Fri, 10 May 2013 13:07:41 +0200] rev 1119
Fixed generated code in c_ext file

Fri, 10 May 2013 13:07:26 +0200Fixed generated code in py_ext runtime file
Laurent Bessard [Fri, 10 May 2013 13:07:26 +0200] rev 1118
Fixed generated code in py_ext runtime file

Fri, 10 May 2013 13:06:47 +0200Fixed CodeFileEditor allowing to have no line of code between two section headers
Laurent Bessard [Fri, 10 May 2013 13:06:47 +0200] rev 1117
Fixed CodeFileEditor allowing to have no line of code between two section headers

Fri, 10 May 2013 12:11:54 +0200Fixed bug connector not resetted when connection is lost
Laurent Bessard [Fri, 10 May 2013 12:11:54 +0200] rev 1116
Fixed bug connector not resetted when connection is lost

Fri, 10 May 2013 11:49:22 +0200Fixed bug in CodeFileEditor allowing to remove NEWLINE character between section header and section code
Laurent Bessard [Fri, 10 May 2013 11:49:22 +0200] rev 1115
Fixed bug in CodeFileEditor allowing to remove NEWLINE character between section header and section code

Fri, 10 May 2013 11:48:04 +0200Fixed bug in generated code in c_ext file
Laurent Bessard [Fri, 10 May 2013 11:48:04 +0200] rev 1114
Fixed bug in generated code in c_ext file

Fri, 10 May 2013 11:47:35 +0200Fixed bug in generated code in py_ext runtime file
Laurent Bessard [Fri, 10 May 2013 11:47:35 +0200] rev 1113
Fixed bug in generated code in py_ext runtime file

Fri, 10 May 2013 10:25:35 +0200Fixed bug when selecting item in ProjectTree on Linux
Laurent Bessard [Fri, 10 May 2013 10:25:35 +0200] rev 1112
Fixed bug when selecting item in ProjectTree on Linux

Fri, 10 May 2013 10:24:59 +0200Fixed bug when changing IEC_Channel of node without params
Laurent Bessard [Fri, 10 May 2013 10:24:59 +0200] rev 1111
Fixed bug when changing IEC_Channel of node without params

Fri, 10 May 2013 09:43:40 +0200Fixed code section headers in CodeFileEditor
Laurent Bessard [Fri, 10 May 2013 09:43:40 +0200] rev 1110
Fixed code section headers in CodeFileEditor

Thu, 09 May 2013 23:38:54 +0200Fix bug when section code is just an empty line
Laurent Bessard [Thu, 09 May 2013 23:38:54 +0200] rev 1109
Fix bug when section code is just an empty line

Thu, 09 May 2013 19:36:37 +0200Fix bug with multiline Pragma syntax highlighting in TextViewer
Laurent Bessard [Thu, 09 May 2013 19:36:37 +0200] rev 1108
Fix bug with multiline Pragma syntax highlighting in TextViewer

Thu, 09 May 2013 18:49:08 +0200Fixed Drag'n dropping from PouInstanceVariablesPanel ensuring DebugVariablePanel is visible before starting drag'n drop
Laurent Bessard [Thu, 09 May 2013 18:49:08 +0200] rev 1107
Fixed Drag'n dropping from PouInstanceVariablesPanel ensuring DebugVariablePanel is visible before starting drag'n drop

Thu, 09 May 2013 18:40:38 +0200Added tooltip in ProjectTree when mouse over POU
Laurent Bessard [Thu, 09 May 2013 18:40:38 +0200] rev 1106
Added tooltip in ProjectTree when mouse over POU

Thu, 09 May 2013 17:52:51 +0200Fixed bug when modifying ConfTreeNode IEC Channel
Laurent Bessard [Thu, 09 May 2013 17:52:51 +0200] rev 1105
Fixed bug when modifying ConfTreeNode IEC Channel

Thu, 09 May 2013 12:50:51 +0200Added support for excluding code section headers to be modified in CodeFileEditor
Laurent Bessard [Thu, 09 May 2013 12:50:51 +0200] rev 1104
Added support for excluding code section headers to be modified in CodeFileEditor

Thu, 09 May 2013 10:56:40 +0200Fixed python global variable declaration example in generated runtime python file
Laurent Bessard [Thu, 09 May 2013 10:56:40 +0200] rev 1103
Fixed python global variable declaration example in generated runtime python file

Thu, 09 May 2013 09:00:24 +0200Fixed bug with debugging global variables
Laurent Bessard [Thu, 09 May 2013 09:00:24 +0200] rev 1102
Fixed bug with debugging global variables

Wed, 08 May 2013 23:31:12 +0200Fixed search in CodeFileEditor STC panel
Laurent Bessard [Wed, 08 May 2013 23:31:12 +0200] rev 1101
Fixed search in CodeFileEditor STC panel

Wed, 08 May 2013 23:13:10 +0200Added support for compatibility with older version of c_ext
Laurent Bessard [Wed, 08 May 2013 23:13:10 +0200] rev 1100
Added support for compatibility with older version of c_ext

Wed, 08 May 2013 22:56:31 +0200Updated python test
Laurent Bessard [Wed, 08 May 2013 22:56:31 +0200] rev 1099
Updated python test

Wed, 08 May 2013 22:53:40 +0200Fixed bug when pressing Return key in FindInPouDialog
Laurent Bessard [Wed, 08 May 2013 22:53:40 +0200] rev 1098
Fixed bug when pressing Return key in FindInPouDialog

Wed, 08 May 2013 22:52:55 +0200Fixed Python editor adding variable panel
Laurent Bessard [Wed, 08 May 2013 22:52:55 +0200] rev 1097
Fixed Python editor adding variable panel

Wed, 08 May 2013 21:37:31 +0200Fixed CFileEditor replacing folding panels by variable panel and STC
Laurent Bessard [Wed, 08 May 2013 21:37:31 +0200] rev 1096
Fixed CFileEditor replacing folding panels by variable panel and STC

Wed, 08 May 2013 18:33:49 +0200Move C_ext file for merging with py_ext
Laurent Bessard [Wed, 08 May 2013 18:33:49 +0200] rev 1095
Move C_ext file for merging with py_ext

Mon, 06 May 2013 16:31:26 +0200Fixed bug in LogViewer layout
Laurent Bessard [Mon, 06 May 2013 16:31:26 +0200] rev 1094
Fixed bug in LogViewer layout

Mon, 06 May 2013 16:01:17 +0200Added support for resetting log messages
Laurent Bessard [Mon, 06 May 2013 16:01:17 +0200] rev 1093
Added support for resetting log messages

Mon, 06 May 2013 11:15:05 +0200Fixed bugs in CustomStyledTextCtrl
Laurent Bessard [Mon, 06 May 2013 11:15:05 +0200] rev 1092
Fixed bugs in CustomStyledTextCtrl

Mon, 06 May 2013 10:28:47 +0200Fixed bug with margin cursor in StyledTextCtrl on Windows
Laurent Bessard [Mon, 06 May 2013 10:28:47 +0200] rev 1091
Fixed bug with margin cursor in StyledTextCtrl on Windows

Fri, 03 May 2013 11:10:15 +0200Fixed bug when closing Beremiz frame
Laurent Bessard [Fri, 03 May 2013 11:10:15 +0200] rev 1090
Fixed bug when closing Beremiz frame

Thu, 02 May 2013 14:06:24 +0200Fixed bug when transferring program and a output located variable is forced
Laurent Bessard [Thu, 02 May 2013 14:06:24 +0200] rev 1089
Fixed bug when transferring program and a output located variable is forced

Thu, 02 May 2013 14:00:05 +0200Fixed bug when closing Beremiz frame
Laurent Bessard [Thu, 02 May 2013 14:00:05 +0200] rev 1088
Fixed bug when closing Beremiz frame

Thu, 02 May 2013 13:30:24 +0200Fixed bug when closing Beremiz frame
Laurent Bessard [Thu, 02 May 2013 13:30:24 +0200] rev 1087
Fixed bug when closing Beremiz frame

Thu, 02 May 2013 10:45:07 +0200Fixed warnings in python test
Laurent Bessard [Thu, 02 May 2013 10:45:07 +0200] rev 1086
Fixed warnings in python test

Thu, 02 May 2013 09:42:14 +0200Removed call of deprecated function on wxSplitterWindow
Laurent Bessard [Thu, 02 May 2013 09:42:14 +0200] rev 1085
Removed call of deprecated function on wxSplitterWindow

Thu, 02 May 2013 09:41:04 +0200Fixed bug in DebugVariablePanel, cursor not reset when graphs were reset
Laurent Bessard [Thu, 02 May 2013 09:41:04 +0200] rev 1084
Fixed bug in DebugVariablePanel, cursor not reset when graphs were reset

Thu, 02 May 2013 09:39:38 +0200Added support for adding a variable in program VariablePanel by drap'n dropping located variable like in global VariablePanel
Laurent Bessard [Thu, 02 May 2013 09:39:38 +0200] rev 1083
Added support for adding a variable in program VariablePanel by drap'n dropping located variable like in global VariablePanel

Tue, 30 Apr 2013 11:42:35 +0200Fixed bug in PouInstanceVariablesPanel buttons tooltips
Laurent Bessard [Tue, 30 Apr 2013 11:42:35 +0200] rev 1082
Fixed bug in PouInstanceVariablesPanel buttons tooltips

Tue, 30 Apr 2013 10:09:16 +0200Fixed bug when quitting project with more than one LD Viewer opened
Laurent Bessard [Tue, 30 Apr 2013 10:09:16 +0200] rev 1081
Fixed bug when quitting project with more than one LD Viewer opened

Tue, 30 Apr 2013 09:49:52 +0200Fixed bug list of ConfNodes blocks not refreshed when a library was enable or disable
Laurent Bessard [Tue, 30 Apr 2013 09:49:52 +0200] rev 1080
Fixed bug list of ConfNodes blocks not refreshed when a library was enable or disable

Tue, 30 Apr 2013 00:33:09 +0200Fixed bug in LogViewer when no Log Messages are available when first SetLogCounters
Laurent Bessard [Tue, 30 Apr 2013 00:33:09 +0200] rev 1079
Fixed bug in LogViewer when no Log Messages are available when first SetLogCounters

Mon, 29 Apr 2013 10:35:15 +0200Fixed wrong default value for xsd:positiveInteger and xsd:negativeInteger in xmlclass
Laurent Bessard [Mon, 29 Apr 2013 10:35:15 +0200] rev 1078
Fixed wrong default value for xsd:positiveInteger and xsd:negativeInteger in xmlclass

Mon, 29 Apr 2013 10:24:19 +0200Fixed bug in LogViewer in Log Messages to retrieve index calculation when first SetLogCounters
Laurent Bessard [Mon, 29 Apr 2013 10:24:19 +0200] rev 1077
Fixed bug in LogViewer in Log Messages to retrieve index calculation when first SetLogCounters

Mon, 29 Apr 2013 09:09:07 +0200Fixed bug in displayed datetime, using local timezone instead of UTC
Laurent Bessard [Mon, 29 Apr 2013 09:09:07 +0200] rev 1076
Fixed bug in displayed datetime, using local timezone instead of UTC

Sun, 28 Apr 2013 18:04:04 +0900Now Debug Buffer Unpacking is a separate function, declared in typemapping.py
Edouard Tisserant [Sun, 28 Apr 2013 18:04:04 +0900] rev 1075
Now Debug Buffer Unpacking is a separate function, declared in typemapping.py

Sun, 28 Apr 2013 17:26:22 +0900Optimzed tracing of STRING type variables value. Now, only used size is transfered in debug buffer.
Edouard Tisserant [Sun, 28 Apr 2013 17:26:22 +0900] rev 1074
Optimzed tracing of STRING type variables value. Now, only used size is transfered in debug buffer.

Fri, 26 Apr 2013 23:08:41 +0900chmod +x PLCOpenEditor.py
Edouard Tisserant [Fri, 26 Apr 2013 23:08:41 +0900] rev 1073
chmod +x PLCOpenEditor.py

Fri, 26 Apr 2013 13:38:27 +0200Fixed retrieve and publish call order in PLC generated code
Laurent Bessard [Fri, 26 Apr 2013 13:38:27 +0200] rev 1072
Fixed retrieve and publish call order in PLC generated code

Thu, 25 Apr 2013 15:30:50 +0200Fixed bug in LogViewer when view is filtered and displaying last message and new messages appears
Laurent Bessard [Thu, 25 Apr 2013 15:30:50 +0200] rev 1071
Fixed bug in LogViewer when view is filtered and displaying last message and new messages appears

Thu, 25 Apr 2013 17:04:41 +0900Added exception printing on Pyro connector, tracking random connection failure...
Edouard Tisserant [Thu, 25 Apr 2013 17:04:41 +0900] rev 1070
Added exception printing on Pyro connector, tracking random connection failure...

Thu, 25 Apr 2013 09:39:03 +0200Fixed refresh bugs when drag'n dropping of group of elements
Laurent Bessard [Thu, 25 Apr 2013 09:39:03 +0200] rev 1069
Fixed refresh bugs when drag'n dropping of group of elements