Dialogs.py
changeset 95 ee66a9a1748b
parent 80 c798a68c5560
child 96 d178cfa9e77f
--- a/Dialogs.py	Mon Sep 17 17:51:05 2007 +0200
+++ b/Dialogs.py	Tue Sep 18 18:05:52 2007 +0200
@@ -69,7 +69,7 @@
     def _init_coll_RightUpGridSizer_Items(self, parent):
         parent.AddWindow(self.staticText2, 0, border=0, flag=wx.GROW|wx.ALIGN_BOTTOM)
         parent.AddWindow(self.staticText3, 0, border=0, flag=wx.GROW|wx.ALIGN_BOTTOM)
-        parent.AddWindow(self.Name, 0, border=0, flag=wx.GROW)
+        parent.AddWindow(self.BlockName, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.Inputs, 0, border=0, flag=wx.GROW)
 
     def _init_sizers(self):
@@ -112,9 +112,13 @@
               label='Preview:', name='staticText4', parent=self,
               pos=wx.Point(0, 0), size=wx.Size(0, 17), style=0)
 
+        if wx.Platform == '__WXMSW__':
+            treestyle = wx.TR_HAS_BUTTONS|wx.TR_SINGLE|wx.SUNKEN_BORDER
+        else:
+            treestyle = wx.TR_HAS_BUTTONS|wx.TR_HIDE_ROOT|wx.TR_SINGLE|wx.SUNKEN_BORDER
         self.TypeTree = wx.TreeCtrl(id=ID_BLOCKPROPERTIESDIALOGTYPETREE,
               name='TypeTree', parent=self, pos=wx.Point(0, 0),
-              size=wx.Size(0, 0), style=wx.TR_HAS_BUTTONS|wx.TR_HIDE_ROOT|wx.TR_SINGLE|wx.SUNKEN_BORDER)
+              size=wx.Size(0, 0), style=wx.TR_HAS_BUTTONS|wx.TR_SINGLE|wx.SUNKEN_BORDER)
         self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnTypeTreeItemSelected,
               id=ID_BLOCKPROPERTIESDIALOGTYPETREE)
 
@@ -122,8 +126,8 @@
               name='TypeDesc', parent=self, pos=wx.Point(0, 0),
               size=wx.Size(0, 0), style=wx.TE_READONLY|wx.TE_MULTILINE)
 
