Changeset 1385
- Timestamp:
- 07/04/06 13:45:28 (2 years ago)
- Files:
-
- pyreadline/branches/refactor/doc/ChangeLog (modified) (1 diff)
- pyreadline/branches/refactor/pyreadline/__init__.py (modified) (1 diff)
- pyreadline/branches/refactor/pyreadline/clipboard (added)
- pyreadline/branches/refactor/pyreadline/clipboard/__init__.py (added)
- pyreadline/branches/refactor/pyreadline/clipboard/clipboard.py (moved) (moved from pyreadline/branches/refactor/pyreadline/clipboard.py) (3 diffs)
- pyreadline/branches/refactor/pyreadline/clipboard/common.py (added)
- pyreadline/branches/refactor/pyreadline/clipboard/ironpython_clipboard.py (added)
- pyreadline/branches/refactor/pyreadline/console (added)
- pyreadline/branches/refactor/pyreadline/console/__init__.py (added)
- pyreadline/branches/refactor/pyreadline/console/console.py (moved) (moved from pyreadline/branches/refactor/pyreadline/console.py) (4 diffs)
- pyreadline/branches/refactor/pyreadline/console/console_attributes.py (moved) (moved from pyreadline/branches/refactor/pyreadline/console_attributes.py)
- pyreadline/branches/refactor/pyreadline/console/consolebase.py (added)
- pyreadline/branches/refactor/pyreadline/console/event.py (added)
- pyreadline/branches/refactor/pyreadline/console/ironpython_console.py (added)
- pyreadline/branches/refactor/pyreadline/keysyms (added)
- pyreadline/branches/refactor/pyreadline/keysyms/__init__.py (added)
- pyreadline/branches/refactor/pyreadline/keysyms/ironpython_keysyms.py (added)
- pyreadline/branches/refactor/pyreadline/keysyms/keysyms.py (moved) (moved from pyreadline/branches/refactor/pyreadline/keysyms.py) (1 diff)
- pyreadline/branches/refactor/pyreadline/keysyms/winconstants.py (moved) (moved from pyreadline/branches/refactor/pyreadline/winconstants.py)
- pyreadline/branches/refactor/pyreadline/modes/emacs.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pyreadline/branches/refactor/doc/ChangeLog
r1267 r1385 1 2006-07-04 Jörgen Stenarson <jorgen.stenarson -at- bostream.nu> 2 * First commit for ironpython. Typing in alphabet works but no special keys. 3 4 1 5 2006-04-18 Jörgen Stenarson <jorgen.stenarson -at- bostream.nu> 2 6 * Added more tests for emacsmode pyreadline/branches/refactor/pyreadline/__init__.py
r1216 r1385 8 8 #***************************************************************************** 9 9 10 import l ineeditor,modes10 import logger,clipboard,lineeditor,modes 11 11 from rlmain import * 12 12 __all__ = [ 'parse_and_bind', pyreadline/branches/refactor/pyreadline/clipboard/clipboard.py
r1267 r1385 35 35 36 36 from ctypes import * 37 from winconstants import CF_TEXT, GHND37 from keysyms.winconstants import CF_TEXT, GHND 38 38 39 39 OpenClipboard = windll.user32.OpenClipboard … … 85 85 return text 86 86 87 def make_tab(lists):88 if hasattr(lists,"tolist"):89 lists=lists.tolist()90 ut=[]91 for rad in lists:92 if type(rad) in [list,tuple]:93 ut.append("\t".join(["%s"%x for x in rad]))94 else:95 ut.append("%s"%rad)96 return "\n".join(ut)97 98 def send_data(lists):99 SetClipboardText(make_tab(lists))100 101 87 def SetClipboardText(text): 102 88 buffer = c_buffer(text) … … 112 98 CloseClipboard() 113 99 114 115 def set_clipboard_text(toclipboard):116 SetClipboardText(str(toclipboard))117 118 def make_list_of_list(txt):119 def make_num(x):120 try:121 return int(x)122 except ValueError:123 try:124 return float(x)125 except ValueError:126 try:127 return complex(x)128 except ValueError:129 return x130 return x131 ut=[]132 flag=False133 for rad in [x for x in txt.split("\r\n") if x!=""]:134 raden=[make_num(x) for x in rad.split("\t")]135 if str in map(type,raden):136 flag=True137 ut.append(raden)138 return ut,flag139 140 141 def get_clipboard_text_and_convert(paste_list=False):142 """Get txt from clipboard. if paste_list==True the convert tab separated143 data to list of lists. Enclose list of list in array() if all elements are144 numeric"""145 txt=GetClipboardText()146 if txt:147 if paste_list and "\t" in txt:148 array,flag=make_list_of_list(txt)149 if flag:150 txt=repr(array)151 else:152 txt="array(%s)"%repr(array)153 txt="".join([c for c in txt if c not in " \t\r\n"])154 return txt155 156 100 if __name__ == '__main__': 157 101 txt=GetClipboardText() # display last text clipped pyreadline/branches/refactor/pyreadline/console/console.py
r1219 r1385 17 17 import traceback 18 18 import re 19 from logger import log19 from pyreadline.logger import log 20 20 21 21 try: … … 24 24 from _ctypes import call_function 25 25 except ImportError: 26 print 'you need the ctypes module to run this code' 27 print 'http://starship.python.net/crew/theller/ctypes/' 28 raise 26 raise ImportError("You need ctypes to run this code") 29 27 30 28 # my code 31 from keysyms import make_keysym, make_keyinfo29 from pyreadline.keysyms import make_keysym, make_keyinfo 32 30 33 31 # some constants we need … … 545 543 setattr(Console, func, getattr(windll.kernel32, func)) 546 544 547 class event(object): 545 from event import Event 546 547 class event(Event): 548 548 '''Represent events from the console.''' 549 549 def __init__(self, console, input): … … 592 592 self.state = input.Event.MenuEvent.dwCommandId 593 593 594 def __repr__(self):595 '''Display an event for debugging.'''596 if self.type in ['KeyPress', 'KeyRelease']:597 s = "%s char='%s'%d keysym='%s' keycode=%d:%x state=%x keyinfo=%s" % \598 (self.type, self.char, ord(self.char), self.keysym, self.keycode, self.keycode,599 self.state, self.keyinfo)600 elif self.type in ['Motion', 'Button']:601 s = '%s x=%d y=%d state=%x' % (self.type, self.x, self.y, self.state)602 elif self.type == 'Configure':603 s = '%s w=%d h=%d' % (self.type, self.width, self.height)604 elif self.type in ['FocusIn', 'FocusOut']:605 s = self.type606 elif self.type == 'Menu':607 s = '%s state=%x' % (self.type, self.state)608 else:609 s = 'unknown event type'610 return s611 612 594 def getconsole(buffer=1): 613 595 """Get a console handle. pyreadline/branches/refactor/pyreadline/keysyms/keysyms.py
r1267 r1385 150 150 else: 151 151 if len(keyname) > 1: 152 return (control, meta, shift, sym2code_map [keyname.lower()])152 return (control, meta, shift, sym2code_map.get(keyname.lower()," ")) 153 153 else: 154 154 return char_to_keyinfo(keyname, control, meta, shift) pyreadline/branches/refactor/pyreadline/modes/emacs.py
r1267 r1385 23 23 self._keylog=(lambda x,y: None) 24 24 self.previous_func=None 25 25 self.prompt="" 26 26 def __repr__(self): 27 27 return "<EmacsMode>"
