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