@@ -538,6 +538,8 @@ def keypress(self, char):
538538
539539
540540class ExtraParametersEditor (object ):
541+ ''' Class to edit or add parameters
542+ '''
541543
542544 def __init__ (self ,
543545 parent ,
@@ -585,7 +587,9 @@ def __init__(self,
585587 cursor_color = curses .color_pair (8 ),
586588 unfocused_color = curses .color_pair (5 ),
587589 string_changed_handler = self ._string_changed )
588- self ._widgets [0 ].bracket = False
590+ self ._widgets [0 ].bracket = True
591+ self ._widgets [0 ]._use_paste_mode = True
592+ self ._widgets [0 ]._paste_mode = False # enables direct insersion of ? and \
589593 self ._line_editor = self ._widgets [0 ]
590594
591595 # add horizontal push buttons
@@ -1313,6 +1317,7 @@ def keypress(self, char):
13131317 -1 - Continue
13141318 0 - Accept changes
13151319 1 - Cancel
1320+ 2 - Display editor help
13161321 """
13171322 if self .editing == 0 :
13181323 if char in (9 , ):
@@ -1413,14 +1418,22 @@ def keypress(self, char):
14131418 self .refresh_win ()
14141419
14151420 else :
1421+ # return from parameter editor
14161422 # adding or editing a parameter
14171423 ret = self ._parameter_editor .keypress (char )
1418- logger .error ('DE extra key = {}' .format (ret ))
14191424 if ret == 0 :
1420- logger . error ( 'DE erasing...' )
1425+ # accept parameter or cancel
14211426 self .editing = 0
1427+ if self ._parameter_editor .edit_string :
1428+ self ._extra ._items .append (self ._parameter_editor .edit_string )
1429+ self ._extra .selection = len (self ._extra ._items ) - 1
1430+ if logger .isEnabledFor (logging .DEBUG ):
1431+ logger .debug ('New parameter: ' + self ._extra ._items [- 1 ])
14221432 self .refresh_win (True )
14231433 self ._parameter_editor = None
1434+ elif ret == 2 :
1435+ # show editor help
1436+ return ret
14241437
14251438 return - 1
14261439
0 commit comments