-        self.Name = wx.TextCtrl(id=ID_BLOCKPROPERTIESDIALOGNAME, value='',
-              name='Name', parent=self, pos=wx.Point(0, 0),
+        self.BlockName = wx.TextCtrl(id=ID_BLOCKPROPERTIESDIALOGNAME, value='',
+              name='BlockName', parent=self, pos=wx.Point(0, 0),
               size=wx.Size(0, 24), style=0)
         self.Bind(wx.EVT_TEXT, self.OnNameChanged, id=ID_BLOCKPROPERTIESDIALOGNAME)
 
@@ -147,8 +151,8 @@
 
     def __init__(self, parent):
         self._init_ctrls(parent)
-        self.Name.SetValue("")
-        self.Name.Enable(False)
+        self.BlockName.SetValue("")
+        self.BlockName.Enable(False)
         self.Inputs.Enable(False)
         self.Block = None
         self.MinBlockSize = None
@@ -177,8 +181,8 @@
     def OnOK(self, event):
         error = []
         selected = self.TypeTree.GetSelection()
-        block_name = self.Name.GetValue()
-        name_enabled = self.Name.IsEnabled()
+        block_name = self.BlockName.GetValue()
+        name_enabled = self.BlockName.IsEnabled()
         if not selected.IsOk() or self.TypeTree.GetItemParent(selected) == self.TypeTree.GetRootItem() or selected == self.TypeTree.GetRootItem():
             message = wx.MessageDialog(self, "Form isn't complete. Valid block type must be selected!", "Error", wx.OK|wx.ICON_ERROR)
             message.ShowModal()
@@ -207,7 +211,10 @@
             self.EndModal(wx.ID_OK)
 
     def SetBlockList(self, blocktypes):
-        root = self.TypeTree.AddRoot("")
+        if wx.Platform == '__WXMSW__':
+            root = self.TypeTree.AddRoot("Block Types")
+        else:
+            root = self.TypeTree.AddRoot("")
         self.TypeTree.SetPyData(root, {"type" : CATEGORY})
         for category in blocktypes:
             category_item = self.TypeTree.AppendItem(root, category["name"])
@@ -215,6 +222,8 @@
             for blocktype in category["list"]:
                 blocktype_item = self.TypeTree.AppendItem(category_item, blocktype["name"])
                 self.TypeTree.SetPyData(blocktype_item, {"type" : BLOCK, "inputs" : tuple([type for name, type, modifier in blocktype["inputs"]])})
+        if wx.Platform == '__WXMSW__':
+            self.TypeTree.Expand(root)
 
     def SetMinBlockSize(self, size):
         self.MinBlockSize = size
@@ -235,7 +244,7 @@
                 if item:
                     self.TypeTree.SelectItem(item)
             elif name == "name":
-                self.Name.SetValue(value)
+                self.BlockName.SetValue(value)
             elif name == "extension":
                 self.Inputs.SetValue(value)
         self.RefreshPreview()
@@ -245,14 +254,14 @@
         item = self.TypeTree.GetSelection()
         values["type"] = self.TypeTree.GetItemText(item)
         values["inputs"] = self.TypeTree.GetPyData(item)["inputs"]
-        if self.Name.GetValue() != "":
-            values["name"] = self.Name.GetValue()
+        if self.BlockName.GetValue() != "":
+            values["name"] = self.BlockName.GetValue()
         values["width"], values["height"] = self.Block.GetSize()
         values["extension"] = self.Inputs.GetValue()
         return values
 
     def OnTypeTreeItemSelected(self, event):
-        self.Name.SetValue("")
+        self.BlockName.SetValue("")
         selected = event.GetItem()
         pydata = self.TypeTree.GetPyData(selected)
         if pydata["type"] != CATEGORY:
@@ -260,17 +269,17 @@
             if blocktype:
                 self.Inputs.SetValue(len(blocktype["inputs"]))
                 self.Inputs.Enable(blocktype["extensible"])
-                self.Name.Enable(blocktype["type"] != "function")
+                self.BlockName.Enable(blocktype["type"] != "function")
                 self.TypeDesc.SetValue(blocktype["comment"])
                 wx.CallAfter(self.RefreshPreview)
             else:
-                self.Name.Enable(False)
+                self.BlockName.Enable(False)
                 self.Inputs.Enable(False)
                 self.Inputs.SetValue(2)
                 self.TypeDesc.SetValue("")
                 wx.CallAfter(self.ErasePreview)
         else:
-            self.Name.Enable(False)
+            self.BlockName.Enable(False)
             self.Inputs.Enable(False)
             self.Inputs.SetValue(2)
             self.TypeDesc.SetValue("")
@@ -278,7 +287,7 @@
         event.Skip()
 
     def OnNameChanged(self, event):
-        if self.Name.IsEnabled():
+        if self.BlockName.IsEnabled():
             self.RefreshPreview()
         event.Skip()
     
@@ -303,7 +312,7 @@
             else:
                 blocktype = self.TypeTree.GetItemText(item)
                 if blocktype:
-                    self.Block = FBD_Block(self.Preview, blocktype, self.Name.GetValue(), extension = self.Inputs.GetValue(), inputs = pydata["inputs"])
+                    self.Block = FBD_Block(self.Preview, blocktype, self.BlockName.GetValue(), extension = self.Inputs.GetValue(), inputs = pydata["inputs"])
                     width, height = self.MinBlockSize
                     min_width, min_height = self.Block.GetMinSize()
                     width, height = max(min_width, width), max(min_height, height)
@@ -319,7 +328,7 @@
     def OnPaint(self, event):
         if self.Block:
             self.RefreshPreview()
-
+        event.Skip()
 
 #-------------------------------------------------------------------------------
 #                          Create New Variable Dialog
@@ -367,7 +376,7 @@
             
     def _init_coll_RightGridSizer_Items(self, parent):
         parent.AddWindow(self.staticText3, 0, border=0, flag=wx.GROW)
-        parent.AddWindow(self.Name, 0, border=0, flag=wx.GROW)
+        parent.AddWindow(self.VariableName, 0, border=0, flag=wx.GROW)
         
     def _init_coll_RightGridSizer_Growables(self, parent):
         parent.AddGrowableCol(0)
@@ -420,7 +429,7 @@
               size=wx.Size(0, 24), style=0)
         self.Bind(wx.EVT_CHOICE, self.OnClassChanged, id=ID_VARIABLEPROPERTIESDIALOGCLASS)
         
