The value used previously was too conservative, and prevented ZommWindow from zooming out to the complete Time domain. This was due to missing the Time::SCALE denominator, which increaded the limit by factor 1e6 In fact the code is able to handle even this extremely reduced limit, but doing so seems over the top, since now detox() kicks in on several calculations, leading to rather coarse grained errors. Thus I decided to use a compromise: lower the limit only by factor 1000; with typical screen pixel widths, we can reach the full time domain, while most scaling and zoom calculations can be performed precisely, without detox() kicking in. Obviously this change requires adjusting a lot of the test case expectations, since we can now zoom out maximally. |
||
|---|---|---|
| .. | ||
| ctrl | ||
| interact | ||
| model | ||
| test | ||
| abstract-tangible-test.cpp | ||
| bus-term-test.cpp | ||
| gen-node-location-query.hpp | ||
| README | ||
| session-structure-mapping-test.cpp | ||
| test-gui-test.cpp | ||
GUI backbone tests The tests in this subtree are a bit special: they cover the generic and backbone internals of the Lumiera GTK GUI. They are linked against the complete GUI-module (gui plugin), and thus may use all related ABIs. Yet these tests are *deliberately* compiled without any GTK, GTKmm or SigC includes. This effectively rules out the use, even indirectly, of any GTK widgets and APIs -- forcing the covered GUI backbone entities to stay clean and generic at API level. This is a decision done on purpose. The concrete GUI framework technology shall be treated as an implementation detail. There is no point in writing tests which click buttons in the GUI -- better delegate any significant logic or functionality to GUI agnostic components. GUI is meant to be a presentation layer and must not develop intelligence on its own.