]> git.saurik.com Git - wxWidgets.git/blame - wxPython/wx/py/CHANGES.txt
removed stuff about the decorator classes
[wxWidgets.git] / wxPython / wx / py / CHANGES.txt
CommitLineData
e757654c
PB
10.9.4 (1/25/2004 to //2004)
2------------------------------
1fded56b 3
e757654c
PB
4Removed wxd decorators in favor of new SWIG-generated docstrings.
5
6Removed docs tabs from crust interface:
7* wxPython Docs
8* wxSTC Docs
9
07b87e8d
PB
10Fixed Calltip tab refresh problem on Windows.
11
f65958cc 12shell.autoCompleteAutoHide added with default of False.
d351525a 13
a47c63ba
PB
14Changed default namespace of Shell to __main__.__dict__, instead of an
15empty dictionary.
16
e757654c
PB
17
180.9.3 (9/25/2003 to 1/24/2004)
19------------------------------
20
21Fun and games with dynamic renaming. Details of any other changes
22were lost in the confusion. I'll try to do better in the future.
23
24
250.9.2 (5/3/2003 to 9/25/2003)
1fded56b
RD
26-----------------------------
27
28Changed to the new prefix-less "wx" package::
29
30 import wx
31
32instead of::
33
34 from wxPython import wx
35
36Fixed typo in ``PyWrap.py``::
37
38 if __name__ == '__main__':
39 main(sys.argv)
40
41should have been::
42
43 if __name__ == '__main__':
44 main()
45
46Added pretty-print Display tab to Crust, based on suggestion from
47Jason Whitlark.
48
49Improved ``Can*`` checks in ``EditWindow``, since STC is too lenient,
50particularly when it is set to read-only but returns True for
51CanPaste() (seems like an STC bug to me)::
52
53 def CanCopy(self):
54 """Return True if text is selected and can be copied."""
55 return self.GetSelectionStart() != self.GetSelectionEnd()
56
57 def CanCut(self):
58 """Return True if text is selected and can be cut."""
59 return self.CanCopy() and self.CanEdit()
60
61 def CanEdit(self):
62 """Return True if editing should succeed."""
63 return not self.GetReadOnly()
64
65 def CanPaste(self):
66 """Return True if pasting should succeed."""
67 return stc.StyledTextCtrl.CanPaste(self) and self.CanEdit()
68
69
700.9.1 (3/21/2003 to 5/2/2003)
71-----------------------------
72
73PyCrust is dead! Long live Py!
74
75* Renamed ``PyCrust`` package to ``py``.
76* Moved code to wxPython's CVS repository.
77
78Fixed bug in ``introspect.py`` on introspecting objects occurring
79immediately after a secondary prompt, like this::
80
81 >>> l = [1, 2, 3]
82 >>> for n in range(3):
83 ... l. <-- failed to popup autocomplete list
84
85Added documentation files:
86
87* PyManual.txt
88* wxPythonManual.txt
89* wxPythonPackage.txt
90* wxPythonExamples.txt
91
92Added PyAlaMode and PyAlaCarte code editors.
93
94Major refactoring to support ``editor`` and ``shell`` from the same
95base.
96
97Renamed program files:
98
99* ``PyCrustApp.py`` to ``PyCrust.py``
100* ``PyFillingApp.py`` to ``PyFilling.py``
101* ``PyShellApp.py`` to ``PyShell.py``
102* ``wrap.py`` to ``PyWrap.py``
103
104Removed disabling of autocomplete for lists of 2000 items or more.
105The current implementation of wxSTC can now handle lists this big.
106
107Improved handling of ``sys.path`` to mimic the standard Python shell.
108
109
1100.9 (2/27/2003 to 3/20/2003)
111----------------------------
112
113Added fontIncrease, fontDecrease, fontDefault signals, receivers and
114keybindings::
115
116 Ctrl+] Increase font size.
117 Ctrl+[ Decrease font size.
118 Ctrl+= Default font size.
119
120Continued enhancement of the decorator capability to provide better
121documentation and docstrings for wxPython classes and functions.
122
123Introduced new tabbed interface:
124
125* Namespace
126* Calltip
127* Session
128* Dispatcher
129* wxPython Docs
130* wxSTC Docs
131
132``Filling.tree`` now expands tuples as well as lists. (It should have
133done this all along, I just never noticed this omission before.)
134
135Added this True/False test to all modules::
136
137 try:
138 True
139 except NameError:
140 True = 1==1
141 False = 1==0
142
143Added ``wxd`` directory with decoration classes.
144
145
1460.8.2 (1/5/2003 to 2/26/2003)
147-----------------------------
148
149Wrapped ``sys.ps1``, ``sys.ps2``, and ``sys.ps3`` in ``str()``.
150(Thanks, Kieran Holland.)
151
152Fixed minor things found by PyChecker.
153
154Changed locals to use ``__main__.__dict__`` and added code to clean up
155the namespace, making it as close to the regular Python environment as
156possible. This solves the problem of pickling and unpickling
157instances of classes defined in the shell.
158
159Made ``shell.PasteAndRun()`` a little more forgiving when it finds a
160ps2 prompt line with no trailing space, such when you copy code from a
161web page.
162
163Improved autocomplete behavior by adding these to shell::
164
165 self.AutoCompSetAutoHide(False)
166 self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`')
167
168Added ``decor`` directory, ``decorator.py``, ``stcDecor.py``, and
169``stcConstants.py``. These all serve the purpose of adding docstrings
170to existing wxPython classes, in particular the ``wxStyledTextCtrl``.
171
172Added ``wrap.py``, a command line utility for running a wxPython app
173with additional runtime-tools loaded, such as PyCrust (the only tool
174at this point).
175
176Flushed the clipboard Cut/Copy operations so that selections will
177exist in the clipboard even after PyCrust has been closed.
178
179Improved the suppression of docstrings for simple data types appearing
180in the namespace viewer.
181
182Better handling of autocompletion with numeric types; no
183autocompletion when typing a dot after an integer. If the
184autocompletion is desired, type a space before the dot::
185
186 func = 3 .
187
188More Filling!!! The namespace tree is now dynamically updated.
189
190
1910.8.1 (12/20/2002 to 12/25/2002)
192--------------------------------
193
194Improved keyboard handling with Autocomplete active. You can now use
195Enter as well as Tab to select an item from the list.
196
197Disabled autocomplete for lists of 2000 items or more. The current
198implementation of wxSTC can't handle lists this big.
199
200Changed ``filling`` to always display docstrings for objects. This is
201useful for objects whose docstrings have been decorated, rather than
202coming directly from the source code. (Hmmm. Sounds like someone is
203doing some decorating. I wonder where that would be helpful? <wink>)
204
205Fixed handling of icon. Added ``images.py`` file.
206
207
2080.8 (10/29/2002 to 12/16/2002)
209------------------------------
210
211Added "help" to startup banner info.
212
213Made all ``wx`` and ``stc`` imports explicit. No more ``import *``.
214
215Replaced use of the ``wx`` module's ``true`` and ``false`` with
216Python's ``True`` and ``False``.
217
218Changed ``introspect.getRoot()`` to use ``tokenize`` module. This
219does a slightly better job than the previous parsing routine and the
220code is clearer.
221
222Improved handling of whitespace and empty types during introspection.
223
224Fixed cut/copy clipboard problem under Linux. (Robin Dunn rocks!!!)
225
226Added shell.about() which works like this::
227
228 >>> shell.about()
229 PyCrust Version: 0.8
230 Shell Revision: 1.80
231 Interpreter Revision: 1.15
232 Python Version: 2.2.2
233 wxPython Version: 2.3.3.1
234 Platform: linux2
235
236Added copy plus and paste plus to shell menu.
237
238Moved shell menu from ``shell.py`` to ``shellmenu.py``.
239
240Added ``sys.stdin.readlines()`` support.
241
242Added ``time.sleep()`` in ``readline()`` and ``OnIdle()`` event
243handler to free up the CPU.
244
245
2460.7.2 (2/22/2002 to 8/27/2002)
247------------------------------
248
249Tweaked ``getAttributeNames()`` to pick up a few more attributes::
250
251 '__bases__', '__class__', '__dict__', '__name__', 'func_closure',
252 'func_code', 'func_defaults', 'func_dict', 'func_doc',
253 'func_globals', 'func_name'
254
255Added a tests directory and unit tests.
256
257Improved support for empty types in the shell: ``[]``, ``()`` and
258``{}`` as far as when call tips and autocompletion are available.
259
260Added support for the other triple string - ``''''''``.
261
262Refactored ``introspect.py`` to improve testability.
263
264Improved call tips for unbound methods by leaving the "self"
265parameter, since unbound methods require an instance be passed.
266
267Fixed call tip bug where a tip was displayed when a "(" was typed
268after an object that wasn't callable.
269
270Fixed ``getAllAttributeNames`` when ``str(object)`` fails.
271
272Added brace highlighting. (Thank you, Kevin Altis.)
273
274Fixed problem displaying unicode objects in ``PyFilling``.
275
276Changed how ``filling.py`` checks for expandable objects. Lists are
277now expandable objects.
278
279Made the key handling more robust when there is an active text
280selection that includes text prior to the last primary prompt. Thanks
281to Raul Cota for pointing this out.
282
283Fixed wxSTC problem with brace highlighting and non-us keyboards.
284(Thank you for the patch, Jean-Michel Fauth.)
285
286Added ``busy = wxBusyCursor()`` to key points in ``shell`` and
287``filling``.
288
289Added ``OnCloseWindow`` handler to ``ShellFrame`` and ``CrustFrame``.
290
291Default to ``SetWrapMode(1)`` for shell and namespace viewer.
292
293Added ``shell.wrap()`` and ``shell.zoom()``.
294
295Added autoCompleteKeys hooks for Raul Cota.
296
297Cleaned up various little key handling bugs.
298
299Changed input methods to get values from shell, rather than dialog
300boxes. Renamed ``readIn`` to ``readline`` and ``readRaw`` to
301``raw_input``.
302
303
3040.7.1 (12/12/2001 to 2/21/2002)
305-------------------------------
306
307Fixed ``OnChar()`` issues effecting European keyboards, as reported by
308Jean-Michel Fauth.
309
310Fixed ``introspect.py`` issue with xmlrpc objects reported by Kevin
311Altis.
312
313Fixed some introspect/PyFilling issues with regard to Python 2.2.
314
315Fixed font background color as reported by Keith J. Farmer. (Thanks)
316
317Fixed problem with call tips and autocompletion inside multiline
318commands as report by Kevin Altis.
319
320Improved ``OnKeyDown`` handling of cut/copy/paste operations based on
321feedback from Syver Enstad. (Thanks)
322
323Added a ``shell.help()`` method to display some help info.
324
325Changed sort of items in the namespace viewer to case insensitive.
326
327Changed ``attributes.sort(lambda x, y: cmp(x.upper(), y.upper()))`` in
328advance of an upcoming fix to an autocompletion matching bug in wxSTC.
329
330Improved support for ZODB by allowing namespace drilldown into BTrees.
331
332Added ``shell.PasteAndRun()`` to support pasting multiple commands into
333the shell from the clipboard. Ctrl+Shift+V or v.
334
335Enter now always processes a command (or copies down a previous one.)
336To insert a line break, press Ctrl+Enter.
337
338Escape key clears the current, unexecuted command.
339
340History retrieval changed to replace current command. Added new keys
341to insert from history - Shift+Up and Shift+Down.
342
343Better call tips on objects with ``__call__`` methods.
344
345Improved call tip positioning calculation.
346
347
3480.7 (10/15/2001 to 12/11/2001)
349------------------------------
350
351Changed how command history retrieval functions work. Added Alt-P,
352Alt-N as keybindings for Retrieve-Previous, Retrieve-Next.
353
354Added full support for multi-line commands, similar to IDLE.
355
356Changed ``introspect.getAttributeNames()`` to do a case insensitive
357sort.
358
359Changed Cut/Copy/Paste to deal with prompts intelligently. Cut and
360Copy remove all prompts. Paste can handle prompted or not-prompted
361text.
362
363Added ``CopyWithPrompts()`` method attached to Ctrl-Shift-C for those
364times when you really do want all the prompts left intact.
365
366Improved handling of the shell's read-only zone.
367
368Changed ``CrustFrame.__init__`` parameter spec to include all
369parameters allowed by a ``wxFrame``.
370
371Changed ``FillingText`` to be read-only.
372
373Renamed ``PyCrust.py`` to ``PyCrustApp.py`` to eliminate
374package/module name conflicts that kept you from doing ``from PyCrust
375import shell`` inside files located in the ``PyCrust`` directory.
376
377Renamed ``PyFilling.py`` to ``PyFillingApp.py`` and ``PyShell.py`` to
378``PyShellApp.py`` to maintain consistency.
379
380Removed the ``__date__`` property from all modules.
381
382Fixed bug in ``introspect.getCallTip()``, reported by Kevin Altis.
383
384
3850.6.1 (9/19/2001 to 10/12/2001)
386-------------------------------
387
388Changed ``Shell.run()`` to always position to the end of existing
389text, as suggested by Raul Cota.
390
391Changed ``introspect.getAllAttributeNames()`` to break circular
392references in ``object.__class__``, which occurs in Zope/ZODB
393extension classes.
394
395Changed ``filling.FillingTree.getChildren()`` to introspect extension
396classes.
397
398Fixed minor bugs in ``introspect.getCallTip()`` that were interfering
399with call tips for Zope/ZODB extension class methods.
400
401In preparation for wxPython 2.3.2, added code to fix a font sizing
402problem. Versions of wxPython prior to 2.3.2 had a sizing bug on Win
403platform where the font was 2 points larger than what was specified.
404
405Added a hack to ``introspect.getAllAttributeNames()`` to "wake up"
406ZODB objects that are asleep - in a "ghost" state. Otherwise it
407returns incomplete info.
408
409
4100.6 (8/21/2001 to 9/12/2001)
411----------------------------
412
413Added ``PyFilling.py`` and ``filling.py``.
414
415``PyShell.py`` and ``PyFilling.py`` can now be run standalone, as well
416as ``PyCrust.py``.
417
418Added ``crust.py`` and moved some code from ``PyCrust.py`` to it.
419
420Added command history retrieval features submitted by Richie Hindle.
421
422Changed ``shell.write()`` to replace line endings with OS-specific
423endings. Changed ``shell.py`` and ``interpreter.py`` to use
424``os.linesep`` in strings having hardcoded line endings.
425
426Added ``shell.redirectStdin()``, ``shell.redirectStdout()`` and
427``shell.redirectStderr()`` to allow the surrounding app to toggle
428requests that the specified ``sys.std*`` be redirected to the shell.
429These can also be run from within the shell itself, of course.
430
431The shell now adds the current working directory "." to the search
432path::
433
434 sys.path.insert(0, os.curdir)
435
436Added support for distutils installations.
437
438
4390.5.4 (8/17/2001 to 8/20/2001)
440------------------------------
441
442Changed default font size under Linux to::
443
444 'size' : 12,
445 'lnsize' : 10,
446
447Changed ``Shell`` to expect a parameter referencing an Interpreter
448class, rather than an intepreter instance, to facilitate subclassing
449of Interpreter, which effectively broke when the Editor class was
450eliminated.
451
452Fixed ``PyCrustAlaCarte.py``, which had been broken by previous
453changes.
454
455Created ``InterpreterAlaCarte`` class as an example for use in the
456demo.
457
458Split ``PyCrust.py`` into ``PyCrust.py`` and ``PyShell.py`` in
459anticipation of ``PyFilling.py``.
460
461
4620.5.3 (8/16/2001)
463-----------------
464
465Added patch to ``PyCrust.py`` to fix wxPython bug::
466
467 wxID_SELECTALL = NewId() # This *should* be defined by wxPython.
468
469
4700.5.2 (8/14/2001 to 8/15/2001)
471------------------------------
472
473Shortened module names by dropping "PyCrust" as a prefix.
474
475Changed ``version`` to ``VERSION`` in ``version`` module.
476
477Added Options menu to PyCrust application.
478
479Eliminated the Editor class (and editor module) by merging with Shell.
480This means that Shell "is a" wxStyledTextCtrl rather than "has a".
481There just wasn't enough non-gui code to justify the separation.
482Plus, Shell will be much easier for gui toolkits/designers to deal
483with now.
484
485
4860.5.1 (8/10/2001 to 8/14/2001)
487------------------------------
488
489Added ``introspect`` module.
490
491Moved some functionality from ``PyCrustInterp`` to ``introspect``.
492
493Changed ``introspect.getRoot()`` to no longer remove whitespace from
494the command. This was a remnant of a previous approach that, when
495left as part of the current approach, turned out to be a really bad
496thing.
497
498Changed ``introspect.getRoot()`` to allow commands of ``''``, ``""``,
499``""""""``, ``[]``, ``()``, and ``{}`` to pass through. This allows
500you to type them, followed by a dot, and get autocomplete options on
501them.
502
503Changed ``introspect.getRoot()`` to identify some situations where
504strings shouldn't be considered roots. For example::
505
506 >>> import PyCrust # To illustrate the potential problem.
507 >>> len('PyCrust.py')
508
509Typing the dot at the end of "PyCrust" in the second line above should
510NOT result in an autocompletion list because "PyCrust" is part of a
511string in this context, not a reference to the PyCrust module object.
512Similar reasoning applies to call tips. For example::
513
514 >>> len('dir(')
515
516Typing the left paren at the end of "dir" should NOT result in a call
517tip.
518
519Both features now behave properly in the examples given. However,
520there is still the case where whitespace precedes the potential root
521and that is NOT handled properly. For example::
522
523 >>> len('this is a dir(')
524
525and::
526
527 >>> len('This is PyCrust.py')
528
529More code needs to be written to handle more complex situations.
530
531Added ``locals=None`` parameter to ``Shell.__init__()``.
532
533Added support for magic attribute retrieval. Users can change this
534with::
535
536 >>> shell.editor.autoCompleteIncludeMagic = 0
537
538Added the ability to set filters on auto completion to exclude
539attributes prefixed with a single or double underscore. Users can
540exclude one or the other or both with::
541
542 >>> shell.editor.autoCompleteExcludeSingle = 1
543 >>> shell.editor.autoCompleteExcludeDouble = 1
544
545
5460.5 (8/8/2001)
547--------------
548
549Mostly just a final version change before creating a release.
550
551
5520.4 (8/4/2001 to 8/7/2001)
553--------------------------
554
555Changed version/revision handling.
556
557Fixed bugs.
558
559
5600.3 (8/2/2001 to 8/3/2001)
561--------------------------
562
563Removed lots of cruft.
564
565Added lots of docstrings.
566
567Imported to CVS repository at SourceForge.
568
569Added call tips.
570
571
5720.2 (7/30/2001 to 8/2/2001)
573---------------------------
574
575Renamed several files.
576
577Added command autocompletion.
578
579Added menus to PyCrust.py: File, Edit and Help.
580
581Added sample applications: ``PyCrustAlaCarte.py``,
582``PyCrustAlaMode.py``, and ``PyCrustMinimus.py``.
583
584
5850.1 (7/1/2001 to 7/19/2001)
586---------------------------
587
588Added basic syntax coloring much like Boa.
589
590Added read-only logging much like IDLE.
591
592Can retrieve a previous command by putting the cursor back on that
593line and hitting enter.
594
595Stdin and raw_input operate properly so you can now do ``help()`` and
596``license()`` without hanging.
597
598Redefined "quit", "exit", and "close" to display a better-than-nothing
599response.
600
601Home key honors the prompt.
602
603Created SourceForge account, but nothing was posted.
604
605
606In the beginning, there was pie... (7/1/2001)
607---------------------------------------------
608
609Blame it all on IDLE, Boa and PythonWin. I was using all three, got
610frustrated with their dissimilarities, and began to let everyone know
611how I felt. At the same time, Scintilla looked like an interesting
612tool to build a shell around. And while I didn't receive much in the
613way of positive feedback, let alone encouragement, I just couldn't let
614go of the idea of a Scintilla-based Python shell. Then the PythonCard
615project got to the point where they were talking about including a
616shell in their development environment. That was all the incentive I
617needed. PyCrust had to happen...