--- a/PLCOpenEditor.py Thu Aug 20 09:03:31 2009 -0600
+++ b/PLCOpenEditor.py Wed Sep 02 08:30:34 2009 -0600
@@ -283,6 +283,7 @@
self.ShowErrorMessage(_("\"%s\" is used by one or more POUs. It can't be removed!")%name)
return DeleteElementFunction
+
#-------------------------------------------------------------------------------
# PLCOpenEditor Main Class
#-------------------------------------------------------------------------------
@@ -372,6 +373,8 @@
kind=wx.ITEM_NORMAL, text=_(u'Undo\tCTRL+Z'))
AppendMenu(parent, help='', id=wx.ID_REDO,
kind=wx.ITEM_NORMAL, text=_(u'Redo\tCTRL+Y'))
+ AppendMenu(parent, help='', id=ID_PLCOPENEDITOREDITMENUENABLEUNDOREDO,
+ kind=wx.ITEM_CHECK, text=_(u'Enable Undo/Redo'))
parent.AppendSeparator()
AppendMenu(parent, help='', id=wx.ID_CUT,
kind=wx.ITEM_NORMAL, text=_(u'Cut\tCTRL+X'))
@@ -543,7 +546,7 @@
pos=wx.Point(0, 0), size=wx.Size(0, 0),
style=wx.TR_HAS_BUTTONS|wx.TR_SINGLE|wx.SUNKEN_BORDER)
- self.TabsImageList = wx.ImageList(16, 31)
+ self.TabsImageList = wx.ImageList(31, 16)
self.TabsImageListIndexes = {}
if self.Debug:
@@ -815,19 +818,21 @@
def GetCopyBuffer(self):
data = None
- if wx.TheClipboard.Open():
+ if wx.TheClipboard.IsOpened() or wx.TheClipboard.Open():
dataobj = wx.TextDataObject()
if wx.TheClipboard.GetData(dataobj):
data = dataobj.GetText()
+ if wx.TheClipboard.IsOpened():
wx.TheClipboard.Close()
return data
def SetCopyBuffer(self, text):
- if wx.TheClipboard.Open():
+ if wx.TheClipboard.IsOpened() or wx.TheClipboard.Open():
data = wx.TextDataObject()
data.SetText(text)
wx.TheClipboard.SetData(data)
wx.TheClipboard.Flush()
+ if wx.TheClipboard.IsOpened():
wx.TheClipboard.Close()
self.RefreshEditMenu()
@@ -890,27 +895,30 @@
return index
if icon2_name is None:
# Bitmap with only one icon
- tmp_bitmap = wx.Bitmap(os.path.join(CWD, 'Images', '%s.png'%icon1_name))
+ bitmap = wx.Bitmap(os.path.join(CWD, 'Images', '%s.png'%icon1_name))
else:
# Bitmap with two icon
icon1 = wx.Bitmap(os.path.join(CWD, 'Images', '%s.png'%icon1_name))
icon2 = wx.Bitmap(os.path.join(CWD, 'Images', '%s.png'%icon2_name))
+
# Calculate bitmap size
width = icon1.GetWidth() + icon2.GetWidth() - 1
height = max(icon1.GetHeight(), icon2.GetHeight())
# Create bitmap with both icons
- tmp_bitmap = wx.EmptyBitmap(width, height)
+ bitmap = wx.EmptyBitmap(width, height)
dc = wx.MemoryDC()
- dc.SelectObject(tmp_bitmap)
+ dc.SelectObject(bitmap)
dc.Clear()
dc.DrawBitmap(icon1, 0, 0)
dc.DrawBitmap(icon2, icon1.GetWidth() - 1, 0)
- # Store bitmap in ImageList
- index = self.TabsImageList.Add(tmp_bitmap)
- # Save bitmap index in ImageList in dictionary
- self.TabsImageListIndexes[(icon1_name, icon2_name)] = index
+ dc.Destroy()
+
+ # Store bitmap in ImageList
+ index = self.TabsImageList.Add(bitmap)
+ # Save bitmap index in ImageList in dictionary
+ self.TabsImageListIndexes[(icon1_name, icon2_name)] = index
if USE_AUI:
- return tmp_bitmap
+ return bitmap
else:
return index
--- a/Viewer.py Thu Aug 20 09:03:31 2009 -0600
+++ b/Viewer.py Wed Sep 02 08:30:34 2009 -0600
@@ -907,6 +907,8 @@
if isinstance(element, SFC_Step):
if len(instance["inputs"]) > 0:
element.AddInput()
+ else:
+ element.RemoveInput()
if len(instance["outputs"]) > 0:
element.AddOutput()
if isinstance(element, SFC_Transition) and specific_values["condition_type"] == "connection":
--- a/generate_IEC_std.py Thu Aug 20 09:03:31 2009 -0600
+++ b/generate_IEC_std.py Wed Sep 02 08:30:34 2009 -0600
@@ -500,11 +500,11 @@
# Now, print that out, or write to files from sys.argv
for path, name, ext in [
- ('stage4/generate_c','function_type_decl','h'),
- ('stage4/generate_c','get_function_type_decl','c'),
+ ('absyntax_utils','function_type_decl','h'),
+ ('absyntax_utils','get_function_type_decl','c'),
('stage4/generate_c','st_code_gen','c'),
('stage4/generate_c','il_code_gen','c'),
- ('stage4/generate_c','search_type_code','c'),
+ ('absyntax_utils','search_type_code','c'),
('stage1_2','standard_function_names','c'),
('lib', 'iec_std_lib_generated','h')
]:
--- a/graphics/GraphicCommons.py Thu Aug 20 09:03:31 2009 -0600
+++ b/graphics/GraphicCommons.py Wed Sep 02 08:30:34 2009 -0600
@@ -812,24 +812,25 @@
# Draws the handles of this element if it is selected
def Draw(self, dc):
- if self.Highlighted:
- self.DrawHighlightment(dc)
- if self.Selected:
- dc.SetPen(wx.BLACK_PEN)
- dc.SetBrush(wx.BLACK_BRUSH)
- dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
- dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2,
- self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
- dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2,
- self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
- dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2,
- self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
- dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2,
- self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
- dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2,
- self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
- dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
- dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
+ if not getattr(dc, "printing", False):
+ if self.Highlighted:
+ self.DrawHighlightment(dc)
+ if self.Selected:
+ dc.SetPen(wx.BLACK_PEN)
+ dc.SetBrush(wx.BLACK_BRUSH)
+ dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
+ dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2,
+ self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
+ dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2,
+ self.BoundingBox.y - HANDLE_SIZE - 2, HANDLE_SIZE, HANDLE_SIZE)
+ dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2,
+ self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
+ dc.DrawRectangle(self.BoundingBox.x + self.BoundingBox.width + 2,
+ self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
+ dc.DrawRectangle(self.BoundingBox.x + (self.BoundingBox.width - HANDLE_SIZE) / 2,
+ self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
+ dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + self.BoundingBox.height + 2, HANDLE_SIZE, HANDLE_SIZE)
+ dc.DrawRectangle(self.BoundingBox.x - HANDLE_SIZE - 2, self.BoundingBox.y + (self.BoundingBox.height - HANDLE_SIZE) / 2, HANDLE_SIZE, HANDLE_SIZE)
#-------------------------------------------------------------------------------
@@ -1930,15 +1931,21 @@
self.Segments = []
i = 0
while i < len(self.Points) - 1:
- segment = vector(self.Points[i], self.Points[i + 1])
- if is_null_vector(segment) and i > 0:
- segment = (self.Segments[-1][1], self.Segments[-1][0])
- if i < len(self.Points) - 2:
- next = vector(self.Points[i + 1], self.Points[i + 2])
- if next == segment or is_null_vector(add_vectors(segment, next)):
- self.Points.insert(i + 1, wx.Point(self.Points[i + 1].x, self.Points[i + 1].y))
- self.Segments.append(segment)
- i += 1
+ if 0 < i < len(self.Points) - 2 and \
+ self.Points[i] == self.Points[i + 1] and \
+ self.Segments[-1] == vector(self.Points[i + 1], self.Points[i + 2]):
+ for j in xrange(2):
+ self.Points.pop(i)
+ else:
+ segment = vector(self.Points[i], self.Points[i + 1])
+ if is_null_vector(segment) and i > 0:
+ segment = (self.Segments[-1][1], self.Segments[-1][0])
+ if i < len(self.Points) - 2:
+ next = vector(self.Points[i + 1], self.Points[i + 2])
+ if next == segment or is_null_vector(add_vectors(segment, next)):
+ self.Points.insert(i + 1, wx.Point(self.Points[i + 1].x, self.Points[i + 1].y))
+ self.Segments.append(segment)
+ i += 1
self.RefreshBoundingBox()
self.RefreshRealPoints()
@@ -2604,7 +2611,7 @@
dc.DrawLines(self.Points)
dc.DrawPoint(self.Points[-1].x, self.Points[-1].y)
# Draw the segment selected in red
- if self.SelectedSegment is not None:
+ if not getattr(dc, "printing", False) and self.SelectedSegment is not None:
dc.SetPen(wx.RED_PEN)
dc.DrawLine(self.Points[self.SelectedSegment].x, self.Points[self.SelectedSegment].y,
self.Points[self.SelectedSegment + 1].x, self.Points[self.SelectedSegment + 1].y)
--- a/i18n/PLCOpenEditor_fr_FR.po Thu Aug 20 09:03:31 2009 -0600
+++ b/i18n/PLCOpenEditor_fr_FR.po Wed Sep 02 08:30:34 2009 -0600
@@ -7,15 +7,15 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-24 16:55+0200\n"
-"PO-Revision-Date: 2009-07-24 17:02+0100\n"
+"POT-Creation-Date: 2009-08-26 19:19+0200\n"
+"PO-Revision-Date: 2009-08-26 19:25+0100\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../PLCOpenEditor.py:5044
+#: ../PLCOpenEditor.py:5046
msgid ""
"\n"
"An error happens.\n"
@@ -41,41 +41,41 @@
"\n"
"Erreur:\n"
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid " External"
msgstr " Externe"
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
msgid " InOut"
msgstr " Entrée-Sortie"
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
msgid " Input"
msgstr " Entrée"
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid " Local"
msgstr " Locale"
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
msgid " Output"
msgstr " Sortie"
-#: ../PLCOpenEditor.py:3861
+#: ../PLCOpenEditor.py:3863
msgid " Temp"
msgstr " Temporaire"
-#: ../PLCOpenEditor.py:840
+#: ../PLCOpenEditor.py:842
msgid " (Debug)"
msgstr " (Debug)"
-#: ../PLCOpenEditor.py:5056
+#: ../PLCOpenEditor.py:5058
msgid " : "
msgstr " : "
-#: ../PLCOpenEditor.py:3283
-#: ../PLCOpenEditor.py:3446
-#: ../PLCOpenEditor.py:3590
+#: ../PLCOpenEditor.py:3285
+#: ../PLCOpenEditor.py:3448
+#: ../PLCOpenEditor.py:3592
#: ../Dialogs.py:1800
#, python-format
msgid " and %s"
@@ -101,8 +101,8 @@
msgid "\"%s\" can't use itself!"
msgstr "\"%s\" ne peut pas s'utiliser lui-même !"
-#: ../PLCOpenEditor.py:1617
-#: ../PLCOpenEditor.py:1637
+#: ../PLCOpenEditor.py:1619
+#: ../PLCOpenEditor.py:1639
#, python-format
msgid "\"%s\" config already exists!"
msgstr "La configuration \"%s\" existe déjà !"
@@ -112,8 +112,8 @@
msgid "\"%s\" configuration already exists !!!"
msgstr "La configuration \"%s\" existe déjà !!!"
-#: ../PLCOpenEditor.py:1571
-#: ../PLCOpenEditor.py:3145
+#: ../PLCOpenEditor.py:1573
+#: ../PLCOpenEditor.py:3147
#, python-format
msgid "\"%s\" data type already exists!"
msgstr "Le type de données \"%s\" existe déjà !"
@@ -123,8 +123,8 @@
msgid "\"%s\" element can't be paste here!!!"
msgstr "L'élément \"%s\" ne peut être collé ici !!!"
-#: ../PLCOpenEditor.py:3465
-#: ../PLCOpenEditor.py:3609
+#: ../PLCOpenEditor.py:3467
+#: ../PLCOpenEditor.py:3611
#: ../Viewer.py:248
#: ../Dialogs.py:261
#: ../Dialogs.py:898
@@ -137,14 +137,14 @@
msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
msgstr "L'appel à la fonction \"%s\" dans le POU \"%s\" a été abandonné : aucune entrée connectée"
-#: ../PLCOpenEditor.py:1562
-#: ../PLCOpenEditor.py:3141
-#: ../PLCOpenEditor.py:3294
-#: ../PLCOpenEditor.py:3457
-#: ../PLCOpenEditor.py:3601
-#: ../PLCOpenEditor.py:3672
-#: ../PLCOpenEditor.py:3735
-#: ../PLCOpenEditor.py:4449
+#: ../PLCOpenEditor.py:1564
+#: ../PLCOpenEditor.py:3143
+#: ../PLCOpenEditor.py:3296
+#: ../PLCOpenEditor.py:3459
+#: ../PLCOpenEditor.py:3603
+#: ../PLCOpenEditor.py:3674
+#: ../PLCOpenEditor.py:3737
+#: ../PLCOpenEditor.py:4451
#: ../Dialogs.py:253
#: ../Dialogs.py:652
#: ../Dialogs.py:890
@@ -167,20 +167,20 @@
msgid "\"%s\" is an invalid value!"
msgstr "\"%s\" n'est pas une valeur valide !"
-#: ../PLCOpenEditor.py:1097
-#: ../PLCOpenEditor.py:1126
+#: ../PLCOpenEditor.py:1099
+#: ../PLCOpenEditor.py:1128
#, python-format
msgid "\"%s\" is not a valid folder!"
msgstr "\"%s\" n'est pas un répertoire valide !"
-#: ../PLCOpenEditor.py:1560
-#: ../PLCOpenEditor.py:3137
-#: ../PLCOpenEditor.py:3290
-#: ../PLCOpenEditor.py:3453
-#: ../PLCOpenEditor.py:3597
-#: ../PLCOpenEditor.py:3668
-#: ../PLCOpenEditor.py:3731
-#: ../PLCOpenEditor.py:4444
+#: ../PLCOpenEditor.py:1562
+#: ../PLCOpenEditor.py:3139
+#: ../PLCOpenEditor.py:3292
+#: ../PLCOpenEditor.py:3455
+#: ../PLCOpenEditor.py:3599
+#: ../PLCOpenEditor.py:3670
+#: ../PLCOpenEditor.py:3733
+#: ../PLCOpenEditor.py:4446
#: ../Dialogs.py:249
#: ../Dialogs.py:886
#: ../Dialogs.py:1529
@@ -192,14 +192,14 @@
msgstr "\"%s\" n'est pas un identifiant valide !"
#: ../PLCOpenEditor.py:283
-#: ../PLCOpenEditor.py:2491
-#: ../PLCOpenEditor.py:2520
+#: ../PLCOpenEditor.py:2493
+#: ../PLCOpenEditor.py:2522
#, python-format
msgid "\"%s\" is used by one or more POUs. It can't be removed!"
msgstr "Le POU \"%s\" est utilisé par un ou plusieurs POUs. Il ne peut être supprimé !"
-#: ../PLCOpenEditor.py:1580
-#: ../PLCOpenEditor.py:3298
+#: ../PLCOpenEditor.py:1582
+#: ../PLCOpenEditor.py:3300
#: ../Viewer.py:246
#: ../Dialogs.py:257
#: ../Dialogs.py:894
@@ -262,21 +262,21 @@
msgid "%s body don't have text!"
msgstr "Le code d'un %s n'a pas de texte !"
-#: ../PLCOpenEditor.py:5032
#: ../PLCOpenEditor.py:5034
-#: ../PLCOpenEditor.py:5035
+#: ../PLCOpenEditor.py:5036
+#: ../PLCOpenEditor.py:5037
msgid ", "
msgstr ", "
-#: ../PLCOpenEditor.py:3285
-#: ../PLCOpenEditor.py:3448
-#: ../PLCOpenEditor.py:3592
+#: ../PLCOpenEditor.py:3287
+#: ../PLCOpenEditor.py:3450
+#: ../PLCOpenEditor.py:3594
#: ../Dialogs.py:1802
#, python-format
msgid ", %s"
msgstr ", %s"
-#: ../PLCOpenEditor.py:5030
+#: ../PLCOpenEditor.py:5032
msgid ". "
msgstr ". "
@@ -285,29 +285,29 @@
msgid "A element with \"%s\" as name exists in this structure!"
msgstr "Un élément nommé \"%s\" existe déjà dans la structure !"
-#: ../PLCOpenEditor.py:1583
-#: ../PLCOpenEditor.py:1625
-#: ../PLCOpenEditor.py:1645
-#: ../PLCOpenEditor.py:3302
-#: ../PLCOpenEditor.py:3680
-#: ../PLCOpenEditor.py:3743
+#: ../PLCOpenEditor.py:1585
+#: ../PLCOpenEditor.py:1627
+#: ../PLCOpenEditor.py:1647
+#: ../PLCOpenEditor.py:3304
+#: ../PLCOpenEditor.py:3682
+#: ../PLCOpenEditor.py:3745
#, python-format
msgid "A pou has an element with \"%s\" as name. It can generate a conflict. Do you wish to continue?"
msgstr "Un POU a un élément nommé \"%s\". Cela peut générer des conflits. Voulez-vous continuer ?"
-#: ../PLCOpenEditor.py:1620
-#: ../PLCOpenEditor.py:1640
+#: ../PLCOpenEditor.py:1622
+#: ../PLCOpenEditor.py:1642
#, python-format
msgid "A pou is defined with \"%s\" as name. It can generate a conflict. Do you wish to continue?"
msgstr "Un POU a pour nom \"%s\". Cela peut générer des conflits. Voulez-vous continuer ?"
-#: ../PLCOpenEditor.py:1596
-#: ../PLCOpenEditor.py:1607
-#: ../PLCOpenEditor.py:3461
-#: ../PLCOpenEditor.py:3605
-#: ../PLCOpenEditor.py:3676
-#: ../PLCOpenEditor.py:3739
-#: ../PLCOpenEditor.py:4454
+#: ../PLCOpenEditor.py:1598
+#: ../PLCOpenEditor.py:1609
+#: ../PLCOpenEditor.py:3463
+#: ../PLCOpenEditor.py:3607
+#: ../PLCOpenEditor.py:3678
+#: ../PLCOpenEditor.py:3741
+#: ../PLCOpenEditor.py:4456
#: ../Dialogs.py:1537
#: ../Dialogs.py:2520
#: ../Dialogs.py:2587
@@ -315,20 +315,20 @@
msgid "A pou with \"%s\" as name exists!"
msgstr "Un POU nommé \"%s\" existe déjà !"
-#: ../PLCOpenEditor.py:1598
-#: ../PLCOpenEditor.py:1609
-#: ../PLCOpenEditor.py:4459
+#: ../PLCOpenEditor.py:1600
+#: ../PLCOpenEditor.py:1611
+#: ../PLCOpenEditor.py:4461
#: ../Dialogs.py:1541
#: ../Dialogs.py:2524
#, python-format
msgid "A variable with \"%s\" as name already exists in this pou!"
msgstr "Une variable nommée \"%s\" existe déjà dans ce POU !"
-#: ../PLCOpenEditor.py:445
+#: ../PLCOpenEditor.py:447
msgid "About"
msgstr "A propos"
-#: ../PLCOpenEditor.py:2614
+#: ../PLCOpenEditor.py:2616
msgid "About PLCOpenEditor"
msgstr "A propos de PLCOpenEditor"
@@ -341,11 +341,11 @@
msgid "Action"
msgstr "Action"
-#: ../PLCOpenEditor.py:3581
+#: ../PLCOpenEditor.py:3583
msgid "Action Name"
msgstr "Nom de l'action"
-#: ../PLCOpenEditor.py:3548
+#: ../PLCOpenEditor.py:3550
msgid "Action Name:"
msgstr "Nom de l'action :"
@@ -362,22 +362,22 @@
msgid "Actions:"
msgstr "Actions :"
-#: ../PLCOpenEditor.py:4244
+#: ../PLCOpenEditor.py:4246
#: ../Dialogs.py:2346
#: ../DataTypeEditor.py:539
msgid "Add"
msgstr "Ajouter"
-#: ../PLCOpenEditor.py:1800
-#: ../PLCOpenEditor.py:1873
+#: ../PLCOpenEditor.py:1802
+#: ../PLCOpenEditor.py:1875
msgid "Add Action"
msgstr "Ajouter une action"
-#: ../PLCOpenEditor.py:1856
+#: ../PLCOpenEditor.py:1858
msgid "Add Configuration"
msgstr "Ajouter une configuration"
-#: ../PLCOpenEditor.py:1844
+#: ../PLCOpenEditor.py:1846
msgid "Add DataType"
msgstr "Ajouter un type de donnée"
@@ -385,7 +385,7 @@
msgid "Add Divergence Branch"
msgstr "Ajouter une branche à la divergence"
-#: ../PLCOpenEditor.py:384
+#: ../PLCOpenEditor.py:386
msgid "Add Element"
msgstr "Ajouter un élément"
@@ -393,12 +393,12 @@
msgid "Add Instance"
msgstr "Ajouter une instance"
-#: ../PLCOpenEditor.py:1850
+#: ../PLCOpenEditor.py:1852
msgid "Add Pou"
msgstr "Ajouter un POU"
-#: ../PLCOpenEditor.py:1827
-#: ../PLCOpenEditor.py:1884
+#: ../PLCOpenEditor.py:1829
+#: ../PLCOpenEditor.py:1886
msgid "Add Resource"
msgstr "Ajouter une resource"
@@ -406,8 +406,8 @@
msgid "Add Task"
msgstr "Ajouter une tâche"
-#: ../PLCOpenEditor.py:1797
-#: ../PLCOpenEditor.py:1862
+#: ../PLCOpenEditor.py:1799
+#: ../PLCOpenEditor.py:1864
msgid "Add Transition"
msgstr "Ajouter une transition"
@@ -415,7 +415,7 @@
msgid "Add Wire Segment"
msgstr "Ajouter un segment au fil"
-#: ../PLCOpenEditor.py:2359
+#: ../PLCOpenEditor.py:2361
msgid "Add a new data type"
msgstr "Ajouter un nouveau type de données"
@@ -432,11 +432,11 @@
msgid "Add a new step"
msgstr "Ajouter une nouvelle étape"
-#: ../PLCOpenEditor.py:2416
+#: ../PLCOpenEditor.py:2418
msgid "Add new configuration"
msgstr "Ajouter une nouvelle configuration"
-#: ../PLCOpenEditor.py:2431
+#: ../PLCOpenEditor.py:2433
msgid "Add new resource"
msgstr "Ajouter une nouvelle resource"
@@ -452,7 +452,7 @@
msgid "Alignment"
msgstr "Alignement"
-#: ../PLCOpenEditor.py:3858
+#: ../PLCOpenEditor.py:3860
msgid "All"
msgstr "Toutes"
@@ -484,11 +484,11 @@
msgid "At least a variable or an expression must be selected!"
msgstr "Au moins une variable ou une expression doit être sélectionné !"
-#: ../PLCOpenEditor.py:2941
+#: ../PLCOpenEditor.py:2943
msgid "Author"
msgstr "Auteur"
-#: ../PLCOpenEditor.py:2926
+#: ../PLCOpenEditor.py:2928
msgid "Author Name (optional):"
msgstr "Nom de l'auteur (optionel) :"
@@ -498,7 +498,7 @@
msgid "Base Type:"
msgstr "Type de base :"
-#: ../PLCOpenEditor.py:4491
+#: ../PLCOpenEditor.py:4493
#: ../DataTypeEditor.py:798
msgid "Base Types"
msgstr "Types de base"
@@ -535,7 +535,7 @@
msgid "Block Properties"
msgstr "Propriétés du bloc"
-#: ../PLCOpenEditor.py:2077
+#: ../PLCOpenEditor.py:2079
#: ../Dialogs.py:269
msgid "Block Types"
msgstr "Types de blocs"
@@ -544,11 +544,11 @@
msgid "Bottom"
msgstr "Bas"
-#: ../PLCOpenEditor.py:2031
+#: ../PLCOpenEditor.py:2033
msgid "CSV Log"
msgstr "Log CVS"
-#: ../PLCOpenEditor.py:4072
+#: ../PLCOpenEditor.py:4074
msgid "Can affect a location only to local or global variables"
msgstr "Une adresse ne peut être affecté qu'à des variables locales ou globales"
@@ -559,16 +559,16 @@
msgid "Can only generate execution order on FBD networks!"
msgstr "L'ordre d'exécution ne peut être généré que dans les FBD !"
-#: ../PLCOpenEditor.py:4070
+#: ../PLCOpenEditor.py:4072
msgid "Can't affect a location to a function block instance"
msgstr "Une adresse ne peut être affectée une instance de Function Block"
-#: ../PLCOpenEditor.py:1092
+#: ../PLCOpenEditor.py:1094
#, python-format
msgid "Can't generate program to file %s!"
msgstr "Le programme n'a pu être généré dans le fichier \"%s\" !"
-#: ../PLCOpenEditor.py:1124
+#: ../PLCOpenEditor.py:1126
#, python-format
msgid "Can't save project to file %s!"
msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !"
@@ -577,7 +577,7 @@
msgid "Center"
msgstr "Centre"
-#: ../PLCOpenEditor.py:1816
+#: ../PLCOpenEditor.py:1818
msgid "Change POU Type To"
msgstr "Changer le type du POU pour"
@@ -585,18 +585,18 @@
msgid "Character string"
msgstr "Chaîne de caractères"
-#: ../PLCOpenEditor.py:1031
-#: ../PLCOpenEditor.py:1082
-#: ../PLCOpenEditor.py:1118
+#: ../PLCOpenEditor.py:1033
+#: ../PLCOpenEditor.py:1084
+#: ../PLCOpenEditor.py:1120
msgid "Choose a file"
msgstr "Choisissez un fichier"
-#: ../PLCOpenEditor.py:3848
-#: ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850
+#: ../PLCOpenEditor.py:3851
msgid "Class"
msgstr "Classe"
-#: ../PLCOpenEditor.py:4236
+#: ../PLCOpenEditor.py:4238
msgid "Class Filter:"
msgstr "Filtre de classe :"
@@ -604,7 +604,7 @@
msgid "Class:"
msgstr "Classe :"
-#: ../PLCOpenEditor.py:423
+#: ../PLCOpenEditor.py:425
msgid "Clear Errors\tCTRL+K"
msgstr "Effacer les erreurs\tCTRL+K"
@@ -616,7 +616,7 @@
msgid "Close\tCTRL+Q"
msgstr "Fermer\tCTRL+Q"
-#: ../PLCOpenEditor.py:961
+#: ../PLCOpenEditor.py:963
msgid "Close Application"
msgstr "Fermer l'application"
@@ -632,11 +632,11 @@
msgid "Comment"
msgstr "Commentaire"
-#: ../PLCOpenEditor.py:2910
+#: ../PLCOpenEditor.py:2912
msgid "Company Name (required):"
msgstr "Nom de l'entreprise (obligatoire) :"
-#: ../PLCOpenEditor.py:2918
+#: ../PLCOpenEditor.py:2920
msgid "Company URL (optional):"
msgstr "URL de l'entreprise (optionel) :"
@@ -648,7 +648,7 @@
msgid "Concatenation"
msgstr "Concaténation"
-#: ../PLCOpenEditor.py:394
+#: ../PLCOpenEditor.py:396
msgid "Configuration"
msgstr "Configuration"
@@ -672,12 +672,12 @@
msgid "Connectors:"
msgstr "Connecteurs :"
-#: ../PLCOpenEditor.py:3848
-#: ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850
+#: ../PLCOpenEditor.py:3851
msgid "Constant"
msgstr "Constante"
-#: ../PLCOpenEditor.py:3000
+#: ../PLCOpenEditor.py:3002
msgid "Content Description (optional):"
msgstr "Description du contenu (optionel) :"
@@ -701,7 +701,7 @@
msgid "Conversion to time-of-day"
msgstr "Conversion en heure de la journée"
-#: ../PLCOpenEditor.py:379
+#: ../PLCOpenEditor.py:381
msgid "Copy\tCTRL+C"
msgstr "Copier\tCtrl+C"
@@ -709,16 +709,16 @@
msgid "Cosine"
msgstr "Cosinus"
-#: ../PLCOpenEditor.py:3223
+#: ../PLCOpenEditor.py:3225
msgid "Create a new POU"
msgstr "Créer un nouveau POU"
-#: ../PLCOpenEditor.py:1804
-#: ../PLCOpenEditor.py:2461
+#: ../PLCOpenEditor.py:1806
+#: ../PLCOpenEditor.py:2463
msgid "Create a new POU from"
msgstr "Créer un nouveau POU à partir de"
-#: ../PLCOpenEditor.py:3544
+#: ../PLCOpenEditor.py:3546
msgid "Create a new action"
msgstr "Créer une nouvelle action"
@@ -787,7 +787,7 @@
msgstr "Créer une nouvelle étape"
#: ../PLCOpenEditor.py:211
-#: ../PLCOpenEditor.py:3400
+#: ../PLCOpenEditor.py:3402
msgid "Create a new transition"
msgstr "Créer une nouvelle transition"
@@ -797,11 +797,11 @@
msgid "Create a new variable"
msgstr "Créer une nouvelle variable"
-#: ../PLCOpenEditor.py:377
+#: ../PLCOpenEditor.py:379
msgid "Cut\tCTRL+X"
msgstr "Couper\tCTRL+X"
-#: ../PLCOpenEditor.py:386
+#: ../PLCOpenEditor.py:388
msgid "Data Type"
msgstr "Type de donnée"
@@ -826,12 +826,12 @@
msgid "Date subtraction"
msgstr "Soustraction de date"
-#: ../PLCOpenEditor.py:398
-#: ../PLCOpenEditor.py:1821
-#: ../PLCOpenEditor.py:1830
-#: ../PLCOpenEditor.py:1836
-#: ../PLCOpenEditor.py:4249
-#: ../PLCOpenEditor.py:4862
+#: ../PLCOpenEditor.py:400
+#: ../PLCOpenEditor.py:1823
+#: ../PLCOpenEditor.py:1832
+#: ../PLCOpenEditor.py:1838
+#: ../PLCOpenEditor.py:4251
+#: ../PLCOpenEditor.py:4864
#: ../Viewer.py:416
#: ../Dialogs.py:2351
#: ../DataTypeEditor.py:544
@@ -891,7 +891,7 @@
msgid "Division"
msgstr "Division"
-#: ../PLCOpenEditor.py:1086
+#: ../PLCOpenEditor.py:1088
msgid "Done"
msgstr "Terminé"
@@ -959,6 +959,10 @@
msgid "Elements :"
msgstr "Eléments :"
+#: ../PLCOpenEditor.py:376
+msgid "Enable Undo/Redo"
+msgstr "Activer Défaire/Refaire"
+
#: ../DataTypeEditor.py:236
msgid "Enumerated"
msgstr "Enumération"
@@ -967,51 +971,51 @@
msgid "Equal to"
msgstr "Egal à"
-#: ../PLCOpenEditor.py:953
-#: ../PLCOpenEditor.py:1093
-#: ../PLCOpenEditor.py:1098
-#: ../PLCOpenEditor.py:1583
-#: ../PLCOpenEditor.py:1620
-#: ../PLCOpenEditor.py:1625
-#: ../PLCOpenEditor.py:1640
-#: ../PLCOpenEditor.py:1645
-#: ../PLCOpenEditor.py:2491
-#: ../PLCOpenEditor.py:2520
-#: ../PLCOpenEditor.py:3041
-#: ../PLCOpenEditor.py:3133
-#: ../PLCOpenEditor.py:3137
-#: ../PLCOpenEditor.py:3141
-#: ../PLCOpenEditor.py:3145
-#: ../PLCOpenEditor.py:3286
-#: ../PLCOpenEditor.py:3290
-#: ../PLCOpenEditor.py:3294
-#: ../PLCOpenEditor.py:3298
-#: ../PLCOpenEditor.py:3449
-#: ../PLCOpenEditor.py:3453
-#: ../PLCOpenEditor.py:3457
-#: ../PLCOpenEditor.py:3461
-#: ../PLCOpenEditor.py:3465
-#: ../PLCOpenEditor.py:3593
-#: ../PLCOpenEditor.py:3597
-#: ../PLCOpenEditor.py:3601
-#: ../PLCOpenEditor.py:3605
-#: ../PLCOpenEditor.py:3609
-#: ../PLCOpenEditor.py:3664
-#: ../PLCOpenEditor.py:3668
-#: ../PLCOpenEditor.py:3672
-#: ../PLCOpenEditor.py:3676
-#: ../PLCOpenEditor.py:3727
-#: ../PLCOpenEditor.py:3731
-#: ../PLCOpenEditor.py:3735
-#: ../PLCOpenEditor.py:3739
-#: ../PLCOpenEditor.py:4119
-#: ../PLCOpenEditor.py:4444
-#: ../PLCOpenEditor.py:4449
-#: ../PLCOpenEditor.py:4454
-#: ../PLCOpenEditor.py:4459
-#: ../PLCOpenEditor.py:4795
-#: ../PLCOpenEditor.py:5057
-#: ../PLCOpenEditor.py:5067
+#: ../PLCOpenEditor.py:955
+#: ../PLCOpenEditor.py:1095
+#: ../PLCOpenEditor.py:1100
+#: ../PLCOpenEditor.py:1585
+#: ../PLCOpenEditor.py:1622
+#: ../PLCOpenEditor.py:1627
+#: ../PLCOpenEditor.py:1642
+#: ../PLCOpenEditor.py:1647
+#: ../PLCOpenEditor.py:2493
+#: ../PLCOpenEditor.py:2522
+#: ../PLCOpenEditor.py:3043
+#: ../PLCOpenEditor.py:3135
+#: ../PLCOpenEditor.py:3139
+#: ../PLCOpenEditor.py:3143
+#: ../PLCOpenEditor.py:3147
+#: ../PLCOpenEditor.py:3288
+#: ../PLCOpenEditor.py:3292
+#: ../PLCOpenEditor.py:3296
+#: ../PLCOpenEditor.py:3300
+#: ../PLCOpenEditor.py:3451
+#: ../PLCOpenEditor.py:3455
+#: ../PLCOpenEditor.py:3459
+#: ../PLCOpenEditor.py:3463
+#: ../PLCOpenEditor.py:3467
+#: ../PLCOpenEditor.py:3595
+#: ../PLCOpenEditor.py:3599
+#: ../PLCOpenEditor.py:3603
+#: ../PLCOpenEditor.py:3607
+#: ../PLCOpenEditor.py:3611
+#: ../PLCOpenEditor.py:3666
+#: ../PLCOpenEditor.py:3670
+#: ../PLCOpenEditor.py:3674
+#: ../PLCOpenEditor.py:3678
+#: ../PLCOpenEditor.py:3729
+#: ../PLCOpenEditor.py:3733
+#: ../PLCOpenEditor.py:3737
+#: ../PLCOpenEditor.py:3741
+#: ../PLCOpenEditor.py:4121
+#: ../PLCOpenEditor.py:4446
+#: ../PLCOpenEditor.py:4451
+#: ../PLCOpenEditor.py:4456
+#: ../PLCOpenEditor.py:4461
+#: ../PLCOpenEditor.py:4797
+#: ../PLCOpenEditor.py:5059
+#: ../PLCOpenEditor.py:5069
#: ../Viewer.py:335
#: ../TextViewer.py:224
#: ../LDViewer.py:628
@@ -1078,15 +1082,15 @@
msgid "Expression:"
msgstr "Expression :"
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid "External"
msgstr "Externe"
-#: ../PLCOpenEditor.py:2978
-#: ../PLCOpenEditor.py:3168
-#: ../PLCOpenEditor.py:3178
-#: ../PLCOpenEditor.py:3357
-#: ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:2980
+#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3180
+#: ../PLCOpenEditor.py:3359
+#: ../PLCOpenEditor.py:3503
msgid "FBD"
msgstr "FBD"
@@ -1111,10 +1115,10 @@
msgid "Find position"
msgstr "Trouver la position"
-#: ../PLCOpenEditor.py:3041
-#: ../PLCOpenEditor.py:3286
-#: ../PLCOpenEditor.py:3449
-#: ../PLCOpenEditor.py:3593
+#: ../PLCOpenEditor.py:3043
+#: ../PLCOpenEditor.py:3288
+#: ../PLCOpenEditor.py:3451
+#: ../PLCOpenEditor.py:3595
#: ../Dialogs.py:1803
#, python-format
msgid "Form isn't complete. %s must be filled!"
@@ -1129,16 +1133,16 @@
msgid "Form isn't complete. Valid block type must be selected!"
msgstr "Le formulaire est incomplet. Un type de bloc valide doit être sélectionné !"
-#: ../PLCOpenEditor.py:388
+#: ../PLCOpenEditor.py:390
msgid "Function"
msgstr "Fonction"
-#: ../PLCOpenEditor.py:390
-#: ../PLCOpenEditor.py:1811
+#: ../PLCOpenEditor.py:392
+#: ../PLCOpenEditor.py:1813
msgid "Function Block"
msgstr "Bloc fonctionnel"
-#: ../PLCOpenEditor.py:4506
+#: ../PLCOpenEditor.py:4508
msgid "Function Block Types"
msgstr "Types de blocs fonctionnels"
@@ -1167,15 +1171,15 @@
msgid "Generate Program\tCTRL+G"
msgstr "Générer le program\tCTRL+G"
-#: ../PLCOpenEditor.py:3861
+#: ../PLCOpenEditor.py:3863
msgid "Global"
msgstr "Globale"
-#: ../PLCOpenEditor.py:2028
+#: ../PLCOpenEditor.py:2030
msgid "Graphic Panel"
msgstr "Graphique"
-#: ../PLCOpenEditor.py:2983
+#: ../PLCOpenEditor.py:2985
msgid "Graphics"
msgstr "Graphiques"
@@ -1187,7 +1191,7 @@
msgid "Greater than or equal to"
msgstr "Supérieur ou égal à"
-#: ../PLCOpenEditor.py:2962
+#: ../PLCOpenEditor.py:2964
msgid "Height:"
msgstr "Hauteur :"
@@ -1201,29 +1205,29 @@
"The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
msgstr ""
-#: ../PLCOpenEditor.py:3168
-#: ../PLCOpenEditor.py:3178
-#: ../PLCOpenEditor.py:3357
-#: ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3180
+#: ../PLCOpenEditor.py:3359
+#: ../PLCOpenEditor.py:3503
msgid "IL"
msgstr "IL"
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
#: ../Dialogs.py:426
msgid "InOut"
msgstr "Entrée-Sortie"
-#: ../PLCOpenEditor.py:4089
+#: ../PLCOpenEditor.py:4091
#, python-format
msgid "Incompatible data types between \"%s\" and \"%s\""
msgstr "Types de donnée imcompatible entre \"%s\" et \"%s\""
-#: ../PLCOpenEditor.py:4100
+#: ../PLCOpenEditor.py:4102
#, python-format
msgid "Incompatible size of data between \"%s\" and \"%s\""
msgstr "Taille de donnée incompatible entre \"%s\" et \"%s\""
-#: ../PLCOpenEditor.py:4096
+#: ../PLCOpenEditor.py:4098
#, python-format
msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr "Taille de donnée incompatible entre \"%s\" et \"BOOL\""
@@ -1232,8 +1236,8 @@
msgid "Indicator"
msgstr "Indicateur"
-#: ../PLCOpenEditor.py:3848
-#: ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850
+#: ../PLCOpenEditor.py:3851
#: ../DataTypeEditor.py:46
msgid "Initial Value"
msgstr "Valeur initiale"
@@ -1251,7 +1255,7 @@
msgid "Inline"
msgstr "Inline"
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
#: ../Dialogs.py:425
#: ../Dialogs.py:1472
msgid "Input"
@@ -1270,8 +1274,8 @@
msgid "Instance with id %d doesn't exists!"
msgstr "L'instance dont l'id est %d n'existe pas !"
-#: ../PLCOpenEditor.py:559
-#: ../PLCOpenEditor.py:597
+#: ../PLCOpenEditor.py:561
+#: ../PLCOpenEditor.py:599
msgid "Instances"
msgstr "Instances"
@@ -1287,7 +1291,7 @@
"Intégrale\n"
"Le bloc fonctionnel INTEGRAL intègre les valeurs de l'entrée XIN en fonction du temps."
-#: ../PLCOpenEditor.py:3858
+#: ../PLCOpenEditor.py:3860
msgid "Interface"
msgstr "Interface"
@@ -1300,14 +1304,14 @@
msgid "Invalid plcopen element(s)!!!"
msgstr "Les éléments plcopen ne sont pas valides !!! "
-#: ../PLCOpenEditor.py:4784
-#: ../PLCOpenEditor.py:4787
+#: ../PLCOpenEditor.py:4786
+#: ../PLCOpenEditor.py:4789
#, python-format
msgid "Invalid value \"%s\" for debug variable"
msgstr "Chemin de variable à déboguer \"%s\" invalide"
-#: ../PLCOpenEditor.py:4077
-#: ../PLCOpenEditor.py:4080
+#: ../PLCOpenEditor.py:4079
+#: ../PLCOpenEditor.py:4082
#, python-format
msgid "Invalid value \"%s\" for location"
msgstr "Adresse \"%s\" invalide "
@@ -1318,11 +1322,11 @@
msgid "Invalid value \"%s\" for viewer block"
msgstr "Valeur \"%s\" invalide pour un élément graphique"
-#: ../PLCOpenEditor.py:2978
-#: ../PLCOpenEditor.py:3168
-#: ../PLCOpenEditor.py:3178
-#: ../PLCOpenEditor.py:3357
-#: ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:2980
+#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3180
+#: ../PLCOpenEditor.py:3359
+#: ../PLCOpenEditor.py:3503
msgid "LD"
msgstr "LD"
@@ -1332,19 +1336,19 @@
msgid "Ladder element with id %d is on more than one rung."
msgstr "L'élément de LD dont l'id est %d apparait dans plusieurs échelons. "
-#: ../PLCOpenEditor.py:3276
-#: ../PLCOpenEditor.py:3439
-#: ../PLCOpenEditor.py:3583
+#: ../PLCOpenEditor.py:3278
+#: ../PLCOpenEditor.py:3441
+#: ../PLCOpenEditor.py:3585
msgid "Language"
msgstr "Langue"
-#: ../PLCOpenEditor.py:2992
+#: ../PLCOpenEditor.py:2994
msgid "Language (optional):"
msgstr "Langue (optionnel) :"
-#: ../PLCOpenEditor.py:3244
-#: ../PLCOpenEditor.py:3412
-#: ../PLCOpenEditor.py:3556
+#: ../PLCOpenEditor.py:3246
+#: ../PLCOpenEditor.py:3414
+#: ../PLCOpenEditor.py:3558
msgid "Language:"
msgstr "Langue :"
@@ -1368,7 +1372,7 @@
msgid "Less than or equal to"
msgstr "Inférieur ou égal à"
-#: ../PLCOpenEditor.py:638
+#: ../PLCOpenEditor.py:640
msgid "Library"
msgstr "Librairie"
@@ -1376,11 +1380,11 @@
msgid "Limitation"
msgstr "Limitation"
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid "Local"
msgstr "Locale"
-#: ../PLCOpenEditor.py:3848
+#: ../PLCOpenEditor.py:3850
msgid "Location"
msgstr "Adresse"
@@ -1408,7 +1412,7 @@
msgid "Minimum:"
msgstr "Minimum :"
-#: ../PLCOpenEditor.py:3007
+#: ../PLCOpenEditor.py:3009
msgid "Miscellaneous"
msgstr "Divers"
@@ -1440,8 +1444,8 @@
msgid "Multiplication"
msgstr "Multiplication"
-#: ../PLCOpenEditor.py:3848
-#: ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850
+#: ../PLCOpenEditor.py:3851
#: ../RessourceEditor.py:79
#: ../RessourceEditor.py:83
#: ../DataTypeEditor.py:46
@@ -1474,7 +1478,7 @@
msgid "New item"
msgstr "Nouvel élément"
-#: ../PLCOpenEditor.py:3853
+#: ../PLCOpenEditor.py:3855
msgid "No"
msgstr "Non"
@@ -1497,7 +1501,7 @@
msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
msgstr "Pas de connecteur trouvé pour le prolongement \"%s\" dans le POU \"%s\""
-#: ../PLCOpenEditor.py:2606
+#: ../PLCOpenEditor.py:2608
msgid ""
"No documentation available.\n"
"Coming soon."
@@ -1551,11 +1555,11 @@
msgid "Open\tCTRL+O"
msgstr "Ouvrir\tCTRL+O"
-#: ../PLCOpenEditor.py:2934
+#: ../PLCOpenEditor.py:2936
msgid "Organization (optional):"
msgstr "Groupe (optionnel) :"
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
#: ../Dialogs.py:427
#: ../Dialogs.py:1477
msgid "Output"
@@ -1569,33 +1573,33 @@
"PID\n"
"Le bloc fonctionnel PID (Proportionnel, Intégrale, Dérivée) fournit un controller de boucle fermé classique à trois paramètres."
-#: ../PLCOpenEditor.py:1031
-#: ../PLCOpenEditor.py:1118
+#: ../PLCOpenEditor.py:1033
+#: ../PLCOpenEditor.py:1120
msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*"
-#: ../PLCOpenEditor.py:485
-#: ../PLCOpenEditor.py:838
+#: ../PLCOpenEditor.py:487
+#: ../PLCOpenEditor.py:840
msgid "PLCOpenEditor"
msgstr "PLCOpenEditor"
-#: ../PLCOpenEditor.py:438
+#: ../PLCOpenEditor.py:440
msgid "PLCOpenEditor\tF1"
msgstr "PLCOpenEditor\tF1"
-#: ../PLCOpenEditor.py:3272
+#: ../PLCOpenEditor.py:3274
msgid "POU Name"
msgstr "Nom du POU"
-#: ../PLCOpenEditor.py:3227
+#: ../PLCOpenEditor.py:3229
msgid "POU Name:"
msgstr "Nom du POU :"
-#: ../PLCOpenEditor.py:3274
+#: ../PLCOpenEditor.py:3276
msgid "POU Type"
msgstr "Type du POU"
-#: ../PLCOpenEditor.py:3235
+#: ../PLCOpenEditor.py:3237
msgid "POU Type:"
msgstr "Type du POU :"
@@ -1603,16 +1607,16 @@
msgid "Page Setup"
msgstr "Mise en page..."
-#: ../PLCOpenEditor.py:2950
+#: ../PLCOpenEditor.py:2952
msgid "Page Size (optional):"
msgstr "Taille de la page (optionnel) :"
-#: ../PLCOpenEditor.py:5000
+#: ../PLCOpenEditor.py:5002
#, python-format
msgid "Page: %d"
msgstr "Page: %d"
-#: ../PLCOpenEditor.py:381
+#: ../PLCOpenEditor.py:383
msgid "Paste\tCTRL+V"
msgstr "Coller\tCTRL+V"
@@ -1626,7 +1630,7 @@
msgid "Please choose a target"
msgstr "Choisissez une cible"
-#: ../PLCOpenEditor.py:2461
+#: ../PLCOpenEditor.py:2463
msgid "Please enter POU name"
msgstr "Saisissez le nom du POU"
@@ -1637,17 +1641,17 @@
msgid "Please enter comment text"
msgstr "Saisissez le texte du commentaire"
-#: ../PLCOpenEditor.py:2416
-#: ../PLCOpenEditor.py:3647
+#: ../PLCOpenEditor.py:2418
+#: ../PLCOpenEditor.py:3649
msgid "Please enter configuration name"
msgstr "Saisissez le nom de la configuration"
-#: ../PLCOpenEditor.py:2359
+#: ../PLCOpenEditor.py:2361
msgid "Please enter data type name"
msgstr "Saisissez le nom du type de donnée"
-#: ../PLCOpenEditor.py:2431
-#: ../PLCOpenEditor.py:3710
+#: ../PLCOpenEditor.py:2433
+#: ../PLCOpenEditor.py:3712
msgid "Please enter resource name"
msgstr "Saisissez le nom de la ressource"
@@ -1657,7 +1661,7 @@
msgid "Please enter step name"
msgstr "Saisissez le nom de l'étape"
-#: ../PLCOpenEditor.py:3118
+#: ../PLCOpenEditor.py:3120
msgid "Please enter text"
msgstr "Saisissez le texte"
@@ -1688,7 +1692,7 @@
msgid "Print"
msgstr "Imprimer"
-#: ../PLCOpenEditor.py:1150
+#: ../PLCOpenEditor.py:1152
msgid "Print preview"
msgstr "Aperçu avant impression"
@@ -1700,24 +1704,24 @@
msgid "Priority:"
msgstr "Priorité :"
-#: ../PLCOpenEditor.py:2878
+#: ../PLCOpenEditor.py:2880
msgid "Product Name (required):"
msgstr "Nom du produit (obligatoire) :"
-#: ../PLCOpenEditor.py:2894
+#: ../PLCOpenEditor.py:2896
msgid "Product Release (optional):"
msgstr "Publication du produit (optionnel) :"
-#: ../PLCOpenEditor.py:2886
+#: ../PLCOpenEditor.py:2888
msgid "Product Version (required):"
msgstr "Version du produit (obligatoire) :"
-#: ../PLCOpenEditor.py:392
-#: ../PLCOpenEditor.py:1814
+#: ../PLCOpenEditor.py:394
+#: ../PLCOpenEditor.py:1816
msgid "Program"
msgstr "Programme"
-#: ../PLCOpenEditor.py:1095
+#: ../PLCOpenEditor.py:1097
msgid "Program was successfully generated!"
msgstr "Le programme a été généré avec succès !"
@@ -1729,20 +1733,20 @@
msgid "Programs can't be used by other POUs!"
msgstr "Les programmes ne peuvent être utilisés par les autres POUs !"
-#: ../PLCOpenEditor.py:497
-#: ../PLCOpenEditor.py:2901
+#: ../PLCOpenEditor.py:499
+#: ../PLCOpenEditor.py:2903
msgid "Project"
msgstr "Projet"
-#: ../PLCOpenEditor.py:2862
+#: ../PLCOpenEditor.py:2864
msgid "Project Name (required):"
msgstr "Nom du projet (obligatoire) :"
-#: ../PLCOpenEditor.py:2870
+#: ../PLCOpenEditor.py:2872
msgid "Project Version (optional):"
msgstr "Version du projet (optionnel) :"
-#: ../PLCOpenEditor.py:2848
+#: ../PLCOpenEditor.py:2850
msgid "Project properties"
msgstr "Propriétés du projet"
@@ -1794,7 +1798,7 @@
msgid "Reference"
msgstr "Référence"
-#: ../PLCOpenEditor.py:420
+#: ../PLCOpenEditor.py:422
msgid "Refresh\tF5"
msgstr "Actualiser\tF5"
@@ -1802,7 +1806,7 @@
msgid "Remainder (modulo)"
msgstr "Modulo"
-#: ../PLCOpenEditor.py:1818
+#: ../PLCOpenEditor.py:1820
msgid "Rename"
msgstr "Renommer"
@@ -1822,12 +1826,12 @@
msgid "Resources"
msgstr "Ressources"
-#: ../PLCOpenEditor.py:3848
-#: ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850
+#: ../PLCOpenEditor.py:3851
msgid "Retain"
msgstr "Persistante"
-#: ../PLCOpenEditor.py:4227
+#: ../PLCOpenEditor.py:4229
msgid "Return Type:"
msgstr "Type de retour :"
@@ -1864,8 +1868,8 @@
msgid "Rounding up/down"
msgstr "Arrondi"
-#: ../PLCOpenEditor.py:2978
-#: ../PLCOpenEditor.py:3178
+#: ../PLCOpenEditor.py:2980
+#: ../PLCOpenEditor.py:3180
msgid "SFC"
msgstr "SFC"
@@ -1877,14 +1881,14 @@
"Bascule SR\n"
"La bascule SR est une bascule où le Set est dominant."
-#: ../PLCOpenEditor.py:3168
-#: ../PLCOpenEditor.py:3178
-#: ../PLCOpenEditor.py:3357
-#: ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:3170
+#: ../PLCOpenEditor.py:3180
+#: ../PLCOpenEditor.py:3359
+#: ../PLCOpenEditor.py:3503
msgid "ST"
msgstr "ST"
-#: ../PLCOpenEditor.py:1082
+#: ../PLCOpenEditor.py:1084
msgid "ST files (*.st)|*.st|All files|*.*"
msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*"
@@ -1896,20 +1900,20 @@
msgid "Save As...\tCTRL+SHIFT+S"
msgstr "Enregistrer sous...\tCTRL+SHIFT+S"
-#: ../PLCOpenEditor.py:2970
+#: ../PLCOpenEditor.py:2972
msgid "Scaling:"
msgstr "Echelle :"
-#: ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:398
msgid "Select All\tCTRL+A"
msgstr "Tout sélectionner\tCTRL+A"
-#: ../PLCOpenEditor.py:4102
+#: ../PLCOpenEditor.py:4104
msgid "Select a variable class:"
msgstr "Sélectionner une direction pour la variable :"
-#: ../PLCOpenEditor.py:604
-#: ../PLCOpenEditor.py:616
+#: ../PLCOpenEditor.py:606
+#: ../PLCOpenEditor.py:618
msgid "Select an object"
msgstr "Sélectionner un objet"
@@ -1993,7 +1997,7 @@
msgid "Tasks:"
msgstr "Tâches :"
-#: ../PLCOpenEditor.py:3861
+#: ../PLCOpenEditor.py:3863
msgid "Temp"
msgstr "Temporaire"
@@ -2001,11 +2005,11 @@
msgid "The group of block must be coherent!"
msgstr "Le groupe de blocs doit être cohérent !"
-#: ../PLCOpenEditor.py:961
+#: ../PLCOpenEditor.py:963
msgid "There are changes, do you want to save?"
msgstr "Le projet a été modifié. Voulez-vous l'enregistrer ?"
-#: ../PLCOpenEditor.py:1169
+#: ../PLCOpenEditor.py:1171
msgid ""
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
@@ -2050,7 +2054,7 @@
msgid "Time-of-day subtraction"
msgstr "Soustraction d'horodatage"
-#: ../PLCOpenEditor.py:608
+#: ../PLCOpenEditor.py:610
msgid "Toolbar"
msgstr "Barre d'outils"
@@ -2058,11 +2062,11 @@
msgid "Top"
msgstr "Haut"
-#: ../PLCOpenEditor.py:3437
+#: ../PLCOpenEditor.py:3439
msgid "Transition Name"
msgstr "Nom de la transition"
-#: ../PLCOpenEditor.py:3404
+#: ../PLCOpenEditor.py:3406
msgid "Transition Name:"
msgstr "Nom de la transition :"
@@ -2085,8 +2089,8 @@
msgid "Transitions"
msgstr "Transitions"
-#: ../PLCOpenEditor.py:3848
-#: ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850
+#: ../PLCOpenEditor.py:3851
#: ../RessourceEditor.py:83
#: ../Dialogs.py:2105
#: ../DataTypeEditor.py:46
@@ -2109,8 +2113,8 @@
msgid "Type:"
msgstr "Type :"
-#: ../PLCOpenEditor.py:560
-#: ../PLCOpenEditor.py:596
+#: ../PLCOpenEditor.py:562
+#: ../PLCOpenEditor.py:598
msgid "Types"
msgstr "Types"
@@ -2133,7 +2137,7 @@
msgid "Unnamed%d"
msgstr "Sansnom%d"
-#: ../PLCOpenEditor.py:4098
+#: ../PLCOpenEditor.py:4100
#, python-format
msgid "Unrecognized data size \"%s\""
msgstr "Taille de donnée \"%s\" non identifié !"
@@ -2154,7 +2158,7 @@
"Compteur bidirectionnel\n"
"Le compteur bidirectionnel a deux entrées CU et CD. Il peut être utilisé pour compter de façon incrémentale ou décrémentale sur l'une ou l'autre des entrées."
-#: ../PLCOpenEditor.py:4497
+#: ../PLCOpenEditor.py:4499
#: ../DataTypeEditor.py:804
msgid "User Data Types"
msgstr "Types de donnée du projet"
@@ -2163,7 +2167,7 @@
msgid "User-defined POUs"
msgstr "POUs du projet"
-#: ../PLCOpenEditor.py:4614
+#: ../PLCOpenEditor.py:4616
#: ../Dialogs.py:2105
msgid "Value"
msgstr "Valeur"
@@ -2176,7 +2180,7 @@
msgid "Values:"
msgstr "Valeurs"
-#: ../PLCOpenEditor.py:4614
+#: ../PLCOpenEditor.py:4616
#: ../Dialogs.py:2109
msgid "Variable"
msgstr "Variable"
@@ -2185,7 +2189,7 @@
msgid "Variable Properties"
msgstr "Propriétés de la variable"
-#: ../PLCOpenEditor.py:4102
+#: ../PLCOpenEditor.py:4104
msgid "Variable class"
msgstr "Direction de la variable"
@@ -2194,32 +2198,32 @@
msgid "Variable don't belong to this POU!"
msgstr "La variable n'appartient pas à ce POU !"
-#: ../PLCOpenEditor.py:573
-#: ../PLCOpenEditor.py:624
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:575
+#: ../PLCOpenEditor.py:626
+#: ../PLCOpenEditor.py:3862
msgid "Variables"
msgstr "Variables"
-#: ../PLCOpenEditor.py:3302
-#: ../PLCOpenEditor.py:3680
-#: ../PLCOpenEditor.py:3743
+#: ../PLCOpenEditor.py:3304
+#: ../PLCOpenEditor.py:3682
+#: ../PLCOpenEditor.py:3745
#: ../LDViewer.py:859
msgid "Warning"
msgstr "Attention"
-#: ../PLCOpenEditor.py:2954
+#: ../PLCOpenEditor.py:2956
msgid "Width:"
msgstr "Longueur :"
-#: ../PLCOpenEditor.py:2697
+#: ../PLCOpenEditor.py:2699
msgid "X Scale:"
msgstr "Echelle X :"
-#: ../PLCOpenEditor.py:2705
+#: ../PLCOpenEditor.py:2707
msgid "Y Scale:"
msgstr "Echelle Y :"
-#: ../PLCOpenEditor.py:3853
+#: ../PLCOpenEditor.py:3855
msgid "Yes"
msgstr "Oui"
@@ -2231,46 +2235,46 @@
msgid "You must select the wire where a contact should be added!"
msgstr "Vous devez sélectionner le fil sur lequel le contact doit être ajouté !"
-#: ../PLCOpenEditor.py:3133
-#: ../PLCOpenEditor.py:3664
-#: ../PLCOpenEditor.py:3727
+#: ../PLCOpenEditor.py:3135
+#: ../PLCOpenEditor.py:3666
+#: ../PLCOpenEditor.py:3729
#: ../Dialogs.py:1525
#: ../Dialogs.py:2508
#: ../Dialogs.py:2575
msgid "You must type a name!"
msgstr "Vous devez saisir un nom !"
-#: ../PLCOpenEditor.py:426
+#: ../PLCOpenEditor.py:428
msgid "Zoom"
msgstr "Zoom"
-#: ../PLCOpenEditor.py:1091
+#: ../PLCOpenEditor.py:1093
#, python-format
msgid "error: %s\n"
msgstr "erreur: %s\n"
-#: ../PLCOpenEditor.py:5032
#: ../PLCOpenEditor.py:5034
+#: ../PLCOpenEditor.py:5036
msgid "file : "
msgstr "fichier :"
-#: ../PLCOpenEditor.py:3173
+#: ../PLCOpenEditor.py:3175
msgid "function"
msgstr "fonction"
-#: ../PLCOpenEditor.py:5035
+#: ../PLCOpenEditor.py:5037
msgid "function : "
msgstr "fonction :"
-#: ../PLCOpenEditor.py:3173
+#: ../PLCOpenEditor.py:3175
msgid "functionBlock"
msgstr "Bloc fonctionnel"
-#: ../PLCOpenEditor.py:5035
+#: ../PLCOpenEditor.py:5037
msgid "line : "
msgstr "ligne :"
-#: ../PLCOpenEditor.py:3173
+#: ../PLCOpenEditor.py:3175
msgid "program"
msgstr "programme"
@@ -2286,7 +2290,7 @@
msgid "string right of"
msgstr "Caractères à droite de"
-#: ../PLCOpenEditor.py:1089
+#: ../PLCOpenEditor.py:1091
#, python-format
msgid "warning: %s\n"
msgstr "attention: %s\n"
--- a/i18n/messages.pot Thu Aug 20 09:03:31 2009 -0600
+++ b/i18n/messages.pot Wed Sep 02 08:30:34 2009 -0600
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-24 16:55+0200\n"
+"POT-Creation-Date: 2009-08-26 19:19+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,7 +16,7 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../PLCOpenEditor.py:5044
+#: ../PLCOpenEditor.py:5046
msgid ""
"\n"
"An error happens.\n"
@@ -31,39 +31,39 @@
"Error:\n"
msgstr ""
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid " External"
msgstr ""
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
msgid " InOut"
msgstr ""
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
msgid " Input"
msgstr ""
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid " Local"
msgstr ""
-#: ../PLCOpenEditor.py:3859
+#: ../PLCOpenEditor.py:3861
msgid " Output"
msgstr ""
-#: ../PLCOpenEditor.py:3861
+#: ../PLCOpenEditor.py:3863
msgid " Temp"
msgstr ""
-#: ../PLCOpenEditor.py:840
+#: ../PLCOpenEditor.py:842
msgid " (Debug)"
msgstr ""
-#: ../PLCOpenEditor.py:5056
+#: ../PLCOpenEditor.py:5058
msgid " : "
msgstr ""
-#: ../PLCOpenEditor.py:3283 ../PLCOpenEditor.py:3446 ../PLCOpenEditor.py:3590
+#: ../PLCOpenEditor.py:3285 ../PLCOpenEditor.py:3448 ../PLCOpenEditor.py:3592
#: ../Dialogs.py:1800
#, python-format
msgid " and %s"
@@ -89,7 +89,7 @@
msgid "\"%s\" can't use itself!"
msgstr ""
-#: ../PLCOpenEditor.py:1617 ../PLCOpenEditor.py:1637
+#: ../PLCOpenEditor.py:1619 ../PLCOpenEditor.py:1639
#, python-format
msgid "\"%s\" config already exists!"
msgstr ""
@@ -99,7 +99,7 @@
msgid "\"%s\" configuration already exists !!!"
msgstr ""
-#: ../PLCOpenEditor.py:1571 ../PLCOpenEditor.py:3145
+#: ../PLCOpenEditor.py:1573 ../PLCOpenEditor.py:3147
#, python-format
msgid "\"%s\" data type already exists!"
msgstr ""
@@ -109,7 +109,7 @@
msgid "\"%s\" element can't be paste here!!!"
msgstr ""
-#: ../PLCOpenEditor.py:3465 ../PLCOpenEditor.py:3609 ../Viewer.py:248
+#: ../PLCOpenEditor.py:3467 ../PLCOpenEditor.py:3611 ../Viewer.py:248
#: ../Dialogs.py:261 ../Dialogs.py:898
#, python-format
msgid "\"%s\" element for this pou already exists!"
@@ -120,9 +120,9 @@
msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
msgstr ""
-#: ../PLCOpenEditor.py:1562 ../PLCOpenEditor.py:3141 ../PLCOpenEditor.py:3294
-#: ../PLCOpenEditor.py:3457 ../PLCOpenEditor.py:3601 ../PLCOpenEditor.py:3672
-#: ../PLCOpenEditor.py:3735 ../PLCOpenEditor.py:4449 ../Dialogs.py:253
+#: ../PLCOpenEditor.py:1564 ../PLCOpenEditor.py:3143 ../PLCOpenEditor.py:3296
+#: ../PLCOpenEditor.py:3459 ../PLCOpenEditor.py:3603 ../PLCOpenEditor.py:3674
+#: ../PLCOpenEditor.py:3737 ../PLCOpenEditor.py:4451 ../Dialogs.py:253
#: ../Dialogs.py:652 ../Dialogs.py:890 ../Dialogs.py:1533 ../Dialogs.py:2516
#: ../Dialogs.py:2583 ../DataTypeEditor.py:702 ../DataTypeEditor.py:762
#, python-format
@@ -139,26 +139,26 @@
msgid "\"%s\" is an invalid value!"
msgstr ""
-#: ../PLCOpenEditor.py:1097 ../PLCOpenEditor.py:1126
+#: ../PLCOpenEditor.py:1099 ../PLCOpenEditor.py:1128
#, python-format
msgid "\"%s\" is not a valid folder!"
msgstr ""
-#: ../PLCOpenEditor.py:1560 ../PLCOpenEditor.py:3137 ../PLCOpenEditor.py:3290
-#: ../PLCOpenEditor.py:3453 ../PLCOpenEditor.py:3597 ../PLCOpenEditor.py:3668
-#: ../PLCOpenEditor.py:3731 ../PLCOpenEditor.py:4444 ../Dialogs.py:249
+#: ../PLCOpenEditor.py:1562 ../PLCOpenEditor.py:3139 ../PLCOpenEditor.py:3292
+#: ../PLCOpenEditor.py:3455 ../PLCOpenEditor.py:3599 ../PLCOpenEditor.py:3670
+#: ../PLCOpenEditor.py:3733 ../PLCOpenEditor.py:4446 ../Dialogs.py:249
#: ../Dialogs.py:886 ../Dialogs.py:1529 ../Dialogs.py:2512 ../Dialogs.py:2579
#: ../DataTypeEditor.py:757
#, python-format
msgid "\"%s\" is not a valid identifier!"
msgstr ""
-#: ../PLCOpenEditor.py:283 ../PLCOpenEditor.py:2491 ../PLCOpenEditor.py:2520
+#: ../PLCOpenEditor.py:283 ../PLCOpenEditor.py:2493 ../PLCOpenEditor.py:2522
#, python-format
msgid "\"%s\" is used by one or more POUs. It can't be removed!"
msgstr ""
-#: ../PLCOpenEditor.py:1580 ../PLCOpenEditor.py:3298 ../Viewer.py:246
+#: ../PLCOpenEditor.py:1582 ../PLCOpenEditor.py:3300 ../Viewer.py:246
#: ../Dialogs.py:257 ../Dialogs.py:894
#, python-format
msgid "\"%s\" pou already exists!"
@@ -213,17 +213,17 @@
msgid "%s body don't have text!"
msgstr ""
-#: ../PLCOpenEditor.py:5032 ../PLCOpenEditor.py:5034 ../PLCOpenEditor.py:5035
+#: ../PLCOpenEditor.py:5034 ../PLCOpenEditor.py:5036 ../PLCOpenEditor.py:5037
msgid ", "
msgstr ""
-#: ../PLCOpenEditor.py:3285 ../PLCOpenEditor.py:3448 ../PLCOpenEditor.py:3592
+#: ../PLCOpenEditor.py:3287 ../PLCOpenEditor.py:3450 ../PLCOpenEditor.py:3594
#: ../Dialogs.py:1802
#, python-format
msgid ", %s"
msgstr ""
-#: ../PLCOpenEditor.py:5030
+#: ../PLCOpenEditor.py:5032
msgid ". "
msgstr ""
@@ -232,36 +232,36 @@
msgid "A element with \"%s\" as name exists in this structure!"
msgstr ""
-#: ../PLCOpenEditor.py:1583 ../PLCOpenEditor.py:1625 ../PLCOpenEditor.py:1645
-#: ../PLCOpenEditor.py:3302 ../PLCOpenEditor.py:3680 ../PLCOpenEditor.py:3743
+#: ../PLCOpenEditor.py:1585 ../PLCOpenEditor.py:1627 ../PLCOpenEditor.py:1647
+#: ../PLCOpenEditor.py:3304 ../PLCOpenEditor.py:3682 ../PLCOpenEditor.py:3745
#, python-format
msgid "A pou has an element with \"%s\" as name. It can generate a conflict. Do you wish to continue?"
msgstr ""
-#: ../PLCOpenEditor.py:1620 ../PLCOpenEditor.py:1640
+#: ../PLCOpenEditor.py:1622 ../PLCOpenEditor.py:1642
#, python-format
msgid "A pou is defined with \"%s\" as name. It can generate a conflict. Do you wish to continue?"
msgstr ""
-#: ../PLCOpenEditor.py:1596 ../PLCOpenEditor.py:1607 ../PLCOpenEditor.py:3461
-#: ../PLCOpenEditor.py:3605 ../PLCOpenEditor.py:3676 ../PLCOpenEditor.py:3739
-#: ../PLCOpenEditor.py:4454 ../Dialogs.py:1537 ../Dialogs.py:2520
+#: ../PLCOpenEditor.py:1598 ../PLCOpenEditor.py:1609 ../PLCOpenEditor.py:3463
+#: ../PLCOpenEditor.py:3607 ../PLCOpenEditor.py:3678 ../PLCOpenEditor.py:3741
+#: ../PLCOpenEditor.py:4456 ../Dialogs.py:1537 ../Dialogs.py:2520
#: ../Dialogs.py:2587
#, python-format
msgid "A pou with \"%s\" as name exists!"
msgstr ""
-#: ../PLCOpenEditor.py:1598 ../PLCOpenEditor.py:1609 ../PLCOpenEditor.py:4459
+#: ../PLCOpenEditor.py:1600 ../PLCOpenEditor.py:1611 ../PLCOpenEditor.py:4461
#: ../Dialogs.py:1541 ../Dialogs.py:2524
#, python-format
msgid "A variable with \"%s\" as name already exists in this pou!"
msgstr ""
-#: ../PLCOpenEditor.py:445
+#: ../PLCOpenEditor.py:447
msgid "About"
msgstr ""
-#: ../PLCOpenEditor.py:2614
+#: ../PLCOpenEditor.py:2616
msgid "About PLCOpenEditor"
msgstr ""
@@ -273,11 +273,11 @@
msgid "Action"
msgstr ""
-#: ../PLCOpenEditor.py:3581
+#: ../PLCOpenEditor.py:3583
msgid "Action Name"
msgstr ""
-#: ../PLCOpenEditor.py:3548
+#: ../PLCOpenEditor.py:3550
msgid "Action Name:"
msgstr ""
@@ -294,19 +294,19 @@
msgid "Actions:"
msgstr ""
-#: ../PLCOpenEditor.py:4244 ../Dialogs.py:2346 ../DataTypeEditor.py:539
+#: ../PLCOpenEditor.py:4246 ../Dialogs.py:2346 ../DataTypeEditor.py:539
msgid "Add"
msgstr ""
-#: ../PLCOpenEditor.py:1800 ../PLCOpenEditor.py:1873
+#: ../PLCOpenEditor.py:1802 ../PLCOpenEditor.py:1875
msgid "Add Action"
msgstr ""
-#: ../PLCOpenEditor.py:1856
+#: ../PLCOpenEditor.py:1858
msgid "Add Configuration"
msgstr ""
-#: ../PLCOpenEditor.py:1844
+#: ../PLCOpenEditor.py:1846
msgid "Add DataType"
msgstr ""
@@ -314,7 +314,7 @@
msgid "Add Divergence Branch"
msgstr ""
-#: ../PLCOpenEditor.py:384
+#: ../PLCOpenEditor.py:386
msgid "Add Element"
msgstr ""
@@ -322,11 +322,11 @@
msgid "Add Instance"
msgstr ""
-#: ../PLCOpenEditor.py:1850
+#: ../PLCOpenEditor.py:1852
msgid "Add Pou"
msgstr ""
-#: ../PLCOpenEditor.py:1827 ../PLCOpenEditor.py:1884
+#: ../PLCOpenEditor.py:1829 ../PLCOpenEditor.py:1886
msgid "Add Resource"
msgstr ""
@@ -334,7 +334,7 @@
msgid "Add Task"
msgstr ""
-#: ../PLCOpenEditor.py:1797 ../PLCOpenEditor.py:1862
+#: ../PLCOpenEditor.py:1799 ../PLCOpenEditor.py:1864
msgid "Add Transition"
msgstr ""
@@ -342,7 +342,7 @@
msgid "Add Wire Segment"
msgstr ""
-#: ../PLCOpenEditor.py:2359
+#: ../PLCOpenEditor.py:2361
msgid "Add a new data type"
msgstr ""
@@ -358,11 +358,11 @@
msgid "Add a new step"
msgstr ""
-#: ../PLCOpenEditor.py:2416
+#: ../PLCOpenEditor.py:2418
msgid "Add new configuration"
msgstr ""
-#: ../PLCOpenEditor.py:2431
+#: ../PLCOpenEditor.py:2433
msgid "Add new resource"
msgstr ""
@@ -378,7 +378,7 @@
msgid "Alignment"
msgstr ""
-#: ../PLCOpenEditor.py:3858
+#: ../PLCOpenEditor.py:3860
msgid "All"
msgstr ""
@@ -410,11 +410,11 @@
msgid "At least a variable or an expression must be selected!"
msgstr ""
-#: ../PLCOpenEditor.py:2941
+#: ../PLCOpenEditor.py:2943
msgid "Author"
msgstr ""
-#: ../PLCOpenEditor.py:2926
+#: ../PLCOpenEditor.py:2928
msgid "Author Name (optional):"
msgstr ""
@@ -422,7 +422,7 @@
msgid "Base Type:"
msgstr ""
-#: ../PLCOpenEditor.py:4491 ../DataTypeEditor.py:798
+#: ../PLCOpenEditor.py:4493 ../DataTypeEditor.py:798
msgid "Base Types"
msgstr ""
@@ -458,7 +458,7 @@
msgid "Block Properties"
msgstr ""
-#: ../PLCOpenEditor.py:2077 ../Dialogs.py:269
+#: ../PLCOpenEditor.py:2079 ../Dialogs.py:269
msgid "Block Types"
msgstr ""
@@ -466,11 +466,11 @@
msgid "Bottom"
msgstr ""
-#: ../PLCOpenEditor.py:2031
+#: ../PLCOpenEditor.py:2033
msgid "CSV Log"
msgstr ""
-#: ../PLCOpenEditor.py:4072
+#: ../PLCOpenEditor.py:4074
msgid "Can affect a location only to local or global variables"
msgstr ""
@@ -479,16 +479,16 @@
msgid "Can only generate execution order on FBD networks!"
msgstr ""
-#: ../PLCOpenEditor.py:4070
+#: ../PLCOpenEditor.py:4072
msgid "Can't affect a location to a function block instance"
msgstr ""
-#: ../PLCOpenEditor.py:1092
+#: ../PLCOpenEditor.py:1094
#, python-format
msgid "Can't generate program to file %s!"
msgstr ""
-#: ../PLCOpenEditor.py:1124
+#: ../PLCOpenEditor.py:1126
#, python-format
msgid "Can't save project to file %s!"
msgstr ""
@@ -497,7 +497,7 @@
msgid "Center"
msgstr ""
-#: ../PLCOpenEditor.py:1816
+#: ../PLCOpenEditor.py:1818
msgid "Change POU Type To"
msgstr ""
@@ -505,15 +505,15 @@
msgid "Character string"
msgstr ""
-#: ../PLCOpenEditor.py:1031 ../PLCOpenEditor.py:1082 ../PLCOpenEditor.py:1118
+#: ../PLCOpenEditor.py:1033 ../PLCOpenEditor.py:1084 ../PLCOpenEditor.py:1120
msgid "Choose a file"
msgstr ""
-#: ../PLCOpenEditor.py:3848 ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851
msgid "Class"
msgstr ""
-#: ../PLCOpenEditor.py:4236
+#: ../PLCOpenEditor.py:4238
msgid "Class Filter:"
msgstr ""
@@ -521,7 +521,7 @@
msgid "Class:"
msgstr ""
-#: ../PLCOpenEditor.py:423
+#: ../PLCOpenEditor.py:425
msgid "Clear Errors\tCTRL+K"
msgstr ""
@@ -533,7 +533,7 @@
msgid "Close\tCTRL+Q"
msgstr ""
-#: ../PLCOpenEditor.py:961
+#: ../PLCOpenEditor.py:963
msgid "Close Application"
msgstr ""
@@ -549,11 +549,11 @@
msgid "Comment"
msgstr ""
-#: ../PLCOpenEditor.py:2910
+#: ../PLCOpenEditor.py:2912
msgid "Company Name (required):"
msgstr ""
-#: ../PLCOpenEditor.py:2918
+#: ../PLCOpenEditor.py:2920
msgid "Company URL (optional):"
msgstr ""
@@ -565,7 +565,7 @@
msgid "Concatenation"
msgstr ""
-#: ../PLCOpenEditor.py:394
+#: ../PLCOpenEditor.py:396
msgid "Configuration"
msgstr ""
@@ -589,11 +589,11 @@
msgid "Connectors:"
msgstr ""
-#: ../PLCOpenEditor.py:3848 ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851
msgid "Constant"
msgstr ""
-#: ../PLCOpenEditor.py:3000
+#: ../PLCOpenEditor.py:3002
msgid "Content Description (optional):"
msgstr ""
@@ -617,7 +617,7 @@
msgid "Conversion to time-of-day"
msgstr ""
-#: ../PLCOpenEditor.py:379
+#: ../PLCOpenEditor.py:381
msgid "Copy\tCTRL+C"
msgstr ""
@@ -625,15 +625,15 @@
msgid "Cosine"
msgstr ""
-#: ../PLCOpenEditor.py:3223
+#: ../PLCOpenEditor.py:3225
msgid "Create a new POU"
msgstr ""
-#: ../PLCOpenEditor.py:1804 ../PLCOpenEditor.py:2461
+#: ../PLCOpenEditor.py:1806 ../PLCOpenEditor.py:2463
msgid "Create a new POU from"
msgstr ""
-#: ../PLCOpenEditor.py:3544
+#: ../PLCOpenEditor.py:3546
msgid "Create a new action"
msgstr ""
@@ -693,7 +693,7 @@
msgid "Create a new step"
msgstr ""
-#: ../PLCOpenEditor.py:211 ../PLCOpenEditor.py:3400
+#: ../PLCOpenEditor.py:211 ../PLCOpenEditor.py:3402
msgid "Create a new transition"
msgstr ""
@@ -701,11 +701,11 @@
msgid "Create a new variable"
msgstr ""
-#: ../PLCOpenEditor.py:377
+#: ../PLCOpenEditor.py:379
msgid "Cut\tCTRL+X"
msgstr ""
-#: ../PLCOpenEditor.py:386
+#: ../PLCOpenEditor.py:388
msgid "Data Type"
msgstr ""
@@ -729,8 +729,8 @@
msgid "Date subtraction"
msgstr ""
-#: ../PLCOpenEditor.py:398 ../PLCOpenEditor.py:1821 ../PLCOpenEditor.py:1830
-#: ../PLCOpenEditor.py:1836 ../PLCOpenEditor.py:4249 ../PLCOpenEditor.py:4862
+#: ../PLCOpenEditor.py:400 ../PLCOpenEditor.py:1823 ../PLCOpenEditor.py:1832
+#: ../PLCOpenEditor.py:1838 ../PLCOpenEditor.py:4251 ../PLCOpenEditor.py:4864
#: ../Viewer.py:416 ../Dialogs.py:2351 ../DataTypeEditor.py:544
msgid "Delete"
msgstr ""
@@ -785,7 +785,7 @@
msgid "Division"
msgstr ""
-#: ../PLCOpenEditor.py:1086
+#: ../PLCOpenEditor.py:1088
msgid "Done"
msgstr ""
@@ -847,6 +847,10 @@
msgid "Elements :"
msgstr ""
+#: ../PLCOpenEditor.py:376
+msgid "Enable Undo/Redo"
+msgstr ""
+
#: ../DataTypeEditor.py:236
msgid "Enumerated"
msgstr ""
@@ -855,21 +859,21 @@
msgid "Equal to"
msgstr ""
-#: ../PLCOpenEditor.py:953 ../PLCOpenEditor.py:1093 ../PLCOpenEditor.py:1098
-#: ../PLCOpenEditor.py:1583 ../PLCOpenEditor.py:1620 ../PLCOpenEditor.py:1625
-#: ../PLCOpenEditor.py:1640 ../PLCOpenEditor.py:1645 ../PLCOpenEditor.py:2491
-#: ../PLCOpenEditor.py:2520 ../PLCOpenEditor.py:3041 ../PLCOpenEditor.py:3133
-#: ../PLCOpenEditor.py:3137 ../PLCOpenEditor.py:3141 ../PLCOpenEditor.py:3145
-#: ../PLCOpenEditor.py:3286 ../PLCOpenEditor.py:3290 ../PLCOpenEditor.py:3294
-#: ../PLCOpenEditor.py:3298 ../PLCOpenEditor.py:3449 ../PLCOpenEditor.py:3453
-#: ../PLCOpenEditor.py:3457 ../PLCOpenEditor.py:3461 ../PLCOpenEditor.py:3465
-#: ../PLCOpenEditor.py:3593 ../PLCOpenEditor.py:3597 ../PLCOpenEditor.py:3601
-#: ../PLCOpenEditor.py:3605 ../PLCOpenEditor.py:3609 ../PLCOpenEditor.py:3664
-#: ../PLCOpenEditor.py:3668 ../PLCOpenEditor.py:3672 ../PLCOpenEditor.py:3676
-#: ../PLCOpenEditor.py:3727 ../PLCOpenEditor.py:3731 ../PLCOpenEditor.py:3735
-#: ../PLCOpenEditor.py:3739 ../PLCOpenEditor.py:4119 ../PLCOpenEditor.py:4444
-#: ../PLCOpenEditor.py:4449 ../PLCOpenEditor.py:4454 ../PLCOpenEditor.py:4459
-#: ../PLCOpenEditor.py:4795 ../PLCOpenEditor.py:5057 ../PLCOpenEditor.py:5067
+#: ../PLCOpenEditor.py:955 ../PLCOpenEditor.py:1095 ../PLCOpenEditor.py:1100
+#: ../PLCOpenEditor.py:1585 ../PLCOpenEditor.py:1622 ../PLCOpenEditor.py:1627
+#: ../PLCOpenEditor.py:1642 ../PLCOpenEditor.py:1647 ../PLCOpenEditor.py:2493
+#: ../PLCOpenEditor.py:2522 ../PLCOpenEditor.py:3043 ../PLCOpenEditor.py:3135
+#: ../PLCOpenEditor.py:3139 ../PLCOpenEditor.py:3143 ../PLCOpenEditor.py:3147
+#: ../PLCOpenEditor.py:3288 ../PLCOpenEditor.py:3292 ../PLCOpenEditor.py:3296
+#: ../PLCOpenEditor.py:3300 ../PLCOpenEditor.py:3451 ../PLCOpenEditor.py:3455
+#: ../PLCOpenEditor.py:3459 ../PLCOpenEditor.py:3463 ../PLCOpenEditor.py:3467
+#: ../PLCOpenEditor.py:3595 ../PLCOpenEditor.py:3599 ../PLCOpenEditor.py:3603
+#: ../PLCOpenEditor.py:3607 ../PLCOpenEditor.py:3611 ../PLCOpenEditor.py:3666
+#: ../PLCOpenEditor.py:3670 ../PLCOpenEditor.py:3674 ../PLCOpenEditor.py:3678
+#: ../PLCOpenEditor.py:3729 ../PLCOpenEditor.py:3733 ../PLCOpenEditor.py:3737
+#: ../PLCOpenEditor.py:3741 ../PLCOpenEditor.py:4121 ../PLCOpenEditor.py:4446
+#: ../PLCOpenEditor.py:4451 ../PLCOpenEditor.py:4456 ../PLCOpenEditor.py:4461
+#: ../PLCOpenEditor.py:4797 ../PLCOpenEditor.py:5059 ../PLCOpenEditor.py:5069
#: ../Viewer.py:335 ../TextViewer.py:224 ../LDViewer.py:628 ../LDViewer.py:850
#: ../LDViewer.py:854 ../Dialogs.py:241 ../Dialogs.py:245 ../Dialogs.py:249
#: ../Dialogs.py:253 ../Dialogs.py:257 ../Dialogs.py:261 ../Dialogs.py:648
@@ -905,12 +909,12 @@
msgid "Expression:"
msgstr ""
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid "External"
msgstr ""
-#: ../PLCOpenEditor.py:2978 ../PLCOpenEditor.py:3168 ../PLCOpenEditor.py:3178
-#: ../PLCOpenEditor.py:3357 ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:2980 ../PLCOpenEditor.py:3170 ../PLCOpenEditor.py:3180
+#: ../PLCOpenEditor.py:3359 ../PLCOpenEditor.py:3503
msgid "FBD"
msgstr ""
@@ -932,8 +936,8 @@
msgid "Find position"
msgstr ""
-#: ../PLCOpenEditor.py:3041 ../PLCOpenEditor.py:3286 ../PLCOpenEditor.py:3449
-#: ../PLCOpenEditor.py:3593 ../Dialogs.py:1803
+#: ../PLCOpenEditor.py:3043 ../PLCOpenEditor.py:3288 ../PLCOpenEditor.py:3451
+#: ../PLCOpenEditor.py:3595 ../Dialogs.py:1803
#, python-format
msgid "Form isn't complete. %s must be filled!"
msgstr ""
@@ -946,15 +950,15 @@
msgid "Form isn't complete. Valid block type must be selected!"
msgstr ""
-#: ../PLCOpenEditor.py:388
+#: ../PLCOpenEditor.py:390
msgid "Function"
msgstr ""
-#: ../PLCOpenEditor.py:390 ../PLCOpenEditor.py:1811
+#: ../PLCOpenEditor.py:392 ../PLCOpenEditor.py:1813
msgid "Function Block"
msgstr ""
-#: ../PLCOpenEditor.py:4506
+#: ../PLCOpenEditor.py:4508
msgid "Function Block Types"
msgstr ""
@@ -983,15 +987,15 @@
msgid "Generate Program\tCTRL+G"
msgstr ""
-#: ../PLCOpenEditor.py:3861
+#: ../PLCOpenEditor.py:3863
msgid "Global"
msgstr ""
-#: ../PLCOpenEditor.py:2028
+#: ../PLCOpenEditor.py:2030
msgid "Graphic Panel"
msgstr ""
-#: ../PLCOpenEditor.py:2983
+#: ../PLCOpenEditor.py:2985
msgid "Graphics"
msgstr ""
@@ -1003,7 +1007,7 @@
msgid "Greater than or equal to"
msgstr ""
-#: ../PLCOpenEditor.py:2962
+#: ../PLCOpenEditor.py:2964
msgid "Height:"
msgstr ""
@@ -1017,26 +1021,26 @@
"The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
msgstr ""
-#: ../PLCOpenEditor.py:3168 ../PLCOpenEditor.py:3178 ../PLCOpenEditor.py:3357
-#: ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:3170 ../PLCOpenEditor.py:3180 ../PLCOpenEditor.py:3359
+#: ../PLCOpenEditor.py:3503
msgid "IL"
msgstr ""
-#: ../PLCOpenEditor.py:3859 ../Dialogs.py:426
+#: ../PLCOpenEditor.py:3861 ../Dialogs.py:426
msgid "InOut"
msgstr ""
-#: ../PLCOpenEditor.py:4089
+#: ../PLCOpenEditor.py:4091
#, python-format
msgid "Incompatible data types between \"%s\" and \"%s\""
msgstr ""
-#: ../PLCOpenEditor.py:4100
+#: ../PLCOpenEditor.py:4102
#, python-format
msgid "Incompatible size of data between \"%s\" and \"%s\""
msgstr ""
-#: ../PLCOpenEditor.py:4096
+#: ../PLCOpenEditor.py:4098
#, python-format
msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr ""
@@ -1045,7 +1049,7 @@
msgid "Indicator"
msgstr ""
-#: ../PLCOpenEditor.py:3848 ../PLCOpenEditor.py:3849 ../DataTypeEditor.py:46
+#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 ../DataTypeEditor.py:46
msgid "Initial Value"
msgstr ""
@@ -1058,7 +1062,7 @@
msgid "Inline"
msgstr ""
-#: ../PLCOpenEditor.py:3859 ../Dialogs.py:425 ../Dialogs.py:1472
+#: ../PLCOpenEditor.py:3861 ../Dialogs.py:425 ../Dialogs.py:1472
msgid "Input"
msgstr ""
@@ -1075,7 +1079,7 @@
msgid "Instance with id %d doesn't exists!"
msgstr ""
-#: ../PLCOpenEditor.py:559 ../PLCOpenEditor.py:597
+#: ../PLCOpenEditor.py:561 ../PLCOpenEditor.py:599
msgid "Instances"
msgstr ""
@@ -1089,7 +1093,7 @@
"The integral function block integrates the value of input XIN over time."
msgstr ""
-#: ../PLCOpenEditor.py:3858
+#: ../PLCOpenEditor.py:3860
msgid "Interface"
msgstr ""
@@ -1101,12 +1105,12 @@
msgid "Invalid plcopen element(s)!!!"
msgstr ""
-#: ../PLCOpenEditor.py:4784 ../PLCOpenEditor.py:4787
+#: ../PLCOpenEditor.py:4786 ../PLCOpenEditor.py:4789
#, python-format
msgid "Invalid value \"%s\" for debug variable"
msgstr ""
-#: ../PLCOpenEditor.py:4077 ../PLCOpenEditor.py:4080
+#: ../PLCOpenEditor.py:4079 ../PLCOpenEditor.py:4082
#, python-format
msgid "Invalid value \"%s\" for location"
msgstr ""
@@ -1116,8 +1120,8 @@
msgid "Invalid value \"%s\" for viewer block"
msgstr ""
-#: ../PLCOpenEditor.py:2978 ../PLCOpenEditor.py:3168 ../PLCOpenEditor.py:3178
-#: ../PLCOpenEditor.py:3357 ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:2980 ../PLCOpenEditor.py:3170 ../PLCOpenEditor.py:3180
+#: ../PLCOpenEditor.py:3359 ../PLCOpenEditor.py:3503
msgid "LD"
msgstr ""
@@ -1126,15 +1130,15 @@
msgid "Ladder element with id %d is on more than one rung."
msgstr ""
-#: ../PLCOpenEditor.py:3276 ../PLCOpenEditor.py:3439 ../PLCOpenEditor.py:3583
+#: ../PLCOpenEditor.py:3278 ../PLCOpenEditor.py:3441 ../PLCOpenEditor.py:3585
msgid "Language"
msgstr ""
-#: ../PLCOpenEditor.py:2992
+#: ../PLCOpenEditor.py:2994
msgid "Language (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:3244 ../PLCOpenEditor.py:3412 ../PLCOpenEditor.py:3556
+#: ../PLCOpenEditor.py:3246 ../PLCOpenEditor.py:3414 ../PLCOpenEditor.py:3558
msgid "Language:"
msgstr ""
@@ -1158,7 +1162,7 @@
msgid "Less than or equal to"
msgstr ""
-#: ../PLCOpenEditor.py:638
+#: ../PLCOpenEditor.py:640
msgid "Library"
msgstr ""
@@ -1166,11 +1170,11 @@
msgid "Limitation"
msgstr ""
-#: ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:3862
msgid "Local"
msgstr ""
-#: ../PLCOpenEditor.py:3848
+#: ../PLCOpenEditor.py:3850
msgid "Location"
msgstr ""
@@ -1198,7 +1202,7 @@
msgid "Minimum:"
msgstr ""
-#: ../PLCOpenEditor.py:3007
+#: ../PLCOpenEditor.py:3009
msgid "Miscellaneous"
msgstr ""
@@ -1227,7 +1231,7 @@
msgid "Multiplication"
msgstr ""
-#: ../PLCOpenEditor.py:3848 ../PLCOpenEditor.py:3849 ../RessourceEditor.py:79
+#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 ../RessourceEditor.py:79
#: ../RessourceEditor.py:83 ../DataTypeEditor.py:46
msgid "Name"
msgstr ""
@@ -1253,7 +1257,7 @@
msgid "New item"
msgstr ""
-#: ../PLCOpenEditor.py:3853
+#: ../PLCOpenEditor.py:3855
msgid "No"
msgstr ""
@@ -1275,7 +1279,7 @@
msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
msgstr ""
-#: ../PLCOpenEditor.py:2606
+#: ../PLCOpenEditor.py:2608
msgid ""
"No documentation available.\n"
"Coming soon."
@@ -1327,11 +1331,11 @@
msgid "Open\tCTRL+O"
msgstr ""
-#: ../PLCOpenEditor.py:2934
+#: ../PLCOpenEditor.py:2936
msgid "Organization (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:3859 ../Dialogs.py:427 ../Dialogs.py:1477
+#: ../PLCOpenEditor.py:3861 ../Dialogs.py:427 ../Dialogs.py:1477
msgid "Output"
msgstr ""
@@ -1341,31 +1345,31 @@
"The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
msgstr ""
-#: ../PLCOpenEditor.py:1031 ../PLCOpenEditor.py:1118
+#: ../PLCOpenEditor.py:1033 ../PLCOpenEditor.py:1120
msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
msgstr ""
-#: ../PLCOpenEditor.py:485 ../PLCOpenEditor.py:838
+#: ../PLCOpenEditor.py:487 ../PLCOpenEditor.py:840
msgid "PLCOpenEditor"
msgstr ""
-#: ../PLCOpenEditor.py:438
+#: ../PLCOpenEditor.py:440
msgid "PLCOpenEditor\tF1"
msgstr ""
-#: ../PLCOpenEditor.py:3272
+#: ../PLCOpenEditor.py:3274
msgid "POU Name"
msgstr ""
-#: ../PLCOpenEditor.py:3227
+#: ../PLCOpenEditor.py:3229
msgid "POU Name:"
msgstr ""
-#: ../PLCOpenEditor.py:3274
+#: ../PLCOpenEditor.py:3276
msgid "POU Type"
msgstr ""
-#: ../PLCOpenEditor.py:3235
+#: ../PLCOpenEditor.py:3237
msgid "POU Type:"
msgstr ""
@@ -1373,16 +1377,16 @@
msgid "Page Setup"
msgstr ""
-#: ../PLCOpenEditor.py:2950
+#: ../PLCOpenEditor.py:2952
msgid "Page Size (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:5000
+#: ../PLCOpenEditor.py:5002
#, python-format
msgid "Page: %d"
msgstr ""
-#: ../PLCOpenEditor.py:381
+#: ../PLCOpenEditor.py:383
msgid "Paste\tCTRL+V"
msgstr ""
@@ -1394,7 +1398,7 @@
msgid "Please choose a target"
msgstr ""
-#: ../PLCOpenEditor.py:2461
+#: ../PLCOpenEditor.py:2463
msgid "Please enter POU name"
msgstr ""
@@ -1402,15 +1406,15 @@
msgid "Please enter comment text"
msgstr ""
-#: ../PLCOpenEditor.py:2416 ../PLCOpenEditor.py:3647
+#: ../PLCOpenEditor.py:2418 ../PLCOpenEditor.py:3649
msgid "Please enter configuration name"
msgstr ""
-#: ../PLCOpenEditor.py:2359
+#: ../PLCOpenEditor.py:2361
msgid "Please enter data type name"
msgstr ""
-#: ../PLCOpenEditor.py:2431 ../PLCOpenEditor.py:3710
+#: ../PLCOpenEditor.py:2433 ../PLCOpenEditor.py:3712
msgid "Please enter resource name"
msgstr ""
@@ -1418,7 +1422,7 @@
msgid "Please enter step name"
msgstr ""
-#: ../PLCOpenEditor.py:3118
+#: ../PLCOpenEditor.py:3120
msgid "Please enter text"
msgstr ""
@@ -1443,7 +1447,7 @@
msgid "Print"
msgstr ""
-#: ../PLCOpenEditor.py:1150
+#: ../PLCOpenEditor.py:1152
msgid "Print preview"
msgstr ""
@@ -1455,23 +1459,23 @@
msgid "Priority:"
msgstr ""
-#: ../PLCOpenEditor.py:2878
+#: ../PLCOpenEditor.py:2880
msgid "Product Name (required):"
msgstr ""
-#: ../PLCOpenEditor.py:2894
+#: ../PLCOpenEditor.py:2896
msgid "Product Release (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:2886
+#: ../PLCOpenEditor.py:2888
msgid "Product Version (required):"
msgstr ""
-#: ../PLCOpenEditor.py:392 ../PLCOpenEditor.py:1814
+#: ../PLCOpenEditor.py:394 ../PLCOpenEditor.py:1816
msgid "Program"
msgstr ""
-#: ../PLCOpenEditor.py:1095
+#: ../PLCOpenEditor.py:1097
msgid "Program was successfully generated!"
msgstr ""
@@ -1483,19 +1487,19 @@
msgid "Programs can't be used by other POUs!"
msgstr ""
-#: ../PLCOpenEditor.py:497 ../PLCOpenEditor.py:2901
+#: ../PLCOpenEditor.py:499 ../PLCOpenEditor.py:2903
msgid "Project"
msgstr ""
-#: ../PLCOpenEditor.py:2862
+#: ../PLCOpenEditor.py:2864
msgid "Project Name (required):"
msgstr ""
-#: ../PLCOpenEditor.py:2870
+#: ../PLCOpenEditor.py:2872
msgid "Project Version (optional):"
msgstr ""
-#: ../PLCOpenEditor.py:2848
+#: ../PLCOpenEditor.py:2850
msgid "Project properties"
msgstr ""
@@ -1541,7 +1545,7 @@
msgid "Reference"
msgstr ""
-#: ../PLCOpenEditor.py:420
+#: ../PLCOpenEditor.py:422
msgid "Refresh\tF5"
msgstr ""
@@ -1549,7 +1553,7 @@
msgid "Remainder (modulo)"
msgstr ""
-#: ../PLCOpenEditor.py:1818
+#: ../PLCOpenEditor.py:1820
msgid "Rename"
msgstr ""
@@ -1569,11 +1573,11 @@
msgid "Resources"
msgstr ""
-#: ../PLCOpenEditor.py:3848 ../PLCOpenEditor.py:3849
+#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851
msgid "Retain"
msgstr ""
-#: ../PLCOpenEditor.py:4227
+#: ../PLCOpenEditor.py:4229
msgid "Return Type:"
msgstr ""
@@ -1607,7 +1611,7 @@
msgid "Rounding up/down"
msgstr ""
-#: ../PLCOpenEditor.py:2978 ../PLCOpenEditor.py:3178
+#: ../PLCOpenEditor.py:2980 ../PLCOpenEditor.py:3180
msgid "SFC"
msgstr ""
@@ -1617,12 +1621,12 @@
"The SR bistable is a latch where the Set dominates."
msgstr ""
-#: ../PLCOpenEditor.py:3168 ../PLCOpenEditor.py:3178 ../PLCOpenEditor.py:3357
-#: ../PLCOpenEditor.py:3501
+#: ../PLCOpenEditor.py:3170 ../PLCOpenEditor.py:3180 ../PLCOpenEditor.py:3359
+#: ../PLCOpenEditor.py:3503
msgid "ST"
msgstr ""
-#: ../PLCOpenEditor.py:1082
+#: ../PLCOpenEditor.py:1084
msgid "ST files (*.st)|*.st|All files|*.*"
msgstr ""
@@ -1634,19 +1638,19 @@
msgid "Save As...\tCTRL+SHIFT+S"
msgstr ""
-#: ../PLCOpenEditor.py:2970
+#: ../PLCOpenEditor.py:2972
msgid "Scaling:"
msgstr ""
-#: ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:398
msgid "Select All\tCTRL+A"
msgstr ""
-#: ../PLCOpenEditor.py:4102
+#: ../PLCOpenEditor.py:4104
msgid "Select a variable class:"
msgstr ""
-#: ../PLCOpenEditor.py:604 ../PLCOpenEditor.py:616
+#: ../PLCOpenEditor.py:606 ../PLCOpenEditor.py:618
msgid "Select an object"
msgstr ""
@@ -1728,7 +1732,7 @@
msgid "Tasks:"
msgstr ""
-#: ../PLCOpenEditor.py:3861
+#: ../PLCOpenEditor.py:3863
msgid "Temp"
msgstr ""
@@ -1736,11 +1740,11 @@
msgid "The group of block must be coherent!"
msgstr ""
-#: ../PLCOpenEditor.py:961
+#: ../PLCOpenEditor.py:963
msgid "There are changes, do you want to save?"
msgstr ""
-#: ../PLCOpenEditor.py:1169
+#: ../PLCOpenEditor.py:1171
msgid ""
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
@@ -1782,7 +1786,7 @@
msgid "Time-of-day subtraction"
msgstr ""
-#: ../PLCOpenEditor.py:608
+#: ../PLCOpenEditor.py:610
msgid "Toolbar"
msgstr ""
@@ -1790,11 +1794,11 @@
msgid "Top"
msgstr ""
-#: ../PLCOpenEditor.py:3437
+#: ../PLCOpenEditor.py:3439
msgid "Transition Name"
msgstr ""
-#: ../PLCOpenEditor.py:3404
+#: ../PLCOpenEditor.py:3406
msgid "Transition Name:"
msgstr ""
@@ -1817,7 +1821,7 @@
msgid "Transitions"
msgstr ""
-#: ../PLCOpenEditor.py:3848 ../PLCOpenEditor.py:3849 ../RessourceEditor.py:83
+#: ../PLCOpenEditor.py:3850 ../PLCOpenEditor.py:3851 ../RessourceEditor.py:83
#: ../Dialogs.py:2105 ../DataTypeEditor.py:46
msgid "Type"
msgstr ""
@@ -1835,7 +1839,7 @@
msgid "Type:"
msgstr ""
-#: ../PLCOpenEditor.py:560 ../PLCOpenEditor.py:596
+#: ../PLCOpenEditor.py:562 ../PLCOpenEditor.py:598
msgid "Types"
msgstr ""
@@ -1858,7 +1862,7 @@
msgid "Unnamed%d"
msgstr ""
-#: ../PLCOpenEditor.py:4098
+#: ../PLCOpenEditor.py:4100
#, python-format
msgid "Unrecognized data size \"%s\""
msgstr ""
@@ -1875,7 +1879,7 @@
"The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other."
msgstr ""
-#: ../PLCOpenEditor.py:4497 ../DataTypeEditor.py:804
+#: ../PLCOpenEditor.py:4499 ../DataTypeEditor.py:804
msgid "User Data Types"
msgstr ""
@@ -1883,7 +1887,7 @@
msgid "User-defined POUs"
msgstr ""
-#: ../PLCOpenEditor.py:4614 ../Dialogs.py:2105
+#: ../PLCOpenEditor.py:4616 ../Dialogs.py:2105
msgid "Value"
msgstr ""
@@ -1895,7 +1899,7 @@
msgid "Values:"
msgstr ""
-#: ../PLCOpenEditor.py:4614 ../Dialogs.py:2109
+#: ../PLCOpenEditor.py:4616 ../Dialogs.py:2109
msgid "Variable"
msgstr ""
@@ -1903,7 +1907,7 @@
msgid "Variable Properties"
msgstr ""
-#: ../PLCOpenEditor.py:4102
+#: ../PLCOpenEditor.py:4104
msgid "Variable class"
msgstr ""
@@ -1911,28 +1915,28 @@
msgid "Variable don't belong to this POU!"
msgstr ""
-#: ../PLCOpenEditor.py:573 ../PLCOpenEditor.py:624 ../PLCOpenEditor.py:3860
+#: ../PLCOpenEditor.py:575 ../PLCOpenEditor.py:626 ../PLCOpenEditor.py:3862
msgid "Variables"
msgstr ""
-#: ../PLCOpenEditor.py:3302 ../PLCOpenEditor.py:3680 ../PLCOpenEditor.py:3743
+#: ../PLCOpenEditor.py:3304 ../PLCOpenEditor.py:3682 ../PLCOpenEditor.py:3745
#: ../LDViewer.py:859
msgid "Warning"
msgstr ""
-#: ../PLCOpenEditor.py:2954
+#: ../PLCOpenEditor.py:2956
msgid "Width:"
msgstr ""
-#: ../PLCOpenEditor.py:2697
+#: ../PLCOpenEditor.py:2699
msgid "X Scale:"
msgstr ""
-#: ../PLCOpenEditor.py:2705
+#: ../PLCOpenEditor.py:2707
msgid "Y Scale:"
msgstr ""
-#: ../PLCOpenEditor.py:3853
+#: ../PLCOpenEditor.py:3855
msgid "Yes"
msgstr ""
@@ -1944,41 +1948,41 @@
msgid "You must select the wire where a contact should be added!"
msgstr ""
-#: ../PLCOpenEditor.py:3133 ../PLCOpenEditor.py:3664 ../PLCOpenEditor.py:3727
+#: ../PLCOpenEditor.py:3135 ../PLCOpenEditor.py:3666 ../PLCOpenEditor.py:3729
#: ../Dialogs.py:1525 ../Dialogs.py:2508 ../Dialogs.py:2575
msgid "You must type a name!"
msgstr ""
-#: ../PLCOpenEditor.py:426
+#: ../PLCOpenEditor.py:428
msgid "Zoom"
msgstr ""
-#: ../PLCOpenEditor.py:1091
+#: ../PLCOpenEditor.py:1093
#, python-format
msgid "error: %s\n"
msgstr ""
-#: ../PLCOpenEditor.py:5032 ../PLCOpenEditor.py:5034
+#: ../PLCOpenEditor.py:5034 ../PLCOpenEditor.py:5036
msgid "file : "
msgstr ""
-#: ../PLCOpenEditor.py:3173
+#: ../PLCOpenEditor.py:3175
msgid "function"
msgstr ""
-#: ../PLCOpenEditor.py:5035
+#: ../PLCOpenEditor.py:5037
msgid "function : "
msgstr ""
-#: ../PLCOpenEditor.py:3173
+#: ../PLCOpenEditor.py:3175
msgid "functionBlock"
msgstr ""
-#: ../PLCOpenEditor.py:5035
+#: ../PLCOpenEditor.py:5037
msgid "line : "
msgstr ""
-#: ../PLCOpenEditor.py:3173
+#: ../PLCOpenEditor.py:3175
msgid "program"
msgstr ""
@@ -1994,7 +1998,7 @@
msgid "string right of"
msgstr ""
-#: ../PLCOpenEditor.py:1089
+#: ../PLCOpenEditor.py:1091
#, python-format
msgid "warning: %s\n"
msgstr ""
Binary file locale/fr_FR/LC_MESSAGES/PLCOpenEditor.mo has changed
--- a/plcopen/structures.py Thu Aug 20 09:03:31 2009 -0600
+++ b/plcopen/structures.py Wed Sep 02 08:30:34 2009 -0600
@@ -469,6 +469,8 @@
outs = reduce(lambda a,b: a or b, map(lambda testtype : IsOfType(fdecl["outputs"][0][1],testtype), OutTypes))
inps = reduce(lambda a,b: a or b, map(lambda testtype : IsOfType(fdecl["inputs"][0][1],testtype), InTypes))
if inps and outs and fdecl["outputs"][0][1] != fdecl["inputs"][0][1]:
+ if Format[1] is None:
+ return (Format[0], "__move_", "IN_type")
return Format
return None