Merge branch 'release-2.0.0-beta.2'

This commit is contained in:
Daniel Kraus 2015-08-16 16:36:46 +02:00
commit b9f35c8b11
35 changed files with 371 additions and 290 deletions

View File

@ -1,3 +1,19 @@
Version 2.0.0-beta.2 (2015-08-16)
========================================================================
- FIX: Kleinere Bugfixes.
- GEÄNDERT: Diff.-BB-Werte im Stations-Stil in Hämatologie-Zeile integriert.
- NEU: Überschriften und pathologische Werte werden fett gedruckt.
- NEU: Überschriften und pathologische Werte werden jetzt besonders ausgezeichnet (fett).
- VERBESSERT: Element-Bearbeitungsfenster.
- VERBESSERT: Floskel-Ersetzungen in Daniels Spezial.
- VERBESSERT: Formatieren läßt sich nicht mehr starten, ohne daß Labor-Text markiert ist.
- VERBESSERUNG: Einheiten, die mit einem Schrägstrich beginnen, werden nicht mehr mit Leerzeichen vom Wert getrennt.
- VERÄNDERUNG: Laborwerte, die explizit (also nicht mit "*") ausgewählt werden, werden jetzt ohne vorangestelltes Material-Kürzel eingefügt (z.B. jetzt "Sammelurin: Volumen" anstatt "Sammelurin: SU-Volumen").
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Version 2.0.0-beta.1 (2015-08-13) Version 2.0.0-beta.1 (2015-08-13)
======================================================================== ========================================================================

View File

@ -24,6 +24,7 @@ using Microsoft.Office.Interop.Word;
using zaaReloaded2.LabModel; using zaaReloaded2.LabModel;
using zaaReloaded2.Formatter; using zaaReloaded2.Formatter;
using zaa = zaaReloaded2.Controller.Elements; using zaa = zaaReloaded2.Controller.Elements;
using System.Text.RegularExpressions;
namespace Tests.Controller.Elements namespace Tests.Controller.Elements
{ {
@ -62,8 +63,10 @@ namespace Tests.Controller.Elements
_formatter.Settings.Elements.Add(new zaa.Items("Na, K, Cl")); _formatter.Settings.Elements.Add(new zaa.Items("Na, K, Cl"));
_formatter.Run(); _formatter.Run();
string expected = ( string expected = (
StripMarkup(
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) + TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) +
"Na 133, K 6 (5)\r\r").Replace(Environment.NewLine, "\r"); "Na 133, K 6 (5)\r\r").Replace(Environment.NewLine, "\r")
);
Assert.AreEqual(expected, _document.Range().Text); Assert.AreEqual(expected, _document.Range().Text);
} }
@ -82,8 +85,10 @@ namespace Tests.Controller.Elements
_formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, K, Cl")); _formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, K, Cl"));
_formatter.Run(); _formatter.Run();
string expected = ( string expected = (
StripMarkup(
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) + TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) +
"Klinische Chemie: Na 133, K 6 (5)\r\r").Replace(Environment.NewLine, "\r"); "Klinische Chemie: Na 133, K 6 (5)\r\r").Replace(Environment.NewLine, "\r")
);
Assert.AreEqual(expected, _document.Range().Text); Assert.AreEqual(expected, _document.Range().Text);
} }
@ -120,7 +125,9 @@ namespace Tests.Controller.Elements
_formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, *")); _formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, *"));
_formatter.Run(); _formatter.Run();
string expected = ( string expected = (
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) + StripMarkup(
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00))
) +
"Klinische Chemie: Na 133, Cl 110, K 6\r\r").Replace(Environment.NewLine, "\r"); "Klinische Chemie: Na 133, Cl 110, K 6\r\r").Replace(Environment.NewLine, "\r");
Assert.AreEqual(expected, _document.Range().Text); Assert.AreEqual(expected, _document.Range().Text);
} }
@ -142,7 +149,9 @@ namespace Tests.Controller.Elements
_formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, SU-*")); _formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, SU-*"));
_formatter.Run(); _formatter.Run();
string expected = ( string expected = (
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) + StripMarkup(
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00))
)+
"Klinische Chemie: Na 133, SU-Protein 2,8\r\r").Replace(Environment.NewLine, "\r"); "Klinische Chemie: Na 133, SU-Protein 2,8\r\r").Replace(Environment.NewLine, "\r");
Assert.AreEqual(expected, _document.Range().Text); Assert.AreEqual(expected, _document.Range().Text);
} }
@ -164,10 +173,19 @@ namespace Tests.Controller.Elements
_formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, SU-*, *")); _formatter.Settings.Elements.Add(new zaa.Items("Klinische Chemie: Na, SU-*, *"));
_formatter.Run(); _formatter.Run();
string expected = ( string expected = (
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) + StripMarkup(
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00))
) +
"Klinische Chemie: Na 133, SU-Protein 2,8, Cl 110, U-Na 99\r\r") "Klinische Chemie: Na 133, SU-Protein 2,8, Cl 110, U-Na 99\r\r")
.Replace(Environment.NewLine, "\r"); .Replace(Environment.NewLine, "\r");
Assert.AreEqual(expected, _document.Range().Text); Assert.AreEqual(expected, _document.Range().Text);
} }
static string StripMarkup(string s)
{
return _markupStripper.Replace(s, string.Empty);
}
static readonly Regex _markupStripper = new Regex(@"<[^>]+>");
} }
} }

View File

@ -21,6 +21,7 @@ using System.Linq;
using System.Text; using System.Text;
using NUnit.Framework; using NUnit.Framework;
using zaaReloaded2.Formatter; using zaaReloaded2.Formatter;
using Microsoft.Office.Interop.Word;
namespace Tests.Formatter namespace Tests.Formatter
{ {
@ -95,5 +96,15 @@ namespace Tests.Formatter
Assert.IsFalse(_docWriter.HasBufferedText); Assert.IsFalse(_docWriter.HasBufferedText);
Assert.AreEqual(String.Empty, _docWriter.ToString()); Assert.AreEqual(String.Empty, _docWriter.ToString());
} }
[Test]
public void TextMarkup()
{
DocumentWriter output = new DocumentWriter();
_docWriter.Parent = output;
_docWriter.Write("This is not bold. <b>This is bold!</b>\rThis not.");
_docWriter.Flush();
Assert.AreEqual("This is not bold. This is bold!\rThis not.", output.Text);
}
} }
} }

View File

