Menu

SVN-temp Commit Log


Commit Date  
[r1040] by knut_f

- Implemented hiding of Aspects.

- Reduced usage of child indices in AbstractAspect's API, in order to avoid
confusion about whether index counting includes hidden children; hopefully
the new methods make it very clear how children are counted (by virtue of
an IncludeHidden flag and a template argument for only counting children
inheriting from a particular class).

- Removed redundant AbstractAspect signals and rewrote others to avoid indices.

- Major changes to Table and TableModel:

Q: Why do we need those strange completeAspectInsertion() and
prepareAspectRemoval() anyway? Do we really have to bother everyone reading
the code with figuring out their relation to aspectAdded() and
aspectAboutToBeRemoved()?
A: They were needed in order to reconcile existing Table code with the new
idea of handling Columns as Aspect children of Table.

In other words, this was a hack. The real problem is that we implemented the
same functionality twice. I've come to see Table as a kind of specialized
container object for Aspects, somewhat similar to Folder. I.e., instead of
duplicating AbstractAspect's child management in Table, simply _define_ the
table's columns to be all AbstractAspect children inheriting from Column.
This should also further emphasize the columns-as-objects concept and
discourage usage of column indices where they can be avoided. This paradigm
shift is supplemented by the new template methods in AbstractAspects, which
can later also be used in our plotting engine (e.g., for managing the curves
in a graph - so we don't need to write any undo-aware management of curves/
text labels/lines/whatever).

So, the (drastic) solution I've come up with here consists of
- removing Table::Private, tablecommands and parts of Table
- moving handling of the column's signals (which were more or less duplicated
by Table signals) as well as management of header data to TableModel
- moving handling of column widths to Column

A point that's not yet clear to me is in what sense an empty table can/should
be said to have an attribute "number of rows". Possibly Table could remember
the result of rowCount() for the last non-empty state, although I don't think
this needs to be undo aware or persistent.

- Misc minor improvements, like const declarations.

2009-02-06 20:39:14 Tree
[r1039] by thzs

- merged rev. 1038 from current_stable:
"fixed bug 2572142: Error bars connection line incorrect for small errors"

2009-02-06 11:35:13 Tree
[r1038] by thzs

- fixed bug 2572142: Error bars connection line incorrect for small errors

2009-02-06 11:28:02 Tree
[r1037] by knut_f

- Removing unused alex_b branch.

2009-02-01 14:18:36 Tree
[r1036] by thzs

- fixed bug 2520366: Differentiation does not work anymore

2009-02-01 13:53:06 Tree
[r1035] by knut_f

- improved auto-detection of Python lib on Windows
- removed usage of gsl_stats_tss and gsl_stats_wtss
in order to remain compatible with GSL 1.8 (latest GnuWin32 release)

2009-01-31 00:24:05 Tree
[r1034] by knut_f

Added auto-detection of SIP includepath (previously was assumed to be identical to Python includepath).

2009-01-30 16:49:21 Tree
[r1033] by knut_f

Merged all missing bug fixes from current_stable.

2009-01-29 21:04:42 Tree
[r1032] by knut_f

Fixed bug #2099820 (Missing color indicators in PDF export)

2009-01-29 17:31:01 Tree
[r1031] by knut_f

Fixed constant fit parameters (naive string substitution fails if a parameter
name is a substring of something else, e.g. another parameter name).

This is a rather large patch for a bug-fix release, but there doesn't seem to
be an easy fix. Unfortunately, fast muParser-provided numerical differentiation
doesn't work with this ansatz, so non-linear fitting with user-defined
functions gets noticably slower.

2009-01-29 14:54:04 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.