[Requirement #11176] - Ensure the source code repository is managed correctly
- Created new branch for Bennu in Jin,Docs,Xian - leaving JinRefs and XianRefs on default branch since nothing is likely to change.

--HG--
branch : Bennu
[Bug #11225] - Personal Workstation always reverts to German in the login screen
 * Fixed bug where first language in the selection box is always initially selected.

--HG--
branch : Bennu
[Requirement #11198] - Localize all components for supported languages
 * Added comments to a number of ImageViewer resources in order to pre-empt common translation errors in the future.

--HG--
branch : Bennu
[Requirement #11243] - ImageServer Team Edition will only have the Silverlight web viewer

* Added session/connection-ending detection on server and client side
* Some general code cleanup

--HG--
branch : Bennu
[Requirement #11253] - Hanging protocols shall support tile layout
- Fixed a problem with TableDimensionsPicker where setting MaxRows actually setMaxColumns and vice versa.
- Added support for tile layout to the HP ImageBoxDefinition.
- "Layout" appears as an Image Box property; the user can type a value (e.g. 2x2) or click the ellipses to do it using a dialog; a table picker is shown like the one in the HP drop-down.
- The HP can be exported from Bennu, imported to Rigel, then re-imported to Bennu and only the tile layout is lost.

--HG--
branch : Bennu
Merge

--HG--
branch : Bennu
[Bug #11254] - Workstations renders gradient in bands contrary to probe values
- Made output of VOI luts double instead of int.
- Added IPresentationLut interface, which is the last LUT in the pipeline before rendering. Color maps are still applied separately by the renderer. Min/Max output of the IPresentationLut are settable, which made it necessary to break the API of the LutComposer, so plugin developers are forced to recognize the change. LutComposer now no longer implements IComposedLut, and you have to call GetOutputLut(minOut, maxOut); min/max out can be any range of values, but typically you would pass in the min/max output values of a grayscale display (e.g. 0, 255). Note that this change would also make it easier to support other display bit depths, since the output range can be arbitrarily defined.
- Removed IDataLut implementation from AdjustableDataLut, since it doesn't really make a lot of sense.
- Got rid of use of Color class in GrayscaleColorMap(s) as it is pretty inefficient to create a Color object only to convert it back to ARGB. Made sure unit tests still pass and added a unit test for the overlay version of the grayscale color map.
- Fixed all the LUT unit tests, as they were all comparing VOI output against ints. Recomputed each expected value using DICOM reference function.
- Fixed the probe tool so it reports VOI to 1 decimal place, just like "Raw". Probe no longer uses the "output" LUT to report VOI, since that would now actually be a p-value.

--HG--
branch : Bennu
[Bug #11254] - Workstations renders gradient in bands contrary to probe values
- FusionLayerCoregistrationTest.ValidateDifferenceEngine test was failing after these changes, but the tolerance for the test was very tight (e.g. 100*double.Epsilon); the fact that it passed before was likely a bit of a fluke since the images being compared are created in very different ways, with different LUTs, alpha compositing, etc. What made the test fail was the change to no longer round the output of the VOI LUT itself, but rather round the output of the presentation LUT after looking up the VOI LUT value. Some values were coming out to 128 in one image and 127 in the other. If we floor the output of the presentation LUT, the test will pass, but that is not correct; it makes far more sense to round 127.9 to 128 than it does to truncate it to 127.
- Beefed up some of the unit tests.
- Made a change to PresentationLutLinear so it can't possibly output a value outside the output range.

--HG--
branch : Bennu
[Bug #11254] - Workstations renders gradient in bands contrary to probe values
- The Fusion test that failed used 2 different LUTs that are actually equivalent. Added one more unit test that takes the (composed output) LUTs used for the 2 images being compared, and makes sure the LUT output is identical. Since it is identical, this means the images cannot be identical, and it was just a fluke that flooring produced more-or-less identical output images, where rounding does not.

--HG--
branch : Bennu
[Bug #8033] - Edits made in DICOM Editor are not seen in viewer if study was previously viewed in Study Filters
 * Fixed.

--HG--
branch : Bennu
[Bug #6696] - DICOM Editor save button appears to not save modified values
 * Fixed.

--HG--
branch : Bennu
[Bug #8127] - Fatal failure when attempting to invoke DICOM Editor when a file no longer exists
 * Fixed.

--HG--
branch : Bennu
[Bug #8463] - Unhandled exception when imageboxes are resized smaller than scroll bar minimum size
 * Fixed.

--HG--
branch : Bennu
[Bug #7859] - Making format inappropriate in DICOM Editor for Image Orientation and Position generates cryptic error
 * Fixed.

--HG--
branch : Bennu
[Requirement #11267] - DICOM Editor shall be a premium feature
 * Implemented.

--HG--
branch : Bennu
[Requirement #11266] - The study filter tool for launching the DICOM editor shall be a premium tool
 * Implemented.

--HG--
branch : Bennu
[Bug #11259] - Settings Editor is not available in Personal Ed.
- Settings editor was checking ISettingsStore.IsOnline even when settings store is not supported, which essentially disabled it for Personal Edition. This was a trivial fix.
- Noticed, however, that settings decorated with LocalFileSettingsProvider weren't showing up (they used to), which is because LocalFileSettingsProvider doesn't implement ISharedApplicationSettingsProvider. Things like MemoryManagementSettings and PreloadingSettings (for streaming) would ideally be editable through the settings editor, but LicenseSettings and RemoteCoreServiceSettings should not be. To rectify this, made the ExtendedLocalFileSettingsProvider actually work as a provider, and changed the provider for only those settings where it made sense to. Those are MemoryManagementSettings, PreLoadingSettings, ExplorerLocalSettings. Note that you can still always write to the shared profile (local setting) through ApplicationSettingsExtensions because it has to work for migration; the settings just won't show up in the settings editor.
- Fixed a couple of minor issues in settings editor (with local settings), one where if the "SerializedValue" was null (which is valid), a crash occurred; the other where the "current value" was not showing the default value when it should have been - it was showing "" instead.
- Changed WorkItemServiceSettings to use SystemConfigurationSettingsProvider, since users may want to be able to edit through the settings editor. This is now consistent with other similar settings, like DicomSendSettings.
- Updated most of the settings unit tests to test both a "regular local" and an "extended local" settings class.
- Outright deleted the ApplicationSettingsRegistry, since it was only ever used by the settings editor to force the default instance of a setting to reload; much more contained to simply try to force the default instance to reload directly, which is what the editor does now.
- Added a unit test for SettingsGroupDescriptor.ApplyFilter because it seems like something that should be unit tested.
- Removed unused LocalSettingsStore class.

--HG--
branch : Bennu
[Requirement #11268] - DICOM Editor anonymization to allow customization of fields
 * Implemented.
  * The study and series prototypes used by the anonymization utility now implement IStudyRootData and ISeriesData interfaces, although many of the unused fields return null values.
  * The anonymization utility's validator now supports not checking that key fields are changed, to handle scenarios where the input has already been validated to be anonymized.
   * Because this is a dangerous flag, it's not enabled by default, nor by the RelaxAllChecks flag (which specifies only "optional" checks, at any rate).

--HG--
branch : Bennu
[Bug #11265] - Add warnings to various DICOM editor functions
 * Fixed.

--HG--
branch : Bennu
Merge

--HG--
branch : Bennu