-        self.Name = wx.ListBox(id=ID_VARIABLEPROPERTIESDIALOGNAME,
+        self.VariableName = wx.ListBox(id=ID_VARIABLEPROPERTIESDIALOGNAME,
               name='Name', parent=self, pos=wx.Point(0, 0),
               size=wx.Size(0, 90), style=wx.LB_SINGLE)
         self.Bind(wx.EVT_LISTBOX, self.OnNameChanged, id=ID_VARIABLEPROPERTIESDIALOGNAME)
@@ -458,23 +467,23 @@
         self.Class.SetStringSelection("Input")
 
     def RefreshNameList(self):
-        selected = self.Name.GetStringSelection()
-        self.Name.Clear()
-        self.Name.Append("")
+        selected = self.VariableName.GetStringSelection()
+        self.VariableName.Clear()
+        self.VariableName.Append("")
         for name, var_type, value_type in self.VarList:
             if var_type in ["Local","Temp","Global","External"]:
-                self.Name.Append(name)
+                self.VariableName.Append(name)
             elif var_type == "Input" and self.Class.GetStringSelection() == "Input":
-                self.Name.Append(name)
+                self.VariableName.Append(name)
             elif var_type == "Output" and self.Class.GetStringSelection() == "Output":
-                self.Name.Append(name)
+                self.VariableName.Append(name)
             elif var_type == "InOut" and self.Class.GetStringSelection() == "InOut":
-                self.Name.Append(name)
-        if self.Name.FindString(selected) != wx.NOT_FOUND:
-            self.Name.SetStringSelection(selected)
+                self.VariableName.Append(name)
+        if self.VariableName.FindString(selected) != wx.NOT_FOUND:
+            self.VariableName.SetStringSelection(selected)
         else:
-            self.Name.SetStringSelection("")
-        self.Name.Enable(self.Name.GetCount() > 0)
+            self.VariableName.SetStringSelection("")
+        self.VariableName.Enable(self.VariableName.GetCount() > 0)
             
     def SetMinVariableSize(self, size):
         self.MinVariableSize = size
@@ -495,12 +504,12 @@
                 self.Class.SetStringSelection("InOut")
             self.RefreshNameList()
         if value_name:
-            if self.Name.FindString(value_name) != wx.NOT_FOUND:
-                self.Name.SetStringSelection(value_name)
+            if self.VariableName.FindString(value_name) != wx.NOT_FOUND:
+                self.VariableName.SetStringSelection(value_name)
                 self.Expression.Enable(False)
             else:
                 self.Expression.SetValue(value_name)
-                self.Name.Enable(False)
+                self.VariableName.Enable(False)
         self.RefreshPreview()
         
     def GetValues(self):
@@ -516,7 +525,7 @@
         if self.Expression.IsEnabled() and expression != "":
             values["name"] = expression
         else:
-            values["name"] = self.Name.GetStringSelection()
+            values["name"] = self.VariableName.GetStringSelection()
         values["value_type"] = ""
         for var_name, var_type, value_type in self.VarList:
             if var_name == values["name"]:
@@ -534,7 +543,7 @@
         event.Skip()
 
     def OnNameChanged(self, event):
-        if self.Name.GetStringSelection() != "":
+        if self.VariableName.GetStringSelection() != "":
             self.Expression.Enable(False)
         elif self.Class.GetStringSelection() == "Input":
             self.Expression.Enable(True)
@@ -543,9 +552,9 @@
     
     def OnExpressionChanged(self, event):
         if self.Expression.GetValue() != "":
-            self.Name.Enable(False)
+            self.VariableName.Enable(False)
         else:
-            self.Name.Enable(True)
+            self.VariableName.Enable(True)
         self.RefreshPreview()
         event.Skip()
     
@@ -556,7 +565,7 @@
         if self.Expression.IsEnabled() and expression != "":
             name = expression
         else:
-            name = self.Name.GetStringSelection()
+            name = self.VariableName.GetStringSelection()
         type = ""
         for var_name, var_type, value_type in self.VarList:
             if var_name == name:
@@ -580,6 +589,7 @@
 
     def OnPaint(self, event):
         self.RefreshPreview()
+        event.Skip()
 
 #-------------------------------------------------------------------------------
 #                          Create New Connection Dialog
@@ -610,7 +620,7 @@
         parent.AddWindow(self.radioButton1, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.radioButton2, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.staticText2, 0, border=0, flag=wx.GROW)
-        parent.AddWindow(self.Name, 0, border=0, flag=wx.GROW)
+        parent.AddWindow(self.ConnectionName, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.Spacer, 0, border=0, flag=wx.GROW)
     
     def _init_coll_LeftGridSizer_Growables(self, parent):
@@ -672,7 +682,7 @@
         self.Bind(wx.EVT_RADIOBUTTON, self.OnTypeChanged, id=ID_CONNECTIONPROPERTIESDIALOGRADIOBUTTON2)
         self.radioButton2.SetValue(False)
         
-        self.Name = wx.TextCtrl(id=ID_CONNECTIONPROPERTIESDIALOGNAME,
+        self.ConnectionName = wx.TextCtrl(id=ID_CONNECTIONPROPERTIESDIALOGNAME,
               name='Name', parent=self, pos=wx.Point(0, 0),
               size=wx.Size(0, 24), style=0)
         self.Bind(wx.EVT_TEXT, self.OnNameChanged, id=ID_CONNECTIONPROPERTIESDIALOGNAME)
@@ -709,7 +719,7 @@
                 elif value == CONTINUATION:
                     self.radioButton2.SetValue(True)
             elif name == "name":
-                self.Name.SetValue(value)
+                self.ConnectionName.SetValue(value)
         self.RefreshPreview()
     
     def GetValues(self):
@@ -718,7 +728,7 @@
             values["type"] = CONNECTOR
         else:
             values["type"] = CONTINUATION
-        values["name"] = self.Name.GetValue()
+        values["name"] = self.ConnectionName.GetValue()
         values["width"], values["height"] = self.Connection.GetSize()
         return values
 
@@ -734,9 +744,9 @@
         dc = wx.ClientDC(self.Preview)
         dc.Clear()
         if self.radioButton1.GetValue():
-            self.Connection = FBD_Connector(self.Preview, CONNECTOR, self.Name.GetValue())
+            self.Connection = FBD_Connector(self.Preview, CONNECTOR, self.ConnectionName.GetValue())
         else:
-            self.Connection = FBD_Connector(self.Preview, CONTINUATION, self.Name.GetValue())
+            self.Connection = FBD_Connector(self.Preview, CONTINUATION, self.ConnectionName.GetValue())
         width, height = self.MinConnectionSize
         min_width, min_height = self.Connection.GetMinSize()
         width, height = max(min_width, width), max(min_height, height)
@@ -749,7 +759,7 @@
 
     def OnPaint(self, event):
         self.RefreshPreview()
-
+        event.Skip()
 
 #-------------------------------------------------------------------------------
 #                        Edit Ladder Element Properties Dialog
@@ -784,7 +794,7 @@
         parent.AddWindow(self.radioButton3, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.radioButton4, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.staticText2, 0, border=0, flag=wx.GROW)
-        parent.AddWindow(self.Name, 0, border=0, flag=wx.GROW)
+        parent.AddWindow(self.ElementName, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.Spacer, 0, border=0, flag=wx.GROW)
         
     def _init_coll_LeftGridSizer_Growables(self, parent):
@@ -855,7 +865,7 @@
               pos=wx.Point(0, 0), size=wx.Size(0, 24), style=0)
         self.Bind(wx.EVT_RADIOBUTTON, self.OnTypeChanged, id=ID_LDELEMENTDIALOGRADIOBUTTON4)
 
-        self.Name = wx.Choice(id=ID_LDELEMENTDIALOGNAME,
+        self.ElementName = wx.Choice(id=ID_LDELEMENTDIALOGNAME,
               name='Name', parent=self, pos=wx.Point(0, 0),
               size=wx.Size(0, 24), style=0)
         self.Bind(wx.EVT_CHOICE, self.OnNameChanged, id=ID_LDELEMENTDIALOGNAME)
@@ -891,16 +901,16 @@
         self.Element.SetSize(width, height)
         
     def SetVariables(self, vars):
-        self.Name.Clear()
+        self.ElementName.Clear()
         for name in vars:
-            self.Name.Append(name)
-        self.Name.Enable(self.Name.GetCount() > 0)
+            self.ElementName.Append(name)
+        self.ElementName.Enable(self.ElementName.GetCount() > 0)
 
     def SetValues(self, values):
         for name, value in values.items():
             if name == "name":
                 self.Element.SetName(value)
-                self.Name.SetStringSelection(value)
+                self.ElementName.SetStringSelection(value)
             elif name == "type":
                 self.Element.SetType(value)
                 if self.Type == "contact":
@@ -952,7 +962,7 @@
         event.Skip()
 
     def OnNameChanged(self, event):
-        self.Element.SetName(self.Name.GetStringSelection())
+        self.Element.SetName(self.ElementName.GetStringSelection())
         self.RefreshPreview()
         event.Skip()
 
@@ -1158,7 +1168,7 @@
     
     def _init_coll_LeftGridSizer_Items(self, parent):
         parent.AddWindow(self.staticText1, 0, border=0, flag=wx.GROW)
-        parent.AddWindow(self.Name, 0, border=0, flag=wx.GROW)
+        parent.AddWindow(self.StepName, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.staticText2, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.checkBox1, 0, border=0, flag=wx.GROW)
         parent.AddWindow(self.checkBox2, 0, border=0, flag=wx.GROW)
@@ -1212,7 +1222,7 @@
               label='Preview:', name='staticText4', parent=self,
               pos=wx.Point(0, 0), size=wx.Size(0, 17), style=0)
 
-        self.Name = wx.TextCtrl(id=ID_STEPCONTENTDIALOGNAME,
+        self.StepName = wx.TextCtrl(id=ID_STEPCONTENTDIALOGNAME,
               name='Name', parent=self, pos=wx.Point(0, 0),
               size=wx.Size(0, 24), style=0)
         self.Bind(wx.EVT_TEXT, self.OnNameChanged, id=ID_STEPCONTENTDIALOGNAME)
@@ -1261,7 +1271,7 @@
         self.StepNames = []
     
     def OnOK(self, event):
-        step_name = self.Name.GetValue()
+        step_name = self.StepName.GetValue()
         if step_name == "":
             message = wx.MessageDialog(self, "You must type a name!", "Error", wx.OK|wx.ICON_ERROR)
             message.ShowModal()
@@ -1304,9 +1314,9 @@
     def SetValues(self, values):
         value_name = values.get("name", None)
         if value_name:
-            self.Name.SetValue(value_name)
+            self.StepName.SetValue(value_name)
         else:
-            self.Name.SetValue("")
+            self.StepName.SetValue("")
         self.checkBox1.SetValue(values.get("input", False))
         self.checkBox2.SetValue(values.get("output", False))
         self.checkBox3.SetValue(values.get("action", False))
@@ -1314,7 +1324,7 @@
         
     def GetValues(self):
         values = {}
-        values["name"] = self.Name.GetValue()
+        values["name"] = self.StepName.GetValue()
         values["input"] = self.checkBox1.IsChecked()
         values["output"] = self.checkBox2.IsChecked()
         values["action"] = self.checkBox3.IsChecked()
@@ -1332,7 +1342,7 @@
     def RefreshPreview(self):
         dc = wx.ClientDC(self.Preview)
         dc.Clear()
-        self.Step = SFC_Step(self.Preview, self.Name.GetValue(), self.Initial)
+        self.Step = SFC_Step(self.Preview, self.StepName.GetValue(), self.Initial)
         if self.checkBox1.IsChecked():
             self.Step.AddInput()
         else:
@@ -1357,6 +1367,7 @@
 
     def OnPaint(self, event):
         self.RefreshPreview()
+        event.Skip()
 
 #-------------------------------------------------------------------------------
 #                          Edit Transition Content Dialog
@@ -1616,6 +1627,7 @@
 
     def OnPaint(self, event):
         self.RefreshPreview()
+        event.Skip()
 
 #-------------------------------------------------------------------------------
 #                         Create New Divergence Dialog
@@ -1796,6 +1808,7 @@
 
     def OnPaint(self, event):
         self.RefreshPreview()
+        event.Skip()
 
 
 #-------------------------------------------------------------------------------