Skip to content

Commit

Permalink
Move TODO items to github issues
Browse files Browse the repository at this point in the history
  • Loading branch information
RobinD42 committed Apr 19, 2017
1 parent 9067aa1 commit b217b92
Showing 1 changed file with 2 additions and 163 deletions.
165 changes: 2 additions & 163 deletions TODO.rst
Original file line number Diff line number Diff line change
@@ -1,167 +1,6 @@
Phoenix TODO List
=================

This is just a place for me to jot down things as I think of them.
The items are in no particular order, and the fact that something is
on this list does not mean that it will ever actually be done.
Additionally, no meaning should be attached to items being removed
from this file, it could mean that items have been done or just that
I've decided that they will not be done or no longer apply.
TODO items have been moved to github issues at:



WAF Tool
--------

* Update WAF
* Add support for using the cygwin and mingw32 compilers?



Stubs for Optional Classes
--------------------------

In Classic we tend to use empty stubs for classes and etc. that are optional
and not available in a particular build of wxWidgets. That allows the
compilations to succeed without needing to completely eliminate those wrapper
classes, and when a user tries to use one of those classes they would get a
NotImplementedError.

The big downside of that approach was that the stubs had to be maintained by
hand, which is time consuming and error prone. However for Phoenix we have
all the info about the API so we should be able to almost completely automate
the generation of the empty stub code for those classes. ("Almost" because
we'll need to specify which classes to do it for, and what #define flag to
check if the the feature is available in wxWidgets or if the stubs should be
compiled.)



Sphinx tweaks
-------------

The big changes are done, but here are some dangling strings that still need
to be untangled:

* The ``chopDescription()`` function is not very smart. See if it can be made a
little smarter and pull out the first sentence from the docstring instead
of just the first line.

* Convert the main.html page to a ReST file? It would probably make it a
little easier to maintain.

* Set max width of body sections? I think it looks a little nicer that way,
but we'll need to fix the floating and alignment of the sidebar to do
it...

* If a method is renamed it is still in the sorted list of methods at the
position that the original name would have sorted to. Change things to
sort on the pyName.

* The sphinxtools are too aggressive at ignoring content beyond a #. If the
hash happens to be inside a string then syntax related errors can happen.
For example:

def SetColors(self, pen='black', fill='#A0A0A0', fill2='#E0E0E0'):
...




Other Assorted Stuff
--------------------

* Locate and/or add items for the various functions and things in Classic's
_functions.i module.

* Add ETG scripts for these items in Classic's core:

* msgout
* quantize
* dialup ??
* docmdi ??
* docview ??
* persist ??

* Add a _msw module that will contain classes and such that are only
available in the Windows port:

* [done] axbase
* [done] metafile
* [] wxCHMHelpController
* [] access
* [] New activex classes in wx/msw/ole/activex.h ?
* Any others?

* Add the UTF8 PyMethods from classic (see _stc_utf8_methods.py) to StyledTextCtrl

* Reimplement the classes in the valgen, valnum and valtext headers as
Python code, and make them visible in the core wx namespace?

* Should demo/Main.py ignore anything in the version strings after the '-'
when comparing?

* Potential reference count issue with wxGridCellCoordsArray? Code
like this::

theGrid.GetSelectedCells()[0][0]

evaluates to garbage values, but this works fine::

a = theGrid.GetSelectedCells()
a[0]
a[0][0]

* In a Py3 build strings like wx.TreeCtrlNameStr are being generated as
bytes objects, they should probably be string objects. Or not, sip's
default might be best... See ModuleDef.addGlobalStr if I change my mind.

* Check gui_scripts entry points.

* wx.Window.DoEraseBackground?

* Add tests and/or demo for DnD in DataViewCtrl. Since the DnD is done
internally and the DataViewEvent is used for passing the data objects
around we may need to do something to help convert the raw data to python
DataObjects.

* Add meaningful __hash__ methods for wx.Colour, wx.Point, etc.?

* Double-check wx.PyEvent and wx.PyCommandEvent, does the __getattr__,
etc. work with properties? See:
https://groups.google.com/d/msg/wxpython-dev/dMrpaKs_d0U/nVMY7lMvAwAJ

* In test_lib_agw_persist_persistencemanager.py change the tests to be
self-contained instead of some relying on files generated by others. This
won't work if we want to run tests in parallel.

* Port these modules from gizmos in wxCode to a pure-python wx.lib implementation?
* DynamicSashWindow
* LEDNumberCtrl
* SplitTree ??
* TreeListCtrl ?? (We have a treelist ctrl in dataview now)

* The Masked controls modules and demos need some help with Py3 compatibility.

* Migrate from six to python-future? It seems more comprehensive and would
require less conditionals in the code, since you mostly just write
py3-compatible code and py2 compatibility is handled in python-future.

* Add type hinting to the .pyi stub files, as well as @overload decorators
to document the C++ overloaded methods. See https://www.python.org/dev/peps/pep-0484/

* Add doc files for the image handler classes, so we can add wrappers for them.

* Investigate SIP's Mixin annotation for use with wx.ComboPopup class, will
it allow it to be combined with a widget class, giving an is-a
relationship instead of having to use has-a? Docs say that virtual methods
can't be present with the Mixin annotation, so it may not work...

* Add a mapped type for ButtonLabel that converts from a string or stock ID.
See #276.

* Build zips containing the .pdb files for the Windows builds. Figure out
where would be a good place to host them and also tarballs of the wxPython
docs and demo.

* Move these TODOs to issues at github with a TODO label.
https://github.com/wxWidgets/Phoenix/issues

0 comments on commit b217b92

Please sign in to comment.