Commit Graph

601 Commits

Author SHA1 Message Date
Antony Male a3293a2c1f StyletIoC: Move from storing Types to storing TypeHandles
Types are reasonably expansive, and when you've got a lot of them, the
memory usage adds up. We don't actually need the Type most of the time -
the hot path just does a dictionary lookup, and we only need the
RuntimeTypeHandle for that.

Besides, Type.GetTypeFromHandle is cheap - typeof(T) does it internally.
So, just use RuntimeTypeHandle on the hot path, and swallow the cost
of an extra Type.GetTypeFromHandle in the rare case that we need an
actual Type.
2015-03-17 12:27:55 +00:00
Antony Male 95a9995746 StyletIoC: Don't cache expressions by default
This in turn causes ConstructorInfos to be cached, and those are pretty
expensive.
2015-03-17 12:27:54 +00:00
Antony Male 9b1b1308b6 Shake up how autobinding is done in StyletIoC
Instead of creating tons of registrations for all discovered types,
instead create those registrations as and when they are requested.

This means we don't flood the CLR's type cache with RuntimeTypes which
are never used but can never be collected.
2015-03-17 12:27:53 +00:00
Antony Male a5f642d95c Improve Stylet.Samples.Validation, and remove .TryClose 2015-03-17 12:27:53 +00:00
Antony Male 56395d8a8a Give StyletIoCBuilder a default list of assemblies
This is used by ToAllImplementations and Autobind, which means we
don't need to pass the correct assemblies into each.

Fixes #4
2015-03-17 12:27:52 +00:00
Antony Male ea1efcccfd Merge branch 'release/1.1.4' into temp 2015-03-17 12:27:15 +00:00
Antony Male 575b4141a4 Bump version 2015-03-02 12:54:20 +00:00
Antony Male 6a181d34f9 Update changelog 2015-03-02 12:53:48 +00:00
Antony Male 12e1fd344f Add InverseInstance property to BoolToVisibilityConverter 2015-02-28 18:35:09 +00:00
Antony Male 2a6350ad73 WindowManager sets window title if it's the same as the window name 2015-02-28 17:57:29 +00:00
Antony Male b11a9dabff Make the MessageBox display properly with multi-line content 2015-02-28 13:25:35 +00:00
Antony Male 48ee25ba29 Add OnStateChanged hook to Screen 2015-02-27 16:48:04 +00:00
Antony Male 21e6441a2f Re-jig ViewManager slightly to make it easier to override 2015-02-27 09:19:36 +00:00
Antony Male 68c5ed2a50 Improve readability and line count in the Actions classes 2015-02-25 09:56:33 +00:00
Antony Male 51007f4a22 Add support for DependencyPropertyChangedEventHandler to EventAction 2015-02-24 15:38:50 +00:00
Antony Male 9a5143c343 Merge branch 'release/1.1.3' into develop 2015-02-24 12:47:16 +00:00
Antony Male 7109bc6951 Bump version 2015-02-24 12:44:25 +00:00
Antony Male 4a44826f18 Update changelog 2015-02-24 12:44:04 +00:00
Antony Male 9552cbeeee Add extra 'operators after collection' test to EventAction 2015-02-24 12:40:39 +00:00
Antony Male 1915758c25 Fix StyleCop warnings 2015-02-24 12:38:57 +00:00
Antony Male 963751164f Fix unit test failure in SingletonRegistration 2015-02-24 12:38:57 +00:00
Antony Male 00754e7bf7 Refactor CommandAction/EventAction to have a common base class 2015-02-24 12:38:56 +00:00
Antony Male b98226b29f Use a DependencyProperty in CommandAction/EventAction to watch ActionTarget for changes
Seems to work much better. Could probably remove quite a bit of code though
a sensible base class
2015-02-24 12:38:53 +00:00
Antony Male f75833f508 Merge branch 'release/1.1.2' into develop 2015-02-23 11:30:24 +00:00
Antony Male 90887356bc Bump version 2015-02-23 11:28:09 +00:00
Antony Male 7ecb4da8c6 Update changelog 2015-02-23 11:27:47 +00:00
Antony Male ec9b7c1d74 Add link to 'Contributing' from the README 2015-02-23 11:26:07 +00:00
Antony Male 52b8da8ab6 Register IContainer with the builder 2015-02-23 10:47:56 +00:00
Antony Male 3ec42446b4 Sort out accessibility issue in RegistrationBase 2015-02-23 08:24:00 +00:00
Antony Male c024a2dfd8 Write unit tests for DependencyPropertyChangeNotifier 2015-02-22 22:06:40 +00:00
Antony Male 6c8d9e8dbe More improvements to PropertyChangeNotifier 2015-02-22 20:40:33 +00:00
Antony Male cc4de1c852 CommandAction and EventAction no longer retain the View forever
Still needs a level of unit testing for PropertyChangeNotifier
2015-02-22 18:47:33 +00:00
Antony Male b831444e67 Merge branch 'release/1.1.1' into develop
* release/1.1.1:
  Bump version
  Update changelog
2015-02-22 16:51:17 +00:00
Antony Male 7499579b93 Bump version 2015-02-22 16:49:51 +00:00
Antony Male d7a153bc42 Update changelog 2015-02-22 16:49:26 +00:00
Antony Male d2efcf48cb WindowManager avoids creating a new View if ViewModel already has a View attached 2015-02-22 16:47:34 +00:00
Antony Male e8b7bbcaac Cheat to remove another line from failed coverage 2015-02-20 15:40:30 +00:00
Antony Male 558b8b70d4 Remove a bit of untested code through interface separation 2015-02-20 15:36:02 +00:00
Antony Male 25e90926a4 Tweak name of generated abstract factory implementations 2015-02-19 22:19:21 +00:00
Antony Male 9ab3655c5f Improve test coverage slightly 2015-02-19 22:17:30 +00:00
Antony Male ccc55dc800 Add DisposeChildren to IConductor, since it's really part of that... 2015-02-19 22:00:46 +00:00
Antony Male 4b462d28fa Improve error message when a user shows a non-Window view as a window 2015-02-17 17:55:38 +00:00
Antony Male 07b61026e9 If the located View is derived from UIElement, then it can't be an interface 2015-02-17 16:11:26 +00:00
Antony Male 9f2c823ed2 Change 'as' to explicit cast, as we're not expecting it to fail 2015-02-17 16:11:01 +00:00
Antony Male 848900fb27 Merge branch 'release/1.1.0' into develop 2015-02-11 12:52:09 +00:00
Antony Male b1059cf7ff Bump version 2015-02-11 12:51:26 +00:00
Antony Male b34a59f0fe Update changelog 2015-02-11 12:50:49 +00:00
Antony Male 0b088b04fd Get coverage up slightly 2015-02-09 12:48:18 +00:00
Antony Male 386b7cb035 Bring more sanity to the Bootstrapper 2015-02-09 12:39:21 +00:00
Antony Male 02175b6e67 Fix incorrect use of WeakEventManager in ScreenExtensions 2015-02-09 12:16:25 +00:00