IDEFrame.py
changeset 1739 ec153828ded2
parent 1737 a39c2918c015
child 1740 b789b695b5c6
equal deleted inserted replaced
1738:d2e979738700 1739:ec153828ded2
    94 #  - Item id
    94 #  - Item id
    95 #  - Item callback function name
    95 #  - Item callback function name
    96 #  - Item icon filename
    96 #  - Item icon filename
    97 #  - Item tooltip text
    97 #  - Item tooltip text
    98 EditorToolBarItems = {
    98 EditorToolBarItems = {
    99     "FBD" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
    99     "FBD":   [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   100               ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   100                ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   101               "move", _("Move the view")),
   101                "move", _("Move the view")),
   102              (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   102               (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   103               ID_PLCOPENEDITOREDITORTOOLBARCOMMENT, "OnCommentTool",
   103                ID_PLCOPENEDITOREDITORTOOLBARCOMMENT, "OnCommentTool",
   104               "add_comment", _("Create a new comment")),
   104                "add_comment", _("Create a new comment")),
   105              (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   105               (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   106               ID_PLCOPENEDITOREDITORTOOLBARVARIABLE, "OnVariableTool",
   106                ID_PLCOPENEDITOREDITORTOOLBARVARIABLE, "OnVariableTool",
   107               "add_variable", _("Create a new variable")),
   107                "add_variable", _("Create a new variable")),
   108              (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   108               (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   109               ID_PLCOPENEDITOREDITORTOOLBARBLOCK, "OnBlockTool",
   109                ID_PLCOPENEDITOREDITORTOOLBARBLOCK, "OnBlockTool",
   110               "add_block", _("Create a new block")),
   110                "add_block", _("Create a new block")),
   111              (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   111               (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   112               ID_PLCOPENEDITOREDITORTOOLBARCONNECTION, "OnConnectionTool",
   112                ID_PLCOPENEDITOREDITORTOOLBARCONNECTION, "OnConnectionTool",
   113               "add_connection", _("Create a new connection"))],
   113                "add_connection", _("Create a new connection"))],
   114     "LD"  : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   114     "LD":    [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   115               ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   115                ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   116               "move", _("Move the view")),
   116                "move", _("Move the view")),
   117              (True, FREEDRAWING_MODE,
   117               (True, FREEDRAWING_MODE,
   118               ID_PLCOPENEDITOREDITORTOOLBARCOMMENT, "OnCommentTool",
   118                ID_PLCOPENEDITOREDITORTOOLBARCOMMENT, "OnCommentTool",
   119               "add_comment", _("Create a new comment")),
   119                "add_comment", _("Create a new comment")),
   120              (True, FREEDRAWING_MODE,
   120               (True, FREEDRAWING_MODE,
   121               ID_PLCOPENEDITOREDITORTOOLBARPOWERRAIL, "OnPowerRailTool",
   121                ID_PLCOPENEDITOREDITORTOOLBARPOWERRAIL, "OnPowerRailTool",
   122               "add_powerrail", _("Create a new power rail")),
   122                "add_powerrail", _("Create a new power rail")),
   123              (False, DRIVENDRAWING_MODE,
   123               (False, DRIVENDRAWING_MODE,
   124               ID_PLCOPENEDITOREDITORTOOLBARRUNG, "OnRungTool",
   124                ID_PLCOPENEDITOREDITORTOOLBARRUNG, "OnRungTool",
   125               "add_rung", _("Create a new rung")),
   125                "add_rung", _("Create a new rung")),
   126              (True, FREEDRAWING_MODE,
   126               (True, FREEDRAWING_MODE,
   127               ID_PLCOPENEDITOREDITORTOOLBARCOIL, "OnCoilTool",
   127                ID_PLCOPENEDITOREDITORTOOLBARCOIL, "OnCoilTool",
   128               "add_coil", _("Create a new coil")),
   128                "add_coil", _("Create a new coil")),
   129              (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   129               (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   130               ID_PLCOPENEDITOREDITORTOOLBARCONTACT, "OnContactTool",
   130                ID_PLCOPENEDITOREDITORTOOLBARCONTACT, "OnContactTool",
   131               "add_contact", _("Create a new contact")),
   131                "add_contact", _("Create a new contact")),
   132              (False, DRIVENDRAWING_MODE,
   132               (False, DRIVENDRAWING_MODE,
   133               ID_PLCOPENEDITOREDITORTOOLBARBRANCH, "OnBranchTool",
   133                ID_PLCOPENEDITOREDITORTOOLBARBRANCH, "OnBranchTool",
   134               "add_branch", _("Create a new branch")),
   134                "add_branch", _("Create a new branch")),
   135              (True, FREEDRAWING_MODE,
   135               (True, FREEDRAWING_MODE,
   136               ID_PLCOPENEDITOREDITORTOOLBARVARIABLE, "OnVariableTool",
   136                ID_PLCOPENEDITOREDITORTOOLBARVARIABLE, "OnVariableTool",
   137               "add_variable", _("Create a new variable")),
   137                "add_variable", _("Create a new variable")),
   138              (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   138               (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   139               ID_PLCOPENEDITOREDITORTOOLBARBLOCK, "OnBlockTool",
   139                ID_PLCOPENEDITOREDITORTOOLBARBLOCK, "OnBlockTool",
   140               "add_block", _("Create a new block")),
   140                "add_block", _("Create a new block")),
   141              (True, FREEDRAWING_MODE,
   141               (True, FREEDRAWING_MODE,
   142               ID_PLCOPENEDITOREDITORTOOLBARCONNECTION, "OnConnectionTool",
   142                ID_PLCOPENEDITOREDITORTOOLBARCONNECTION, "OnConnectionTool",
   143               "add_connection", _("Create a new connection"))],
   143                "add_connection", _("Create a new connection"))],
   144     "SFC" : [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   144     "SFC":   [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   145               ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   145                ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   146               "move", _("Move the view")),
   146                "move", _("Move the view")),
   147              (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   147               (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   148               ID_PLCOPENEDITOREDITORTOOLBARCOMMENT, "OnCommentTool",
   148                ID_PLCOPENEDITOREDITORTOOLBARCOMMENT, "OnCommentTool",
   149               "add_comment", _("Create a new comment")),
   149                "add_comment", _("Create a new comment")),
   150              (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   150               (True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   151               ID_PLCOPENEDITOREDITORTOOLBARINITIALSTEP, "OnInitialStepTool",
   151                ID_PLCOPENEDITOREDITORTOOLBARINITIALSTEP, "OnInitialStepTool",
   152               "add_initial_step", _("Create a new initial step")),
   152                "add_initial_step", _("Create a new initial step")),
   153              (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   153               (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   154               ID_PLCOPENEDITOREDITORTOOLBARSTEP, "OnStepTool",
   154                ID_PLCOPENEDITOREDITORTOOLBARSTEP, "OnStepTool",
   155               "add_step", _("Create a new step")),
   155                "add_step", _("Create a new step")),
   156              (True, FREEDRAWING_MODE,
   156               (True, FREEDRAWING_MODE,
   157               ID_PLCOPENEDITOREDITORTOOLBARTRANSITION, "OnTransitionTool",
   157                ID_PLCOPENEDITOREDITORTOOLBARTRANSITION, "OnTransitionTool",
   158               "add_transition", _("Create a new transition")),
   158                "add_transition", _("Create a new transition")),
   159              (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   159               (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   160               ID_PLCOPENEDITOREDITORTOOLBARACTIONBLOCK, "OnActionBlockTool",
   160                ID_PLCOPENEDITOREDITORTOOLBARACTIONBLOCK, "OnActionBlockTool",
   161               "add_action", _("Create a new action block")),
   161                "add_action", _("Create a new action block")),
   162              (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   162               (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   163               ID_PLCOPENEDITOREDITORTOOLBARDIVERGENCE, "OnDivergenceTool",
   163                ID_PLCOPENEDITOREDITORTOOLBARDIVERGENCE, "OnDivergenceTool",
   164               "add_divergence", _("Create a new divergence")),
   164                "add_divergence", _("Create a new divergence")),
   165              (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   165               (False, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   166               ID_PLCOPENEDITOREDITORTOOLBARJUMP, "OnJumpTool",
   166                ID_PLCOPENEDITOREDITORTOOLBARJUMP, "OnJumpTool",
   167               "add_jump", _("Create a new jump")),
   167                "add_jump", _("Create a new jump")),
   168              (True, FREEDRAWING_MODE,
   168               (True, FREEDRAWING_MODE,
   169               ID_PLCOPENEDITOREDITORTOOLBARVARIABLE, "OnVariableTool",
   169                ID_PLCOPENEDITOREDITORTOOLBARVARIABLE, "OnVariableTool",
   170               "add_variable", _("Create a new variable")),
   170                "add_variable", _("Create a new variable")),
   171              (True, FREEDRAWING_MODE,
   171               (True, FREEDRAWING_MODE,
   172               ID_PLCOPENEDITOREDITORTOOLBARBLOCK, "OnBlockTool",
   172                ID_PLCOPENEDITOREDITORTOOLBARBLOCK, "OnBlockTool",
   173               "add_block", _("Create a new block")),
   173                "add_block", _("Create a new block")),
   174              (True, FREEDRAWING_MODE,
   174               (True, FREEDRAWING_MODE,
   175               ID_PLCOPENEDITOREDITORTOOLBARCONNECTION, "OnConnectionTool",
   175                ID_PLCOPENEDITOREDITORTOOLBARCONNECTION, "OnConnectionTool",
   176               "add_connection", _("Create a new connection")),
   176                "add_connection", _("Create a new connection")),
   177              (True, FREEDRAWING_MODE,
   177               (True, FREEDRAWING_MODE,
   178               ID_PLCOPENEDITOREDITORTOOLBARPOWERRAIL, "OnPowerRailTool",
   178                ID_PLCOPENEDITOREDITORTOOLBARPOWERRAIL, "OnPowerRailTool",
   179               "add_powerrail", _("Create a new power rail")),
   179                "add_powerrail", _("Create a new power rail")),
   180              (True, FREEDRAWING_MODE,
   180               (True, FREEDRAWING_MODE,
   181               ID_PLCOPENEDITOREDITORTOOLBARCONTACT, "OnContactTool",
   181                ID_PLCOPENEDITOREDITORTOOLBARCONTACT, "OnContactTool",
   182               "add_contact", _("Create a new contact"))],
   182                "add_contact", _("Create a new contact"))],
   183     "ST"  : [],
   183     "ST":    [],
   184     "IL"  : [],
   184     "IL":    [],
   185     "debug": [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   185     "debug": [(True, FREEDRAWING_MODE|DRIVENDRAWING_MODE,
   186               ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   186                ID_PLCOPENEDITOREDITORTOOLBARMOTION, "OnMotionTool",
   187               "move", _("Move the view"))],
   187                "move", _("Move the view"))],
   188 }
   188 }
   189 
   189 
   190 #-------------------------------------------------------------------------------
   190 #-------------------------------------------------------------------------------
   191 #                               Helper Functions
   191 #                               Helper Functions
   192 #-------------------------------------------------------------------------------
   192 #-------------------------------------------------------------------------------
   883 #                               General Functions
   883 #                               General Functions
   884 #-------------------------------------------------------------------------------
   884 #-------------------------------------------------------------------------------
   885 
   885 
   886     def SetRefreshFunctions(self):
   886     def SetRefreshFunctions(self):
   887         self.RefreshFunctions = {
   887         self.RefreshFunctions = {
   888             TITLE : self.RefreshTitle,
   888             TITLE: self.RefreshTitle,
   889             EDITORTOOLBAR : self.RefreshEditorToolBar,
   889             EDITORTOOLBAR: self.RefreshEditorToolBar,
   890             FILEMENU : self.RefreshFileMenu,
   890             FILEMENU: self.RefreshFileMenu,
   891             EDITMENU : self.RefreshEditMenu,
   891             EDITMENU: self.RefreshEditMenu,
   892             DISPLAYMENU : self.RefreshDisplayMenu,
   892             DISPLAYMENU: self.RefreshDisplayMenu,
   893             PROJECTTREE : self.RefreshProjectTree,
   893             PROJECTTREE: self.RefreshProjectTree,
   894             POUINSTANCEVARIABLESPANEL : self.RefreshPouInstanceVariablesPanel,
   894             POUINSTANCEVARIABLESPANEL: self.RefreshPouInstanceVariablesPanel,
   895             LIBRARYTREE : self.RefreshLibraryPanel,
   895             LIBRARYTREE: self.RefreshLibraryPanel,
   896             SCALING : self.RefreshScaling,
   896             SCALING: self.RefreshScaling,
   897             PAGETITLES: self.RefreshPageTitles}
   897             PAGETITLES: self.RefreshPageTitles}
   898 
   898 
   899     ## Call PLCOpenEditor refresh functions.
   899     ## Call PLCOpenEditor refresh functions.
   900     #  @param elements List of elements to refresh.
   900     #  @param elements List of elements to refresh.
   901     def _Refresh(self, *elements):
   901     def _Refresh(self, *elements):
  1872                 menu = wx.Menu(title='')
  1872                 menu = wx.Menu(title='')
  1873 
  1873 
  1874                 if name != "Project":
  1874                 if name != "Project":
  1875                     new_id = wx.NewId()
  1875                     new_id = wx.NewId()
  1876                     AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=_("Add POU"))
  1876                     AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=_("Add POU"))
  1877                     self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction({"Functions" : "function", "Function Blocks" : "functionBlock", "Programs" : "program"}[name]), id=new_id)
  1877                     self.Bind(wx.EVT_MENU, self.GenerateAddPouFunction({"Functions": "function", "Function Blocks": "functionBlock", "Programs": "program"}[name]), id=new_id)
  1878 
  1878 
  1879                 new_id = wx.NewId()
  1879                 new_id = wx.NewId()
  1880                 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=_("Paste POU"))
  1880                 AppendMenu(menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=_("Paste POU"))
  1881                 self.Bind(wx.EVT_MENU, self.OnPastePou, id=new_id)
  1881                 self.Bind(wx.EVT_MENU, self.OnPastePou, id=new_id)
  1882                 if self.GetCopyBuffer() is None:
  1882                 if self.GetCopyBuffer() is None:
  2555 
  2555 
  2556 #-------------------------------------------------------------------------------
  2556 #-------------------------------------------------------------------------------
  2557 #                               Viewer Printout
  2557 #                               Viewer Printout
  2558 #-------------------------------------------------------------------------------
  2558 #-------------------------------------------------------------------------------
  2559 
  2559 
  2560 UPPER_DIV = lambda x, y: (x / y) + {True : 0, False : 1}[(x % y) == 0]
  2560 UPPER_DIV = lambda x, y: (x / y) + {True: 0, False: 1}[(x % y) == 0]
  2561 
  2561 
  2562 
  2562 
  2563 class GraphicPrintout(wx.Printout):
  2563 class GraphicPrintout(wx.Printout):
  2564     def __init__(self, viewer, page_size, margins, preview = False):
  2564     def __init__(self, viewer, page_size, margins, preview = False):
  2565         wx.Printout.__init__(self)
  2565         wx.Printout.__init__(self)