@ -65,7 +65,12 @@ namespace Tests.ViewModels
Assert.AreNotSame(orig, copy); Assert.AreNotSame(orig, copy);
Assert.AreNotSame(orig.RevealModelObject(), copy.RevealModelObject()); Assert.AreNotSame(orig.RevealModelObject(), copy.RevealModelObject());
Assert.AreEqual(String.Format("Kopie von {0}", orig.Name), copy.Name); Assert.AreEqual(
String.Format(
"Kopie von {0}",
orig.Name.Replace(" (eingebaut)", String.Empty)
),
copy.Name);
Assert.IsTrue(copy.IsSelected); Assert.IsTrue(copy.IsSelected);
} }
} }

BIN
gimp/icon.xcf Normal file

Binary file not shown.

Binary file not shown.

BIN
gimp/installbanner.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

View File

@ -67,9 +67,9 @@ AppSupportURL=http://zaa.nephrowiki.de
AppUpdatesURL=http://zaa.nephrowiki.de AppUpdatesURL=http://zaa.nephrowiki.de
; Setup wizard ; Setup wizard
;SetupIconFile=setup-files\xltoolbox.ico SetupIconFile=setup-files\icon.ico
;WizardImageFile=setup-files\installbanner.bmp WizardImageFile=setup-files\installbanner.bmp
;WizardSmallImageFile=setup-files\icon-48.bmp WizardSmallImageFile=setup-files\installbanner-small.bmp
ArchitecturesAllowed=x86 x64 ArchitecturesAllowed=x86 x64
ArchitecturesInstallIn64BitMode=x64 ArchitecturesInstallIn64BitMode=x64
DisableProgramGroupPage=true DisableProgramGroupPage=true

View File

@ -11,8 +11,9 @@
body { margin: 16px 24px; max-width: 800px; } body { margin: 16px 24px; max-width: 800px; }
h1 { font-size: 150%; margin: 48px 0 24px 0; } h1, h2 { color: #5e2750; }
h2 { font-size: 120%; margin: 32px 0 16px 0; } h1 { font-size: 300%; margin: 48px 0 24px 0; }
h2 { font-size: 200%; margin: 32px 0 16px 0; }
p { text-align: justify; } p { text-align: justify; }
@ -55,6 +56,13 @@
<p><a href="downloads/">zaa.nephrowiki.de/downloads</a></p> <p><a href="downloads/">zaa.nephrowiki.de/downloads</a></p>
</div> </div>
<h2>Vorher</h2>
<p class="center"><img src="img/vorher.png" alt="Vorher" /></p>
<h2>Nachher</h2>
<p>Am Beispiel des Ambulanz-Stils:</p>
<p class="center"><img src="img/nachher.png" alt="Nachher" /></p>
<h2>Anleitung</h2> <h2>Anleitung</h2>
<p class="center"> <p class="center">
@ -168,7 +176,7 @@
</p> </p>
<h2>Weitere Informationen</h2> <h2>Weitere Informationen</h2>
<p><a href="doc/md_history.html">Versionsgeschichte</a></p> <p><a href="doc/md_HISTORY.html">Versionsgeschichte</a></p>
<p><a href="doc/index.html">Quellcode-Dokumentation</a></p> <p><a href="doc/index.html">Quellcode-Dokumentation</a></p>
<hr /> <hr />

View File

@ -1,4 +1,4 @@
2.0.0-beta.1 2.0.0-beta.2
http://zaa.nephrowiki.de/downloads/zaaReloaded-2.0.0-beta.1.exe http://zaa.nephrowiki.de/downloads/zaaReloaded-2.0.0-beta.2.exe
4fe0f2bd8ba1c3852c02c6220bddf53b5fd98ef8 publish/release/zaaReloaded-2.0.0-beta.1.exe 437bda34980828ab85f2dd3abb1991eef3cf17f3 publish/release/zaaReloaded-2.0.0-beta.2.exe

View File

@ -199,6 +199,7 @@ namespace zaaReloaded2.Controller.Elements
// item with itemName. // item with itemName.
ItemFormatter i = tpf.ItemFormatters[name]; ItemFormatter i = tpf.ItemFormatters[name];
i.HasBeenUsed = true; i.HasBeenUsed = true;
i.IncludeMaterial = false;
items.Add(i); items.Add(i);
} }
return items; return items;

View File

