# HG changeset patch
# User Surkov Sergey <surkovsv93@gmail.com>
# Date 1495544789 -10800
# Node ID 1447424a70298f3b4fc6d171754fe472e37fcfe7
# Parent  57b4ac796dcbb3b4b57ffc69a220d9a155db4cc5
remove child node from add child node menu, if max count of the same type nodes reached

diff -r 57b4ac796dcb -r 1447424a7029 BeremizIDE.py
--- a/BeremizIDE.py	Thu May 18 18:00:56 2017 +0300
+++ b/BeremizIDE.py	Tue May 23 16:06:29 2017 +0300
@@ -951,10 +951,11 @@
                         self.Bind(wx.EVT_MENU, callback, id=new_id)
                 else:
                     for name, XSDClass, help in confnode.CTNChildrenTypes:
-                        new_id = wx.NewId()
-                        confnode_menu.Append(help=help, id=new_id, kind=wx.ITEM_NORMAL, text=_("Add") + " " + name)
-                        self.Bind(wx.EVT_MENU, self.GetAddConfNodeFunction(name, confnode), id=new_id)
-
+                        if not hasattr(XSDClass, 'CTNMaxCount') or not confnode.Children.get(name) \
+                                or len(confnode.Children[name]) < XSDClass.CTNMaxCount:
+                            new_id = wx.NewId()
+                            confnode_menu.Append(help=help, id=new_id, kind=wx.ITEM_NORMAL, text=_("Add") + " " + name)
+                            self.Bind(wx.EVT_MENU, self.GetAddConfNodeFunction(name, confnode), id=new_id)
             new_id = wx.NewId()
             AppendMenu(confnode_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=_("Delete"))
             self.Bind(wx.EVT_MENU, self.GetDeleteMenuFunction(confnode), id=new_id)