[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: wxPCB Goals




I have mentioned wxPCB here a few times, so I thought I'd spell out my
goals so it does not seem like the TCL fork that seems to have taken many by
surprise.

Has DJ has mentioned he is working on separating the GUI from the logic
of PCB, with the goal being able to use different GUI's.

My GUI of choice is wxWidgets, http://www.wxwidgets.org/ , for two reasons.
One reason is that I use it regularly in my day job so I am familiar with it.

The other reason for choosing wxWidgets is that it is cross platform compatible.
To that end the main goal of wxPCB is to create a version of PCB that will run natively
on Windows, without requiring X or anything else foreign to Windows.

The cross platform compatibility lets me develop wxPCB on my home Linux box, as well as
cross compile with Mingw32 for Windows.  As an aside I have crossed compiled Mingw Windows
code and run it under the WINE emulator.  Doing this has an advantage that if you have WINE
installed you can run wxPCB without getting into any kind of "dependency hell" as we have
seen problems with here on the list.

A secondary side of effect of using wxWidgets is that wxPCB should run on the MAC and the
PocketPC.  I don't have the hardware to test those, does anyone here?  While only a
masochist is going to do a PCB layout on a PocketPC, I see that platform valuable for field
service work.  Have you every needed to check a PCB layout while stuck in a coal mine doing
field service work?  I have, you don't want to do it.

Here is my prioritized list of goals and status:

* Use DoxyGen to document all code and manuals.  http://www.doxygen.org/
On Going.

* Implement basic frame work.
Done.  Since under Linux wxWidgets uses wxGTK
it looks a lot like the GTK port of PCB now.  I did make one change in that
I made a pull-down-menu under the mode buttons to select the grid size, of
both Metric and Imperial units

* Implement 'Help' sub-system code.
Done.

* Implement the 'Help' text itself.
On going.
Need to find the most accuretet and uptodate PCB documentation.
Suggestions?

* Implement load/save of keyboard bindings at run time.
In process.
http://wxcode.sourceforge.net/components/keybinder/

* Implement autoupdate to update wxPCB and support files
from wxPCB web site.
http://sourceforge.net/forum/forum.php?forum_id=510716

* Implement browsable footprint library based on thumbnails.
John Luciani has graccisuly allowed me to use his foot print library.
It is implemented within wxPCB as a virtual filesystem containted with a .ZIP file.
This gets around cross platform issues with symbolic links.  XP does have symbolic links
called 'Junctions' but few know of them or use them.
Will have to create thumbnails of M4. Yuck. :-(

* Implement Internationalization (I18N) and Localization (L10).
In the short term wxPCB uses the native wxWidgets GetText, in the very long term
I want to move to ICU.

The GNU GetText project deals with translation.
http://www.gnu.org/software/gettext/

Use http://www.poedit.org/ to implement the catalogs.

The IBM ICU project deals with everything.
http://www.ibm.com/software/globalization/icu/

* Implement a set of abstract classes to add script-interpreter support.
The implementation of these interfaces for the Lua, Python, UnderC and CINT interpreters etc.
http://wxcode.sourceforge.net/components/wxscript/

* Designator renumbering and back-annotation to gschem files.

* BOM generator.

* Automatic creation of Web site ready output files.

* Ability to run other gEDA programs such as gschem as transparently as possible,
as not to confuse Windows people.  [This one is at the bottom because there
is not a gschem for Windows yet, otherwise it would be higher on the list.]

* Do something useful with http://www.wxpcb.com/ .