Commit Graph

766 Commits

Author SHA1 Message Date
Antony Male 97192899eb Eliminate View.ViewManager
I think that's the last step towards supporting multiple Applications
(if anyone every actually wants to do that). It's good architecture,
anyway
2015-06-02 15:51:27 +01:00
Antony Male 9f3a7d665a Ensure View.ViewManager is set before Configure called 2015-04-05 17:46:17 +01:00
Antony Male 8479672028 Remove dependency on Application.Current from WindowManager
This means that the WindowManager is entirely self-sufficient, and does
not rely on anything static
2015-03-30 15:02:07 +01:00
Antony Male 25beb99dae Merge branch 'release/1.1.6' into develop 2015-03-24 09:26:15 +00:00
Antony Male 995484425f Bump version 2015-03-24 09:25:46 +00:00
Antony Male 337d947a30 Update changelog 2015-03-24 09:25:25 +00:00
Antony Male e222af3c84 Throw if the user tries to show a Window using s:View.Model
Fixes #5
2015-03-24 09:23:35 +00:00
Antony Male 9b27dcf3de ActionExtension assumes any delegate is an EventHandler
This catches the case where there are events which aren't derived
from RoutedEventHandler, such as KeyDown
2015-03-24 09:13:52 +00:00
Antony Male 01d1d21368 Merge branch 'release/1.1.5' into develop 2015-03-17 12:33:25 +00:00
Antony Male 1bb0e70691 Bump version 2015-03-17 12:30:30 +00:00
Antony Male 28aa42fa83 Update changelog 2015-03-17 12:30:03 +00:00
Antony Male 9fa749f0b7 Fix incorrect assertion 2015-03-17 12:27:57 +00:00
Antony Male 63a9c4a70f Avoid binding to IEnumerable in MessageBoxView
According to dotMemory, this can cause a memory leak
2015-03-17 12:27:56 +00:00
Antony Male 0e48896a6d StyletIoC: Don't use Type for the key to the builderUppers dict either 2015-03-17 12:27:56 +00:00
Antony Male a6cdca23ab StyletIoC: Optimize slightly by passing Type if available
In some paths to some methods, we just know the RuntimeTypeHandle. In some,
we know both the Type and RuntimeTypeHandle. Optimize such that the Type
is used if available, otherwise Type.GetTypeFromHandle is used.
This should mean that StyletIoC is just as quick as it was before this
refactor.
2015-03-17 12:27:55 +00:00
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