Fix Graph range return type
[oscopy.git] / ChangeLog
blob199f3eac7adb8ed0a5be79b57709c410b97d1fb1
1 2011-09-11  Arnaud Gardelein <agardelein@yahoo.fr>
3   * ipythonrc-oscopy: Update copyright year
5 2011-08-21  Arnaud Gardelein <agardelein@yahoo.fr>
7   * demo/demo-ngspice.sch: FIXED: ngspice AC simulation
9 2011-08-22  Arnaud Gardelein <agardelein@yahoo.fr>
11   * doc/oscopy-api/dot/cursorinter.dot, doc/oscopy-api/dot/readers.dot,
12   doc/oscopy-api/tex/oscopy-api.tex: API documentation update  Update
13   information on classes, add section on signal update mechanism
15 2011-09-11  Arnaud Gardelein <agardelein@yahoo.fr>
17   * ChangeLog: Add ChangeLog
19   * oscopy/ui.py: Remove _() for Figure action name in windows menu
21 2011-08-13  Adrian Pardini <publico@tangopardo.com.ar>
23   * Makefile.am: Add po to SUBDIRS in Makefile.am
25   * configure.ac: Add intltool and gettext support in configure.ac
27   * po/es.po: updated es.po run "make update-po" and then translated new
28   strings.
30   * ioscopy_app.py, oscopy/__init__.py: Move gettext initialization from
31   __init__.py to ioscopy_app.py
33   * po/es.po, po/es_AR.po: Rename es_AR.po to es.po
35   * po/LINGUAS: Add po/LINGUAS
37   * po/POTFILES.in: Add POTFILES.in
39   * m4/intltool.m4, po/Makefile.in.in: Add files created by intltoolize -c
41   * i18n/es_AR.po, i18n/messages.po, po/es_AR.po, po/messages.po: Rename i18n
42   to po so it matches most of other packages
44 2011-07-23  Arnaud Gardelein <agardelein@yahoo.fr>
46   * oscopy/ui.py: FIXED: support for drag and drop  Use the canvas and
47   Matplotlib LocationEvent to retrieve the Graph that shall receive the Signals
49   * oscopy/signal.py: FIXED: reference signal setting in Signal.__neg__
51 2011-06-26  Arnaud Gardelein <agardelein@yahoo.fr>
53   * oscopy/ioscopy.py: ioscopy.py: inherit help of numpy.ufuncs and nump.fft
54   functions  This is performed by setting __name__ and __doc__ to the original
55   imported functions  And also correct the name of the magic functions in their
56   docstring.
58 2011-06-19  Arnaud Gardelein <agardelein@yahoo.fr>
60   * ipythonrc-oscopy: ipythonrc-oscopy: add a trailing space to the prompt
62   * HACKING, README, configure.ac, doc/Makefile.am, doc/oscopy-api/Makefile.am,
63   doc/oscopy-api/pdf/Makefile.am, doc/oscopy-api/tex/Makefile,
64   doc/oscopy-api/tex/Makefile.am: configure.ac: include oscopy-api in the
65   documentation to be built  And make the lines of README and HACKING no longer
66   than 80 characters.
68 2011-06-18  Arnaud Gardelein <agardelein@yahoo.fr>
70   * Makefile.am, configure.ac, doc/Makefile.am, doc/ioscopy/Makefile.am,
71   doc/ioscopy/pdf/Makefile.am, doc/ioscopy/tex/Makefile.am: configure.ac: add
72   --with-doc option to build ioscopy-manual  which enable "make pdf" to build
73   ioscopy-manual. There is no test to check whether LaTeX is here.
75 2011-06-14  Ivan Stankovic <pokemon@fly.srk.fer.hr>
77   * doc/ioscopy/tex/ioscopy-manual.tex, oscopy/gui/dialogs.py: Update gnetlist
78   default command, fix typos in ioscopy manual  dialogs.py: The newest gnetlist
79   doesn't support the -s option (see the attached patch) ioscopy-manual.tex:
80   found some typos and reworded some places, please see the attached patch
82 2011-06-15  Arnaud Gardelein <agardelein@yahoo.fr>
84   * .gitignore: .gitignore update
86 2011-06-12  Arnaud Gardelein <agardelein@yahoo.fr>
88   * doc/oscopy-api/tex/oscopy-api.tex: Add API dev manual
90   * README: README: fix typo
92 2011-06-11  Arnaud Gardelein <agardelein@yahoo.fr>
94   * demo/demo.sch, doc/ioscopy/png/ioscopy-cursors.png,
95   doc/ioscopy/tex/ioscopy-manual.tex: ioscopy-manual.tex: Add description of
96   cursors usage
98   * doc/ioscopy/png/ioscopy-figure.png, doc/ioscopy/png/ioscopy-insert.png,
99   doc/ioscopy/png/ioscopy-layout.png, doc/ioscopy/png/ioscopy-range.png,
100   doc/ioscopy/png/ioscopy-remove.png, doc/ioscopy/png/ioscopy-scale.png,
101   doc/ioscopy/png/ioscopy-units.png, doc/ioscopy/tex/ioscopy-manual.tex:
102   ioscopy-manual.tex:Add description of Figure window and submenus
104 2011-05-29  Arnaud Gardelein <agardelein@yahoo.fr>
106   * README, TODO, demo/demo.oscopy, doc/ioscopy/png/ioscopy-file.png,
107   doc/ioscopy/png/ioscopy-gui.png, doc/ioscopy/png/ioscopy-netnsim.png,
108   doc/ioscopy/png/ioscopy-small.png, doc/ioscopy/png/ioscopy-window.png,
109   doc/ioscopy/png/ioscopy.png, doc/ioscopy/tex/ioscopy-manual.tex, oscopy.png:
110   ioscopy-manual.tex: Add description of main GUI window, update examples  and
111   remove command "orange reset" until this option is fixed.
113   * oscopy/ui.py: FIXED: Add new math signal from GUI
115 2011-05-22  Arnaud Gardelein <agardelein@yahoo.fr>
117   * doc/ioscopy/tex/ioscopy-manual.tex: ioscopy-manual: add command description
118    Examples are rather basic
120   * doc/ioscopy/dot/.gitignore, doc/ioscopy/out/.gitignore,
121   doc/ioscopy/tex/ioscopy-manual.tex, doc/manual/dot/.gitignore,
122   doc/manual/dot/cursorinter.dot, doc/manual/dot/fileinter.dot,
123   doc/manual/dot/itf.dot, doc/manual/dot/readers.dot,
124   doc/manual/dot/viewinter.dot, doc/manual/dot/writers.dot,
125   doc/manual/out/.gitignore, doc/manual/tex/Makefile,
126   doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex,
127   doc/oscopy-api/dot/.gitignore, doc/oscopy-api/dot/cursorinter.dot,
128   doc/oscopy-api/dot/fileinter.dot, doc/oscopy-api/dot/itf.dot,
129   doc/oscopy-api/dot/readers.dot, doc/oscopy-api/dot/viewinter.dot,
130   doc/oscopy-api/dot/writers.dot, doc/oscopy-api/out/.gitignore,
131   doc/oscopy-api/tex/Makefile, doc/oscopy-api/tex/auto/manual.el: doc: split
132   user manual and api manual
134 2011-05-18  Arnaud Gardelein <agardelein@yahoo.fr>
136   * README: README: update command list according to ioscopy.py
138   * oscopy/ioscopy.py: ioscopy.py: reoder commands by name
140   * README, oscopy/gui/menus.py, oscopy/ioscopy.py, oscopy/ui.py,
141   test/basic.oscopy, test/cursors.oscopy, test/delete.oscopy, test/demo.oscopy,
142   test/destroy.oscopy, test/fft.oscopy, test/figures.oscopy,
143   test/import.oscopy, test/layout.oscopy, test/select.oscopy,
144   test/update.oscopy: Rename ioscopy o_* commands to o*  or remove the
145   underscore in the name. This should improve the typing of the command names
147 2011-05-14  Arnaud Gardelein <agardelein@yahoo.fr>
149   * oscopy/writers/gnucap_writer.py, oscopy/writers/writer.py: *writer.py:
150   update comments
152   * oscopy/readers/reader.py: reader.py: more comment update
154   * demo/demo.sch, oscopy/graphs/__init__.py, oscopy/readers/detect_reader.py:
155   FIXED: removed deprecated dependencies
157   * oscopy/readers/gnucap_reader.py, oscopy/readers/signal_reader.py:
158   *_reader.py: update comments
160   * oscopy/readers/detect_reader.py: detect_reader.py: update comments
162   * oscopy/readers/reader.py: reader.py: update comments
164   * oscopy/graphs/cursor.py: cursor.py: Add description of properties
166 2011-05-08  Arnaud Gardelein <agardelein@yahoo.fr>
168   * oscopy/graphs/cursor.py: cursor.py: update comments
170   * oscopy/graphs/lingraph.py: lingraph.py: update comments
172   * oscopy/graphs/graph.py: graph.py: update comments
174 2011-04-27  Arnaud Gardelein <agardelein@yahoo.fr>
176   * oscopy/context.py, oscopy/figure.py: Figure.py: Update comments  And fix
177   some typos in context.py
179   * oscopy/ioscopy.py: ioscopy: Add magic function that returns the internal
180   Context object
182   * oscopy/__init__.py: FIXED: IPython check on oscopy import Use a exception
183   scheme as reported in
184   
185   and-aliases. This shall fixe issue introduced by 99a99809 on oscopy import
186   from IPython
188 2011-04-12  Arnaud Gardelein <agardelein@yahoo.fr>
190   * README: README: Add comments on numpy.ufuncs and numpy.fft functions
192 2011-04-03  Arnaud Gardelein <agardelein@yahoo.fr>
194   * oscopy/context.py, oscopy/ioscopy.py, oscopy/signal.py: context.py: Update
195   comments  And also minor changes to comments to signals.py and ioscopy.py
197 2011-04-02  Arnaud Gardelein <agardelein@yahoo.fr>
199   * oscopy/signal.py: signals.py: more comments to the code  Define some
200   vocabulary: * Dependency signal * Result signal that depend on the former and
201   Listen for notifications  Use numpy comment style (function description,
202   parameters list, return value)
204   * oscopy/__init__.py: Check if __IPYTHON__ is in globals() rather than
205   testing its value  This fix a bug when oscopy is imported from python
207 2011-03-20  Arnaud Gardelein <agardelein@yahoo.fr>
209   * oscopy/signal.py: signal.py: update comments
211   * test/demo.oscopy: Tune view range for FFT graph
213 2011-03-14  Arnaud Gardelein <agardelein@yahoo.fr>
215   * README, TODO, configure.ac, oscopy/context.py, oscopy/graphs/Makefile.am,
216   oscopy/graphs/fftgraph.py, oscopy/gui/dialogs.py, oscopy/ioscopy.py,
217   oscopy/readers/Makefile.am, oscopy/readers/detect_reader.py,
218   oscopy/readers/math_reader.py, test/demo.oscopy: Cleanup and random fixes 
219   Remove python-vte dependency Remove math_reader and associated code Remove
220   fftgraph and associated code Fix o_siglist in case signal unit is None Update
221   test/demo.oscopy, and add case to show the advantage to use Signal to set
222   unit of computation-based new signal
224 2011-03-13  Arnaud Gardelein <agardelein@yahoo.fr>
226   * ioscopy_app.py: Use symlink to ipythonrc-oscopy
228   * demo/demo.sch, oscopy/ioscopy.py, test/fft.oscopy: Support for
229   Signal-compatible fft functions
231 2011-02-13  Arnaud Gardelein <agardelein@yahoo.fr>
233   * oscopy/ioscopy.py, oscopy/signal.py: Support for Signal-compatible numpy
234   ufunc - binary functions
236 2011-02-11  Arnaud Gardelein <agardelein@yahoo.fr>
238   * TODO, ipythonrc-oscopy, oscopy/ioscopy.py, oscopy/signal.py,
239   test/fft.oscopy: Support for Signal-compatible numpy ufunc - unary functions
241   * ioscopy_app.py: Remove pylab support  This prepare the replacement of pylab
242   by our own Signal-compatible functions
244 2011-02-04  Arnaud Gardelein <agardelein@yahoo.fr>
246   * oscopy/signal.py: FIXED: operations with non-signals  Connect
247   dependency-related event only for Signal-type operands
249 2011-01-31  Arnaud Gardelein <agardelein@yahoo.fr>
251   * TODO, test/cursors.oscopy, test/delete.oscopy, test/destroy.oscopy,
252   test/figures.oscopy, test/layout.oscopy, test/select.oscopy: test/: update
253   test files to new oscopy format o_*  Well, at least the easy ones, need to
254   think a bit about fft and diff examples
256 2011-01-30  Arnaud Gardelein <agardelein@yahoo.fr>
258   * oscopy/ioscopy.py: FIXED: figure mode change
260 2011-01-29  Arnaud Gardelein <agardelein@yahoo.fr>
262   * doc/manual/tex/manual.tex: Manual: Summary update
264 2011-01-22  Arnaud Gardelein <agardelein@yahoo.fr>
266   * oscopy/gui/menus.py: FIXED: Commands from contextual menu
268 2011-01-15  Arnaud Gardelein <agardelein@yahoo.fr>
270   * ioscopy_app.py: Support only python2
272   * README: README update
274 2011-01-10  Arnaud Gardelein <agardelein@yahoo.fr>
276   * ipythonrc-oscopy: Remove ipythonrc-pylab inclusion from ipythonrc-oscopy 
277   As per http://mail.scipy.org/pipermail/ipython-user/2010-June/006972.html
279 2011-01-09  Arnaud Gardelein <agardelein@yahoo.fr>
281   * oscopy/ioscopy.py, oscopy/ui.py: FIXED: crash if DBus is not available
283   * Makefile.am, ioscopy_app.py: Rename executable to oscopy_app, FIXED: Put
284   ipythonrc-oscopy in /home/arnaud/.ipython if not existing.  As oscopy name is
285   already existing in the source directory, executable create from
286   ioscopy_app.py cannot be named 'oscopy' so we use the name 'oscopy_app'. 
287   IPython require the file ipythonrc-oscopy to be present in
288   /home/arnaud/.ipython. We test if this file exist to copy it if needed before
289   launching ipython. ipythonrc-oscopy is located in @datarootdir@/oscopy.
291   * AUTHORS: Update AUTHORS
293 2011-01-07  Arnaud Gardelein <agardelein@yahoo.fr>
295   * Makefile.am, configure.ac, oscopy/Makefile.am, oscopy/__init__.py,
296   oscopy/app.py, oscopy/gui/Makefile.am: Update autotools files  As some files
297   where moves and some are not used anymore, update configure.ac and the
298   Makefile.am accordingly
300 2011-01-02  Arnaud Gardelein <agardelein@yahoo.fr>
302   * oscopy/readers/reader.py, oscopy/readers/signal_reader.py,
303   oscopy/signal.py: Delete debug messages  For dependencies handling
305   * oscopy/readers/signal_reader.py, oscopy/signal.py, test/update.oscopy:
306   Handle dependencies for simple signal operations, part 2  Signals that have
307   multiple dependencies shall emit a 'begin-transaction' only once.
309 2010-12-28  Arnaud Gardelein <agardelein@yahoo.fr>
311   * demo/demo.sch, oscopy/readers/signal_reader.py, oscopy/signal.py,
312   test/update.oscopy: Handle dependencies for simple signal operations
314 2010-12-26  Arnaud Gardelein <agardelein@yahoo.fr>
316   * test/update.oscopy: test/update.oscopy: add power computation signals
318   * ipythonrc-oscopy: Add oscopy.signal.Signal in globals  This allow to
319   directly access 'Signal(...)' instead of 'oscopy.signal.Signal(...)'. Surely
320   there exist a much better way to do it.
322   * oscopy/ioscopy.py: ioscopy.py: After import replace imported signals in
323   globals()
325   * oscopy/context.py, oscopy/ioscopy.py, oscopy/readers/reader.py,
326   oscopy/readers/signal_reader.py, oscopy/signal.py, test/update.oscopy: Handle
327   dependencies during updates for simple assignations  This is done with
328   gobject signaling system and the concept of 'transactions' thanks to Ivan.  A
329   transaction is an event where all data can change, e.g. during an o_update.
330   To avoid multiple recomputation of the same signal during a transaction,
331   Signals that have dependencies record the fact that their dependencies have
332   changed, and at the end of the transaction, once all data is updated they
333   recompute their data.  Implementation: 1. Context object emit a
334   'begin-transaction' event which is propagated in all the Readers and to the
335   Signals. 2. Once all objects know a transaction is ongoing, data is reread
336   from files and Signals are updated. 3. Then Context emit a 'end-transaction'
337   event that is propagated to Readers and to Signals 4. Each Signal that need
338   recomputation is recomputed before it propagate the 'end-transaction' event. 
339   This patch is about to handle dependencies for simple assignations, e.g.
340   assuming demo/ac.dat loaded (see also test/update.oscopy): vo=vout o_import
341   vo o_update On o_import, recomputation operation is stored as a tuple
342   (operator, destination, other_signal) in the argument of a 'recompute' event,
343   which is emitted just before the signal propagate the 'end-transaction'
344   event. For simple assignations, only the part other_signal is used. The tuple
345   is meant to have: destination.data = operator(self.data, other_signal.data)
346   But in the case of simple assignation: self.data = other_signal.data
348 2010-12-18  Arnaud Gardelein <agardelein@yahoo.fr>
350   * oscopy/ioscopy.py: FIXED: import signal
352   * test/update.oscopy: test/update.oscopy updated to ioscopy command format
354 2010-12-12  Arnaud Gardelein <agardelein@yahoo.fr>
356   * oscopy/signal.py: signal: rename first __init__ argument to 'value'  The
357   name 'name' was confusing as the __init__ also can accept a signal as first
358   argument to copy its properties
360   * oscopy/__init__.py, oscopy/ioscopy.py, oscopy/readers/reader.py,
361   oscopy/signal.py: signal: make signal subclass of gobject
363 2010-11-05  Arnaud Gardelein <agardelein@yahoo.fr>
365   * oscopy/context.py, oscopy/ioscopy.py, oscopy/readers/Makefile.am,
366   oscopy/readers/detect_reader.py, oscopy/readers/math_reader.py,
367   oscopy/readers/reader.py, oscopy/readers/signal_reader.py, test/basic.oscopy,
368   test/import.oscopy: Import signals instanciated from outside oscopy  This is
369   performed with a new SignalReader class, context.import_signal and o_import
370   magic function. Dependencies are not handled
372 2010-11-04  Arnaud Gardelein <agardelein@yahoo.fr>
374   * oscopy/ioscopy.py, oscopy/signal.py: signal.py: Comments on the reference
375   signal during math ops.
377 2010-11-03  Arnaud Gardelein <agardelein@yahoo.fr>
379   * oscopy/signal.py: signal: Handle reference signal and freeze in math ops 
380   And fix a typo in constructor
382   * test/demo.oscopy: Remove useless % in test/demo.oscopy
384   * oscopy/ioscopy.py: Fixed typo
386   * ipythonrc-oscopy: Include ipython-pylab at startup
388 2010-06-16  Arnaud Gardelein <agardelein@yahoo.fr>
390   * oscopy/ioscopy.py, oscopy/ui.py, test/demo.oscopy: ioscopy: prefix oscopy
391   magic function with o_
393   * ipythonrc-oscopy: ipythonrc-oscopy: Include ipythonrc
395   * oscopy/context.py, oscopy/ioscopy.py: Update globals with math signals
397 2010-03-19  Ivan Stankovic <pokemon@fly.srk.fer.hr>
399   * test/arith.py: add test for arithmetic operations and iteration
401   * oscopy/signal.py: Signal: support arithmetic and iteration  The units are
402   currently ignored.
404   * oscopy/signal.py: Signal: remove __str__  Using __repr__ gives much better
405   information.
407   * oscopy/signal.py: Signal: show parts of data in __repr__
409 2010-03-17  Ivan Stankovic <pokemon@fly.srk.fer.hr>
411   * oscopy/context.py, oscopy/figure.py, oscopy/graphs/graph.py,
412   oscopy/gui/dialogs.py: remove unnecessary imports
414   * configure.ac: configure.ac: add checks for pygtk and pyvte  Also remove
415   those that we really don't need.
417 2010-03-15  Ivan Stankovic <pokemon@fly.srk.fer.hr>
419   * oscopy/signal.py: Signal: add meaningful __repr__
421 2010-03-14  Ivan Stankovic <pokemon@fly.srk.fer.hr>
423   * oscopy/ui.py: oscopy_ui: use save_config_path instead of load_first_config 
424   save_config_path will create the path if it does not exist
426 2010-06-05  Arnaud Gardelein <agardelein@yahoo.fr>
428   * ipythonrc-oscopy, oscopy/context.py, oscopy/ioscopy.py: ioscopy: update
429   globals() with loaded signals  Need to use a trick through ipythonrc-oscopy
430   to access root-level globals
432 2010-05-30  Arnaud Gardelein <agardelein@yahoo.fr>
434   * demo/demo.sch, oscopy/__init__.py, oscopy/gui/Makefile.am,
435   oscopy/gui/__init__.py, oscopy/gui/dialogs.py, oscopy/gui/menus.py,
436   oscopy/ioscopy.py, oscopy/ui.py, oscopy_app.py, oscopy_gui/Makefile.am,
437   oscopy_gui/__init__.py, oscopy_gui/dialogs.py, oscopy_gui/menus.py,
438   oscopy_ui.py, test/demo.oscopy: ioscopy: include the gui  And remove
439   deprecated oscopy_ui and oscopy_app
441 2010-05-27  Arnaud Gardelein <agardelein@yahoo.fr>
443   * oscopy/ioscopy.py, test/demo.oscopy: ioscopy: use IPythonDemo to exec
444   oscopy scripts  Scripts shoud be modified to put '%' on some commands
446 2010-05-26  Arnaud Gardelein <agardelein@yahoo.fr>
448   * oscopy/ioscopy.py: ioscopy: manage everything through magic functions.  No
449   more references to oscopy.App. This might break do_math, do_exec and do_plot.
451 2010-05-25  Arnaud Gardelein <agardelein@yahoo.fr>
453   * oscopy/ioscopy.py: ioscopy: manage figures directly from magic functions 
454   Avoid using oscopy.App
456 2010-05-18  Arnaud Gardelein <agardelein@yahoo.fr>
458   * ioscopy_app.py, oscopy/__init__.py, oscopy/ioscopy.py, test/demo.oscopy:
459   Support for oscopy magic commands
461 2010-05-08  Arnaud Gardelein <agardelein@yahoo.fr>
463   * ioscopy_app.py, ipythonrc-oscopy, oscopy/__init__.py: Add profile for
464   ipython  and ioscopy_app.py to avoid typing all the command line
466 2010-05-05  Adrian <pardo@onyx.(none)>
468   * i18n/es_AR.po, i18n/messages.po: i18n: updated messages.po and spanish
469   translation
471   * oscopy_ui.py: i18n: un-mark ui actions as candidates for translation. Added
472   missing string.
474   * i18n/es_AR.po: i18n: translations for Spanish
476   * i18n/messages.po: i18n: created messages.po
478   * oscopy_gui/menus.py: i18n: fixed typos and unbalanced parens.
480   * oscopy/app.py, oscopy/context.py, oscopy/figure.py,
481   oscopy/graphs/cursor.py, oscopy/graphs/graph.py, oscopy/readers/reader.py,
482   oscopy/signal.py, oscopy_gui/dialogs.py, oscopy_gui/menus.py, oscopy_ui.py:
483   Mark translatable strings as such. Merge of multiple prints into one where
484   needed.
486   * oscopy/__init__.py: Basic stuff for i18n
488 2010-04-07  Arnaud Gardelein <agardelein@yahoo.fr>
490   * README, demo/demo.oscopy, demo/demo.sch, oscopy/app.py, oscopy_ui.py: Add
491   gschem integration section to README  And fix several path-related bugs to
492   make it work.
494 2010-03-18  Arnaud Gardelein <agardelein@yahoo.fr>
496   * oscopy/app.py: FIXED: crash in do_exec when script is not found
498 2010-03-13  Ivan Stankovic <pokemon@fly.srk.fer.hr>
500   * Makefile.am, configure.ac, scheme/Makefile.am, scheme/oscopy.scm.in:
501   install oscopy.scm into gEDA scheme dir  The script oscopy.scm adds a menu to
502   gschem that allows running/updating oscopy from within gschem. It is
503   generated from oscopy.scm.in by substituting the paths we need for oscopy to
504   run. After 'make install', the user only needs to add  (load-from-path
505   "oscopy.scm")  to her gschemrc.
507 2010-03-10  Arnaud Gardelein <agardelein@yahoo.fr>
509   * README: readme update
511   * Makefile.am, README, autogen.sh, configure.ac: Add autogen.sh and some
512   other files
514   * aclocal.m4, build-tools/compile, build-tools/config.guess,
515   build-tools/config.sub, build-tools/depcomp, build-tools/install-sh,
516   build-tools/ltmain.sh, build-tools/missing, build-tools/py-compile,
517   config.guess, config.h, config.h.in, config.status, config.sub, libtool,
518   m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4,
519   m4/lt~obsolete.m4, stamp-h1: Remove autogenerated files
521   * gschem-plugin/Makefile, gschem-plugin/Makefile.am,
522   gschem-plugin/Makefile.in, gschem-plugin/include/v_oscopy.h,
523   gschem-plugin/src/Makefile, gschem-plugin/src/Makefile.am,
524   gschem-plugin/src/Makefile.in, gschem-plugin/src/v_oscopy.c: Remove
525   gschem-plugin
527 2010-03-07  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
529   * README: readme: info on cursors activation and minor corrections
531 2010-02-28  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
533   * HACKING, README, oscopy/app.py: Documentation update: readme, hacking  And
534   correct help message for read function
536 2010-02-14  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
538   * demo/demo.sch, oscopy/app.py, test/select.oscopy: app: more tests in
539   do_select
541   * gschem-plugin/src/v_oscopy.c: v_oscopy: Support for update requests
543   * config.status, gschem-plugin/include/v_oscopy.h,
544   gschem-plugin/src/Makefile, gschem-plugin/src/Makefile.am,
545   gschem-plugin/src/Makefile.in, gschem-plugin/src/v_oscopy.c, libtool:
546   v_oscopy: Fill argv to run oscopy_ui.py
548 2010-02-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
550   * .gitignore, Makefile.am, aclocal.m4, build-tools/compile,
551   build-tools/config.guess, build-tools/config.sub, build-tools/depcomp,
552   build-tools/install-sh, build-tools/ltmain.sh, build-tools/missing,
553   build-tools/py-compile, config.h, config.h.in, config.status, configure,
554   configure.ac, gschem-plugin/Makefile, gschem-plugin/Makefile.in,
555   gschem-plugin/src/Makefile, gschem-plugin/src/Makefile.in, gui/__init__.py,
556   gui/dialogs.py, gui/menus.py, libtool, oscopy/Makefile.am,
557   oscopy/graphs/Makefile.am, oscopy/readers/Makefile.am,
558   oscopy/writers/Makefile.am, oscopy_app, oscopy_app.py,
559   oscopy_gui/Makefile.am, oscopy_gui/__init__.py, oscopy_gui/dialogs.py,
560   oscopy_gui/menus.py, oscopy_ui, oscopy_ui.py: Support for installing via
561   autotools
563 2010-02-12  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
565   * Makefile.am, aclocal.m4, config.guess, config.sub, configure.ac,
566   gschem-plugin/Makefile, gschem-plugin/Makefile.am, gschem-plugin/Makefile.in,
567   gschem-plugin/aclocal.m4, gschem-plugin/build-tools/compile,
568   gschem-plugin/build-tools/config.guess, gschem-plugin/build-tools/config.sub,
569   gschem-plugin/build-tools/depcomp, gschem-plugin/build-tools/install-sh,
570   gschem-plugin/build-tools/ltmain.sh, gschem-plugin/build-tools/missing,
571   gschem-plugin/config.h, gschem-plugin/config.h.in,
572   gschem-plugin/config.status, gschem-plugin/configure.ac,
573   gschem-plugin/libtool, gschem-plugin/m4/libtool.m4,
574   gschem-plugin/m4/ltoptions.m4, gschem-plugin/m4/ltsugar.m4,
575   gschem-plugin/m4/ltversion.m4, gschem-plugin/m4/lt~obsolete.m4,
576   gschem-plugin/src/Makefile, gschem-plugin/src/Makefile.am,
577   gschem-plugin/src/Makefile.in, gschem-plugin/stamp-h1, libtool,
578   m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4,
579   m4/lt~obsolete.m4, stamp-h1: Move autotools up one level into main dir
581   * .gitignore, test/basic.oscopy, test/cursors.oscopy, test/delete.oscopy,
582   test/destroy.oscopy, test/figures.oscopy, test/layout.oscopy: Add some oscopy
583   test cases, ignore more files
585 2010-02-11  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
587   * gschem-plugin/Makefile, gschem-plugin/Makefile.in,
588   gschem-plugin/build-tools/compile, gschem-plugin/build-tools/config.guess,
589   gschem-plugin/build-tools/config.sub, gschem-plugin/build-tools/depcomp,
590   gschem-plugin/build-tools/install-sh, gschem-plugin/build-tools/ltmain.sh,
591   gschem-plugin/build-tools/missing, gschem-plugin/compile,
592   gschem-plugin/config.guess, gschem-plugin/config.status,
593   gschem-plugin/config.sub, gschem-plugin/configure,
594   gschem-plugin/configure.ac, gschem-plugin/depcomp, gschem-plugin/install-sh,
595   gschem-plugin/libtool, gschem-plugin/ltmain.sh, gschem-plugin/missing,
596   gschem-plugin/src/Makefile, gschem-plugin/src/Makefile.in: Put autoconf files
597   into build-tools dir
599 2010-02-09  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
601   * gschem-plugin/Makefile, gschem-plugin/Makefile.in,
602   gschem-plugin/config.status, gschem-plugin/configure,
603   gschem-plugin/configure.ac, gschem-plugin/include/v_oscopy.h,
604   gschem-plugin/src/Makefile, gschem-plugin/src/Makefile.am,
605   gschem-plugin/src/Makefile.in, gschem-plugin/src/v_oscopy.c, oscopy_ui:
606   plugin: support for running checks  And add dbus_running function to
607   oscopy_ui
609 2010-01-27  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
611   * gschem-plugin/Makefile, gschem-plugin/Makefile.am,
612   gschem-plugin/Makefile.in, gschem-plugin/aclocal.m4, gschem-plugin/compile,
613   gschem-plugin/config.guess, gschem-plugin/config.h,
614   gschem-plugin/config.h.in, gschem-plugin/config.status,
615   gschem-plugin/config.sub, gschem-plugin/configure.ac, gschem-plugin/depcomp,
616   gschem-plugin/include/v_oscopy.h, gschem-plugin/install-sh,
617   gschem-plugin/libtool, gschem-plugin/ltmain.sh, gschem-plugin/m4/libtool.m4,
618   gschem-plugin/m4/ltoptions.m4, gschem-plugin/m4/ltsugar.m4,
619   gschem-plugin/m4/ltversion.m4, gschem-plugin/m4/lt~obsolete.m4,
620   gschem-plugin/missing, gschem-plugin/src/Makefile,
621   gschem-plugin/src/Makefile.am, gschem-plugin/src/Makefile.in,
622   gschem-plugin/src/v_oscopy.c, gschem-plugin/stamp-h1: Add viewer plugins
623   skeleton for gschem
625 2010-01-11  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
627   * oscopy/app.py, oscopy/context.py, oscopy_ui: FIXED: destroy figures
629 2010-01-10  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
631   * oscopy_ui: ui: Use uimanager/actiongroup to add figure in windows menu  And
632   also raise the window on top when menuitem is activated
634   * oscopy/app.py: app: check arguments in destroy()
636 2010-01-07  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
638   * oscopy_ui: ui: initial support for updating through DBus
640 2010-01-06  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
642   * oscopy_ui: ui: activate 'Run net and sim' action upon USR2
644   * oscopy/app.py, oscopy_ui, test/select.oscopy: app: FIXED test arguments of
645   select  And add a note for crosshair cursors
647 2009-12-21  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
649   * oscopy_ui: ui: support to add multiple files from the ui
651 2009-12-18  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
653   * TODO, gui/menus.py: menus: remove one level in contextual menu  Merge
654   figure and graph submenus.
656 2009-12-17  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
658   * oscopy_ui: ui: code reorganisation
660 2009-12-16  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
662   * oscopy_ui: ui: activate quit and exit commands
664 2009-12-15  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
666   * oscopy_ui: ui: add each newly created figure to the windows menu
668 2009-12-05  Ivan Stankovic <pokemon@fly.srk.fer.hr>
670   * oscopy_ui: make 'Show terminal' action a toggle action
672   * gui/dialogs.py, oscopy/app.py: correctly redirect stdout and stderr
674 2009-12-04  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
676   * oscopy_ui: ui: Add Windows menu and move 'Show Terminal' into
678   * oscopy_ui: ui: hide figure window instead of destroying it
680   * oscopy/app.py: app: do not read twice the same file, do not add a graph if
681   the figure is already full
683   * gui/dialogs.py: dialogs: use spin buttons in range dialog
685 2009-12-03  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
687   * gui/dialogs.py: dialogs: FIXED bad scale factor in range dialog
689   * oscopy_ui: ui: expand signal column
691 2009-12-02  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
693   * gui/menus.py: menus: use set_sensitive upon graph selection for figure menu
695   * gui/dialogs.py, gui/menus.py: dialogs: FIXED crash when units dialog is
696   canceled
698   * gui/dialogs.py: dialogs: FIXED use last item in history
700 2009-12-01  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
702   * gui/dialogs.py, oscopy_ui: Make TerminalWindow subclass of gtk.Window, use
703   show/hide methods
705 2009-11-27  Ivan Stankovic <pokemon@fly.srk.fer.hr>
707   * gui/dialogs.py: dialogs: transfer focus from terminal to entry
709   * gui/dialogs.py: dialogs: get rid of tabs
711   * gui/dialogs.py: dialogs: don't duplicate items in the command history list
713 2009-11-17  Ivan Stankovic <pokemon@fly.srk.fer.hr>
715   * gui/dialogs.py, oscopy_ui: dialogs: improve
716   Run_Netlister_and_Simulate_Dialog  Also, refactor configuration
717   loading/saving a bit.
719 2009-11-25  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
721   * oscopy_ui: OscopyAppUI: FIXED strip the line before testing
723 2009-11-24  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
725   * gui/dialogs.py, gui/menus.py, oscopy/__init__.py,
726   oscopy/graphs/__init__.py, oscopy/graphs/graph.py: ui: rework unit window 
727   And add support for setting scale factor from the the unit window
729   * oscopy/app.py, oscopy/graphs/graph.py: Support abbrevs for scaling factor
730   selection
732 2009-11-22  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
734   * oscopy/app.py, oscopy/graphs/graph.py: Support for user selection of
735   scaling factor
737 2009-11-17  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
739   * gui/dialogs.py, gui/menus.py: ui: rework the 'Enter unit' dialog
741 2009-11-12  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
743   * gui/dialogs.py, gui/menus.py, oscopy/graphs/graph.py: dialogs: redesign
744   enter range dialog
746   * oscopy_ui: OscopyAppUI: FIXED an empty line cannot be split
748   * gui/dialogs.py: dialogs: use 'Run from directory'
750   * gui/dialogs.py: dialogs: redesign of dialog 'Run netlister and simulate'
752 2009-11-08  Ivan Stankovic <pokemon@fly.srk.fer.hr>
754   * gui/dialogs.py: Oscopy gui updated  Also, attached is a patch I forgot to
755   put earlier. The patch just changes the widget packing in the 'Run netlister'
756   dialog so that the widgets don't expand vertically when the dialog is
757   resized.  -- Ivan Stankovic, pokemon@fly.srk.fer.hr  "Protect your digital
758   freedom and privacy, eliminate DRM, learn more at
759   http://www.defectivebydesign.org/what_is_drm"
761 2009-11-03  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
763   * oscopy_ui, ui.py: rename ui.py to oscopy_ui
765   * demo/demo.sch, ui.py: ui: save and read history file in the config
766   directory
768   * ui.py: ui: FIXED read config file only if it exists
770   * gui/dialogs.py, oscopy/app.py: app: read history in preloop()  this allow
771   any application like ui to read its proper history independently.
773   * gui/dialogs.py, ui.py: ui: move terminal window code into dialogs
775 2009-11-02  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
777   * ui.py: ui: disable pause command to avoid weird things  sdtin is not
778   redirected therefore pause() would wait for an input into the terminal from
779   where ui.py is launched.
781   * ui.py: ui: support for history in terminal
783   * ui.py: ui: add execute script option in file menu
785 2009-11-01  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
787   * oscopy/__init__.py, oscopy/app.py, ui.py: ui: FIXED support for exec
788   command
790   * ui.py: ui: support to freeze multiple signals from the command line
792   * oscopy/app.py: app: add() use onecmd() to create the first figure when none
793   exist  Instead of using context object. This allow to do callbacks for figure
794   creation.
796   * ui.py: ui: display entered command in terminal
798   * ui.py: ui: support for resfresh command in OscopyAppUI
800 2009-10-31  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
802   * ui.py: ui: create use OscopyAppUI
804   * ui.py: ui: freeze use OscopyAppUI
806   * ui.py: ui: math use OscopyAppUI
808   * gui/dialogs.py, gui/menus.py: ui/menus: graph submenu items use OscopyAppUI
809   to act
811   * gui/menus.py: ui: use OscopyAppUI to change figure layout
813   * gui/menus.py, oscopy/app.py, ui.py: ui: use OscopyAppUI to add and remove
814   graph  Fix also app.select() when last graph is deleted, and app.do_delete()
815   pass an int to graph.delete()
817 2009-10-29  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
819   * ui.py: ui: Disable plot command
821   * gui/dialogs.py, gui/menus.py: FIXED: use __init__ for class contructor 
822   This is not C++!!
824   * ui.py: Initial support for sync between gui and command line app  Derive
825   OscopyApp to add callback capability. Application to read.
827 2009-10-27  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
829   * ui.py: ui: initial support for command line using OscopyApp
831   * oscopy/app.py, ui.py: ui: start OscopyApp from the ui
833   * oscopy/__init__.py, oscopy/app.py, oscopy_app: Put OscopyApp in separate
834   file
836   * ui.py: ui: make terminal window persistent  When user close it, it can be
837   reinvoked by menu action 'Show terminal'
839   * ui.py: ui: redirect standard output in a separate terminal window
841 2009-10-25  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
843   * oscopy_app: Support to provide context object on OscopyApp instanciation
845   * oscopy_app: derive OscopyApp from Cmd
847 2009-10-23  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
849   * oscopy_app: oscopy_app: rename Context attribute to _ctxt
851   * oscopy/graphs/graph.py: graph: do not insert signals twice  If a signal
852   with the same name is already in the graph, reject it.
854 2009-10-21  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
856   * ui.py: ui: DND support for multiple signals selections
858   * ui.py: ui: use treeview selection for DND data get
860   * ui.py: ui: reader freeze toggle all signals freeze
862 2009-10-18  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
864   * ui.py: ui: display reader name in bold
866   * ui.py: ui: remove signal list menu
868   * ui.py: ui: add freeze column to signals window
870 2009-10-16  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
872   * gui/dialogs.py, ui.py: support for directory selection for netlister and
873   simulator runs  Option saved in configuration file.
875   * gui/dialogs.py: dialogs: add default response
877   * ui.py: ui: support for basic configuration file  Save netlister and
878   simulator commandlines
880   * gui/dialogs.py: dialogs: remove useless trailing backslashs
882   * gui/dialogs.py, ui.py: ui: make the actions a class attribute  Store the
883   actions from the dialog Run netlister... as a class attribute to record last
884   entry
886 2009-10-15  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
888   * gui/dialogs.py: Enlarge the Run Netlister... dialog
890   * gui/dialogs.py, ui.py: dialogs: pass commands and checkbutton status to
891   Run_Net...display()
893   * gui/dialogs.py: dialogs: make entries editable depending on toggle buttons
895   * gui/dialogs.py, ui.py: ui: put run netlister... dialog in separate class
897 2009-10-14  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
899   * gui/dialogs.py: gui/dialogs: use table widget for range dialog
901   * gui/dialogs.py, gui/menus.py: gui/menus: put enter range dialog in a
902   separate class
904   * gui/dialogs.py: gui/dialogs: use table widget for enter units dialog
906   * gui/dialogs.py, gui/menus.py: gui/menus: move enter units dialog into
907   separate class
909 2009-10-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
911   * gui/__init__.py, gui/menus.py, ui.py: ui: move figure popup menu creation
912   into gui module
914   * ui.py: ui: avoid the use of self._current_graph in menus
916   * ui.py: ui: use matplotlib button_press_event for figure menu, pass figure
917   and graph as data to menu functions
919   * ui.py: ui: remove useless imports
921 2009-10-08  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
923   * ui.py: ui: initial support for signal drag and drop  DND from signal list
924   treeview to figures
926   * oscopy/context.py, oscopy_app: context.signals return the signal dict
928 2009-10-05  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
930   * demo/demo.sch, ui.py: ui: support for running netlister, simulate and
931   update results
933   * ui.py: ui: support for update on SIGUSR1
935 2009-10-04  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
937   * ui.py: ui: support for signal freeze/unfreeze
939 2009-10-03  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
941   * ui.py: ui: support for user math expressions
943   * demo/demo.sch, ui.py: ui: support for file update
945   * ui.py: ui: support for graph range user input
947   * oscopy/graphs/graph.py: graph: set _xlim and _ylim before returning range
949   * ui.py: ui: support for graph units user input
951 2009-09-30  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
953   * ui.py: ui: support for signals removal from graphs
955   * ui.py: ui: support for graph deletion
957   * ui.py: ui: reorganize figure popup menu and submenus
959   * ui.py: ui: support for figure enter/leave events
961 2009-09-29  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
963   * oscopy/figure.py: FIXED: typo in figure.layout
965   * ui.py: ui: support for layout selection
967   * ui.py: ui: support for multiple graphs per figure
969   * ui.py: ui: use context to create figures
971   * ui.py: ui: use context to read files
973 2009-09-28  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
975   * ui.py: ui: use CheckMenuItem for scale menu items
977   * ui.py: ui: display scale names in menu instead of internal names
979 2009-09-22  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
981   * ui.py: ui: support for scale selection in figure popup menu
983   * ui.py: ui: update for use with figure deriving from matplotlib.figure
985   * demo/demo.oscopy: demo.oscopy: update some commands
987   * oscopy/context.py: context: suppress plot and show functions now useless
989 2009-09-20  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
991   * oscopy_app: oscopy_app: display second since reader updated in siglist
993   * oscopy/context.py, oscopy_app, test/update.oscopy: context, oscopy_app:
994   support for specific reader update  context.update: check canvas presence
995   before updating the figure
997   * oscopy/readers/math_reader.py, oscopy/readers/reader.py, oscopy_app:
998   reader, oscopy_app: support for info dict, last update time
1000   * oscopy/graphs/graph.py: graph: insert only signals with the same Y unit
1002   * oscopy/readers/math_reader.py, test/demo.oscopy: math_reader: deduce new
1003   signal unit from its name
1005 2009-09-19  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1007   * demo/demo.sch, oscopy/context.py, oscopy/graphs/graph.py: graph: rename
1008   update to update_signals
1010   * oscopy/context.py, oscopy_app: oscopy_app, context, reader: let the
1011   application access the readers from context  change oscopy_app to use this
1012   method to display signal list
1014   * oscopy/context.py, oscopy/graphs/graph.py, test/demo.oscopy: FIXED: update
1015   of graphs
1017 2009-09-16  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1019   * oscopy/context.py, oscopy_app: Move gtk code out of the framework.  This
1020   make context independent from the ui.
1022   * oscopy/figure.py, oscopy/graphs/graph.py: Derive graph from
1023   matplotlib.pyplot.axes
1025 2009-09-15  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1027   * oscopy/context.py, oscopy/figure.py: context, figure: comments update
1029 2009-09-14  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1031   * oscopy/figure.py: FIXED: figure: cursors
1033 2009-09-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1035   * demo/demo.sch, oscopy/context.py, oscopy/figure.py, oscopy/graphs/graph.py:
1036   derive figure from matplotlib.pyplot.figure  This break cursors and the pause
1037   command
1039   * oscopy/context.py, oscopy/graphs/graph.py: context: on update, remove
1040   deleted signals from all the graphs of all the figures
1042   * doc/manual/out/.gitignore, doc/manual/tex/manual.tex: Documentation update
1044 2009-09-11  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1046   * oscopy/context.py, oscopy/figure.py, oscopy_app: figure: remove _current
1048   * oscopy/context.py, oscopy_app: context: remove _current
1050   * oscopy/context.py, oscopy/figure.py, oscopy_app: rename context.figs to
1051   context.figures and figure.grafs to figure.graphs, beautify code
1053   * oscopy/context.py, oscopy/figure.py: context, figure: remove the properties
1054   figures and graphs  Now useless since application use direct access
1055   context.figs and figure.grafs to build the list of figures and graphs.
1057   * oscopy_app: oscopy_app: use lists provided by context.figs and figure.grafs
1058    This avoid using the context.figures and figures.graphs.
1060 2009-09-10  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1062   * oscopy/context.py, oscopy/figure.py: context, figure: remove pass-through
1063   properties
1065   * oscopy_app: oscopy_app: access context figures and graphs through lists
1066   properties  Avoid using pass-through to access figures and graph properties
1067   (layout, mode, scale, range, unit)
1069   * oscopy/context.py: context: make names_to_signals public
1071 2009-09-09  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1073   * oscopy_app, test/demo.oscopy: oscopy_app: add support for current figure
1074   and current graph  This prepare the use of direct access to internal list of
1075   figures in context and direct access to internal list of graphs of figures
1077   * oscopy/context.py: context: enable direct access to internal figure list
1079   * oscopy/figure.py: figure: enable direct access to internal graph list
1081   * oscopy_app: oscopy_app: Correct some help messages
1083 2009-09-06  Ivan Stankovic <pokemon@fly.srk.fer.hr>
1085   * ui.py: Add simple GUI application
1087 2009-08-30  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1089   * oscopy/figure.py: figure: add draw() to update the figure
1091   * oscopy/figure.py: figure: Optionnaly pass the matplotlib.figure when to
1092   __init__
1094   * oscopy/figure.py: figure: set only once the key event handler
1096 2009-07-30  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1098   * matplotlibrc: Add matplotlibrc with gtk backend selection
1100 2009-07-24  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1102   * oscopy/graphs/graph.py, test/demo.oscopy: graph: remove() remove the signal
1103   from the plot
1105   * oscopy/graphs/graph.py: graph: plot the signals in insert()
1107   * oscopy/graphs/graph.py: graph: plot the signals in insert()
1109   * oscopy/graphs/graph.py: FIXED: call legend() in plot()
1111   * oscopy/graphs/graph.py, test/demo.oscopy: graph: move the axis range change
1112   from plot() to set_range()
1114   * oscopy/graphs/graph.py: graph: move the axis labels change from plot() to
1115   set_unit()
1117 2009-07-19  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1119   * oscopy/figure.py, oscopy/graphs/graph.py, test/demo.oscopy: graph: move the
1120   scale change from plot() to set_scale()
1122   * oscopy/figure.py, test/demo.oscopy: figure: move layout computation to
1123   set_layout  Instead of computing the layout in plot() before displaying the
1124   figure, the layout is computed in set_layout as soon as it is changed.
1126 2009-07-18  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1128   * oscopy/figure.py, oscopy/graphs/graph.py: figure: pass the axe to the graph
1129   in add instead of plot
1131   * oscopy/context.py, oscopy/figure.py, oscopy/graphs/graph.py, oscopy_app:
1132   Call plt.figure() from Figure
1134 2009-07-12  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1136   * oscopy/context.py, oscopy/figure.py: figure: add list of axes associated
1137   with graphs
1139   * oscopy/graphs/graph.py, test/demo.oscopy: graph: associate signals to their
1140   lines on the plots
1142 2009-06-30  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1144   * oscopy/context.py: FIXED: Context.math() insert the reader into dict
1145   signal_name_to_reader
1147 2009-06-25  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1149   * oscopy/readers/detect_reader.py: FIXED: Try to detected first MathReader to
1150   avoid file not found error when creating a math expression
1152   * oscopy/context.py, oscopy/figure.py: FIXED: crash when deleting a graph due
1153   to type mismatch in figure  Figure accept only an argument of type int and
1154   context provided it with a str.
1156 2009-06-24  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1158   * oscopy/readers/detect_reader.py, oscopy_app: detect_reader: let the
1159   application handle errors
1161   * oscopy/readers/reader.py, test/update.oscopy: FIXED: remove deleted signal
1162   from reader internal dict
1164 2009-06-18  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1166   * TODO, demo/demo.sch, oscopy/figure.py, test/demo.oscopy, test/diff.oscopy,
1167   test/fft.oscopy, test/update.oscopy: Add some handy test files
1169   * oscopy/context.py, oscopy/graphs/fftgraph.py, oscopy_app: Move print
1170   statement away from oscopy/, let the application display the messages
1172   * oscopy/graphs/graph.py, oscopy_app: Move overflow error exception during
1173   plot() to the application
1175   * oscopy/graphs/graph.py, oscopy_app: insert() return the list of signal that
1176   failed to insert
1178   * doc/manual/tex/manual.tex, oscopy/context.py, oscopy/figure.py,
1179   oscopy/graphs/graph.py: insert() return the list of signal that failed to
1180   insert
1182   * doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex,
1183   oscopy/context.py, oscopy/figure.py, oscopy/graphs/graph.py, oscopy_app: Move
1184   figure and graph list output to the application.  The application is in
1185   charge of displaying the figure list, then context.figlist() is changed in
1186   property context.figures, as well as figure.list which become property
1187   figure.graphs. ty figure.graphs.
1189 2009-06-16  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1191   * doc/manual/tex/manual.tex, oscopy/context.py, oscopy_app: context: move
1192   siglist() to property signals
1194 2009-06-15  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1196   * doc/manual/tex/manual.tex, oscopy/context.py, oscopy/readers/reader.py,
1197   oscopy_app: siglist: move data processing to context
1199 2009-06-14  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1201   * doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex,
1202   oscopy/context.py, oscopy/readers/reader.py, oscopy_app:
1203   [context|oscopy_app].siglist(): move print statements to the application
1205 2009-06-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1207   * TODO, doc/manual/tex/manual.tex, oscopy/context.py, oscopy/figure.py,
1208   oscopy_app: context, figure: replace 'select()' with property 'current'
1210   * TODO, doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex,
1211   oscopy/context.py, oscopy_app: context: use property() for range, scale,
1212   unit, layout, mode.
1214 2009-06-11  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1216   * TODO, doc/manual/tex/manual.tex, oscopy/context.py: context: rename private
1217   elements
1219   * oscopy/context.py: context: use assert
1221   * oscopy/context.py: context: use _ for private elements
1223   * doc/manual/tex/manual.tex, oscopy/context.py, oscopy/figure.py: figure: use
1224   property() for mode
1226 2009-06-09  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1228   * doc/manual/tex/manual.tex: manual: use read/write for properties access
1230   * doc/manual/tex/manual.tex, oscopy/figure.py, oscopy/graphs/graph.py:
1231   figure, graph: move properties at the end of the code
1233   * doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex, oscopy/figure.py,
1234   oscopy/graphs/graph.py: figure, graph: use property() for signals, renamed
1235   get_sigs to get_signals
1237 2009-06-08  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1239   * oscopy/context.py, oscopy/figure.py: figure: Use property() for range,
1240   layout and scale of the current graph
1242 2009-06-07  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1244   * oscopy/figure.py: figure: use assert
1246   * oscopy/figure.py: figure: use _ for private elements, add get_layout, use
1247   property for layout
1249   * oscopy/graphs/cursor.py, oscopy/signal.py: signal, cursors: use assert
1251   * oscopy/graphs/graph.py: Graph: use assert
1253   * oscopy/graphs/graph.py: Use dicts to convert between scales names and
1254   functions
1256 2009-06-04  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1258   * doc/manual/tex/manual.tex, oscopy/context.py, oscopy/figure.py,
1259   oscopy/graphs/graph.py, oscopy_app: Graph: add get_range and use property()
1260   for get/set_range
1262   * doc/manual/tex/manual.tex: Doc: moved scale as property of Graph
1264   * oscopy/figure.py, oscopy/graphs/graph.py: Graph: add get_scale and use
1265   property() for get/set_scale
1267 2009-05-30  Ivan Stankovic <pokemon@fly.srk.fer.hr>
1269   * oscopy/Oscopy.py, oscopy/__init__.py, oscopy/context.py, oscopy_app:
1270   Renamed oscopy/Oscopy.py to oscopy/context.py  The Oscopy class is renamed to
1271   Context.
1273   * oscopy/Oscopy.py, oscopy/Writers/DetectWriter.py,
1274   oscopy/Writers/GnucapWriter.py, oscopy/Writers/Writer.py,
1275   oscopy/writers/detect_writer.py, oscopy/writers/gnucap_writer.py,
1276   oscopy/writers/writer.py: Convert writer module names to lowercase
1278   * oscopy/Oscopy.py, oscopy/Readers/DetectReader.py,
1279   oscopy/Readers/GnucapReader.py, oscopy/Readers/MathReader.py,
1280   oscopy/Readers/Reader.py, oscopy/readers/detect_reader.py,
1281   oscopy/readers/gnucap_reader.py, oscopy/readers/math_reader.py,
1282   oscopy/readers/reader.py, oscopy_app: Convert reader module names to
1283   lowercase
1285   * oscopy/Graphs/Cursor.py, oscopy/Graphs/FFTGraph.py, oscopy/Graphs/Graph.py,
1286   oscopy/Graphs/LinGraphs.py, oscopy/figure.py, oscopy/graphs/__init__.py,
1287   oscopy/graphs/cursor.py, oscopy/graphs/fftgraph.py, oscopy/graphs/graph.py,
1288   oscopy/graphs/lingraph.py: Convert graph module names to lowercase
1290   * oscopy/Figure.py, oscopy/Oscopy.py, oscopy/__init__.py, oscopy/figure.py:
1291   Rename oscopy/Figure.py to oscopy/figure.py  Also, import it in __init__.
1293   * oscopy/Graphs/FFTGraph.py, oscopy/Readers/GnucapReader.py,
1294   oscopy/Readers/MathReader.py, oscopy/Signal.py, oscopy/__init__.py,
1295   oscopy/signal.py: Rename oscopy/Signal.py to oscopy/signal.py  Also, import
1296   it in __init__.
1298   * Oscopy/Figure.py, Oscopy/Graphs/Cursor.py, Oscopy/Graphs/FFTGraph.py,
1299   Oscopy/Graphs/Graph.py, Oscopy/Graphs/LinGraphs.py, Oscopy/Oscopy.py,
1300   Oscopy/Readers/DetectReader.py, Oscopy/Readers/GnucapReader.py,
1301   Oscopy/Readers/MathReader.py, Oscopy/Readers/Reader.py, Oscopy/Signal.py,
1302   Oscopy/Writers/DetectWriter.py, Oscopy/Writers/GnucapWriter.py,
1303   Oscopy/Writers/Writer.py, oscopy/Figure.py, oscopy/Graphs/Cursor.py,
1304   oscopy/Graphs/FFTGraph.py, oscopy/Graphs/Graph.py,
1305   oscopy/Graphs/LinGraphs.py, oscopy/Oscopy.py, oscopy/Readers/DetectReader.py,
1306   oscopy/Readers/GnucapReader.py, oscopy/Readers/MathReader.py,
1307   oscopy/Readers/Reader.py, oscopy/Signal.py, oscopy/Writers/DetectWriter.py,
1308   oscopy/Writers/GnucapWriter.py, oscopy/Writers/Writer.py, oscopy_app: Rename
1309   Oscopy/ to oscopy/
1311   * oscopy, oscopy_app: Move file oscopy to oscopy_app
1313 2009-06-04  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1315   * Oscopy/Figure.py, Oscopy/Graphs/Graph.py, Oscopy/Oscopy.py,
1316   doc/manual/tex/manual.tex, oscopy: Graph: add get_range and use property()
1317   for get/set_range
1319   * doc/manual/tex/manual.tex: Doc: moved scale as property of Graph
1321   * Oscopy/Figure.py, Oscopy/Graphs/Graph.py: Graph: add get_scale and use
1322   property() for get/set_scale
1324   * Oscopy/Figure.py, Oscopy/Graphs/Graph.py, doc/manual/tex/auto/manual.el,
1325   doc/manual/tex/manual.tex: Graph: add get_unit and use property() for
1326   get/set_unit
1328 2009-05-31  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1330   * Oscopy/Graphs/Graph.py: Graph: move factor names (old: scnames) to a class
1331   attribute
1333   * Oscopy/Graphs/Graph.py, Oscopy/Graphs/LinGraphs.py,
1334   doc/manual/tex/manual.tex: Graphs: Use property for type
1336 2009-05-30  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1338   * Oscopy/Graphs/Graph.py: Graph: use _ for private elements
1340   * Oscopy/Writers/Writer.py: Writer: remove useless import
1342   * Oscopy/Readers/MathReader.py, oscopy: MathReader: Raise ReadError instead
1343   of printing message
1345   * Oscopy/Writers/GnucapWriter.py, Oscopy/Writers/Writer.py,
1346   doc/manual/dot/writers.dot, doc/manual/tex/manual.tex: Writers: rename
1347   *fmt*() to *format*()  and write_sigs() to write_signals()
1349   * Oscopy/Writers/GnucapWriter.py, Oscopy/Writers/Writer.py: Writers: use _
1350   for private elements
1352   * doc/manual/dot/readers.dot, doc/manual/tex/manual.tex: Readers: rename
1353   read_sigs to read_signals in doc (py files modified in previous patch)
1355 2009-05-29  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1357   * Oscopy/Oscopy.py, Oscopy/Readers/GnucapReader.py,
1358   Oscopy/Readers/MathReader.py, Oscopy/Readers/Reader.py: Readers: use _ for
1359   private elements
1361   * Oscopy/Readers/MathReader.py, TODO, demo/demo.sch: MathReader: Replace exec
1362   by eval, simplify read_sigs
1364 2009-05-26  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1366   * Oscopy/Oscopy.py, Oscopy/Readers/Reader.py, Oscopy/Signal.py: Signal: use
1367   property() for freeze
1369   * Oscopy/Signal.py: Cursors: use property()
1371   * Oscopy/Graphs/Cursor.py, Oscopy/Graphs/Graph.py: Cursors: use property()
1373   * doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex: Doc: Added
1374   Context section
1376 2009-05-23  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1378   * doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex: Doc: updated
1379   figures section
1381   * doc/manual/dot/.gitignore, doc/manual/dot/cursorinter.dot,
1382   doc/manual/out/.gitignore, doc/manual/tex/Makefile,
1383   doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex: Doc: updated
1384   cursors section
1386 2009-05-17  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1388   * doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex: Doc: updated
1389   Graph section
1391   * Oscopy/Readers/GnucapReader.py: FIXED: shift in assignment of data to
1392   signals
1394 2009-04-26  Ivan Stankovic <pokemon@fly.srk.fer.hr>
1396   * Oscopy/Graphs/LinGraphs.py, Oscopy/Readers/GnucapReader.py,
1397   Oscopy/Readers/MathReader.py, Oscopy/Writers/GnucapWriter.py: Remove 'object'
1398   superclass where the base class already inherits from it.
1400   * Oscopy/Readers/GnucapReader.py: GnucapReader: move probes to units mapping
1401   to a class attribute  There's no need to create the same dictionary every
1402   time unit_from_probe is called. It's better (and faster) to just make the
1403   dictionary a class attribute.
1405   * Oscopy/Readers/GnucapReader.py: GnucapReader: use the with statement and
1406   speed up reading a bit  This patch avoids unneeded indexing in the inner loop
1407   and caches append methods which should result in better performance.
1409   * Oscopy/Signal.py: Signal.__str__: handle the case where self.ref is None
1411   * : Remove Oscopy/Cmd.py
1413 2009-05-17  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1415   * TODO, doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex: Doc: Added
1416   Graph section
1418 2009-05-15  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1420   * TODO, doc/manual/dot/readers.dot, doc/manual/dot/writers.dot,
1421   doc/manual/tex/Makefile, doc/manual/tex/auto/manual.el,
1422   doc/manual/tex/manual.tex: Doc: Added Writers section
1424 2009-05-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1426   * doc/manual/dot/fileinter.dot, doc/manual/dot/itf.dot,
1427   doc/manual/dot/readers.dot, doc/manual/dot/viewinter.dot,
1428   doc/manual/tex/Makefile, doc/manual/tex/auto/manual.el,
1429   doc/manual/tex/manual.tex: Doc: Added Reader section
1431 2009-05-11  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1433   * TODO, doc/manual/tex/auto/manual.el, doc/manual/tex/manual.tex: Doc: Added
1434   signal section
1436 2009-05-10  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1438   * .gitignore, doc/manual/tex/Makefile, doc/manual/tex/auto/manual.el,
1439   doc/manual/tex/manual.tex: Doc: added Introduction, user and data interaction
1441 2009-05-03  Ivan Stankovic <pokemon@fly.srk.fer.hr>
1443   * Oscopy/Writers/DetectWriter.py~: Remove Oscopy/Writers/DetectWriter.py~ (a
1444   backup file)
1446   * Oscopy/Writers/DetectWriter.py: DetectWriter: avoid usage of exec
1448   * Oscopy/Oscopy.py, Oscopy/Readers/DetectReader.py: DetectReader: avoid usage
1449   of exec
1451 2009-04-26  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1453   * doc/manual/tex/Makefile, doc/manual/tex/auto/manual.el,
1454   doc/manual/tex/manual.tex: Started doc
1456 2009-04-22  Ivan Stankovic <pokemon@fly.srk.fer.hr>
1458   * .gitignore: Add .gitignore
1460   * Oscopy/Writers/GnucapWriter.py: GnucapWriter: move prefix list computation
1461   to __init__
1463   * Oscopy/Writers/GnucapWriter.py: GnucapWriter: simplify fmt_check by using
1464   the 'all' built-in function
1466   * Oscopy/Writers/GnucapWriter.py: GnucapWriter: simplify write_sigs
1468   * Oscopy/Writers/DetectWriter.pyc, Oscopy/Writers/__init__.pyc: Remove .pyc
1469   files
1471 2009-04-22  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1473   * Oscopy/Graphs/FFTGraph.py, Oscopy/Graphs/Graph.py, Oscopy/Oscopy.py,
1474   Oscopy/Readers/GnucapReader.py, Oscopy/Readers/MathReader.py,
1475   Oscopy/Readers/Reader.py, Oscopy/Signal.py, Oscopy/Writers/GnucapWriter.py:
1476   Switched to managed attributes in Signal: name, unit, ref and data
1478 2009-04-18  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1480   * Oscopy/Graphs/FFTGraph.py, Oscopy/Readers/GnucapReader.py,
1481   Oscopy/Readers/MathReader.py, Oscopy/Signal.py, demo/demo.sch: Removed
1482   self.reader in Signal
1484   * Oscopy/Oscopy.py, Oscopy/Readers/GnucapReader.py,
1485   Oscopy/Readers/MathReader.py, Oscopy/Readers/Reader.py, Oscopy/Signal.py,
1486   TODO, demo/demo.sch: Update through the readers instead through the signals.
1487   Will allow removal of Signal.reader.
1489 2009-04-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1491   * Oscopy/Figure.py, Oscopy/Graphs/Cursor.py, Oscopy/Graphs/Graph.py,
1492   Oscopy/Graphs/LinGraphs.py, Oscopy/Oscopy.py, Oscopy/Readers/GnucapReader.py,
1493   Oscopy/Readers/MathReader.py, Oscopy/Readers/Reader.py, Oscopy/Signal.py,
1494   Oscopy/Writers/DetectWriter.py, Oscopy/Writers/DetectWriter.pyc,
1495   Oscopy/Writers/GnucapWriter.py, Oscopy/Writers/Writer.py, oscopy: PEP8
1496   Compliance: empty sequences comparison, exception classes derived from
1497   Exception, classes derived from object. Added validate_expr to MathReader
1499   * Oscopy/Figure.py, Oscopy/Graphs/Graph.py, Oscopy/Readers/GnucapReader.py,
1500   Oscopy/Readers/MathReader.py, Oscopy/Readers/Reader.py, Oscopy/Signal.py,
1501   Oscopy/Writers/GnucapWriter.py, Oscopy/Writers/Writer.py, oscopy: PEP8
1502   compliance: remove space around = in default args, added _ in names and made
1503   MathReader.read_sigs more readable
1505 2009-04-12  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1507   * Oscopy/Cmd.py, Oscopy/Oscopy.py, oscopy: Separated application from
1508   framework: application is OscopyApp in oscopy, framework in Oscopy/
1510 2009-04-07  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1512   * Oscopy/Writers/GnucapWriter.py: Made GnucapWriter.writesigs() more readable
1514 2009-04-05  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1516   * Oscopy/Cmd.py, Oscopy/Figure.py, Oscopy/Graphs/Graph.py, Oscopy/Oscopy.py,
1517   Oscopy/Readers/DetectReader.py, Oscopy/Signal.py,
1518   Oscopy/Writers/DetectWriter.py, Oscopy/Writers/DetectWriter.pyc,
1519   Oscopy/Writers/Writer.py: PEP8 Compliance: use isinstance() to check args
1520   type
1522 2009-03-31  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1524   * Oscopy/Cmd.py, Oscopy/Figure.py, Oscopy/Graphs/Cursor.py,
1525   Oscopy/Graphs/Graph.py, Oscopy/Oscopy.py, Oscopy/Readers/DetectReader.py,
1526   Oscopy/Readers/MathReader.py, Oscopy/Signal.py,
1527   Oscopy/Writers/GnucapWriter.py, oscopy: PEP8 Compliance: use is or is not to
1528   compare None
1530 2009-03-22  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1532   * demo/demo.oscopy: Enabled pause command in demo.oscopy
1534   * demo/demo.oscopy: Enabled pause and second plot commands in demo.oscopy:
1535   demo for update command
1537   * Oscopy/Readers/MathReader.py, README, TODO, demo/demo.oscopy: Documentation
1538   update, code cleanup
1540 2009-03-20  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1542   * Oscopy/Readers/MathReader.py: Support for diff() in math expression
1544 2009-03-19  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1546   * Oscopy/Figure.py, Oscopy/Oscopy.py: Removed [I]FFT graph modes
1548   * Oscopy/Oscopy.py, Oscopy/Readers/MathReader.py: Added support for FFT in
1549   math expression. This overcome a problem with cursors scale factor in
1550   FFTGraphs. The two classes FFTGraph and IFFTGraph need to be removed.
1552 2009-03-18  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1554   * Oscopy/Figure.py, Oscopy/Graphs/Cursor.py: FIXED: Do not draw cursor if
1555   outside graph limits
1557 2009-03-15  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1559   * Oscopy/Cmd.py, Oscopy/Figure.py, Oscopy/Graphs/Graph.py, Oscopy/Oscopy.py,
1560   demo/demo.oscopy: Renamed get_toplot in Cmds and Figure, Optimisation of
1561   scaling in Graph.plot()
1563   * Oscopy/Figure.py: FIXED: In Figure.set_mode() overwrite old graph with new
1564   one
1566   * Oscopy/Oscopy.py, oscopy: Moved main loop into Oscopy class
1568   * Oscopy/Cmd.py, Oscopy/Graphs/FFTGraph.py, Oscopy/Graphs/Graph.py,
1569   Oscopy/Readers/GnucapReader.py, Oscopy/Readers/MathReader.py,
1570   Oscopy/Readers/Reader.py, Oscopy/Signal.py, Oscopy/Writers/DetectWriter.pyc,
1571   Oscopy/Writers/GnucapWriter.py, Oscopy/Writers/__init__.pyc: Signal.py:
1572   Renamed pts to data
1574   * Oscopy/Cmd.py, Oscopy/Figure.py, Oscopy/Graphs/Cursor.py,
1575   Oscopy/Graphs/FFTGraph.py, Oscopy/Graphs/Graph.py,
1576   Oscopy/Graphs/LinGraphs.py, Oscopy/Oscopy.py, Oscopy/Readers/GnucapReader.py,
1577   Oscopy/Readers/MathReader.py, Oscopy/Readers/Reader.py, Oscopy/Signal.py,
1578   Oscopy/Writers/DetectWriter.pyc, Oscopy/Writers/GnucapWriter.py,
1579   Oscopy/Writers/Writer.py, Oscopy/Writers/__init__.pyc: Renamed getxxx and
1580   setxxx to get_xxx and set_xxx, renamed findscalefact find_scale_factor
1582 2009-03-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1584   * Oscopy/Graphs/Cursor.py, Oscopy/Graphs/Graph.py: Put Cursor class in
1585   separate file
1587   * Oscopy/Cmd.py, Oscopy/Figure.py, Oscopy/Graphs/FFTGraph.py,
1588   Oscopy/Graphs/Graph.py, Oscopy/Oscopy.py, TODO, demo/demo.oscopy: Support for
1589   cursors: keys 1, 2, 3 and 4 to toggle during plot.
1591 2009-02-24  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1593   * Oscopy/Cmd.py, Oscopy/Figure.py, Oscopy/Readers/MathReader.py, README,
1594   demo/demo.oscopy: Doc update
1596   * Cmd.py, Figure.py, Graphs/FFTGraph.py, Graphs/Graph.py,
1597   Graphs/LinGraphs.py, Oscopy/Cmd.py, Oscopy/Figure.py,
1598   Oscopy/Graphs/FFTGraph.py, Oscopy/Graphs/Graph.py,
1599   Oscopy/Graphs/LinGraphs.py, Oscopy/Oscopy.py, Oscopy/Readers/DetectReader.py,
1600   Oscopy/Readers/GnucapReader.py, Oscopy/Readers/MathReader.py,
1601   Oscopy/Readers/Reader.py, Oscopy/Signal.py, Oscopy/Writers/DetectWriter.py,
1602   Oscopy/Writers/DetectWriter.pyc, Oscopy/Writers/DetectWriter.py~,
1603   Oscopy/Writers/GnucapWriter.py, Oscopy/Writers/Writer.py,
1604   Oscopy/Writers/__init__.pyc, Readers/DetectReader.py,
1605   Readers/GnucapReader.py, Readers/MathReader.py, Readers/Reader.py, Signal.py,
1606   TODO, Writers/DetectWriter.py, Writers/DetectWriter.pyc,
1607   Writers/DetectWriter.py~, Writers/GnucapWriter.py, Writers/__init__.pyc,
1608   demo.sch, demo/demo.oscopy, demo/demo.sch, demo/irf540n.sub, irf540n.sub,
1609   oscopy, test/nofig.oscopy: Files cleanup: moved source files in Oscopy/,
1610   example files in demo/, test files in test/. FIXED: Check permissions before
1611   writing file
1613 2009-02-20  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1615   * Cmd.py, Figure.py: Code cleanup: use alias for curfig in Cmd and curgraph
1616   in Figure instead of counter
1618 2009-02-19  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1620   * Cmd.py, demo.sch, oscopy: Support for pause command, cosmetic changes
1622 2009-02-18  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1624   * oscopy: Support for batch mode i.e. read commands from file, support for
1625   command line arguments
1627 2009-02-17  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1629   * oscopy: Support for echo command, support for comments lines beginning with
1630   '#'
1632 2009-02-16  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1634   * Cmd.py, oscopy: Moved command line interface analysis away from Cmd, now in
1635   separate application class
1637 2009-02-15  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1639   * README: Documentation update
1641 2009-02-14  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1643   * Cmd.py, Writers/DetectWriter.py, Writers/DetectWriter.pyc,
1644   Writers/GnucapWriter.py: Put GnucapWriter in distinct file
1646 2009-02-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1648   * Cmd.py, Figure.py, Graphs/Graph.py: Support for changing axis range
1650 2009-02-11  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1652   * Cmd.py: Support for options in Write
1654 2009-02-09  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1656   * Cmd.py, Graphs/LinGraphs.py, Readers/DetectReader.py,
1657   Readers/GnucapReader.py, Readers/MathReader.py, Readers/Reader.py, TODO,
1658   Writers/DetectWriter.py, Writers/DetectWriter.pyc, Writers/DetectWriter.py~,
1659   Writers/__init__.pyc: Support for data export, support for gnucap format
1661 2009-02-01  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1663   * Cmd.py, Figure.py, Graphs/FFTGraph.py, Graphs/Graph.py,
1664   Graphs/LinGraphs.py, Graphs/LogGraphs.py, Signal.py, TODO: Support for scale
1665   command which deprecate ...Log... classes. Removed those classes
1667   * Cmd.py, Figure.py, Graphs/Graph.py: Support for scale command: set the axis
1668   scale (lin, logx, logy, loglog). Replacement for definitions of Logx...,
1669   Logy... and LogLog... graphs
1671   * Axe.py, Examples.py, FFTGraph.py, Figure.py, Graph.py, Graphs/FFTGraph.py,
1672   Graphs/Graph.py, Graphs/LinGraphs.py, Graphs/LogGraphs.py, LinGraphs.py,
1673   LogGraphs.py: Moved all graphs into single module
1675   * Cmd.py: Command load renamed to read
1677   * Cmd.py, Figure.py, Graph.py, Readers/MathReader.py, TODO: Support for
1678   setting graph units
1680 2009-01-31  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1682   * Readers/MathReader.py: Support for floating point numbers in math
1683   expressions
1685   * Readers/MathReader.py: Support for Time and Freq in math expressions, e.g.
1686   v1=cos(Time(vsqu)*1000000)
1688   * Readers/MathReader.py, Signal.py: Store points of signals in numpy.array
1689   instead of list. Updated MathReader in this way
1691   * Cmd.py, Readers/GnucapReader.py, Readers/MathReader.py, demo.sch: Use
1692   setpts/getpts in MathReader, small bugfixes
1694 2009-01-28  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1696   * Readers/MathReader.py, oscopy: FIXED crash when entering unknown command
1698   * Readers/MathReader.py: FIXED use of math functions in MathReader.
1700 2009-01-25  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1702   * Readers/MathReader.py, Readers/Reader.py, TODO: Doc update update
1704   * Cmd.py, Readers/MathReader.py, Readers/Reader.py: MathReader: support for
1705   update, support for calling existing math signals
1707   * Readers/MathReader.py: Can get a list of unknown names in MathReader
1709 2009-01-24  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1711   * Cmd.py, Signal.py, demo.sch: Support for freezing signal, i.e. update or
1712   not
1714   * Cmd.py, Figure.py, README, Readers/Reader.py, Signal.py, TODO, demo.sch:
1715   Changed update mechanism: update from signal list instead of reader list in
1716   Cmd
1718 2009-01-14  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1720   * Cmd.py: FIXED: typo preventing use of maths
1722 2009-01-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1724   * Cmd.py, FFTGraph.py, Graph.py, Readers/GnucapReader.py, Signal.py, TODO:
1725   Use methods to access attributes of Signal
1727 2009-01-11  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1729   * Cmd.py, Readers/DetectReader.py, Readers/MathReader.py, TODO, oscopy: Use
1730   hasattr/callable instead of isinstance
1732   * Figure.py: FIXED insert/remove in first graph of figures
1734   * Cmd.py, FFTGraph.py, Figure.py, Graph.py, LinGraphs.py, LogGraphs.py,
1735   Readers/GnucapReader.py, Readers/MathReader.py, Signal.py, TODO, oscopy:
1736   Replaced from ... import * by import ...
1738   * DetectReader.py, Readers/DetectReader.py: Replaced from ... import * by
1739   import ...
1741 2009-01-10  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1743   * Cmd.py, DetectReader.py, GnucapReader.py, MathReader.py, Reader.py,
1744   Readers/GnucapReader.py, Readers/MathReader.py, Readers/Reader.py, demo.sch,
1745   oscopy: Support for autodetection of file format via ReaderDetect()
1747 2009-01-06  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1749   * GnucapReader.py, MathReader.py, Reader.py, TODO: Added TODO, comment update
1751   * : Added TODO, comment update
1753   * GnucapReader.py, Reader.py, demo.sch: Delete signals if file is not found
1754   anymore when updating
1756 2009-01-04  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1758   * Cmd.py: Remove old name reference
1760   * Cmd.py: Help message update
1762   * oscopy: Fixed bug when no hist file exist
1764 2009-01-03  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1766   * FFTGraph.py, MathReader.py: Added some important untracked files, and usage
1767   warning
1769   * README, Reader.py, demo.sch, irf540n.sub, oscopy, oscopy.png: Documentation
1770   update, screenshot, code cleanup, demo for irf540
1772   * Cmd.py, Figure.py, Graph.py: Display a * in figlist for current fig/graph.
1773   Some code clean up, replace None by {} for sigs
1775   * Graph.py, README, demo.sch: Support for absolute unit, documentation update
1777 2009-01-02  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1779   * BaseGraph.py, Figure.py, Graph.py, LinGraph.py, LinGraphs.py, LogGraphs.py:
1780   Name change: BaseGraph->Graph
1782   * Cmd.py, GnucapReader.py, Reader.py, oscopy: Name changes: scope->oscopy,
1783   ReaderBase->Reader, loadfile->read, getsiglist->readsigs
1785   * Reader.py, ReaderBase.py, oscopy, scope.py: Name changes: scope->oscopy,
1786   ReaderBase->Reader, loadfile->read, getsiglist->readsigs
1788 2009-01-01  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1790   * BaseGraph.py, GnucapReader.py, Signal.py: Support for units
1792   * BaseGraph.py, Cmd.py, Figure.py, LinGraph.py, LogGraphs.py, Signal.py:
1793   Moved support for fft and ifft in separate classes than BaseGraph.
1795 2008-12-31  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1797   * BaseGraph.py: Support for scale factors : from atto to Exa
1799 2008-12-29  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1801   * BaseGraph.py, Figure.py, README: Documentation update, code clean up,
1802   bugfix for xlabel when fft or ifft mode enable
1804   * Figure.py: Select graph# now start from 1 instead of 0 to keep coherence
1805   with figures#, i.e. 'select 4,2' to select the second graph of the fourth
1806   figure
1808 2008-12-28  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1810   * BaseGraph.py, Cmd.py, Figure.py, ReaderBase.py: Code cleanup in update
1811   functions, bugfix in Figure.__init__(), remove Cmd.setplot()
1813 2008-12-27  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1815   * BaseGraph.py: Support for overflow exception in plot
1817   * Cmd.py: In add, call create when no figure exist
1819 2008-12-26  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1821   * BaseGraph.py: Support for legend in graphs
1823   * Cmd.py: Fixed: update all readers
1825   * Cmd.py: Support for graph selection
1827   * Cmd.py, Figure.py, LogGraphs.py, LogxGraph.py: Support for logy and loglog
1828   graph. All log graphs gathered in LogGraphs.py
1830   * BaseGraph.py, Cmd.py, Figure.py, scope.py: Support for basic mathematical
1831   expressions (MathReader), support for fft/ifft mode for graphs
1833 2008-12-22  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1835   * Cmd.py, GnucapReader.py, ReaderBase.py, Signal.py, scope.py: Support for
1836   mathematical expressions, basics
1838 2008-12-21  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1840   * GnucapReader.py, ReaderBase.py: Doc update
1842 2008-12-20  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1844   * BaseGraph.py, Cmd.py, Figure.py: Sort the function into the classes
1846   * BaseGraph.py, Cmd.py, Figure.py, README: Naming convention change: type to
1847   mode fro graphs
1849   * BaseGraph.py, Cmd.py, Figure.py, README: Updated to mach vocabular (See
1850   README). Signals can be inserted into and removed from Graphs
1852 2008-12-16  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1854   * BaseGraph.py, Cmd.py, Figure.py, Graph.py, LinGraph.py, LogxGraph.py,
1855   README: Added possibility to change type of graph, here linear and logx
1857 2008-12-14  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1859   * Cmd.py: Renamed delfromfig to remove, to meet inverse of 'add'
1861   * AUTHORS, LICENSE, README: Added README, AUTHORS, LICENSE
1863 2008-12-13  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1865   * Cmd.py: Added help command
1867   * Cmd.py: Help support for user commands
1869 2008-12-12  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1871   * Cmd.py, Figure.py, Graph.py, ReaderBase.py: Handle the update command
1873 2008-12-08  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1875   * Cmd.py, Figure.py: Comments in Cmd, figlist more verbose
1877   * : Deleted ExceptError.py
1879   * ExceptErrors.py, GnucapReader.py, ReaderBase.py: More comments, moved
1880   FileLoadError into ReaderBase
1882 2008-12-07  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1884   * GnucapReader.py, ReaderBase.py, Signal.py: Commented more files
1886   * Signal.py: More comments, again
1888   * Figure.py, Graph.py: More comments
1890   * Figure.py, Graph.py: Moved calls to plot from Figure into Graph
1892   * Cmd.py, Figure.py: Renamed mode to layout
1894   * Figure.py: setgraph to select
1896   * Figure.py: Added a bunch of comment
1898 2008-12-04  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1900   * Figure.py: Figure.delete() handle self.curgraph
1902 2008-12-03  Arnaud Gardelein <agard@nostalgia-for-infinity.(none)>
1904   * Cmd.py: Cosmetic change
1906   * Cmd.py: Cmd.delete: handle self.curfig
1908   * Cmd.py, Figure.py: Cmd.new(): handle calls from either command line or
1909   function
1911 2008-12-01  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1913   * Cmd.py, Figure.py, Graph.py: Before git migratio
1915 2008-11-26  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1917   * Cmd.py, Figure.py: Can now remove graph from a figure
1919   * Cmd.py, Figure.py: Added figure mode selection (horiz, vert, quad)
1921 2008-11-23  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1923   * Signal.py: Avoid nasty bug: remove Signal attributes from class declaration
1925   * Graph.py: Corrected bug in Graph.__str__()
1927   * Cmd.py, Figure.py, Graph.py, Signal.py: Plot 1, 2 or 4 subplots
1929 2008-11-22  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1931   * Cmd.py, Figure.py, Signal.py: Added basic plot functionality
1933   * GnucapReader.py, Signal.py: Signal.__str__ display first point now, avoid
1934   mixing readline and 'for in f' for reading files
1936   * Cmd.py, ReaderBase.py: Use reader dict in cmd, code clean up
1938   * Cmd.py, GnucapReader.py, ReaderBase.py, Signal.py: Added update command
1940   * BaseFileType.py, Cmd.py, GnucapReader.py, ReaderBase.py, Signal.py: Moved
1941   to Reader-style objects, code cleanup
1943 2008-11-20  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1945   * Cmd.py, Gnucap.py, GnucapReader.py: Renamed Gnucap to GnucapReader
1947 2008-11-19  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1949   * BaseFileType.py, Cmd.py, Figure.py, Gnucap.py, Graph.py, Signal.py,
1950   scope.py: Can now fill Signals from file at Gnucap format
1952 2008-11-16  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1954   * Axe.py, Figure.py, Graph.py: Added Axe, Figure and Graph
1956   * scope.py: Adapted for class mode of Cmd
1958   * Cmd.py: Switch to class, added list, new, siglist
1960   * Signal.py: Added __str__ capability
1962 2008-11-12  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1964   * Examples.py, scope.py: Evaluate the commands directly
1966   * BaseFileType.py, Gnucap.py: Added a BaseFileType class for stuff common to
1967   all file formats
1969   * ExceptErrors.py, Gnucap.py: ExceptErrors in separate module
1971   * Gnucap.py, scope.py: Added file error handling in Gnucap module
1973   * Cmd.py, Examples.py, Gnucap.py, Signal.py, scope.py: Splitted main file
1974   into modules
1976   * scope.py: Added some examples
1978 2008-11-09  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1980   * scope.py: Added history capabilities, ctrl-d handling, loadfile and
1981   getsiglist
1983 2008-11-08  arnaud <arnaud@32bf8dbd-83d1-42db-b63b-6d92709ef060>
1985   * scope.py: Initial import