@ -3,19 +3,19 @@
<a1:Settings id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a1:Settings id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Uid xsi:type="a2:Guid" xmlns:a2="http://schemas.microsoft.com/clr/ns/System"> <Uid xsi:type="a2:Guid" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
<_a>-1732917544</_a> <_a>1443045381</_a>
<_b>21822</_b> <_b>29162</_b>
<_c>16721</_c> <_c>17774</_c>
<_d>134</_d> <_d>182</_d>
<_e>250</_e> <_e>243</_e>
<_f>231</_f> <_f>111</_f>
<_g>106</_g> <_g>227</_g>
<_h>44</_h> <_h>16</_h>
<_i>93</_i> <_i>47</_i>
<_j>252</_j> <_j>142</_j>
<_k>234</_k> <_k>57</_k>
</Uid> </Uid>
<Name id="ref-3">Station neu</Name> <Name id="ref-3">Kopie von Standard für Station</Name>
<ReferenceStyle xsi:type="a3:ReferenceStyle" xmlns:a3="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Formatter/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">IfSpecialOrAbnormal</ReferenceStyle> <ReferenceStyle xsi:type="a3:ReferenceStyle" xmlns:a3="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Formatter/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">IfSpecialOrAbnormal</ReferenceStyle>
<ElementsCount>4</ElementsCount> <ElementsCount>4</ElementsCount>
<Element0Type href="#ref-4"/> <Element0Type href="#ref-4"/>
@ -43,7 +43,7 @@
</a2:UnitySerializationHolder> </a2:UnitySerializationHolder>
<a4:SelectFirstDay id="ref-7" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:SelectFirstDay id="ref-7" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<ChildrenCount>17</ChildrenCount> <ChildrenCount>16</ChildrenCount>
<Child0Type href="#ref-15"/> <Child0Type href="#ref-15"/>
<Child0Object href="#ref-16"/> <Child0Object href="#ref-16"/>
<Child1Type href="#ref-15"/> <Child1Type href="#ref-15"/>
@ -76,11 +76,9 @@
<Child14Object href="#ref-30"/> <Child14Object href="#ref-30"/>
<Child15Type href="#ref-15"/> <Child15Type href="#ref-15"/>
<Child15Object href="#ref-31"/> <Child15Object href="#ref-31"/>
<Child16Type href="#ref-15"/>
<Child16Object href="#ref-32"/>
</a4:SelectFirstDay> </a4:SelectFirstDay>
<a2:UnitySerializationHolder id="ref-8" xmlns:a2="http://schemas.microsoft.com/clr/ns/System"> <a2:UnitySerializationHolder id="ref-8" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
<Data id="ref-33">zaaReloaded2.Controller.Elements.NextColumn</Data> <Data id="ref-32">zaaReloaded2.Controller.Elements.NextColumn</Data>
<UnityType>4</UnityType> <UnityType>4</UnityType>
<AssemblyName href="#ref-13"/> <AssemblyName href="#ref-13"/>
</a2:UnitySerializationHolder> </a2:UnitySerializationHolder>
@ -89,13 +87,13 @@
<ChildrenCount>0</ChildrenCount> <ChildrenCount>0</ChildrenCount>
</a4:NextColumn> </a4:NextColumn>
<a2:UnitySerializationHolder id="ref-10" xmlns:a2="http://schemas.microsoft.com/clr/ns/System"> <a2:UnitySerializationHolder id="ref-10" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
<Data id="ref-34">zaaReloaded2.Controller.Elements.SelectLastDay</Data> <Data id="ref-33">zaaReloaded2.Controller.Elements.SelectLastDay</Data>
<UnityType>4</UnityType> <UnityType>4</UnityType>
<AssemblyName href="#ref-13"/> <AssemblyName href="#ref-13"/>
</a2:UnitySerializationHolder> </a2:UnitySerializationHolder>
<a4:SelectLastDay id="ref-11" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:SelectLastDay id="ref-11" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<ChildrenCount>17</ChildrenCount> <ChildrenCount>16</ChildrenCount>
<Child0Type href="#ref-15"/> <Child0Type href="#ref-15"/>
<Child0Object href="#ref-16"/> <Child0Object href="#ref-16"/>
<Child1Type href="#ref-15"/> <Child1Type href="#ref-15"/>
@ -128,81 +126,75 @@
<Child14Object href="#ref-30"/> <Child14Object href="#ref-30"/>
<Child15Type href="#ref-15"/> <Child15Type href="#ref-15"/>
<Child15Object href="#ref-31"/> <Child15Object href="#ref-31"/>
<Child16Type href="#ref-15"/>
<Child16Object href="#ref-32"/>
</a4:SelectLastDay> </a4:SelectLastDay>
<a2:UnitySerializationHolder id="ref-15" xmlns:a2="http://schemas.microsoft.com/clr/ns/System"> <a2:UnitySerializationHolder id="ref-15" xmlns:a2="http://schemas.microsoft.com/clr/ns/System">
<Data id="ref-35">zaaReloaded2.Controller.Elements.Items</Data> <Data id="ref-34">zaaReloaded2.Controller.Elements.Items</Data>
<UnityType>4</UnityType> <UnityType>4</UnityType>
<AssemblyName href="#ref-13"/> <AssemblyName href="#ref-13"/>
</a2:UnitySerializationHolder> </a2:UnitySerializationHolder>
<a4:Items id="ref-16" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-16" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-36">Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure</Content> <Content id="ref-35">Klinische Chemie: Na, K, Cl, Mg, Ca, P, CaxP, Alb, Prot, Haptoglobin, LDH, Glukose, Harnsäure</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-17" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-17" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-37">Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL</Content> <Content id="ref-36">Entzündung/Immunsystem: CRP, Pct, C3c, C4, Anti-DNAse B, ASL</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-18" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-18" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-38">Kardiale Marker: CK, CKMB, Trop, NTproBNP</Content> <Content id="ref-37">Kardiale Marker: CK, CKMB, Trop, NTproBNP</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-19" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-19" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-39">Niere: Krea, Hst, eGFR (CKD-EPI)</Content> <Content id="ref-38">Niere: Krea, Hst, eGFR (CKD-EPI)</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-20" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-20" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-40">Sammelurin: SU-Proteinurie, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Natrium, SU-Zeit, SU-Volumen</Content> <Content id="ref-39">Sammelurin: SU-Proteinurie, SU-Alb, SU-CrCl, SU-HstCl, SU-GFR, SU-Natrium, SU-Zeit, SU-Volumen</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-21" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-21" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-41">Spot-Urin: U-*</Content> <Content id="ref-40">Spot-Urin: U-*</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-22" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-22" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-42">Leber: GOT, GGT, GPT, AP, Bilirubin, CHE</Content> <Content id="ref-41">Leber: GOT, GGT, GPT, AP, Bilirubin, CHE</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-23" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-23" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-43">Blutfette: TG, Chol, LDL, HDL, Lp(a)</Content> <Content id="ref-42">Blutfette: TG, Chol, LDL, HDL, Lp(a)</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-24" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-24" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-44">Hämatologie: Hb, Hkt, Reti, Leu, Thr, MCV, HbA1c, Retikulozyten, Fragmentozyten</Content> <Content id="ref-43">Hämatologie: Hb, Hkt, Reti, Leu, Thr, Ery, Neu, Lym, Mon, Baso, Eos, MCV, HbA1c, Retikulozyten, Fragmentozyten</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-25" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-25" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-45">Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa</Content> <Content id="ref-44">Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-26" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-26" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-46">Diff.-BB: Ery, Neu, Lym, Mon, Baso, Eos</Content> <Content id="ref-45">Hormone: iPTH, TSH</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-27" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-27" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-47">Hormone: iPTH, TSH</Content> <Content id="ref-46">Medikamente: TAC, CSA, SIR, Vancomycin, Gentamicin, Tobramicin</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-28" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-28" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-48">Medikamente: TAC, CSA, SIR, Vancomycin, Gentamicin, Tobramicin</Content> <Content id="ref-47">Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-29" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-29" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-49">Eisenhaushalt: Eisen, Ferritin, Transferrin, Tf.-Sätt.</Content> <Content id="ref-48">BGA: pH, Std.-Bic., BE</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-30" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-30" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-50">BGA: pH, Std.-Bic., BE</Content> <Content id="ref-49">Hepatitis-Serologie: Anti-HBs, Anti-HBc</Content>
</a4:Items> </a4:Items>
<a4:Items id="ref-31" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383"> <a4:Items id="ref-31" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version> <Version>1</Version>
<Content id="ref-51">Hepatitis-Serologie: Anti-HBs, Anti-HBc</Content> <Content id="ref-50">Weitere Werte: *</Content>
</a4:Items>
<a4:Items id="ref-32" xmlns:a4="http://schemas.microsoft.com/clr/nsassem/zaaReloaded2.Controller.Elements/zaaReloaded2%2C%20Version%3D1.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D6ec8d075a1ab1383">
<Version>1</Version>
<Content id="ref-52">Weitere Werte: *</Content>
</a4:Items> </a4:Items>
</SOAP-ENV:Body> </SOAP-ENV:Body>
</SOAP-ENV:Envelope> </SOAP-ENV:Envelope>

