enthought/casuarius — pull request #1 by rkern (2012-03-28 14:33:24+00:00)
Title: Explain errors with the LinearConstraints that caused them

When constraints conflict with each other, Cassowary will raise an exception. It knows which ones conflict and includes them in the exception message. This PR lets you access these from the Python side through a rather awkward (but necessarily so) API. `ExplainedCassowaryError`, a subclass of `CassowaryError` has an `explains()` method that takes a sequence of `LinearConstraint`s and returns a filtered list that only contains those that were reported to cause the error. So if you had a list of `LinearConstraint`s that you were adding to the `Solver`, you can catch this error then filter that list to get the problematic ones.

@jasonmccampbell Can you check this on Windows? I'm doing questionable things with pointers, so I don't know if VS will complain or not. Thanks.