View File

@ -79,12 +79,12 @@ namespace zaaReloaded2.Formatter
static void FixSalutation(Document document) static void FixSalutation(Document document)
{ {
Regex sal = new Regex(@"^Mit.*?Grüßen"); Regex sal = new Regex(@"^Mit.*?Grüßen\r");
Regex med = new Regex(@"^((Häusl|Empf).*?Medikat)|Therapieempf"); Regex med = new Regex(@"^((Häusl|Empf).*?Medikat)|Therapieempf");
foreach (Paragraph p in document.Paragraphs) foreach (Paragraph p in document.Paragraphs)
{ {
if (sal.IsMatch(p.Range.Text)) p.Range.Text = "Mit freundlichen, kollegialen Grüßen,"; if (sal.IsMatch(p.Range.Text)) p.Range.Text = "Mit freundlichen, kollegialen Grüßen,\r";
if (med.IsMatch(p.Range.Text)) p.Range.Text = "Aktuelle Medikation:"; if (med.IsMatch(p.Range.Text)) p.Range.Text = "Aktuelle Medikation:\r";
} }
} }
} }

View File

@ -20,6 +20,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Microsoft.Office.Interop.Word; using Microsoft.Office.Interop.Word;
using System.Text.RegularExpressions;
namespace zaaReloaded2.Formatter namespace zaaReloaded2.Formatter
{ {
@ -30,8 +31,19 @@ namespace zaaReloaded2.Formatter
/// depending on whether there is text in the buffer or not. /// depending on whether there is text in the buffer or not.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// <para>
/// Linking several DocumentWriters permits a cascading work flow /// Linking several DocumentWriters permits a cascading work flow
/// with several buffers. /// with several buffers.
/// </para>
/// <para>
/// Markup support: The DocumentWriter supports basic markup to control
/// the text styles in the Word document.
/// </para>
/// <list type="unordered">
/// <item>&lt;b&gt; and &lt;/b&gt; - bold/unbold</item>
/// <item>&lt;style:NAME&gt; - set the paragraph or character style</item>
/// <item>&lt;/style&gt; - remove *character* style</item>
/// </list>
/// </remarks> /// </remarks>
class DocumentWriter class DocumentWriter
{ {
@ -54,10 +66,18 @@ namespace zaaReloaded2.Formatter
public bool HasBufferedText { get { return _buffer.Length > 0; } } public bool HasBufferedText { get { return _buffer.Length > 0; } }
/// <summary> /// <summary>
/// Gets or sets the desired paragraph style when flushing into /// Returns text without markup from the buffer.
/// a Document.
/// </summary> /// </summary>
public string ParagraphStyle { get; set; } public string Text
{
get
{
if (!HasBufferedText)
throw new InvalidOperationException("This DocumentWriter does not have any text.");
return _markupRegex.Replace(_buffer.ToString(), String.Empty);
}
}
#endregion #endregion
@ -122,11 +142,7 @@ namespace zaaReloaded2.Formatter
Selection s = Document.ActiveWindow.Selection; Selection s = Document.ActiveWindow.Selection;
s.ClearCharacterDirectFormatting(); s.ClearCharacterDirectFormatting();
s.ClearParagraphDirectFormatting(); s.ClearParagraphDirectFormatting();
if (!string.IsNullOrEmpty(ParagraphStyle)) MarkupToDocument(_buffer.ToString());
{
s.set_Style(ParagraphStyle);
}
s.Range.Text = _buffer.ToString();
} }
if (Parent != null) if (Parent != null)
{ {
@ -166,9 +182,54 @@ namespace zaaReloaded2.Formatter
#endregion #endregion
#region Private methods
/// <summary>
/// Parses a string containing markup (e.g., "&lt;b&gt;", "&lt;/b&gt;")
/// and writes formatted text to the current Document.
/// </summary>
void MarkupToDocument(string text)
{
string[] substrings = _markupRegex.Split(text);
Selection sel = Document.ActiveWindow.Selection;
foreach (string substring in substrings)
{
switch (substring)
{
case "<b>":
sel.Font.Bold = 1;
break;
case "</b>":
sel.Font.Bold = 0;
break;
case "</style>":
sel.ClearCharacterStyle();
break;
default:
Match styleMatch = _styleRegex.Match(substring);
if (styleMatch.Success)
{
sel.set_Style(styleMatch.Groups["style"].Value);
}
else
{
sel.TypeText(substring);
}
break;
}
}
}
#endregion
#region Fields #region Fields
StringBuilder _buffer; StringBuilder _buffer;
// Put pattern in parentheses so they will not be discarded by Regex.Split
// The splitting pattern must not contain subgroups!
static readonly Regex _markupRegex = new Regex(@"(<[^ >]+>)");
static readonly Regex _styleRegex = new Regex(@"<style:(?<style>[^>]+)>");
#endregion #endregion
} }

View File

@ -119,10 +119,9 @@ namespace zaaReloaded2.Formatter
/// current position of the cursor).</param> /// current position of the cursor).</param>
public void Run() public void Run()
{ {
if (!CanRun) throw new InvalidOperationException("No laboratory data to format."); if (!CanRun) throw new NoLaboratoryDataException("No laboratory data to format.");
CreateParagraphStyle(); CreateStyles();
_secondaryBuffer.ParagraphStyle = zaaReloaded2.Properties.Settings.Default.ParagraphStyleName;
int current = 0; int current = 0;
while (current < Settings.Elements.Count) while (current < Settings.Elements.Count)
{ {
@ -242,9 +241,9 @@ namespace zaaReloaded2.Formatter
} }
/// <summary> /// <summary>
/// Creates a zaaReloaded2 paragraph style in the document. /// Creates a paragraph and character styles in the document.
/// </summary> /// </summary>
public void CreateParagraphStyle() public void CreateStyles()
{ {
if (Document != null) if (Document != null)
{ {
@ -253,19 +252,57 @@ namespace zaaReloaded2.Formatter
// paragraph style than by using a try...catch construction. // paragraph style than by using a try...catch construction.
try try
{ {
style = Document.Styles[Properties.Settings.Default.ParagraphStyleName]; style = Document.Styles[Properties.Settings.Default.StyleParagraph];
} }
catch catch
{ {
style = Document.Styles.Add(Properties.Settings.Default.ParagraphStyleName); // Add default paragraph style for laboratory
style = Document.Styles.Add(Properties.Settings.Default.StyleParagraph);
style.Font.Size = 10; // pt style.Font.Size = 10; // pt
style.Font.Bold = 0; style.Font.Bold = 0;
style.Font.Italic = 0; style.Font.Italic = 0;
style.Font.Underline = 0; style.Font.Underline = 0;
style.ParagraphFormat.SpaceAfter = 0;
style.ParagraphFormat.SpaceBefore = 0;
style.ParagraphFormat.LeftIndent = 36; // pt style.ParagraphFormat.LeftIndent = 36; // pt
style.ParagraphFormat.FirstLineIndent = -36; // pt style.ParagraphFormat.FirstLineIndent = -36; // pt
style.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify; style.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify;
} }
try
{
style = Document.Styles[Properties.Settings.Default.StyleHeader];
}
catch
{
// Add header paragraph style for laboratory
style = Document.Styles.Add(Properties.Settings.Default.StyleHeader);
style.Font.Size = 10; // pt
style.Font.Bold = 1;
style.Font.Italic = 0;
style.Font.Underline = WdUnderline.wdUnderlineSingle;
style.ParagraphFormat.SpaceAfter = 0;
style.ParagraphFormat.SpaceBefore = 12;
style.ParagraphFormat.LeftIndent = 36; // pt
style.ParagraphFormat.FirstLineIndent = -36; // pt
style.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphJustify;
style.set_NextParagraphStyle(Document.Styles[Properties.Settings.Default.StyleParagraph]);
}
/*
try
{
style = Document.Styles[Properties.Settings.Default.StyleAbnormal];
}
catch
{
// Add character style for abnormal parameters
style = Document.Styles.Add(
Properties.Settings.Default.StyleAbnormal,
WdStyleType.wdStyleTypeCharacter);
style.Font.Bold = 1;
}
*/
} }
} }

View File

@ -132,7 +132,8 @@ namespace zaaReloaded2.Formatter
string unit; string unit;
if (LabItem.HasUnit) if (LabItem.HasUnit)
{ {
unit = String.Format(" {0}", LabItem.Unit); string space = LabItem.Unit.StartsWith("/") ? String.Empty : " ";
unit = String.Format("{0}{1}", space, LabItem.Unit);
} }
else else
{ {
@ -153,15 +154,22 @@ namespace zaaReloaded2.Formatter
string name = IncludeMaterial ? LabItem.QualifiedName : LabItem.Name; string name = IncludeMaterial ? LabItem.QualifiedName : LabItem.Name;
// Insert the formatted text into the document. string output =
formatter.Write(
String.Format( String.Format(
"{0} {1}{2}{3}", "{0} {1}{2}{3}",
name, name,
value, value,
unit, unit,
reference reference
)); );
if (!LabItem.IsNormal)
{
output = String.Format(
"<b>{0}</b>",
output);
}
formatter.Write(output);
HasBeenUsed = true; HasBeenUsed = true;
} }

View File

@ -0,0 +1,35 @@
/* NoLaboratoryDataException.cs
* part of zaaReloaded2
*
* Copyright 2015 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
using System;
using System.Runtime.Serialization;
namespace zaaReloaded2.Formatter
{
[Serializable]
class NoLaboratoryDataException : Exception
{
public NoLaboratoryDataException() { }
public NoLaboratoryDataException(string message) : base(message) { }
public NoLaboratoryDataException(string message,
Exception innerException)
: base(message, innerException) { }
public NoLaboratoryDataException(SerializationInfo info,
StreamingContext context)
: base(info, context) { }
}
}

View File

@ -68,10 +68,12 @@ namespace zaaReloaded2.Formatter
static string FormatHeader(string text) static string FormatHeader(string text)
{ {
return String.Format("{0}Laborwerte vom {1}:{2}", return String.Format("<style:{0}>Laborwerte vom {1}:{2}<style:{3}>",
Environment.NewLine, // Environment.NewLine,
Properties.Settings.Default.StyleHeader,
text, text,
Environment.NewLine Environment.NewLine,
Properties.Settings.Default.StyleParagraph
); );
} }

BIN
zaaReloaded2/Icons/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -123,7 +123,8 @@ namespace zaaReloaded2.LabModel
public bool HasUpperLimit { get; protected set; } public bool HasUpperLimit { get; protected set; }
/// <summary> /// <summary>
/// Is true if <see cref="Value"/> is normal. /// Is true if <see cref="Value"/> is normal. Returns true
/// if no limits and no normal value are known.
/// </summary> /// </summary>
public bool IsNormal public bool IsNormal
{ {
@ -147,7 +148,7 @@ namespace zaaReloaded2.LabModel
} }
else else
{ {
return (Value == Normal); return String.IsNullOrEmpty(Normal) || (Value == Normal);
} }
} }
} }

View File

@ -127,114 +127,6 @@ namespace zaaReloaded2.Properties {
} }
} }
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Klinische Chemie: Na, K, Cl, Mg, Pi, Alb, Prot, LDH, Hsre")]
public string DefaultItemsClinicalChem {
get {
return ((string)(this["DefaultItemsClinicalChem"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Hämatologie: Hb, Hkt, Reti, Leu, Thr, Neu, HbA1c")]
public string DefaultItemsHematology {
get {
return ((string)(this["DefaultItemsHematology"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa")]
public string DefaultItemsCoagulation {
get {
return ((string)(this["DefaultItemsCoagulation"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Spot-Urin: U-*")]
public string DefaultItemsSpotUrine {
get {
return ((string)(this["DefaultItemsSpotUrine"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Sammelurin: SU-*")]
public string DefaultItemsCollectedUrine {
get {
return ((string)(this["DefaultItemsCollectedUrine"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Weitere Werte: *")]
public string DefaultItemsOther {
get {
return ((string)(this["DefaultItemsOther"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Kardiale Marker: CK, CKMB, Trop, NTproBNP")]
public string DefaultItemsCardio {
get {
return ((string)(this["DefaultItemsCardio"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Blutfette: TG, Chol, LDL, HDL, Lp(a)")]
public string DefaultItemsLipids {
get {
return ((string)(this["DefaultItemsLipids"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Leber: GOT, GGT, GPT, AP, Bili, CHE")]
public string DefaultItemsLiver {
get {
return ((string)(this["DefaultItemsLiver"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Niere: Krea, Hst, eGFR")]
public string DefaultItemsKidney {
get {
return ((string)(this["DefaultItemsKidney"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Entzündung/Immunsystem: CRP, Pct, C3, C4")]
public string DefaultItemsInflammation {
get {
return ((string)(this["DefaultItemsInflammation"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Medikamente: TAC, CSA, SIR, Vancomycin, Gentamicin, Tobramicin")]
public string DefaultItemsDrugs {
get {
return ((string)(this["DefaultItemsDrugs"]));
}
}
[global::System.Configuration.UserScopedSettingAttribute()] [global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("00000000-0000-0000-0000-000000000000")] [global::System.Configuration.DefaultSettingValueAttribute("00000000-0000-0000-0000-000000000000")]
@ -250,9 +142,9 @@ namespace zaaReloaded2.Properties {
[global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("zaaReloaded2-Laborwerte")] [global::System.Configuration.DefaultSettingValueAttribute("zaaReloaded2-Laborwerte")]
public string ParagraphStyleName { public string StyleParagraph {
get { get {
return ((string)(this["ParagraphStyleName"])); return ((string)(this["StyleParagraph"]));
} }
} }
@ -303,5 +195,23 @@ namespace zaaReloaded2.Properties {
this["ImportExportPath"] = value; this["ImportExportPath"] = value;
} }
} }
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("zaaReloaded2-Überschrift")]
public string StyleHeader {
get {
return ((string)(this["StyleHeader"]));
}
}
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("zaaReloaded2-Pathologisch")]
public string StyleAbnormal {
get {
return ((string)(this["StyleAbnormal"]));
}
}
} }
} }

View File

@ -35,46 +35,10 @@
<Setting Name="SettingsNameClinic" Type="System.String" Scope="Application"> <Setting Name="SettingsNameClinic" Type="System.String" Scope="Application">
<Value Profile="(Default)">Standard für NepA</Value> <Value Profile="(Default)">Standard für NepA</Value>
</Setting> </Setting>
<Setting Name="DefaultItemsClinicalChem" Type="System.String" Scope="Application">
<Value Profile="(Default)">Klinische Chemie: Na, K, Cl, Mg, Pi, Alb, Prot, LDH, Hsre</Value>
</Setting>
<Setting Name="DefaultItemsHematology" Type="System.String" Scope="Application">
<Value Profile="(Default)">Hämatologie: Hb, Hkt, Reti, Leu, Thr, Neu, HbA1c</Value>
</Setting>
<Setting Name="DefaultItemsCoagulation" Type="System.String" Scope="Application">
<Value Profile="(Default)">Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa</Value>
</Setting>
<Setting Name="DefaultItemsSpotUrine" Type="System.String" Scope="Application">
<Value Profile="(Default)">Spot-Urin: U-*</Value>
</Setting>
<Setting Name="DefaultItemsCollectedUrine" Type="System.String" Scope="Application">
<Value Profile="(Default)">Sammelurin: SU-*</Value>
</Setting>
<Setting Name="DefaultItemsOther" Type="System.String" Scope="Application">
<Value Profile="(Default)">Weitere Werte: *</Value>
</Setting>
<Setting Name="DefaultItemsCardio" Type="System.String" Scope="Application">
<Value Profile="(Default)">Kardiale Marker: CK, CKMB, Trop, NTproBNP</Value>
</Setting>
<Setting Name="DefaultItemsLipids" Type="System.String" Scope="Application">
<Value Profile="(Default)">Blutfette: TG, Chol, LDL, HDL, Lp(a)</Value>
</Setting>
<Setting Name="DefaultItemsLiver" Type="System.String" Scope="Application">
<Value Profile="(Default)">Leber: GOT, GGT, GPT, AP, Bili, CHE</Value>
</Setting>
<Setting Name="DefaultItemsKidney" Type="System.String" Scope="Application">
<Value Profile="(Default)">Niere: Krea, Hst, eGFR</Value>
</Setting>
<Setting Name="DefaultItemsInflammation" Type="System.String" Scope="Application">
<Value Profile="(Default)">Entzündung/Immunsystem: CRP, Pct, C3, C4</Value>
</Setting>
<Setting Name="DefaultItemsDrugs" Type="System.String" Scope="Application">
<Value Profile="(Default)">Medikamente: TAC, CSA, SIR, Vancomycin, Gentamicin, Tobramicin</Value>
</Setting>
<Setting Name="LastSettings" Type="System.Guid" Scope="User"> <Setting Name="LastSettings" Type="System.Guid" Scope="User">
<Value Profile="(Default)">00000000-0000-0000-0000-000000000000</Value> <Value Profile="(Default)">00000000-0000-0000-0000-000000000000</Value>
</Setting> </Setting>
<Setting Name="ParagraphStyleName" Type="System.String" Scope="Application"> <Setting Name="StyleParagraph" Type="System.String" Scope="Application">
<Value Profile="(Default)">zaaReloaded2-Laborwerte</Value> <Value Profile="(Default)">zaaReloaded2-Laborwerte</Value>
</Setting> </Setting>
<Setting Name="ReferenceStyle" Type="zaaReloaded2.Formatter.ReferenceStyle" Scope="Application"> <Setting Name="ReferenceStyle" Type="zaaReloaded2.Formatter.ReferenceStyle" Scope="Application">
@ -92,5 +56,11 @@
<Setting Name="ImportExportPath" Type="System.String" Scope="User"> <Setting Name="ImportExportPath" Type="System.String" Scope="User">
<Value Profile="(Default)" /> <Value Profile="(Default)" />
</Setting> </Setting>
<Setting Name="StyleHeader" Type="System.String" Scope="Application">
<Value Profile="(Default)">zaaReloaded2-Überschrift</Value>
</Setting>
<Setting Name="StyleAbnormal" Type="System.String" Scope="Application">
<Value Profile="(Default)">zaaReloaded2-Pathologisch</Value>
</Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

View File

@ -31,6 +31,9 @@ using zaaReloaded2.ViewModels;
using zaaReloaded2.Importer.ZaaImporter; using zaaReloaded2.Importer.ZaaImporter;
using zaaReloaded2.Formatter; using zaaReloaded2.Formatter;
using zaaReloaded2.Controller; using zaaReloaded2.Controller;
using Word = Microsoft.Office.Interop.Word;
using Bovender.Mvvm.Actions;
using Bovender.Mvvm.Messaging;
// TODO: Follow these steps to enable the Ribbon (XML) item: // TODO: Follow these steps to enable the Ribbon (XML) item:
@ -79,7 +82,8 @@ namespace zaaReloaded2
public void Ribbon_Load(Office.IRibbonUI ribbonUI) public void Ribbon_Load(Office.IRibbonUI ribbonUI)
{ {
_ribbon = ribbonUI; _ribbon = ribbonUI;
Globals.ThisAddIn.Application.WindowSelectionChange += Application_WindowSelectionChange; Microsoft.Office.Interop.Word.Application word = Globals.ThisAddIn.Application;
word.WindowSelectionChange += Application_WindowSelectionChange;
} }
/// <summary> /// <summary>
@ -152,9 +156,19 @@ namespace zaaReloaded2
} }
} }
/// <summary>
/// Returns true if there is at least one paragraph selected.
/// </summary>
/// <remarks>
/// The Selection object in Word is a bit tricky: Its Length property
/// is never 0, because even if no text passage is selected, the character
/// after the cursor is the content of the Selection.
/// </remarks>
public bool CanFormat(Office.IRibbonControl control) public bool CanFormat(Office.IRibbonControl control)
{ {
return Globals.ThisAddIn.Application.Selection.Paragraphs.Count > 0; Word.Selection s = Globals.ThisAddIn.Application.ActiveWindow.Selection;
return s.Paragraphs.Count > 1 ||
(s.Text.Length > 1 && s.Text.EndsWith("\r"));
} }
#endregion #endregion
@ -182,13 +196,24 @@ namespace zaaReloaded2
void DoFormat(Settings settings) void DoFormat(Settings settings)
{ {
ZaaImporter importer = new ZaaImporter(); ZaaImporter importer = new ZaaImporter();
importer.Import(Globals.ThisAddIn.Application.Selection.Text); importer.Import(Globals.ThisAddIn.Application.ActiveWindow.Selection.Text);
Formatter.Formatter formatter =new Formatter.Formatter( Formatter.Formatter formatter = new Formatter.Formatter(
Globals.ThisAddIn.Application.ActiveDocument); Globals.ThisAddIn.Application.ActiveDocument);
formatter.Settings = settings; formatter.Settings = settings;
formatter.Laboratory = importer.Laboratory; formatter.Laboratory = importer.Laboratory;
try
{
formatter.Run(); formatter.Run();
} }
catch (NoLaboratoryDataException)
{
NotificationAction a = new NotificationAction();
a.Caption = "Formatieren nicht möglich";
a.Message = "Die aktuelle Markierung scheint keine Labordaten zu enthalten.";
a.OkButtonLabel = "Schließen";
a.Invoke();
}
}
void DoChooseSettings() void DoChooseSettings()
{ {

View File

@ -1,2 +1,2 @@
2.0.0-beta.1 2.0.0-beta.2
2.0.0.6 2.0.0.7

View File

@ -57,7 +57,7 @@ namespace zaaReloaded2.ViewModels
{ {
get get
{ {
return String.Format("(c) Copyright {0} {1}", return String.Format("© Copyright {0} {1}",
PubYear, PubYear,
Properties.Settings.Default.Authors); Properties.Settings.Default.Authors);
} }

View File

@ -26,6 +26,7 @@ using zaaReloaded2.Controller;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Runtime.Serialization.Formatters.Soap; using System.Runtime.Serialization.Formatters.Soap;
using System.IO; using System.IO;
using Microsoft.Office.Interop.Word;
namespace zaaReloaded2.ViewModels namespace zaaReloaded2.ViewModels
{ {
@ -314,7 +315,12 @@ namespace zaaReloaded2.ViewModels
bool CanUseSettings() bool CanUseSettings()
{ {
return LastSelected != null && LastSelected.IsSelected; Selection selection = Globals.ThisAddIn.Application.ActiveWindow.Selection;
return LastSelected != null && LastSelected.IsSelected &&
(
selection.Paragraphs.Count > 1
|| (selection.Text.Length > 1 && selection.Text.EndsWith("\r"))
);
} }
void DoAddSettings() void DoAddSettings()

View File

@ -347,7 +347,7 @@ namespace zaaReloaded2.ViewModels
picker.ElementChosenMessage.Sent += (sender, args) => picker.ElementChosenMessage.Sent += (sender, args) =>
{ {
ElementViewModel newVM = args.Content.ViewModel as ElementViewModel; ElementViewModel newVM = args.Content.ViewModel as ElementViewModel;
if (IsTopLevelElement()) if (LastSelectedElement == null || IsTopLevelElement())
{ {
AddElementViewModel(newVM); AddElementViewModel(newVM);
} }

View File

@ -20,7 +20,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:b="clr-namespace:Bovender.Mvvm.Views.Settings;assembly=Bovender" xmlns:b="clr-namespace:Bovender.Mvvm.Views.Settings;assembly=Bovender"
SizeToContent="WidthAndHeight" ResizeMode="NoResize" ShowInTaskbar="False" Width="360" Height="320" ResizeMode="NoResize" ShowInTaskbar="False"
b:WindowState.CenterScreen="True" b:WindowState.CenterScreen="True"
Title="Über..." Title="Über..."
> >
@ -28,13 +28,14 @@
<ResourceDictionary Source="/zaaReloaded2;component/Style.xaml" /> <ResourceDictionary Source="/zaaReloaded2;component/Style.xaml" />
</Window.Resources> </Window.Resources>
<StackPanel Margin="20"> <StackPanel Margin="20">
<Image Source="/zaaReloaded2;component/Icons/icon.png" Width="64" VerticalAlignment="Center" Margin="0 0 0 10" />
<TextBlock TextAlignment="Center" Text="{Binding AddinName}" FontSize="20" FontWeight="Bold" /> <TextBlock TextAlignment="Center" Text="{Binding AddinName}" FontSize="20" FontWeight="Bold" />
<TextBlock TextAlignment="Center" Text="{Binding Version}" Margin="0, 5, 0, 10" /> <TextBlock TextAlignment="Center" Text="{Binding Version}" Margin="0, 5, 0, 10" />
<TextBlock TextAlignment="Center" Text="{Binding CopyrightString}" Margin="0, 0, 0, 10" /> <TextBlock TextAlignment="Center" Text="{Binding CopyrightString}" Margin="0, 0, 0, 10" />
<TextBlock TextAlignment="Center" Margin="0, 10, 0, 10"> <TextBlock TextAlignment="Center" Margin="0, 10, 0, 10">
Homepage: Homepage:
<Hyperlink Command="{Binding GotoHomepageCommand}"> <Hyperlink Command="{Binding GotoHomepageCommand}">
<TextBlock Text="{Binding Homepage}" /> <TextBlock Text="zaa.nephrowiki.de" />
</Hyperlink> </Hyperlink>
<LineBreak /> <LineBreak />
Lizenz: Lizenz:

View File

@ -21,22 +21,23 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:b="clr-namespace:Bovender.Mvvm.Views.Settings;assembly=Bovender" xmlns:b="clr-namespace:Bovender.Mvvm.Views.Settings;assembly=Bovender"
SizeToContent="WidthAndHeight" ResizeMode="CanResizeWithGrip" ShowInTaskbar="False" ResizeMode="CanResizeWithGrip" ShowInTaskbar="False"
WindowStyle="ToolWindow" Topmost="True" WindowStyle="ToolWindow" Topmost="True"
Width="280" Height="180" MinWidth="280" MinHeight="180"
b:WindowState.CenterScreen="True" b:WindowState.Save="True" b:WindowState.CenterScreen="True" b:WindowState.Save="True"
Title="Element bearbeiten" Title="Element bearbeiten"
> >
<Window.Resources> <Window.Resources>
<ResourceDictionary Source="/zaaReloaded2;component/Style.xaml" /> <ResourceDictionary Source="/zaaReloaded2;component/Style.xaml" />
</Window.Resources> </Window.Resources>
<StackPanel Margin="10"> <DockPanel Margin="10">
<Label Content="Inhalt:" Target="{Binding ElementName=ContentTextBox}" /> <Label DockPanel.Dock="Top" Content="Inhalt:" Target="{Binding ElementName=ContentTextBox}" />
<TextBox Text="{Binding Content,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" <UniformGrid DockPanel.Dock="Bottom" HorizontalAlignment="Right" Columns="2" Rows="1" Margin="0 10 0 0">
x:Name="ContentTextBox" Margin="0 0 0 5"
Width="300" Height="60" TextWrapping="Wrap" />
<UniformGrid HorizontalAlignment="Right" Columns="2" Rows="1" Margin="0 10 0 0">
<Button Content="OK" Command="{Binding SaveCommand}" IsDefault="True" Margin="0 0 5 0" /> <Button Content="OK" Command="{Binding SaveCommand}" IsDefault="True" Margin="0 0 5 0" />
<Button Content="Abbrechen" Command="{Binding CloseViewCommand}" IsCancel="True" Margin="5 0 0 0" /> <Button Content="Abbrechen" Command="{Binding CloseViewCommand}" IsCancel="True" Margin="5 0 0 0" />
</UniformGrid> </UniformGrid>
</StackPanel> <TextBox Text="{Binding Content,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
VerticalScrollBarVisibility="Auto"
x:Name="ContentTextBox" Margin="0 0 0 5" TextWrapping="Wrap" />
</DockPanel>
</Window> </Window>

View File

@ -56,43 +56,7 @@
<setting name="SettingsNameClinic" serializeAs="String"> <setting name="SettingsNameClinic" serializeAs="String">
<value>Standard für NepA</value> <value>Standard für NepA</value>
</setting> </setting>
<setting name="DefaultItemsClinicalChem" serializeAs="String"> <setting name="StyleParagraph" serializeAs="String">
<value>Klinische Chemie: Na, K, Cl, Mg, Pi, Alb, Prot, LDH, Hsre</value>
</setting>
<setting name="DefaultItemsHematology" serializeAs="String">
<value>Hämatologie: Hb, Hkt, Reti, Leu, Thr, Neu, HbA1c</value>
</setting>
<setting name="DefaultItemsCoagulation" serializeAs="String">
<value>Gerinnung: Quick, INR, PTT, Fibrinogen, ATIII, Anti-Xa</value>
</setting>
<setting name="DefaultItemsSpotUrine" serializeAs="String">
<value>Spot-Urin: U-*</value>
</setting>
<setting name="DefaultItemsCollectedUrine" serializeAs="String">
<value>Sammelurin: SU-*</value>
</setting>
<setting name="DefaultItemsOther" serializeAs="String">
<value>Weitere Werte: *</value>
</setting>
<setting name="DefaultItemsCardio" serializeAs="String">
<value>Kardiale Marker: CK, CKMB, Trop, NTproBNP</value>
</setting>
<setting name="DefaultItemsLipids" serializeAs="String">
<value>Blutfette: TG, Chol, LDL, HDL, Lp(a)</value>
</setting>
<setting name="DefaultItemsLiver" serializeAs="String">
<value>Leber: GOT, GGT, GPT, AP, Bili, CHE</value>
</setting>
<setting name="DefaultItemsKidney" serializeAs="String">
<value>Niere: Krea, Hst, eGFR</value>
</setting>
<setting name="DefaultItemsInflammation" serializeAs="String">
<value>Entzündung/Immunsystem: CRP, Pct, C3, C4</value>
</setting>
<setting name="DefaultItemsDrugs" serializeAs="String">
<value>Medikamente: TAC, CSA, SIR, Vancomycin, Gentamicin, Tobramicin</value>
</setting>
<setting name="ParagraphStyleName" serializeAs="String">
<value>zaaReloaded2-Laborwerte</value> <value>zaaReloaded2-Laborwerte</value>
</setting> </setting>
<setting name="ReferenceStyle" serializeAs="String"> <setting name="ReferenceStyle" serializeAs="String">
@ -107,6 +71,12 @@
<setting name="SerializationVersion" serializeAs="String"> <setting name="SerializationVersion" serializeAs="String">
<value>1</value> <value>1</value>
</setting> </setting>
<setting name="StyleHeader" serializeAs="String">
<value>zaaReloaded2-Überschrift</value>
</setting>
<setting name="StyleAbnormal" serializeAs="String">
<value>zaaReloaded2-Pathologisch</value>
</setting>
</zaaReloaded2.Properties.Settings> </zaaReloaded2.Properties.Settings>
</applicationSettings> </applicationSettings>
<userSettings> <userSettings>

View File

@ -213,6 +213,7 @@
<Compile Include="ExceptionHandler\SubmissionSuccessView.xaml.cs" /> <Compile Include="ExceptionHandler\SubmissionSuccessView.xaml.cs" />
<Compile Include="Formatter\DanielsStyle.cs" /> <Compile Include="Formatter\DanielsStyle.cs" />
<Compile Include="Formatter\DocumentWriter.cs" /> <Compile Include="Formatter\DocumentWriter.cs" />
<Compile Include="Formatter\NoLaboratoryDataException.cs" />
<Compile Include="Ribbon.cs" /> <Compile Include="Ribbon.cs" />
<Compile Include="Thesaurus\ThesaurusBase.cs" /> <Compile Include="Thesaurus\ThesaurusBase.cs" />
<Compile Include="Formatter\IItemFormatterDictionary.cs" /> <Compile Include="Formatter\IItemFormatterDictionary.cs" />
@ -407,7 +408,9 @@
<Resource Include="Icons\down.png" /> <Resource Include="Icons\down.png" />
<Resource Include="Icons\up.png" /> <Resource Include="Icons\up.png" />
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup>
<Resource Include="Icons\icon.png" />
</ItemGroup>
<PropertyGroup> <PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>