From f25a9587971e09aa78973899a3e821eb5715b853 Mon Sep 17 00:00:00 2001 From: akwkevin Date: Fri, 23 Jul 2021 09:42:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 66 + .gitignore | 264 + .../AIStudio.Wpf.ADiagram.csproj | 923 ++ AIStudio.Wpf.ADiagram/App.config | 28 + AIStudio.Wpf.ADiagram/App.xaml | 15 + AIStudio.Wpf.ADiagram/App.xaml.cs | 42 + .../ApplicationServicesProvider.cs | 82 + AIStudio.Wpf.ADiagram/AssemblyInfo.cs | 10 + .../Commands/CanExecuteDelegateCommand.cs | 908 ++ .../Commands/CommandReference.cs | 69 + .../Commands/CompositeCommand.cs | 240 + .../Commands/ControlBinding.cs | 334 + .../Commands/ControlCommand.cs | 108 + .../Commands/DelegateCommand(T).cs | 140 + .../Commands/DelegateCommand.cs | 106 + .../Commands/DelegateCommandBase.cs | 139 + .../Commands/IActiveAware.cs | 26 + .../Commands/PropertyObserver.cs | 68 + .../Commands/PropertyObserverNode.cs | 70 + .../Controls/AnimationHelper.cs | 98 + AIStudio.Wpf.ADiagram/Controls/Barcode.xaml | 23 + .../Controls/Barcode.xaml.cs | 129 + .../Controls/CancelRoutedEventArgs.cs | 18 + .../Controls/ContextMenuToggleButton.cs | 35 + .../Controls/GradientStopControl.xaml | 139 + .../Controls/GradientStopControl.xaml.cs | 46 + .../Controls/MultiSelectComboBox.xaml | 99 + .../Controls/MultiSelectComboBox.xaml.cs | 334 + AIStudio.Wpf.ADiagram/Controls/OutlineText.cs | 310 + .../Controls/PopupWindow.xaml | 34 + .../Controls/PopupWindow.xaml.cs | 33 + .../Controls/PropertiesView.xaml | 63 + .../Controls/PropertiesView.xaml.cs | 228 + .../Controls/RectangleGrid.cs | 349 + .../Controls/ScrollViewer.xaml | 58 + .../Controls/ScrollViewer.xaml.cs | 237 + .../Controls/SliderRotation.xaml | 38 + .../Controls/SliderRotation.xaml.cs | 140 + .../Controls/TabControl.xaml | 181 + .../Controls/TabControl.xaml.cs | 443 + AIStudio.Wpf.ADiagram/Controls/TabItem.cs | 467 + AIStudio.Wpf.ADiagram/Controls/TabPanel.cs | 172 + AIStudio.Wpf.ADiagram/Controls/WPFRuler.cs | 619 ++ .../Converters/BoolVisibilityConverter.cs | 50 + .../Boolean2VisibilityReConverter.cs | 20 + .../Converters/ConverterBoolToValueMap.cs | 81 + .../ConverterValueMapSetToVisibility.cs | 59 + .../Converters/ConverterValueMapToBool.cs | 81 + .../ConverterValueMapToVisibility.cs | 57 + .../ConverterValueSetToOppositeVisibility.cs | 59 + .../Converters/CountShiftConverter.cs | 45 + .../Converters/DoubleToThickness.cs | 85 + .../Converters/HtmlColorConverter.cs | 50 + .../Converters/IndentConverter.cs | 39 + .../Converters/IntVisibilityConverter.cs | 61 + .../Converters/NullableToBooleanConverter.cs | 23 + .../NullableToVisibilityConverter.cs | 23 + .../Converters/NumberConverter.cs | 25 + .../Converters/RulerUnitConverter.cs | 36 + .../Converters/StringPathConverter.cs | 32 + .../Converters/ThicknessBindingConverter.cs | 72 + .../Converters/ThicknessConverter.cs | 59 + .../Demos/Flowchart/FlowchartService.cs | 47 + .../Demos/Flowchart/FlowchartViewModel.cs | 102 + .../Flowchart/Models/FlowNodeDesignerItem.cs | 50 + .../Demos/Flowchart/NodeKinds.cs | 27 + .../Demos/Flowchart/SelectOption.cs | 22 + .../Demos/Flowchart/ViewModels/FlowNode.cs | 136 + .../Demos/Flowchart/ViewModels/FlowNode.xaml | 129 + .../Flowchart/ViewModels/MiddleFlowNode.cs | 60 + .../Demos/Logical/LinkPoint.cs | 25 + .../Demos/Logical/LogicalService.cs | 23 + .../Demos/Logical/LogicalViewModel.cs | 416 + .../Demos/Logical/Models/LogicalGateItem.cs | 25 + .../ViewModels/LinkPointDesignerItemData.cs | 32 + .../Logical/ViewModels/LogicalGateItemData.cs | 34 + .../ViewModels/LogicalGateItemViewModel.cs | 745 ++ .../ViewModels/LogicalGateItemViewModel.xaml | 101 + .../ViewModels/ValueDesignerItemData.cs | 32 + .../Demos/Others/Models/PathDesignerItem.cs | 19 + .../Others/Models/PersistDesignerItem.cs | 25 + .../Others/Models/SettingsDesignerItem.cs | 23 + .../ViewModels/BarcodeDesignerItemData.cs | 93 + .../BarcodeDesignerItemViewModel.cs | 87 + .../BarcodeDesignerItemViewModel.xaml | 50 + .../ViewModels/OutLineTextDesignerItemData.cs | 54 + .../OutLineTextDesignerItemViewModel.cs | 87 + .../OutLineTextDesignerItemViewModel.xaml | 113 + .../Others/ViewModels/PathItemViewModel.cs | 30 + .../Others/ViewModels/PathItemViewModel.xaml | 34 + .../ViewModels/PersistDesignerItemData.cs | 39 + .../PersistDesignerItemViewModel.cs | 58 + .../PersistDesignerItemViewModel.xaml | 80 + .../ViewModels/SettingsDesignerItemData.cs | 39 + .../SettingsDesignerItemViewModel.cs | 56 + .../SettingsDesignerItemViewModel.xaml | 80 + .../ViewModels/SvgDesignerItemViewModel.cs | 23 + .../ViewModels/SvgDesignerItemViewModel.xaml | 13 + .../DesignItems/Customs/1.json | 172 + AIStudio.Wpf.ADiagram/Enums/ColorType.cs | 15 + AIStudio.Wpf.ADiagram/Helpers/EnumHelper.cs | 42 + .../Helpers/NewNameHelper.cs | 56 + AIStudio.Wpf.ADiagram/Helpers/TypeHelper.cs | 50 + .../Helpers/XmlSerializeHelper.cs | 41 + AIStudio.Wpf.ADiagram/Icons/App.ico | Bin 0 -> 16958 bytes .../Images/AlignObjectsBottom.png | Bin 0 -> 405 bytes .../Images/AlignObjectsCenteredHorizontal.png | Bin 0 -> 353 bytes .../Images/AlignObjectsCenteredVertical.png | Bin 0 -> 365 bytes .../Images/AlignObjectsLeft.png | Bin 0 -> 425 bytes .../Images/AlignObjectsRight.png | Bin 0 -> 454 bytes .../Images/AlignObjectsTop.png | Bin 0 -> 413 bytes AIStudio.Wpf.ADiagram/Images/Blue.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/BlueLarge.png | Bin 0 -> 230 bytes AIStudio.Wpf.ADiagram/Images/Bold.png | Bin 0 -> 2987 bytes AIStudio.Wpf.ADiagram/Images/Box.png | Bin 0 -> 2873 bytes AIStudio.Wpf.ADiagram/Images/BringForward.png | Bin 0 -> 556 bytes AIStudio.Wpf.ADiagram/Images/BringToFront.png | Bin 0 -> 689 bytes AIStudio.Wpf.ADiagram/Images/Brown.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/BrownLarge.png | Bin 0 -> 230 bytes AIStudio.Wpf.ADiagram/Images/ChangeCase.png | Bin 0 -> 3119 bytes .../Images/ClearFormatting.png | Bin 0 -> 3228 bytes AIStudio.Wpf.ADiagram/Images/Copy.png | Bin 0 -> 643 bytes AIStudio.Wpf.ADiagram/Images/Cut.png | Bin 0 -> 628 bytes AIStudio.Wpf.ADiagram/Images/Delete.png | Bin 0 -> 743 bytes AIStudio.Wpf.ADiagram/Images/Disconnect.png | Bin 0 -> 3576 bytes .../Images/DistributeObjectsHorizontal.png | Bin 0 -> 435 bytes .../Images/DistributeObjectsVertical.png | Bin 0 -> 334 bytes AIStudio.Wpf.ADiagram/Images/FontColor.png | Bin 0 -> 3116 bytes .../Images/FormatPainter.png | Bin 0 -> 3346 bytes AIStudio.Wpf.ADiagram/Images/GIF.png | Bin 0 -> 3974 bytes AIStudio.Wpf.ADiagram/Images/GalleryLarge.png | Bin 0 -> 3154 bytes .../Images/GenericDocument.png | Bin 0 -> 1022 bytes AIStudio.Wpf.ADiagram/Images/Gray.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/GrayLarge.png | Bin 0 -> 228 bytes AIStudio.Wpf.ADiagram/Images/Green.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/GreenLarge.png | Bin 0 -> 229 bytes AIStudio.Wpf.ADiagram/Images/Group.png | Bin 0 -> 654 bytes AIStudio.Wpf.ADiagram/Images/GrowFont.png | Bin 0 -> 3113 bytes AIStudio.Wpf.ADiagram/Images/Italic.png | Bin 0 -> 2963 bytes AIStudio.Wpf.ADiagram/Images/New.png | Bin 0 -> 3003 bytes AIStudio.Wpf.ADiagram/Images/OpenFolder.png | Bin 0 -> 743 bytes AIStudio.Wpf.ADiagram/Images/Orange.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/OrangeLarge.png | Bin 0 -> 231 bytes AIStudio.Wpf.ADiagram/Images/Paste.png | Bin 0 -> 730 bytes AIStudio.Wpf.ADiagram/Images/PasteBig.png | Bin 0 -> 3108 bytes .../Images/PasteFormating.png | Bin 0 -> 3087 bytes AIStudio.Wpf.ADiagram/Images/PasteImage.png | Bin 0 -> 3304 bytes .../Images/PasteSourceFormating.png | Bin 0 -> 3535 bytes AIStudio.Wpf.ADiagram/Images/PasteText.png | Bin 0 -> 3198 bytes .../Images/PasteTextOnly.png | Bin 0 -> 3168 bytes AIStudio.Wpf.ADiagram/Images/Persist.png | Bin 0 -> 25903 bytes AIStudio.Wpf.ADiagram/Images/Pink.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/PinkLarge.png | Bin 0 -> 225 bytes AIStudio.Wpf.ADiagram/Images/Print.png | Bin 0 -> 766 bytes AIStudio.Wpf.ADiagram/Images/Red.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/RedLarge.png | Bin 0 -> 229 bytes AIStudio.Wpf.ADiagram/Images/SVG.png | Bin 0 -> 8994 bytes .../Images/SampleImageForScreenTip.png | Bin 0 -> 6817 bytes AIStudio.Wpf.ADiagram/Images/Save.png | Bin 0 -> 595 bytes AIStudio.Wpf.ADiagram/Images/SendBackward.png | Bin 0 -> 559 bytes AIStudio.Wpf.ADiagram/Images/SendToBack.png | Bin 0 -> 586 bytes AIStudio.Wpf.ADiagram/Images/Setting.png | Bin 0 -> 30228 bytes AIStudio.Wpf.ADiagram/Images/ShrinkFont.png | Bin 0 -> 2959 bytes .../Images/Strikethrough.png | Bin 0 -> 2999 bytes AIStudio.Wpf.ADiagram/Images/Subscript.png | Bin 0 -> 2993 bytes AIStudio.Wpf.ADiagram/Images/Superscript.png | Bin 0 -> 2998 bytes .../Images/Svgs/account-book.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/alert.svg | 4 + .../Images/Svgs/alipay-circle.svg | 4 + .../Images/Svgs/alipay-square.svg | 4 + .../Images/Svgs/aliwangwang.svg | 4 + .../Images/Svgs/amazon-circle.svg | 4 + .../Images/Svgs/amazon-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/android.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/api.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/apple.svg | 4 + .../Images/Svgs/appstore.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/audio.svg | 4 + .../Images/Svgs/backward.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/bank.svg | 4 + .../Images/Svgs/behance-circle.svg | 4 + .../Images/Svgs/behance-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/bell.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/book.svg | 4 + .../Images/Svgs/box-plot.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/bug.svg | 5 + AIStudio.Wpf.ADiagram/Images/Svgs/build.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/bulb.svg | 4 + .../Images/Svgs/calculator.svg | 4 + .../Images/Svgs/calendar.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/camera.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/car.svg | 4 + .../Images/Svgs/caret-down.svg | 4 + .../Images/Svgs/caret-left.svg | 4 + .../Images/Svgs/caret-right.svg | 4 + .../Images/Svgs/caret-up.svg | 4 + .../Images/Svgs/carry-out.svg | 4 + .../Images/Svgs/check-circle.svg | 4 + .../Images/Svgs/check-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/chrome.svg | 4 + .../Images/Svgs/ci-circle.svg | 4 + .../Images/Svgs/clock-circle.svg | 4 + .../Images/Svgs/close-circle.svg | 4 + .../Images/Svgs/close-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/cloud.svg | 4 + .../Images/Svgs/code-sandbox-circle.svg | 4 + .../Images/Svgs/code-sandbox-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/code.svg | 4 + .../Images/Svgs/codepen-circle.svg | 4 + .../Images/Svgs/codepen-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/compass.svg | 4 + .../Images/Svgs/contacts.svg | 4 + .../Images/Svgs/container.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/control.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/copy.svg | 4 + .../Images/Svgs/copyright-circle.svg | 4 + .../Images/Svgs/credit-card.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/crown.svg | 4 + .../Images/Svgs/customer-service.svg | 4 + .../Images/Svgs/dashboard.svg | 4 + .../Images/Svgs/database.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/delete.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/diff.svg | 4 + .../Images/Svgs/dingtalk-circle.svg | 4 + .../Images/Svgs/dingtalk-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/dislike.svg | 4 + .../Images/Svgs/dollar-circle.svg | 4 + .../Images/Svgs/down-circle.svg | 4 + .../Images/Svgs/down-square.svg | 4 + .../Images/Svgs/dribbble-circle.svg | 4 + .../Images/Svgs/dribbble-square.svg | 4 + .../Images/Svgs/dropbox-circle.svg | 4 + .../Images/Svgs/dropbox-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/edit.svg | 4 + .../Images/Svgs/environment.svg | 4 + .../Images/Svgs/euro-circle.svg | 4 + .../Images/Svgs/exclamation-circle.svg | 4 + .../Images/Svgs/experiment.svg | 4 + .../Images/Svgs/eye-invisible.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/eye.svg | 4 + .../Images/Svgs/facebook.svg | 4 + .../Images/Svgs/fast-backward.svg | 4 + .../Images/Svgs/fast-forward.svg | 4 + .../Images/Svgs/file-add.svg | 4 + .../Images/Svgs/file-excel.svg | 4 + .../Images/Svgs/file-exclamation.svg | 4 + .../Images/Svgs/file-image.svg | 4 + .../Images/Svgs/file-markdown.svg | 4 + .../Images/Svgs/file-pdf.svg | 4 + .../Images/Svgs/file-ppt.svg | 4 + .../Images/Svgs/file-text.svg | 4 + .../Images/Svgs/file-unknown.svg | 4 + .../Images/Svgs/file-word.svg | 4 + .../Images/Svgs/file-zip.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/file.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/filter.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/fire.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/flag.svg | 4 + .../Images/Svgs/folder-add.svg | 4 + .../Images/Svgs/folder-open.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/folder.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/forward.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/frown.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/fund.svg | 4 + .../Images/Svgs/funnel-plot.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/gift.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/github.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/gitlab.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/golden.svg | 4 + .../Images/Svgs/google-circle.svg | 4 + .../Images/Svgs/google-plus-circle.svg | 4 + .../Images/Svgs/google-plus-square.svg | 4 + .../Images/Svgs/google-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/hdd.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/heart.svg | 4 + .../Images/Svgs/highlight.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/home.svg | 4 + .../Images/Svgs/hourglass.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/html5.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/idcard.svg | 4 + .../Images/Svgs/ie-circle.svg | 4 + .../Images/Svgs/ie-square.svg | 4 + .../Images/Svgs/info-circle.svg | 4 + .../Images/Svgs/instagram.svg | 4 + .../Images/Svgs/insurance.svg | 4 + .../Images/Svgs/interaction.svg | 4 + .../Images/Svgs/interation.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/layout.svg | 4 + .../Images/Svgs/left-circle.svg | 4 + .../Images/Svgs/left-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/like.svg | 4 + .../Images/Svgs/linkedin.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/lock.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/mail.svg | 4 + .../Images/Svgs/medicine-box.svg | 4 + .../Images/Svgs/medium-circle.svg | 4 + .../Images/Svgs/medium-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/meh.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/message.svg | 4 + .../Images/Svgs/minus-circle.svg | 4 + .../Images/Svgs/minus-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/mobile.svg | 4 + .../Images/Svgs/money-collect.svg | 4 + .../Images/Svgs/notification.svg | 4 + .../Images/Svgs/pause-circle.svg | 4 + .../Images/Svgs/pay-circle.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/phone.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/picture.svg | 4 + .../Images/Svgs/pie-chart.svg | 4 + .../Images/Svgs/play-circle.svg | 4 + .../Images/Svgs/play-square.svg | 4 + .../Images/Svgs/plus-circle.svg | 4 + .../Images/Svgs/plus-square.svg | 4 + .../Images/Svgs/pound-circle.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/printer.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/profile.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/project.svg | 4 + .../Images/Svgs/property-safety.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/pushpin.svg | 4 + .../Images/Svgs/qq-circle.svg | 4 + .../Images/Svgs/qq-square.svg | 4 + .../Images/Svgs/question-circle.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/read.svg | 4 + .../Images/Svgs/reconciliation.svg | 4 + .../Images/Svgs/red-envelope.svg | 4 + .../Images/Svgs/reddit-circle.svg | 4 + .../Images/Svgs/reddit-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/rest.svg | 4 + .../Images/Svgs/right-circle.svg | 4 + .../Images/Svgs/right-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/rocket.svg | 4 + .../Images/Svgs/safety-certificate.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/save.svg | 4 + .../Images/Svgs/schedule.svg | 4 + .../Images/Svgs/security-scan.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/setting.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/shop.svg | 4 + .../Images/Svgs/shopping.svg | 4 + .../Images/Svgs/sketch-circle.svg | 4 + .../Images/Svgs/sketch-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/skin.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/skype.svg | 4 + .../Images/Svgs/slack-circle.svg | 1 + .../Images/Svgs/slack-square.svg | 1 + AIStudio.Wpf.ADiagram/Images/Svgs/sliders.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/smile.svg | 4 + .../Images/Svgs/snippets.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/sound.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/star.svg | 4 + .../Images/Svgs/step-backward.svg | 4 + .../Images/Svgs/step-forward.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/stop.svg | 4 + .../Images/Svgs/switcher.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/tablet.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/tag.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/tags.svg | 4 + .../Images/Svgs/taobao-circle.svg | 4 + .../Images/Svgs/taobao-square.svg | 4 + .../Images/Svgs/thunderbolt.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/tool.svg | 4 + .../Images/Svgs/trademark-circle.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/trophy.svg | 4 + .../Images/Svgs/twitter-circle.svg | 4 + .../Images/Svgs/twitter-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/unlock.svg | 4 + .../Images/Svgs/up-circle.svg | 4 + .../Images/Svgs/up-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/usb.svg | 4 + .../Images/Svgs/video-camera.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/wallet.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/warning.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/wechat.svg | 4 + .../Images/Svgs/weibo-circle.svg | 4 + .../Images/Svgs/weibo-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/windows.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/yahoo.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/youtube.svg | 4 + AIStudio.Wpf.ADiagram/Images/Svgs/yuque.svg | 4 + .../Images/Svgs/zhihu-circle.svg | 4 + .../Images/Svgs/zhihu-square.svg | 4 + AIStudio.Wpf.ADiagram/Images/Test16.png | Bin 0 -> 199 bytes AIStudio.Wpf.ADiagram/Images/Test32.png | Bin 0 -> 241 bytes AIStudio.Wpf.ADiagram/Images/TextEffects.png | Bin 0 -> 3429 bytes .../Images/TextHighlightColor.png | Bin 0 -> 3149 bytes AIStudio.Wpf.ADiagram/Images/Underline.png | Bin 0 -> 2973 bytes AIStudio.Wpf.ADiagram/Images/Ungroup.png | Bin 0 -> 614 bytes AIStudio.Wpf.ADiagram/Images/VIDEO.png | Bin 0 -> 4079 bytes AIStudio.Wpf.ADiagram/Images/VectorIcons.xaml | 86 + AIStudio.Wpf.ADiagram/Images/Yellow.png | Bin 0 -> 185 bytes AIStudio.Wpf.ADiagram/Images/YellowLarge.png | Bin 0 -> 225 bytes .../Images/application_side_boxes.png | Bin 0 -> 483 bytes AIStudio.Wpf.ADiagram/Images/banner.png | Bin 0 -> 39813 bytes AIStudio.Wpf.ADiagram/Images/contactme.png | Bin 0 -> 66960 bytes AIStudio.Wpf.ADiagram/Images/diagram.png | Bin 0 -> 10373 bytes AIStudio.Wpf.ADiagram/Images/error.png | Bin 0 -> 711 bytes AIStudio.Wpf.ADiagram/Images/exit.png | Bin 0 -> 7579 bytes AIStudio.Wpf.ADiagram/Images/help.jpg | Bin 0 -> 48533 bytes AIStudio.Wpf.ADiagram/Images/image.png | Bin 0 -> 7915 bytes AIStudio.Wpf.ADiagram/Images/line-dashed.png | Bin 0 -> 3021 bytes AIStudio.Wpf.ADiagram/Images/line-height.png | Bin 0 -> 2241 bytes AIStudio.Wpf.ADiagram/Images/link.png | Bin 0 -> 8402 bytes AIStudio.Wpf.ADiagram/Images/open.png | Bin 0 -> 6110 bytes .../Images/page_white_stack.png | Bin 0 -> 541 bytes AIStudio.Wpf.ADiagram/Images/pencil.png | Bin 0 -> 474 bytes AIStudio.Wpf.ADiagram/Images/redo.png | Bin 0 -> 6706 bytes AIStudio.Wpf.ADiagram/Images/saveas.png | Bin 0 -> 6597 bytes AIStudio.Wpf.ADiagram/Images/text.png | Bin 0 -> 8280 bytes AIStudio.Wpf.ADiagram/Images/undo.png | Bin 0 -> 6703 bytes .../Models/DiagramDocument.cs | 57 + AIStudio.Wpf.ADiagram/Models/DiagramItem.cs | 198 + .../Models/PathToolBoxData.cs | 89 + .../Models/TitleBindableBase.cs | 25 + .../Services/IMessageBoxService.cs | 175 + .../Services/IUIVisualizerService.cs | 22 + .../Services/WPFMessageBoxService.cs | 392 + .../Services/WPFUIVisualizerService.cs | 34 + AIStudio.Wpf.ADiagram/Themes/Generic.xaml | 30 + AIStudio.Wpf.ADiagram/Themes/Shared.xaml | 149 + .../Themes/Styles/Expander.xaml | 749 ++ .../Themes/Styles/Fluent.xaml | 287 + .../Themes/Styles/ListBox.xaml | 63 + .../Themes/Styles/Slider.xaml | 549 + .../Themes/Styles/TabControl.xaml | 330 + .../Themes/Styles/ToggleButton.xaml | 61 + .../ViewModels/DiagramsViewModel.cs | 1042 ++ .../ViewModels/MainWindowViewModel.cs | 1174 +++ .../ViewModels/ToolBoxViewModel.cs | 324 + AIStudio.Wpf.ADiagram/Views/AboutControl.xaml | 86 + .../Views/AboutControl.xaml.cs | 28 + AIStudio.Wpf.ADiagram/Views/AboutWindow.xaml | 16 + .../Views/AboutWindow.xaml.cs | 27 + AIStudio.Wpf.ADiagram/Views/MainWindow.xaml | 1824 ++++ .../Views/MainWindow.xaml.cs | 105 + .../Views/PropertyControl.xaml | 344 + .../Views/PropertyControl.xaml.cs | 15 + .../Views/ToolBoxControl.xaml | 325 + .../Views/ToolBoxControl.xaml.cs | 38 + AIStudio.Wpf.Diagram.sln | 119 + Dragablz/.gitattributes | 22 + Dragablz/.gitignore | 234 + .../Core/CollectionTeaserFixtures.cs | 105 + .../Dockablz/TilerCalculatorFixture.cs | 28 + Dragablz/Dragablz.Test/Dragablz.Test.csproj | 24 + Dragablz/Dragablz.sln | 65 + Dragablz/Dragablz.sln.DotSettings | 2 + Dragablz/Dragablz/CanvasOrganiser.cs | 72 + Dragablz/Dragablz/ContainerCustomisations.cs | 34 + .../BooleanAndToVisibilityConverter.cs | 36 + .../Converters/EqualityToBooleanConverter.cs | 19 + .../EqualityToVisibilityConverter.cs | 26 + .../ShowDefaultCloseButtonConverter.cs | 32 + Dragablz/Dragablz/Core/CollectionTeaser.cs | 65 + Dragablz/Dragablz/Core/Extensions.cs | 127 + Dragablz/Dragablz/Core/FuncComparer.cs | 22 + Dragablz/Dragablz/Core/HitTest.cs | 33 + Dragablz/Dragablz/Core/InterTabTransfer.cs | 112 + Dragablz/Dragablz/Core/MultiComparer.cs | 77 + Dragablz/Dragablz/Core/Native.cs | 131 + Dragablz/Dragablz/Core/SystemCommand.cs | 26 + .../Core/TabHeaderDragStartInformation.cs | 51 + Dragablz/Dragablz/Core/WindowMessage.cs | 245 + Dragablz/Dragablz/DefaultInterLayoutClient.cs | 48 + Dragablz/Dragablz/DefaultInterTabClient.cs | 34 + Dragablz/Dragablz/Dockablz/Branch.cs | 98 + Dragablz/Dragablz/Dockablz/BranchAccessor.cs | 129 + Dragablz/Dragablz/Dockablz/BranchItem.cs | 8 + Dragablz/Dragablz/Dockablz/BranchResult.cs | 35 + .../Dockablz/CouldBeHeaderedStyleSelector.cs | 19 + Dragablz/Dragablz/Dockablz/DropZone.cs | 37 + .../Dragablz/Dockablz/DropZoneLocation.cs | 11 + Dragablz/Dragablz/Dockablz/Extensions.cs | 86 + Dragablz/Dragablz/Dockablz/Finder.cs | 53 + .../Dragablz/Dockablz/FloatRequestedEvent.cs | 22 + Dragablz/Dragablz/Dockablz/FloatTransfer.cs | 46 + .../Dragablz/Dockablz/FloatingItemSnapShot.cs | 74 + Dragablz/Dragablz/Dockablz/Layout.cs | 986 ++ Dragablz/Dragablz/Dockablz/LayoutAccessor.cs | 110 + Dragablz/Dragablz/Dockablz/LocationReport.cs | 65 + .../Dockablz/LocationReportBuilder.cs | 54 + .../Dockablz/LocationReportException.cs | 22 + .../Dragablz/Dockablz/LocationSnapShot.cs | 38 + Dragablz/Dragablz/Dockablz/Tiler.cs | 83 + Dragablz/Dragablz/Dockablz/TilerCalculator.cs | 29 + Dragablz/Dragablz/Dragablz.csproj | 33 + Dragablz/Dragablz/Dragablz.nuspec | 32 + Dragablz/Dragablz/DragablzColors.cs | 74 + .../DragablzDragCompletedEventArgs.cs | 54 + .../Dragablz/DragablzDragDeltaEventArgs.cs | 44 + .../Dragablz/DragablzDragStartedEventArgs.cs | 38 + Dragablz/Dragablz/DragablzIcon.cs | 25 + Dragablz/Dragablz/DragablzItem.cs | 616 ++ Dragablz/Dragablz/DragablzItemEventArgs.cs | 37 + Dragablz/Dragablz/DragablzItemsControl.cs | 401 + Dragablz/Dragablz/DragablzWindow.cs | 370 + Dragablz/Dragablz/EmptyHeaderSizingHint.cs | 22 + Dragablz/Dragablz/HeaderedDragablzItem.cs | 49 + Dragablz/Dragablz/HeaderedItemViewModel.cs | 83 + Dragablz/Dragablz/HorizontalOrganiser.cs | 16 + .../Dragablz/HorizontalPositionMonitor.cs | 11 + Dragablz/Dragablz/IInterLayoutClient.cs | 19 + Dragablz/Dragablz/IInterTabClient.cs | 27 + Dragablz/Dragablz/IItemsOrganiser.cs | 21 + Dragablz/Dragablz/IManualInterTabClient.cs | 8 + Dragablz/Dragablz/INewTabHost.cs | 10 + Dragablz/Dragablz/InterTabController.cs | 73 + Dragablz/Dragablz/ItemActionCallbackArgs.cs | 47 + Dragablz/Dragablz/LocationChangedEventArgs.cs | 29 + Dragablz/Dragablz/LocationHint.cs | 26 + Dragablz/Dragablz/MoveItemRequest.cs | 31 + Dragablz/Dragablz/NewTabHost.cs | 30 + Dragablz/Dragablz/OrderChangedEventArgs.cs | 28 + Dragablz/Dragablz/PositionMonitor.cs | 31 + Dragablz/Dragablz/Properties/AssemblyInfo.cs | 64 + .../Dragablz/Properties/Resources.Designer.cs | 63 + Dragablz/Dragablz/Properties/Resources.resx | 117 + .../Dragablz/Properties/Settings.Designer.cs | 26 + .../Dragablz/Properties/Settings.settings | 7 + .../Referenceless/AnonymousDisposable.cs | 31 + .../Referenceless/DefaultDisposable.cs | 21 + Dragablz/Dragablz/Referenceless/Disposable.cs | 23 + .../Dragablz/Referenceless/ICancelable.cs | 9 + .../Referenceless/SerialDisposable.cs | 84 + Dragablz/Dragablz/StackOrganiser.cs | 309 + Dragablz/Dragablz/StackPositionMonitor.cs | 46 + .../Dragablz/StoryboardCompletionListener.cs | 41 + Dragablz/Dragablz/TabEmptiedResponse.cs | 14 + Dragablz/Dragablz/TabablzControl.cs | 1538 +++ .../Dragablz/TabablzHeaderSizeConverter.cs | 50 + Dragablz/Dragablz/TabablzItemStyleSelector.cs | 27 + .../BrushToRadialGradientBrushConverter.cs | 31 + Dragablz/Dragablz/Themes/Dockablz.xaml | 8 + Dragablz/Dragablz/Themes/Generic.xaml | 1896 ++++ Dragablz/Dragablz/Themes/MahApps.xaml | 443 + Dragablz/Dragablz/Themes/MaterialDesign.xaml | 803 ++ .../Dragablz/Themes/MaterialDesignAssist.cs | 42 + Dragablz/Dragablz/Themes/Ripple.cs | 218 + Dragablz/Dragablz/Themes/RippleAssist.cs | 74 + Dragablz/Dragablz/Themes/SystemCommandIcon.cs | 34 + Dragablz/Dragablz/Trapezoid.cs | 143 + Dragablz/Dragablz/VerticalOrganiser.cs | 11 + Dragablz/Dragablz/VerticalPositionMonitor.cs | 11 + .../AnotherCommandImplementation.cs | 53 + Dragablz/DragablzDemo/App.xaml | 45 + Dragablz/DragablzDemo/App.xaml.cs | 11 + .../BasicExampleInterTabClient.cs | 26 + .../DragablzDemo/BasicExampleMainModel.cs | 182 + .../DragablzDemo/BasicExampleMainWindow.xaml | 131 + .../BasicExampleMainWindow.xaml.cs | 17 + .../DragablzDemo/BasicExampleTemplateModel.cs | 27 + .../BasicExampleTemplateWindow.xaml | 19 + .../BasicExampleTemplateWindow.xaml.cs | 27 + Dragablz/DragablzDemo/Boot.cs | 82 + .../BoundExampleInterTabClient.cs | 24 + Dragablz/DragablzDemo/BoundExampleModel.cs | 92 + Dragablz/DragablzDemo/BoundExampleNewItem.cs | 26 + Dragablz/DragablzDemo/BoundExampleWindow.xaml | 77 + .../DragablzDemo/BoundExampleWindow.xaml.cs | 29 + Dragablz/DragablzDemo/CustomHeader.xaml | 43 + Dragablz/DragablzDemo/CustomHeader.xaml.cs | 28 + .../DragablzDemo/CustomHeaderViewModel.cs | 60 + Dragablz/DragablzDemo/DragablzDemo.csproj | 15 + .../DragablzDemo/HeaderAndContentModel.cs | 8 + .../DragablzDemo/LayoutManagementExample.xaml | 49 + .../LayoutManagementExample.xaml.cs | 28 + .../LayoutManagementExampleViewModel.cs | 94 + Dragablz/DragablzDemo/MdiExample.xaml | 39 + Dragablz/DragablzDemo/MdiExample.xaml.cs | 28 + .../DragablzDemo/Properties/Annotations.cs | 614 ++ .../DragablzDemo/Properties/AssemblyInfo.cs | 55 + .../Properties/Resources.Designer.cs | 63 + .../DragablzDemo/Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 26 + .../DragablzDemo/Properties/Settings.settings | 7 + Dragablz/DragablzDemo/QuickStartWindow.xaml | 39 + .../DragablzDemo/QuickStartWindow.xaml.cs | 27 + Dragablz/DragablzDemo/SimpleViewModel.cs | 44 + Dragablz/DragablzDemo/TabablzControlProxy.cs | 68 + Dragablz/DragablzDemo/TreeNode.cs | 16 + Dragablz/DragablzModernUIDemo/App.config | 6 + Dragablz/DragablzModernUIDemo/App.xaml | 16 + Dragablz/DragablzModernUIDemo/App.xaml.cs | 17 + .../DragablzModernUIDemo.csproj | 117 + Dragablz/DragablzModernUIDemo/MainWindow.xaml | 41 + .../DragablzModernUIDemo/MainWindow.xaml.cs | 30 + .../Properties/AssemblyInfo.cs | 55 + .../Properties/Resources.Designer.cs | 71 + .../Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 30 + .../Properties/Settings.settings | 7 + Dragablz/DragablzModernUIDemo/packages.config | 4 + Dragablz/LICENSE | 21 + Dragablz/README.md | 89 + Dragablz/Resources/D.png | Bin 0 -> 1580 bytes Dragablz/Resources/D32.png | Bin 0 -> 892 bytes Dragablz/Resources/android-chrome-36x36.png | Bin 0 -> 1409 bytes Dragablz/Resources/android-chrome-48x48.png | Bin 0 -> 1763 bytes Dragablz/Resources/android-chrome-72x72.png | Bin 0 -> 2557 bytes Dragablz/Resources/apple-touch-icon-57x57.png | Bin 0 -> 2065 bytes Dragablz/Resources/apple-touch-icon-60x60.png | Bin 0 -> 2133 bytes Dragablz/Resources/apple-touch-icon-72x72.png | Bin 0 -> 2557 bytes Dragablz/Resources/apple-touch-icon-76x76.png | Bin 0 -> 2707 bytes .../apple-touch-icon-precomposed.png | Bin 0 -> 3396 bytes Dragablz/Resources/apple-touch-icon.png | Bin 0 -> 2707 bytes Dragablz/Resources/browserconfig.xml | 11 + Dragablz/Resources/favicon-16x16.png | Bin 0 -> 895 bytes Dragablz/Resources/favicon-32x32.png | Bin 0 -> 1265 bytes Dragablz/Resources/favicon.ico | Bin 0 -> 7406 bytes Dragablz/Resources/favicon.txt | 9 + Dragablz/Resources/manifest.json | 23 + Dragablz/Resources/mstile-150x150.png | Bin 0 -> 1606 bytes Dragablz/Resources/mstile-310x150.png | Bin 0 -> 1884 bytes Dragablz/Resources/mstile-70x70.png | Bin 0 -> 1513 bytes Fluent.Ribbon/.editorconfig | 16 + Fluent.Ribbon/.github/FUNDING.yml | 1 + Fluent.Ribbon/.github/ISSUE_TEMPLATE.md | 10 + Fluent.Ribbon/.gitignore | 62 + Fluent.Ribbon/Doc/Features.xlsx | Bin 0 -> 20311 bytes ...uent Ribbon Control Suite Walkthrough.docx | Bin 0 -> 780922 bytes ...luent Ribbon Control Suite Walkthrough.pdf | Bin 0 -> 955229 bytes .../Adorners/SimpleControlAdorner.cs | 61 + .../Fluent.Ribbon.Showcase/App.config | 6 + Fluent.Ribbon/Fluent.Ribbon.Showcase/App.xaml | 17 + .../Fluent.Ribbon.Showcase/App.xaml.cs | 46 + .../Commanding/IRelayCommand.cs | 12 + .../Commanding/RelayCommand.cs | 130 + .../BackgroundImageViewportConverter.cs | 24 + .../Converters/UniqueGroupNameConverter.cs | 26 + .../Fluent.Ribbon.Showcase.csproj | 156 + .../Fluent.Ribbon.Showcase/FodyWeavers.xml | 4 + .../Fluent.Ribbon.Showcase/FodyWeavers.xsd | 111 + .../GlobalSuppressions.cs | 6 + .../Helpers/TemplateCollection.cs | 10 + .../Helpers/ThemeHelper.cs | 47 + .../Fluent.Ribbon.Showcase/Icons/App.ico | Bin 0 -> 145751 bytes .../Fluent.Ribbon.Showcase/Images/Blue.png | Bin 0 -> 185 bytes .../Images/BlueLarge.png | Bin 0 -> 230 bytes .../Fluent.Ribbon.Showcase/Images/Bold.png | Bin 0 -> 2987 bytes .../Fluent.Ribbon.Showcase/Images/Box.png | Bin 0 -> 2873 bytes .../Fluent.Ribbon.Showcase/Images/Brown.png | Bin 0 -> 185 bytes .../Images/BrownLarge.png | Bin 0 -> 230 bytes .../Images/ChangeCase.png | Bin 0 -> 3119 bytes .../Images/ClearFormatting.png | Bin 0 -> 3228 bytes .../Images/FontColor.png | Bin 0 -> 3116 bytes .../Images/FormatPainter.png | Bin 0 -> 3346 bytes .../Images/GalleryLarge.png | Bin 0 -> 3154 bytes .../Fluent.Ribbon.Showcase/Images/Gray.png | Bin 0 -> 185 bytes .../Images/GrayLarge.png | Bin 0 -> 228 bytes .../Fluent.Ribbon.Showcase/Images/Green.png | Bin 0 -> 185 bytes .../Images/GreenLarge.png | Bin 0 -> 229 bytes .../Images/GrowFont.png | Bin 0 -> 3113 bytes .../Fluent.Ribbon.Showcase/Images/Italic.png | Bin 0 -> 2963 bytes .../Fluent.Ribbon.Showcase/Images/Orange.png | Bin 0 -> 185 bytes .../Images/OrangeLarge.png | Bin 0 -> 231 bytes .../Images/PasteFormating.png | Bin 0 -> 3087 bytes .../Images/PasteImage.png | Bin 0 -> 3304 bytes .../Images/PasteSourceFormating.png | Bin 0 -> 3535 bytes .../Images/PasteText.png | Bin 0 -> 3198 bytes .../Images/PasteTextOnly.png | Bin 0 -> 3168 bytes .../Fluent.Ribbon.Showcase/Images/Pink.png | Bin 0 -> 185 bytes .../Images/PinkLarge.png | Bin 0 -> 225 bytes .../Fluent.Ribbon.Showcase/Images/Red.png | Bin 0 -> 185 bytes .../Images/RedLarge.png | Bin 0 -> 229 bytes .../Images/SampleImageForScreenTip.png | Bin 0 -> 6817 bytes .../Images/ShrinkFont.png | Bin 0 -> 2959 bytes .../Images/Strikethrough.png | Bin 0 -> 2999 bytes .../Images/Subscript.png | Bin 0 -> 2993 bytes .../Images/Superscript.png | Bin 0 -> 2998 bytes .../Fluent.Ribbon.Showcase/Images/Test16.png | Bin 0 -> 199 bytes .../Fluent.Ribbon.Showcase/Images/Test32.png | Bin 0 -> 241 bytes .../Images/TextEffects.png | Bin 0 -> 3429 bytes .../Images/TextHighlightColor.png | Bin 0 -> 3149 bytes .../Images/Underline.png | Bin 0 -> 2973 bytes .../Images/VectorIcons.xaml | 86 + .../Fluent.Ribbon.Showcase/Images/Yellow.png | Bin 0 -> 185 bytes .../Images/YellowLarge.png | Bin 0 -> 225 bytes .../Fluent.Ribbon.Showcase/Images/banner.png | Bin 0 -> 39813 bytes .../MahMetroWindow.xaml | 62 + .../MahMetroWindow.xaml.cs | 69 + .../MinimalWindowSample.xaml | 51 + .../MinimalWindowSample.xaml.cs | 12 + .../Fluent.Ribbon.Showcase/Program.cs | 17 + .../Properties/AssemblyInfo.cs | 3 + .../Fluent.Ribbon.Showcase/RegularWindow.xaml | 17 + .../RegularWindow.xaml.cs | 12 + .../RibbonWindowColorized.xaml | 74 + .../RibbonWindowColorized.xaml.cs | 12 + .../RibbonWindowWithBackgroundImage.xaml | 67 + .../RibbonWindowWithBackgroundImage.xaml.cs | 12 + .../RibbonWindowWithoutRibbon.xaml | 14 + .../RibbonWindowWithoutRibbon.xaml.cs | 12 + .../RibbonWindowWithoutVisibleRibbon.xaml | 18 + .../RibbonWindowWithoutVisibleRibbon.xaml.cs | 12 + .../DynamicTemplateSelector.cs | 78 + .../Fluent.Ribbon.Showcase/TestContent.xaml | 3501 +++++++ .../TestContent.xaml.cs | 622 ++ .../Fluent.Ribbon.Showcase/TestWindow.xaml | 30 + .../Fluent.Ribbon.Showcase/TestWindow.xaml.cs | 12 + .../ViewModels/ColorViewModel.cs | 106 + .../ViewModels/FontsViewModel.cs | 10 + .../ViewModels/GalleryItemViewModel.cs | 46 + .../GallerySampleDataItemViewModel.cs | 59 + .../ViewModels/GalleryViewModel.cs | 70 + .../IssueRepros/ThemeManagerFromThread.cs | 114 + .../ViewModels/IssueReprosViewModel.cs | 14 + .../ViewModels/MainViewModel.cs | 263 + .../ViewModels/ViewModel.cs | 17 + .../Fluent.Ribbon.Showcase/app.manifest | 59 + .../Fluent.Ribbon.TestWindow/App.xaml | 17 + .../Fluent.Ribbon.TestWindow/App.xaml.cs | 17 + .../Fluent.Ribbon.TestWindow/AssemblyInfo.cs | 10 + .../Fluent.Ribbon.TestWindow.csproj | 13 + .../Fluent.Ribbon.TestWindow/MainWindow.xaml | 14 + .../MainWindow.xaml.cs | 28 + .../Adorners/KeyTipAdornerTests.cs | 61 + .../Fluent.Ribbon.Tests/AssemblySetup.cs | 28 + .../Collections/CollectionSyncHelperTests.cs | 66 + ...emCollectionWithLogicalTreeSupportTests.cs | 269 + .../Controls/BackstageTests.cs | 43 + .../Controls/InRibbonGalleryTests.cs | 24 + .../Controls/QuickAccessToolBarTests.cs | 71 + .../Controls/RibbonGroupBoxTests.cs | 115 + .../Controls/RibbonGroupBoxWrapPanelTests.cs | 309 + .../Controls/RibbonTabsContainerTests.cs | 162 + .../Controls/RibbonTests.cs | 213 + .../Controls/RibbonTitleBarTests.cs | 190 + .../Controls/SplitButtonTests.cs | 141 + .../Converters/ObjectToImageConverterTests.cs | 45 + .../Fluent.Ribbon.Tests.csproj | 40 + .../Fluent.Ribbon.Tests/GlobalSuppressions.cs | 6 + .../Helper/ReflectionHelper.cs | 18 + .../Fluent.Ribbon.Tests/Helper/UIHelper.cs | 18 + .../InRibbonGalleryIntegrationTests.cs | 342 + .../Internal/ScopeGuardTests.cs | 54 + .../Internal/WhenLoadedTests.cs | 55 + .../Misc/LogicalTreeTests.cs | 274 + .../Properties/AssemblyInfo.cs | 5 + .../Services/KeyTipServiceTests.cs | 25 + .../TestClasses/TestRibbonWindow.cs | 40 + .../ThemeManager/ThemeManagerTests.cs | 437 + Fluent.Ribbon/Fluent.Ribbon.ruleset | 182 + Fluent.Ribbon/Fluent.Ribbon.sln | 47 + Fluent.Ribbon/Fluent.Ribbon.sln.DotSettings | 68 + .../Fluent.Ribbon/Adorners/KeyTipAdorner.cs | 887 ++ .../AttachedProperties/RibbonProperties.cs | 256 + .../Automation/Peers/RibbonAutomationPeer.cs | 183 + .../Peers/RibbonBackstageAutomationPeer.cs | 88 + ...RibbonBackstageTabControlAutomationPeer.cs | 39 + .../RibbonBackstageTabItemAutomationPeer.cs | 88 + .../Peers/RibbonButtonAutomationPeer.cs | 63 + .../Peers/RibbonCheckBoxAutomationPeer.cs | 34 + .../Peers/RibbonComboBoxAutomationPeer.cs | 34 + .../Peers/RibbonControlAutomationPeer.cs | 25 + .../Peers/RibbonControlDataAutomationPeer.cs | 72 + .../RibbonDropDownButtonAutomationPeer.cs | 81 + .../Peers/RibbonGroupBoxAutomationPeer.cs | 161 + .../Peers/RibbonGroupBoxDataAutomationPeer.cs | 122 + .../Peers/RibbonGroupHeaderAutomationPeer.cs | 50 + .../RibbonHeaderedControlAutomationPeer.cs | 39 + .../RibbonInRibbonGalleryAutomationPeer.cs | 25 + .../RibbonQuickAccessToolBarAutomationPeer.cs | 69 + .../Peers/RibbonRadioButtonAutomationPeer.cs | 34 + .../Peers/RibbonScreenTipAutomationPeer.cs | 38 + .../Peers/RibbonSplitButtonAutomationPeer.cs | 102 + .../Peers/RibbonTabControlAutomationPeer.cs | 108 + .../Peers/RibbonTabItemAutomationPeer.cs | 114 + .../Peers/RibbonTabItemDataAutomationPeer.cs | 134 + .../Peers/RibbonTextBoxAutomationPeer.cs | 34 + .../Peers/RibbonTitleBarAutomationPeer.cs | 50 + .../Peers/RibbonToggleButtonAutomationPeer.cs | 34 + .../Peers/RibbonToolbarPanelAutomationPeer.cs | 49 + .../Peers/TwoLineLabelAutomationPeer.cs | 71 + .../Collections/CollectionSyncHelper.cs | 90 + .../ItemCollectionWithLogicalTreeSupport.cs | 147 + .../Fluent.Ribbon/Controls/ApplicationMenu.cs | 141 + .../Fluent.Ribbon/Controls/Backstage.cs | 827 ++ .../Controls/BackstageAdorner.cs | 115 + .../Controls/BackstageTabControl.cs | 514 + .../Controls/BackstageTabItem.cs | 280 + .../Fluent.Ribbon/Controls/Button.cs | 246 + .../Fluent.Ribbon/Controls/CheckBox.cs | 218 + .../Fluent.Ribbon/Controls/ColorGallery.cs | 1174 +++ .../Fluent.Ribbon/Controls/ComboBox.cs | 858 ++ .../Fluent.Ribbon/Controls/ContextMenu.cs | 151 + .../Fluent.Ribbon/Controls/DropDownButton.cs | 862 ++ .../Fluent.Ribbon/Controls/Gallery.cs | 545 + .../Controls/GalleryGroupContainer.cs | 146 + .../Controls/GalleryGroupFilter.cs | 41 + .../Fluent.Ribbon/Controls/GalleryItem.cs | 401 + .../Controls/GalleryItemPlaceholder.cs | 67 + .../Fluent.Ribbon/Controls/GalleryPanel.cs | 527 + .../Controls/GroupSeparatorMenuItem.cs | 27 + .../Fluent.Ribbon/Controls/InRibbonGallery.cs | 1658 +++ .../Fluent.Ribbon/Controls/KeyTip.cs | 197 + .../Fluent.Ribbon/Controls/MenuItem.cs | 810 ++ .../Controls/QuickAccessMenuItem.cs | 273 + .../Controls/QuickAccessToolBar.cs | 718 ++ .../Fluent.Ribbon/Controls/RadioButton.cs | 218 + .../Fluent.Ribbon/Controls/Ribbon.cs | 1824 ++++ .../RibbonContextualGroupsContainer.cs | 134 + .../Controls/RibbonContextualTabGroup.cs | 324 + .../Fluent.Ribbon/Controls/RibbonControl.cs | 506 + .../Fluent.Ribbon/Controls/RibbonGroupBox.cs | 1230 +++ .../Controls/RibbonGroupBoxWrapPanel.cs | 395 + .../Controls/RibbonGroupsContainer.cs | 624 ++ .../RibbonGroupsContainerScrollViewer.cs | 47 + .../Fluent.Ribbon/Controls/RibbonMenu.cs | 41 + .../Controls/RibbonScrollViewer.cs | 53 + .../Controls/RibbonTabControl.cs | 1009 ++ .../Fluent.Ribbon/Controls/RibbonTabItem.cs | 781 ++ .../Controls/RibbonTabsContainer.cs | 591 ++ .../Fluent.Ribbon/Controls/RibbonTitleBar.cs | 510 + .../Fluent.Ribbon/Controls/RibbonToolBar.cs | 598 ++ .../RibbonToolBarControlDefinition.cs | 125 + .../Controls/RibbonToolBarControlGroup.cs | 50 + .../RibbonToolBarControlGroupDefinition.cs | 58 + .../Controls/RibbonToolBarLayoutDefinition.cs | 80 + .../Controls/RibbonToolBarRow.cs | 31 + .../Fluent.Ribbon/Controls/RibbonWindow.cs | 429 + .../Fluent.Ribbon/Controls/ScreenTip.cs | 436 + .../Controls/SeparatorTabItem.cs | 57 + .../Fluent.Ribbon/Controls/Spinner.cs | 566 + .../Fluent.Ribbon/Controls/SplitButton.cs | 590 ++ .../Fluent.Ribbon/Controls/StartScreen.cs | 95 + .../Controls/StartScreenTabControl.cs | 86 + .../Fluent.Ribbon/Controls/StatusBar.cs | 304 + .../Fluent.Ribbon/Controls/StatusBarItem.cs | 165 + .../Controls/StatusBarMenuItem.cs | 53 + .../Fluent.Ribbon/Controls/StatusBarPanel.cs | 174 + .../Fluent.Ribbon/Controls/TextBox.cs | 295 + .../Fluent.Ribbon/Controls/ToggleButton.cs | 291 + .../Fluent.Ribbon/Controls/TwoLineLabel.cs | 218 + .../Controls/UniformGridWithItemSize.cs | 283 + .../Controls/WindowSteeringHelperControl.cs | 49 + ...MenuRightScrollViewerExtractorConverter.cs | 34 + .../ColorToSolidColorBrushConverter.cs | 43 + .../Converters/EqualsToVisibilityConverter.cs | 37 + .../Fluent.Ribbon/Converters/IconConverter.cs | 162 + .../Converters/InvertNumericConverter.cs | 52 + .../Converters/IsNullConverter.cs | 31 + .../Converters/ObjectToImageConverter.cs | 577 ++ .../Converters/SizeDefinitionConverter.cs | 24 + .../Converters/SpinnerTextToValueConverter.cs | 73 + .../Converters/StaticConverters.cs | 33 + .../Converters/ThicknessConverter.cs | 46 + .../Fluent.Ribbon/Data/KeyTipInformation.cs | 109 + .../Fluent.Ribbon/Data/KeyTipPressedResult.cs | 39 + .../Data/RibbonControlSizeDefinition.cs | 196 + .../Fluent.Ribbon/Data/RibbonStateStorage.cs | 326 + .../Fluent.Ribbon/Effects/GrayscaleEffect.cs | 81 + .../Enumerations/RibbonControlSize.cs | 24 + .../Enumerations/RibbonGroupBoxState.cs | 34 + .../IKeyTipInformationProvider.cs | 17 + .../Extensibility/IRibbonSizeChangedSink.cs | 15 + .../Extensions/AutomationPeerExtensions.cs | 26 + .../Extensions/DispatcherExtensions.cs | 60 + .../Extensions/DoubleExtensions.cs | 16 + .../Extensions/FrameworkElementExtensions.cs | 37 + .../Extensions/ICommandSourceExtensions.cs | 28 + .../ItemContainerGeneratorExtensions.cs | 106 + .../Fluent.Ribbon/Fluent.Ribbon.csproj | 123 + .../Fluent.Ribbon/GlobalSuppressions.cs | 34 + .../Fluent.Ribbon/Helpers/DoubleHelper.cs | 19 + .../Fluent.Ribbon/Helpers/FrameworkHelper.cs | 50 + .../Helpers/ItemsControlHelper.cs | 89 + .../Helpers/LogicalChildSupportHelper.cs | 31 + .../Fluent.Ribbon/Helpers/PoupHelper.cs | 52 + .../Helpers/ToggleButtonHelper.cs | 218 + .../Helpers/WindowSteeringHelper.cs | 138 + .../Fluent.Ribbon/IDropDownControl.cs | 36 + .../Fluent.Ribbon/IHeaderedControl.cs | 13 + .../Fluent.Ribbon/IKeyTipedControl.cs | 23 + .../Fluent.Ribbon/ILargeIconProvider.cs | 31 + .../Fluent.Ribbon/ILogicalChildSupport.cs | 19 + Fluent.Ribbon/Fluent.Ribbon/IRibbonControl.cs | 23 + .../Fluent.Ribbon/IRibbonStateStorage.cs | 48 + Fluent.Ribbon/Fluent.Ribbon/IRibbonWindow.cs | 13 + .../Fluent.Ribbon/IScalableRibbonControl.cs | 30 + Fluent.Ribbon/Fluent.Ribbon/IToggleButton.cs | 34 + .../Internal/AccessTextHelper.cs | 15 + .../Fluent.Ribbon/Internal/CommandHelper.cs | 55 + .../Fluent.Ribbon/Internal/DoubleUtil.cs | 64 + .../Fluent.Ribbon/Internal/FocusWrapper.cs | 58 + .../Internal/ItemContainerGeneratorAction.cs | 66 + .../Fluent.Ribbon/Internal/KeyEventUtility.cs | 37 + .../Internal/KnownBoxes/BooleanBoxes.cs | 32 + .../Internal/KnownBoxes/DoubleBoxes.cs | 28 + .../Internal/KnownBoxes/IntBoxes.cs | 23 + .../Internal/KnownBoxes/StringBoxes.cs | 13 + .../Internal/KnownBoxes/VisibilityBoxes.cs | 48 + .../Internal/ObjectExtensions.cs | 22 + .../Fluent.Ribbon/Internal/ScopeGuard.cs | 66 + .../Fluent.Ribbon/Internal/SizeConstants.cs | 9 + .../Fluent.Ribbon/Internal/TypeHelper.cs | 26 + .../Fluent.Ribbon/Internal/UIHelper.cs | 230 + .../Fluent.Ribbon/Internal/WhenLoaded.cs | 66 + .../Localization/Languages/Arabic.cs | 36 + .../Localization/Languages/Azerbaijani.cs | 36 + .../Localization/Languages/Bulgarian.cs | 36 + .../Localization/Languages/Catalan.cs | 36 + .../Localization/Languages/Chinese.cs | 36 + .../Localization/Languages/Czech.cs | 36 + .../Localization/Languages/Danish.cs | 36 + .../Localization/Languages/Dutch.cs | 36 + .../Localization/Languages/English.cs | 36 + .../Localization/Languages/Estonian.cs | 36 + .../Localization/Languages/Finnish.cs | 36 + .../Localization/Languages/French.cs | 36 + .../Localization/Languages/German.cs | 36 + .../Localization/Languages/Greek.cs | 36 + .../Localization/Languages/Hebrew.cs | 36 + .../Localization/Languages/Hungarian.cs | 36 + .../Localization/Languages/Italian.cs | 36 + .../Localization/Languages/Japanese.cs | 36 + .../Localization/Languages/Korean.cs | 36 + .../Localization/Languages/Lithuanian.cs | 36 + .../Localization/Languages/Norwegian.cs | 36 + .../Languages/Norwegian_Bokmål.cs | 36 + .../Languages/Norwegian_Nynorsk.cs | 36 + .../Localization/Languages/Persian.cs | 36 + .../Localization/Languages/Polish.cs | 36 + .../Localization/Languages/Portuguese.cs | 36 + .../Languages/Portuguese_Brazil.cs | 36 + .../Localization/Languages/Romanian.cs | 36 + .../Localization/Languages/Russian.cs | 36 + .../Localization/Languages/Sinhala.cs | 36 + .../Localization/Languages/Slovak.cs | 36 + .../Localization/Languages/Slovenian.cs | 36 + .../Localization/Languages/Spanish.cs | 36 + .../Localization/Languages/Swedish.cs | 36 + .../Localization/Languages/Turkish.cs | 36 + .../Localization/Languages/Ukrainian.cs | 36 + .../Localization/Languages/Vietnamese.cs | 36 + .../Localization/RibbonLocalization.cs | 125 + .../RibbonLocalizationAttribute.cs | 32 + .../Localization/RibbonLocalizationBase.cs | 246 + .../Metro/Behaviours/StylizedBehaviors.cs | 174 + .../Behaviours/StylizedBehaviorsCollection.cs | 17 + .../Metro/Controls/WindowCommands.cs | 316 + .../Fluent.Ribbon/Properties/AssemblyInfo.cs | 15 + Fluent.Ribbon/Fluent.Ribbon/RibbonCommands.cs | 15 + .../Services/ContextMenuService.cs | 51 + .../Fluent.Ribbon/Services/KeyTipService.cs | 564 + .../Fluent.Ribbon/Services/PopupService.cs | 453 + .../Fluent.Ribbon/Services/ToolTipService.cs | 25 + ...plicationMenuItemContainerStyleSelector.cs | 29 + ...ageTabControlItemContainerStyleSelector.cs | 32 + ...ationMenuItemItemContainerStyleSelector.cs | 29 + ...ationMenuItemItemContainerStyleSelector.cs | 29 + .../RibbonGroupBoxHeaderTemplateSelector.cs | 29 + .../Fluent.Ribbon/Themes/Common.xaml | 50 + .../Themes/Controls/ApplicationMenu.xaml | 135 + .../Themes/Controls/ApplicationMenuItem.xaml | 1557 +++ .../Themes/Controls/Backstage.xaml | 103 + .../Themes/Controls/BackstageControls.xaml | 170 + .../Themes/Controls/BackstageTabControl.xaml | 304 + .../Themes/Controls/BackstageTabItem.xaml | 106 + .../Fluent.Ribbon/Themes/Controls/Button.xaml | 250 + .../Themes/Controls/CheckBox.xaml | 142 + .../Themes/Controls/ColorGallery.xaml | 329 + .../Themes/Controls/ComboBox.xaml | 603 ++ .../Themes/Controls/ComboBoxItem.xaml | 42 + .../Themes/Controls/DropDownButton.xaml | 311 + .../Themes/Controls/EmptyFocusStyle.xaml | 16 + .../Themes/Controls/Gallery.xaml | 199 + .../Controls/GalleryGroupContainer.xaml | 57 + .../Themes/Controls/GalleryItem.xaml | 59 + .../Themes/Controls/InRibbonGallery.xaml | 609 ++ .../Fluent.Ribbon/Themes/Controls/KeyTip.xaml | 38 + .../Fluent.Ribbon/Themes/Controls/Menu.xaml | 204 + .../Themes/Controls/MenuItem.xaml | 950 ++ .../Themes/Controls/MenuSeparator.xaml | 45 + .../Themes/Controls/QuickAccessToolbar.xaml | 308 + .../Themes/Controls/RadioButton.xaml | 93 + .../Fluent.Ribbon/Themes/Controls/Ribbon.xaml | 106 + .../Controls/RibbonContextualTabGroup.xaml | 63 + .../Themes/Controls/RibbonGroupBox.xaml | 473 + .../Themes/Controls/RibbonMenu.xaml | 33 + .../Themes/Controls/RibbonScrollViewer.xaml | 421 + .../Themes/Controls/RibbonSeparator.xaml | 22 + .../Themes/Controls/RibbonTabControl.xaml | 377 + .../Themes/Controls/RibbonTabItem.xaml | 236 + .../Themes/Controls/RibbonTextBox.xaml | 145 + .../Themes/Controls/RibbonTitleBar.xaml | 64 + .../Themes/Controls/RibbonToolBar.xaml | 21 + .../Controls/RibbonToolBarControlGroup.xaml | 36 + .../Themes/Controls/ScreenTip.xaml | 244 + .../Themes/Controls/ScrollBar.xaml | 427 + .../Themes/Controls/SeparatorTabItem.xaml | 18 + .../Fluent.Ribbon/Themes/Controls/Slider.xaml | 239 + .../Themes/Controls/Spinner.xaml | 291 + .../Themes/Controls/SplitButton.xaml | 515 + .../Themes/Controls/StartScreen.xaml | 16 + .../Controls/StartScreenTabControl.xaml | 73 + .../Themes/Controls/StatusBar.xaml | 191 + .../Themes/Controls/ToggleButton.xaml | 205 + .../Themes/Controls/TwoLineLabel.xaml | 103 + .../Themes/Controls/WindowCommands.xaml | 200 + .../Fluent.Ribbon/Themes/Effects/Grayscale.fx | 31 + .../Fluent.Ribbon/Themes/Effects/Grayscale.ps | Bin 0 -> 316 bytes .../Fluent.Ribbon/Themes/Generic.xaml | 6 + .../Fluent.Ribbon/Themes/Images.xaml | 293 + .../Fluent.Ribbon/Themes/RibbonWindow.xaml | 151 + Fluent.Ribbon/Fluent.Ribbon/Themes/Styles.txt | 51 + .../Themes/Themes/GeneratorParameters.json | 376 + .../Fluent.Ribbon/Themes/XamlCombine.exe | Bin 0 -> 13312 bytes .../Theming/RibbonLibraryThemeProvider.cs | 35 + Fluent.Ribbon/Images/Appveyor_logo.svg | 6 + Fluent.Ribbon/Images/Fluent.png | Bin 0 -> 114191 bytes Fluent.Ribbon/Images/Logo/Logo_128x128.png | Bin 0 -> 16621 bytes Fluent.Ribbon/Images/Logo/Logo_16x16.png | Bin 0 -> 559 bytes Fluent.Ribbon/Images/Logo/Logo_24x24.png | Bin 0 -> 1345 bytes Fluent.Ribbon/Images/Logo/Logo_256x256.png | Bin 0 -> 43601 bytes Fluent.Ribbon/Images/Logo/Logo_32x32.png | Bin 0 -> 2342 bytes Fluent.Ribbon/Images/Logo/Logo_48x48.png | Bin 0 -> 4100 bytes Fluent.Ribbon/Images/Logo/Logo_64x64.png | Bin 0 -> 5949 bytes Fluent.Ribbon/Images/Logo/Logo_96x96.png | Bin 0 -> 13907 bytes .../Images/Ribbon/ApplicationMenu.ai | 286 + Fluent.Ribbon/Images/Ribbon/Checked.ai | 1530 +++ Fluent.Ribbon/Images/Ribbon/Copy.ai | 1210 +++ Fluent.Ribbon/Images/Ribbon/Cut.ai | 1291 +++ .../Images/Ribbon/DefaultSmallIcon.ai | 2215 ++++ .../Images/Ribbon/DefaultSmallIcon.design | Bin 0 -> 5402 bytes Fluent.Ribbon/Images/Ribbon/DialogLauncher.ai | 1598 +++ Fluent.Ribbon/Images/Ribbon/Help.ai | 1350 +++ Fluent.Ribbon/Images/Ribbon/MoreColors.ai | 1539 +++ Fluent.Ribbon/Images/Ribbon/Paste.ai | 1219 +++ .../Ribbon/QuickAccessToolbarDropDown.ai | 1624 +++ .../Ribbon/QuickAccessToolbarExtender.ai | 1624 +++ Fluent.Ribbon/Images/Ribbon/RibbonCollapse.ai | 1574 +++ Fluent.Ribbon/Images/Ribbon/RibbonExpand.ai | 1558 +++ Fluent.Ribbon/Images/Ribbon/RibbonPin.ai | 1622 +++ Fluent.Ribbon/Images/Ribbon/Warning.ai | 1315 +++ .../Office 2010 - Black - Backstage.png | Bin 0 -> 60446 bytes .../Office 2010 - Blue - Backstage.png | Bin 0 -> 60611 bytes .../Office 2010 - Silver - Backstage.png | Bin 0 -> 57101 bytes ...Office 2010 - Silver - Collapsed Group.png | Bin 0 -> 35415 bytes .../Office 2010 - Silver - ColorGallery.png | Bin 0 -> 47598 bytes ...010 - Silver - ComboBox in QuickAccess.png | Bin 0 -> 49054 bytes ...fice 2010 - Silver - Filter in Gallery.png | Bin 0 -> 41124 bytes ...2010 - Silver - Gallery in QuickAccess.png | Bin 0 -> 47995 bytes .../Office 2010 - Silver - Gallery.png | Bin 0 -> 46643 bytes .../Office 2010 - Silver - KeyTips.png | Bin 0 -> 44455 bytes .../Office 2010 - Silver - RTL.png | Bin 0 -> 49352 bytes .../Office 2013 - White - Backstage.png | Bin 0 -> 9156 bytes .../Screenshots/Office 2013 - White.png | Bin 0 -> 27349 bytes .../Windows 8 - White - Backstage.png | Bin 0 -> 51831 bytes .../Images/Screenshots/Windows 8 - White.png | Bin 0 -> 40968 bytes Fluent.Ribbon/Images/Showcase.gif | Bin 0 -> 420046 bytes Fluent.Ribbon/Images/banner.png | Bin 0 -> 39813 bytes Fluent.Ribbon/Images/cake-medium.png | Bin 0 -> 17063 bytes Fluent.Ribbon/Images/icon_ReSharper.png | Bin 0 -> 5016 bytes Fluent.Ribbon/License.txt | 21 + Fluent.Ribbon/README.md | 100 + Fluent.Ribbon/Shared/GlobalAssemblyInfo.cs | 12 + Fluent.Ribbon/Shared/SharedKey.snk | Bin 0 -> 596 bytes Live-Charts-master/.gitattributes | 63 + Live-Charts-master/.github/CONTRIBUTING.md | 27 + Live-Charts-master/.github/ISSUE_TEMPLATE.md | 26 + .../.github/PULL_REQUEST_TEMPLATE.md | 7 + Live-Charts-master/.gitignore | 242 + Live-Charts-master/Charts.sln.DotSettings | 2 + Live-Charts-master/Core/AxisCore.cs | 540 + Live-Charts-master/Core/AxisOrientation.cs | 44 + Live-Charts-master/Core/AxisPosition.cs | 39 + Live-Charts-master/Core/AxisSectionCore.cs | 72 + Live-Charts-master/Core/BarLabelPosition.cs | 50 + Live-Charts-master/Core/BezierData.cs | 21 + Live-Charts-master/Core/ChartFunctions.cs | 311 + Live-Charts-master/Core/ChartPoint.cs | 188 + Live-Charts-master/Core/ChartUpdater.cs | 131 + Live-Charts-master/Core/ChartValues.cs | 354 + Live-Charts-master/Core/Charting.cs | 234 + .../Core/Charts/CartesianChartCore.cs | 323 + Live-Charts-master/Core/Charts/ChartCore.cs | 751 ++ .../Core/Charts/PieChartCore.cs | 112 + .../Core/Configurations/CartesianMapper.cs | 136 + .../Core/Configurations/FinancialMapper.cs | 176 + .../Core/Configurations/GanttMapper.cs | 184 + .../Core/Configurations/IPointEvaluator.cs | 39 + .../Core/Configurations/Mappers.cs | 90 + .../Core/Configurations/PieMapper.cs | 94 + .../Core/Configurations/PolarMapper.cs | 134 + .../Core/Configurations/WeightedMapper.cs | 159 + Live-Charts-master/Core/Core.csproj | 180 + .../Core/Core.csproj.DotSettings | 2 + Live-Charts-master/Core/Core.nuspec | 30 + Live-Charts-master/Core/DataLabelViewModel.cs | 46 + .../Core/Defaults/AxisLimits.cs | 64 + .../Core/Defaults/DateTimePoint.cs | 93 + .../Core/Defaults/GanttPoint.cs | 92 + Live-Charts-master/Core/Defaults/HeatPoint.cs | 51 + Live-Charts-master/Core/Defaults/OHLCPoint.cs | 125 + .../Core/Defaults/ObservablePoint.cs | 93 + .../Core/Defaults/ObservableValue.cs | 76 + .../Core/Defaults/PolarPoint.cs | 93 + .../Core/Defaults/ScatterPoint.cs | 120 + .../Definitions/Charts/IAxisSectionView.cs | 91 + .../Core/Definitions/Charts/IAxisView.cs | 190 + .../Definitions/Charts/ICartesianChart.cs | 39 + .../Charts/ICartesianVisualElement.cs | 71 + .../Core/Definitions/Charts/IChartView.cs | 253 + .../Charts/ILogarithmicAxisView.cs | 39 + .../Core/Definitions/Charts/IPieChart.cs | 53 + .../Charts/ISeparatorElementView.cs | 105 + .../Core/Definitions/Charts/ISeparatorView.cs | 57 + .../Definitions/Points/IBezierPointView.cs | 41 + .../Definitions/Points/IChartPointView.cs | 73 + .../Core/Definitions/Points/IHeatPointView.cs | 55 + .../Core/Definitions/Points/IOhlcPointView.cs | 81 + .../Definitions/Points/IPieSlicePointView.cs | 60 + .../Definitions/Points/IRectanglePointView.cs | 48 + .../Definitions/Points/IScatterPointView.cs | 39 + .../Core/Definitions/Points/IStepPointView.cs | 46 + .../Core/Definitions/Series/IAreaPoint.cs | 36 + .../Definitions/Series/ICartesianSeries.cs | 63 + .../Definitions/Series/IColumnSeriesView.cs | 53 + .../Series/IFinancialSeriesView.cs | 39 + .../Definitions/Series/IHeatSeriesView.cs | 49 + .../Definitions/Series/ILineSeriesView.cs | 60 + .../Core/Definitions/Series/IPieSeries.cs | 38 + .../Core/Definitions/Series/IPieSeriesView.cs | 39 + .../Core/Definitions/Series/IRowSeriesView.cs | 53 + .../Definitions/Series/IScatterSeriesView.cs | 46 + .../Core/Definitions/Series/ISeriesView.cs | 149 + .../Series/IStackModelableSeriesView.cs | 38 + .../Series/IStackedAreaSeriesView.cs | 34 + .../Series/IStackedColumnSeriesView.cs | 47 + .../Series/IStackedRowSeriesView.cs | 47 + .../Series/IVerticalStackedAreaSeriesView.cs | 34 + Live-Charts-master/Core/Dtos/BezierData.cs | 79 + Live-Charts-master/Core/Dtos/CoreColor.cs | 63 + .../Core/Dtos/CoreGradientStop.cs | 40 + Live-Charts-master/Core/Dtos/CoreLimit.cs | 54 + Live-Charts-master/Core/Dtos/CoreMargin.cs | 56 + Live-Charts-master/Core/Dtos/CorePoint.cs | 82 + Live-Charts-master/Core/Dtos/CoreRectangle.cs | 142 + Live-Charts-master/Core/Dtos/CoreSize.cs | 56 + .../Core/Dtos/LabelEvaluation.cs | 331 + Live-Charts-master/Core/Dtos/StackedSum.cs | 42 + .../Core/Dtos/TooltipDataViewModel.cs | 62 + Live-Charts-master/Core/Events/Delegates.cs | 56 + .../Events/PreviewRangeChangedEventArgs.cs | 73 + .../Core/Events/RangeChangedEventArgs.cs | 47 + Live-Charts-master/Core/Helpers/Extentions.cs | 138 + .../Core/Helpers/LiveChartsException.cs | 69 + .../Core/Helpers/NoisyCollection.cs | 615 ++ Live-Charts-master/Core/IBezierData.cs | 7 + Live-Charts-master/Core/IChartValues.cs | 60 + .../Core/IObservableChartPoint.cs | 36 + Live-Charts-master/Core/LegendLocation.cs | 51 + .../Core/LogarithmicAxisCore.cs | 157 + Live-Charts-master/Core/Maps/MapData.cs | 96 + Live-Charts-master/Core/PanningOptions.cs | 51 + Live-Charts-master/Core/PieLabelPosition.cs | 39 + Live-Charts-master/Core/PointTracker.cs | 85 + .../Core/PortableCore.csproj.DotSettings | 2 + .../Core/Properties/AssemblyInfo.cs | 38 + Live-Charts-master/Core/ScrollMode.cs | 47 + Live-Charts-master/Core/SeparationState.cs | 43 + .../Core/SeparatorConfigurationCore.cs | 64 + .../Core/SeparatorElementCore.cs | 75 + .../Core/SeriesAlgorithms/CandleAlgorithm.cs | 117 + .../Core/SeriesAlgorithms/ColumnAlgorithm.cs | 146 + .../Core/SeriesAlgorithms/HeatAlgorithm.cs | 195 + .../Core/SeriesAlgorithms/LineAlgorithm.cs | 212 + .../Core/SeriesAlgorithms/OhlcAlgorithm.cs | 117 + .../Core/SeriesAlgorithms/PieAlgorithm.cs | 97 + .../Core/SeriesAlgorithms/RowAlgorithm.cs | 150 + .../Core/SeriesAlgorithms/ScatterAlgorithm.cs | 112 + .../SeriesAlgorithms/StackedAreaAlgorithm.cs | 210 + .../StackedColumnAlgorithm.cs | 144 + .../SeriesAlgorithms/StackedRowAlgorithm.cs | 141 + .../SeriesAlgorithms/StepLineAlgorithm.cs | 101 + .../SeriesAlgorithms/VerticalLineAlgorithm.cs | 65 + .../VerticalStackedAreaAlgorithm.cs | 64 + Live-Charts-master/Core/SeriesCollection.cs | 100 + Live-Charts-master/Core/SeriesOrientation.cs | 43 + Live-Charts-master/Core/Seriesalgorithm.cs | 111 + Live-Charts-master/Core/StackMode.cs | 39 + .../Core/TooltipSelectionMode.cs | 55 + Live-Charts-master/Core/UpdaterState.cs | 39 + .../Core/VisualElementsCollection.cs | 57 + Live-Charts-master/Core/ZoomingOptions.cs | 47 + Live-Charts-master/Core/core.docs | 1337 +++ Live-Charts-master/Core/readme.txt | 23 + Live-Charts-master/Core40/AxisCore.cs | 540 + Live-Charts-master/Core40/AxisOrientation.cs | 44 + Live-Charts-master/Core40/AxisPosition.cs | 39 + Live-Charts-master/Core40/AxisSectionCore.cs | 72 + Live-Charts-master/Core40/AxisWindow.cs | 65 + Live-Charts-master/Core40/AxisWindows.cs | 48 + Live-Charts-master/Core40/BarLabelPosition.cs | 50 + Live-Charts-master/Core40/ChartFunctions.cs | 311 + Live-Charts-master/Core40/ChartPoint.cs | 188 + Live-Charts-master/Core40/ChartUpdater.cs | 131 + Live-Charts-master/Core40/ChartValues.cs | 354 + Live-Charts-master/Core40/Charting.cs | 235 + .../Core40/Charts/CartesianChartCore.cs | 323 + Live-Charts-master/Core40/Charts/ChartCore.cs | 751 ++ .../Core40/Charts/PieChartCore.cs | 112 + .../Core40/Configurations/CartesianMapper.cs | 136 + .../Core40/Configurations/FinancialMapper.cs | 176 + .../Core40/Configurations/GanttMapper.cs | 184 + .../Core40/Configurations/IPointEvaluator.cs | 39 + .../Core40/Configurations/Mappers.cs | 90 + .../Core40/Configurations/PieMapper.cs | 94 + .../Core40/Configurations/PolarMapper.cs | 134 + .../Core40/Configurations/WeightedMapper.cs | 159 + Live-Charts-master/Core40/Core40.csproj | 198 + .../Core40/Core40.csproj.DotSettings | 2 + .../Core40/DataLabelViewModel.cs | 46 + Live-Charts-master/Core40/DateAxisCore.cs | 123 + Live-Charts-master/Core40/DateAxisWindow.cs | 124 + Live-Charts-master/Core40/DateAxisWindows.cs | 646 ++ .../Core40/DateSeparatorElementCore.cs | 13 + .../Core40/Defaults/AxisLimits.cs | 64 + .../Core40/Defaults/DateTimePoint.cs | 93 + .../Core40/Defaults/GanttPoint.cs | 92 + .../Core40/Defaults/HeatPoint.cs | 51 + .../Core40/Defaults/OHLCPoint.cs | 125 + .../Core40/Defaults/ObservablePoint.cs | 93 + .../Core40/Defaults/ObservableValue.cs | 76 + .../Core40/Defaults/PolarPoint.cs | 93 + .../Core40/Defaults/ScatterPoint.cs | 120 + .../Definitions/Charts/IAxisSectionView.cs | 98 + .../Core40/Definitions/Charts/IAxisView.cs | 190 + .../Core40/Definitions/Charts/IAxisWindow.cs | 32 + .../Definitions/Charts/ICartesianChart.cs | 39 + .../Charts/ICartesianVisualElement.cs | 71 + .../Core40/Definitions/Charts/IChartView.cs | 253 + .../Definitions/Charts/IDateAxisView.cs | 21 + .../Charts/ILogarithmicAxisView.cs | 39 + .../Core40/Definitions/Charts/IPieChart.cs | 53 + .../Charts/ISeparatorElementView.cs | 105 + .../Definitions/Charts/ISeparatorView.cs | 57 + .../Definitions/Charts/IWindowAxisView.cs | 10 + .../Definitions/Points/IBezierPointView.cs | 41 + .../Definitions/Points/IChartPointView.cs | 73 + .../Definitions/Points/IHeatPointView.cs | 55 + .../Definitions/Points/IOhlcPointView.cs | 81 + .../Definitions/Points/IPieSlicePointView.cs | 60 + .../Definitions/Points/IRectanglePointView.cs | 48 + .../Definitions/Points/IScatterPointView.cs | 39 + .../Definitions/Points/IStepPointView.cs | 46 + .../Core40/Definitions/Series/IAreaPoint.cs | 36 + .../Definitions/Series/ICartesianSeries.cs | 63 + .../Definitions/Series/IColumnSeriesView.cs | 53 + .../Series/IFinancialSeriesView.cs | 39 + .../Definitions/Series/IHeatSeriesView.cs | 49 + .../Definitions/Series/ILineSeriesView.cs | 60 + .../Core40/Definitions/Series/IPieSeries.cs | 38 + .../Definitions/Series/IPieSeriesView.cs | 39 + .../Definitions/Series/IRowSeriesView.cs | 53 + .../Definitions/Series/IScatterSeriesView.cs | 46 + .../Core40/Definitions/Series/ISeriesView.cs | 149 + .../Series/IStackModelableSeriesView.cs | 38 + .../Series/IStackedAreaSeriesView.cs | 34 + .../Series/IStackedColumnSeriesView.cs | 47 + .../Series/IStackedRowSeriesView.cs | 47 + .../Series/IVerticalStackedAreaSeriesView.cs | 34 + Live-Charts-master/Core40/Delegates.cs | 31 + Live-Charts-master/Core40/Dtos/BezierData.cs | 79 + Live-Charts-master/Core40/Dtos/CoreColor.cs | 63 + .../Core40/Dtos/CoreGradientStop.cs | 40 + Live-Charts-master/Core40/Dtos/CoreLimit.cs | 54 + Live-Charts-master/Core40/Dtos/CoreMargin.cs | 56 + Live-Charts-master/Core40/Dtos/CorePoint.cs | 82 + .../Core40/Dtos/CoreRectangle.cs | 142 + Live-Charts-master/Core40/Dtos/CoreSize.cs | 56 + .../Core40/Dtos/LabelEvaluation.cs | 331 + Live-Charts-master/Core40/Dtos/StackedSum.cs | 42 + .../Core40/Dtos/TooltipDataViewModel.cs | 62 + Live-Charts-master/Core40/Events/Delegates.cs | 56 + .../Events/PreviewRangeChangedEventArgs.cs | 73 + .../Core40/Events/RangeChangedEventArgs.cs | 47 + .../Core40/Helpers/Extentions.cs | 138 + .../Core40/Helpers/LiveChartsException.cs | 69 + .../Core40/Helpers/NoisyCollection.cs | 615 ++ Live-Charts-master/Core40/IChartValues.cs | 60 + .../Core40/IObservableChartPoint.cs | 36 + Live-Charts-master/Core40/LegendLocation.cs | 51 + .../Core40/LogarithmicAxisCore.cs | 157 + Live-Charts-master/Core40/Maps/MapData.cs | 96 + Live-Charts-master/Core40/PanningOptions.cs | 51 + Live-Charts-master/Core40/PeriodUnits.cs | 14 + Live-Charts-master/Core40/PieLabelPosition.cs | 39 + Live-Charts-master/Core40/PointTracker.cs | 85 + .../Core40/Properties/AssemblyInfo.cs | 46 + Live-Charts-master/Core40/ScrollMode.cs | 47 + Live-Charts-master/Core40/SeparationState.cs | 43 + .../Core40/SeparatorConfigurationCore.cs | 64 + .../Core40/SeparatorElementCore.cs | 75 + .../SeriesAlgorithms/CandleAlgorithm.cs | 117 + .../SeriesAlgorithms/ColumnAlgorithm.cs | 146 + .../Core40/SeriesAlgorithms/HeatAlgorithm.cs | 195 + .../Core40/SeriesAlgorithms/LineAlgorithm.cs | 212 + .../Core40/SeriesAlgorithms/OhlcAlgorithm.cs | 117 + .../Core40/SeriesAlgorithms/PieAlgorithm.cs | 97 + .../Core40/SeriesAlgorithms/RowAlgorithm.cs | 150 + .../SeriesAlgorithms/ScatterAlgorithm.cs | 112 + .../SeriesAlgorithms/StackedAreaAlgorithm.cs | 210 + .../StackedColumnAlgorithm.cs | 144 + .../SeriesAlgorithms/StackedRowAlgorithm.cs | 141 + .../SeriesAlgorithms/StepLineAlgorithm.cs | 101 + .../SeriesAlgorithms/VerticalLineAlgorithm.cs | 65 + .../VerticalStackedAreaAlgorithm.cs | 64 + Live-Charts-master/Core40/SeriesCollection.cs | 100 + .../Core40/SeriesOrientation.cs | 43 + Live-Charts-master/Core40/Seriesalgorithm.cs | 111 + Live-Charts-master/Core40/StackMode.cs | 39 + .../Core40/TooltipSelectionMode.cs | 55 + Live-Charts-master/Core40/UpdaterState.cs | 39 + .../Core40/VisualElementsCollection.cs | 57 + Live-Charts-master/Core40/WindowAxisCore.cs | 199 + Live-Charts-master/Core40/ZoomingOptions.cs | 47 + Live-Charts-master/Examples/UWP/App.xaml | 100 + Live-Charts-master/Examples/UWP/App.xaml.cs | 121 + Live-Charts-master/Examples/UWP/AppShell.xaml | 60 + .../Examples/UWP/AppShell.xaml.cs | 38 + .../UWP/Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes .../UWP/Assets/SplashScreen.scale-200.png | Bin 0 -> 7700 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 2937 bytes .../UWP/Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1647 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 1255 bytes .../Examples/UWP/Assets/StoreLogo.png | Bin 0 -> 1451 bytes .../UWP/Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 3204 bytes .../Basic Bars/BasicColumn.xaml | 21 + .../Basic Bars/BasicColumn.xaml.cs | 48 + .../Basic Bars/BasicRowExample.xaml | 24 + .../Basic Bars/BasicRowExample.xaml.cs | 46 + .../BasicStackedColumnExample.xaml | 23 + .../BasicStackedColumnExample.xaml.cs | 58 + .../BasicStackedRowPercentageExample.xaml | 21 + .../BasicStackedRowPercentageExample.xaml.cs | 62 + .../BasicLine/BasicLineExample.xaml | 21 + .../BasicLine/BasicLineExample.xaml.cs | 67 + .../Bubbles/BubblesExample.xaml | 22 + .../Bubbles/BubblesExample.xaml.cs | 71 + .../Chart to Image/ChartToImageSample.xaml | 12 + .../Chart to Image/ChartToImageSample.xaml.cs | 64 + .../ConstantChanges/ConstantChangesChart.xaml | 35 + .../ConstantChangesChart.xaml.cs | 135 + .../ConstantChanges/MeasureModel.cs | 10 + .../CustomTooltipAndLegendExample.xaml | 31 + .../CustomTooltipAndLegendExample.xaml.cs | 73 + .../CustomTooltipAndLegend/CustomerVm.cs | 10 + .../CustomersLegend.xaml | 30 + .../CustomersLegend.xaml.cs | 39 + .../CustomersTooltip.xaml | 45 + .../CustomersTooltip.xaml.cs | 44 + .../CustomizedLineSeries.xaml | 62 + .../CustomizedLineSeries.xaml.cs | 59 + .../DynamicVisibilityExample.xaml | 53 + .../DynamicVisibilityExample.xaml.cs | 72 + .../EnergyPredictionExample.xaml | 69 + .../EnergyPredictionExample.xaml.cs | 56 + .../Energy Predictions/OpacityConverter.cs | 21 + .../Energy Predictions/ReverseConverter.cs | 20 + .../Events/ChartPointCommandHandler.cs | 23 + .../CartesianChart/Events/EventsExample.xaml | 33 + .../Events/EventsExample.xaml.cs | 43 + .../UWP/CartesianChart/Events/ViewModel.cs | 36 + .../Financial/CandleStickExample.xaml | 27 + .../Financial/CandleStickExample.xaml.cs | 117 + .../CartesianChart/Financial/OhclExample.xaml | 27 + .../Financial/OhclExample.xaml.cs | 95 + .../FullyResponsiveExample.xaml | 32 + .../FullyResponsiveExample.xaml.cs | 105 + .../Funnel Chart/FunnelExample.xaml | 89 + .../Funnel Chart/FunnelExample.xaml.cs | 32 + .../Funnel Chart/resources/fingerprint.png | Bin 0 -> 919 bytes .../Funnel Chart/resources/user.png | Bin 0 -> 647 bytes .../Funnel Chart/resources/view.png | Bin 0 -> 597 bytes .../GanttChart/GanttExample.xaml | 31 + .../GanttChart/GanttExample.xaml.cs | 104 + .../HeatChart/HeatSeriesExample.xaml | 48 + .../HeatChart/HeatSeriesExample.xaml.cs | 109 + .../InLineSyntax/InLineSyntaxTest.xaml | 27 + .../InLineSyntax/InLineSyntaxTest.xaml.cs | 24 + .../Inverted Series/InvertedExample.xaml | 32 + .../Inverted Series/InvertedExample.xaml.cs | 27 + .../IrregularIntervalsExample.xaml | 14 + .../IrregularIntervalsExample.xaml.cs | 64 + .../CartesianChart/Labels/LabelsExample.xaml | 35 + .../Labels/LabelsExample.xaml.cs | 86 + .../Labels/LabelsHorizontalExample.xaml | 37 + .../Labels/LabelsHorizontalExample.xaml.cs | 74 + .../LineExample/LineExample.xaml | 27 + .../LineExample/LineExample.xaml.cs | 32 + .../Examples/UWP/CartesianChart/Linq/City.cs | 13 + .../UWP/CartesianChart/Linq/DataBase.cs | 42 + .../UWP/CartesianChart/Linq/LinqExample.xaml | 39 + .../CartesianChart/Linq/LinqExample.xaml.cs | 70 + .../LogarithmScale/LogarithmScaleExample.xaml | 18 + .../LogarithmScaleExample.xaml.cs | 51 + .../ManualZAndP/ManualZAndPExample.xaml | 33 + .../ManualZAndP/ManualZAndPExample.xaml.cs | 92 + .../MaterialCards/MaterialCards.xaml | 125 + .../MaterialCards/MaterialCards.xaml.cs | 112 + .../MissingPointsExample.xaml | 14 + .../MissingPointsExample.xaml.cs | 44 + .../MixingSeries/MixingSeries.xaml | 38 + .../MixingSeries/MixingSeries.xaml.cs | 93 + .../MultiAxes/MultiAxesChart.xaml | 36 + .../MultiAxes/MultiAxesChart.xaml.cs | 26 + .../NegativeStackedRowExample.xaml | 24 + .../NegativeStackedRowExample.xaml.cs | 44 + .../PointShapeLine/PointShapeLineExample.xaml | 21 + .../PointShapeLineExample.xaml.cs | 66 + .../PointState/PointStateExample.xaml | 24 + .../PointState/PointStateExample.xaml.cs | 64 + .../ScatterPlot/ScatterExample.xaml | 34 + .../ScatterPlot/ScatterExample.xaml.cs | 53 + .../Sections/SectionsExample.xaml | 46 + .../Sections/SectionsExample.xaml.cs | 76 + .../SectionsDragable/DragableSections.xaml | 51 + .../SectionsDragable/DragableSections.xaml.cs | 56 + .../SharedTooltip/SharedTooltipExample.xaml | 61 + .../SharedTooltipExample.xaml.cs | 27 + .../SolidColorChart/SolidColorExample.xaml | 68 + .../SolidColorChart/SolidColorExample.xaml.cs | 27 + .../StackedArea/StackedAreaExample.xaml | 28 + .../StackedArea/StackedAreaExample.xaml.cs | 141 + .../VerticalStackedAreaExample.xaml | 30 + .../VerticalStackedAreaExample.xaml.cs | 88 + .../StackedBar/StackedColumnExample.xaml | 30 + .../StackedBar/StackedColumnExample.xaml.cs | 95 + .../StackedBar/StackedRowExample.xaml | 30 + .../StackedBar/StackedRowExample.xaml.cs | 96 + .../StepLine/StepLineExample.xaml | 20 + .../StepLine/StepLineExample.xaml.cs | 21 + .../TypesSupport/TypesPlotting.xaml | 43 + .../TypesSupport/TypesPlotting.xaml.cs | 66 + .../UIElements/UIElementsExample.xaml | 56 + .../UIElements/UIElementsExample.xaml.cs | 27 + .../UWP/CartesianChart/UIElements/warning.png | Bin 0 -> 882 bytes .../Using DateTime/DateModel.cs | 8 + .../Using DateTime/DateTime.xaml | 18 + .../Using DateTime/DateTime.xaml.cs | 79 + .../ZoomingAndPanning/ZoomingAndPanning.xaml | 39 + .../ZoomingAndPanning.xaml.cs | 149 + .../UWP/CartesianChart/zzIssues/Issue179.xaml | 18 + .../CartesianChart/zzIssues/Issue179.xaml.cs | 76 + .../Examples/UWP/Commons/SampleCategory.cs | 17 + .../Examples/UWP/Commons/SampleDefinition.cs | 24 + .../Examples/UWP/Commons/SampleDefinitions.cs | 115 + .../UWP/Converters/BoolToObjectConverter.cs | 104 + .../UWP/Gauges/AngularGaugeExmple.xaml | 28 + .../UWP/Gauges/AngularGaugeExmple.xaml.cs | 60 + .../Examples/UWP/Gauges/Gauge360.xaml | 72 + .../Examples/UWP/Gauges/Gauge360.xaml.cs | 18 + .../Examples/UWP/Package.appxmanifest | 49 + .../UWP/PieChart/DoughnutChartExample.xaml | 47 + .../UWP/PieChart/DoughnutChartExample.xaml.cs | 129 + .../UWP/PieChart/PieChartExample.xaml | 25 + .../UWP/PieChart/PieChartExample.xaml.cs | 43 + .../Examples/UWP/Properties/AssemblyInfo.cs | 29 + Live-Charts-master/Examples/UWP/Uwp.csproj | 666 ++ .../Examples/UWP/Views/MainPage.xaml | 14 + .../Examples/UWP/Views/MainPage.xaml.cs | 32 + Live-Charts-master/Examples/UWP/cities.csv | 91 + .../Examples/WinForms/App.config | 18 + .../BasicStackedColumnExample.Designer.cs | 60 + .../BasicStackedColumnExample.cs | 54 + .../BasicStackedColumnExample.resx | 120 + .../BasicsStackedRowExample.Designer.cs | 60 + .../BasicsStackedRowExample.cs | 59 + .../BasicsStackedRowExample.resx | 120 + .../BasicBar/BasicColumnExample.Designer.cs | 60 + .../Cartesian/BasicBar/BasicColumnExample.cs | 46 + .../BasicBar/BasicColumnExample.resx | 120 + .../BasicBar/BasicRowExample.Designer.cs | 60 + .../Cartesian/BasicBar/BasicRowExample.cs | 51 + .../Cartesian/BasicBar/BasicRowExample.resx | 120 + .../BasicBubblesExample.Designer.cs | 60 + .../BasicBubbles/BasicBubblesExample.cs | 48 + .../BasicBubbles/BasicBubblesExample.resx | 120 + .../BasicLine/BasicLineExample.Designer.cs | 60 + .../Cartesian/BasicLine/BasicLineExample.cs | 73 + .../Cartesian/BasicLine/BasicLineExample.resx | 120 + .../ConstantChanges.Designer.cs | 60 + .../ConstantChanges/ConstantChanges.cs | 91 + .../ConstantChanges/ConstantChanges.resx | 120 + .../Cartesian/ConstantChanges/MeasureModel.cs | 8 + .../Customized Line Series.Designer.cs | 63 + .../Customized Line Series.cs | 65 + .../Customized Line Series.resx | 120 + .../DataPaginationExample.Designer.cs | 99 + .../DataPagination/DataPaginationExample.cs | 52 + .../DataPagination/DataPaginationExample.resx | 120 + .../DateTime/DateTimeExample.Designer.cs | 62 + .../Cartesian/DateTime/DateTimeExample.cs | 78 + .../Cartesian/DateTime/DateTimeExample.resx | 120 + .../DynamicVisibiltyExample.Designer.cs | 103 + .../DynamicVisibiltyExample.cs | 61 + .../DynamicVisibiltyExample.resx | 120 + .../Events/EventsExample.Designer.cs | 62 + .../Cartesian/Events/EventsExample.cs | 52 + .../Cartesian/Events/EventsExample.resx | 120 + .../Financial/FinancialExample.Designer.cs | 60 + .../Cartesian/Financial/FinancialExample.cs | 55 + .../Cartesian/Financial/FinancialExample.resx | 120 + .../FullyResponsive.Designer.cs | 112 + .../FullyResponsive/FullyResponsive.cs | 67 + .../FullyResponsive/FullyResponsive.resx | 120 + .../FunnelChart/FunnelExample.Designer.cs | 60 + .../Cartesian/FunnelChart/FunnelExample.cs | 196 + .../Cartesian/FunnelChart/FunnelExample.resx | 120 + .../FunnelChart/Resources/fingerprint.png | Bin 0 -> 919 bytes .../Cartesian/FunnelChart/Resources/user.png | Bin 0 -> 647 bytes .../Cartesian/FunnelChart/Resources/view.png | Bin 0 -> 597 bytes .../GanttChart/GanttExample.Designer.cs | 75 + .../Cartesian/GanttChart/GanttExample.cs | 70 + .../Cartesian/GanttChart/GanttExample.resx | 120 + .../HeatSeriesExample.Designer.cs | 60 + .../HeatSeriesExample/HeatSeriesExample.cs | 109 + .../HeatSeriesExample/HeatSeriesExample.resx | 120 + .../InvertedSeries.Designer.cs | 61 + .../Inverted Series/InvertedSeries.cs | 47 + .../Inverted Series/InvertedSeries.resx | 120 + .../IrregularIntervalsExample.Designer.cs | 60 + .../IrregularIntervalsExample.cs | 55 + .../IrregularIntervalsExample.resx | 120 + .../Cartesian/Labels/Labels.Designer.cs | 61 + .../WinForms/Cartesian/Labels/Labels.cs | 62 + .../WinForms/Cartesian/Labels/Labels.resx | 120 + .../Examples/WinForms/Cartesian/Linq/City.cs | 13 + .../WinForms/Cartesian/Linq/DataBase.cs | 38 + .../Cartesian/Linq/LinqExample.Designer.cs | 72 + .../WinForms/Cartesian/Linq/LinqExample.cs | 76 + .../WinForms/Cartesian/Linq/LinqExample.resx | 120 + .../LogarithmSacale.Designer.cs | 60 + .../LogarithmScale/LogarithmSacale.cs | 49 + .../LogarithmScale/LogarithmSacale.resx | 120 + .../MissingPoints/MissingPoint.Designer.cs | 60 + .../Cartesian/MissingPoints/MissingPoint.cs | 33 + .../Cartesian/MissingPoints/MissingPoint.resx | 120 + .../MultiAxes/MultipleAxesExample.Designer.cs | 60 + .../MultiAxes/MultipleAxesExample.cs | 50 + .../MultiAxes/MultipleAxesExample.resx | 120 + .../NegativeStackedRow.Designer.cs | 60 + .../NegativeStackedRow/NegativeStackedRow.cs | 48 + .../NegativeStackedRow.resx | 120 + .../PointState/PointState.Designer.cs | 75 + .../Cartesian/PointState/PointState.cs | 63 + .../Cartesian/PointState/PointState.resx | 120 + .../ScatterExample/ScatterForm.Designer.cs | 73 + .../Cartesian/ScatterExample/ScatterForm.cs | 71 + .../Cartesian/ScatterExample/ScatterForm.resx | 120 + .../Sections/SectionsExample.Designer.cs | 60 + .../Cartesian/Sections/SectionsExample.cs | 86 + .../Cartesian/Sections/SectionsExample.resx | 120 + .../StackedAreaExample.Designer.cs | 60 + .../StackedArea/StackedAreaExample.cs | 93 + .../StackedArea/StackedAreaExample.resx | 120 + .../StepLine/StepLineExample.Designer.cs | 60 + .../Cartesian/StepLine/StepLineExample.cs | 28 + .../Cartesian/StepLine/StepLineExample.resx | 120 + .../UielementsExample.Designer.cs | 85 + .../UielementsExample/UielementsExample.cs | 88 + .../UielementsExample/UielementsExample.resx | 120 + .../Cartesian/UielementsExample/warning.png | Bin 0 -> 882 bytes .../ZomingAndPanningExample.Designer.cs | 73 + .../ZomingAndPanningExample.cs | 87 + .../ZomingAndPanningExample.resx | 120 + .../Gauge/360/Gauge360Example.Designer.cs | 114 + .../WinForms/Gauge/360/Gauge360Example.cs | 76 + .../WinForms/Gauge/360/Gauge360Example.resx | 120 + .../AngularGauge/AngularGugeForm.Designer.cs | 60 + .../Gauge/AngularGauge/AngularGugeForm.cs | 38 + .../Gauge/AngularGauge/AngularGugeForm.resx | 120 + .../Examples/WinForms/Main.Designer.cs | 812 ++ Live-Charts-master/Examples/WinForms/Main.cs | 186 + .../Examples/WinForms/Main.resx | 120 + .../WinForms/Maps/GeoMapExample.Designer.cs | 60 + .../Examples/WinForms/Maps/GeoMapExample.cs | 42 + .../Examples/WinForms/Maps/GeoMapExample.resx | 120 + .../PieChart/DoughnutExample.Designer.cs | 60 + .../WinForms/PieChart/DoughnutExample.cs | 46 + .../WinForms/PieChart/DoughnutExample.resx | 120 + .../PieChart/PieChartExample.Designer.cs | 60 + .../WinForms/PieChart/PieChartExample.cs | 53 + .../WinForms/PieChart/PieChartExample.resx | 120 + .../Examples/WinForms/Program.cs | 22 + .../WinForms/Properties/AssemblyInfo.cs | 36 + .../WinForms/Properties/Resources.Designer.cs | 63 + .../WinForms/Properties/Resources.resx | 121 + .../WinForms/Properties/Settings.Designer.cs | 26 + .../WinForms/Properties/Settings.settings | 7 + .../Examples/WinForms/Winforms.csproj | 489 + .../WinForms/Winforms.csproj.DotSettings | 2 + .../Examples/WinForms/cities.csv | 91 + Live-Charts-master/Examples/Wpf/App.config | 6 + Live-Charts-master/Examples/Wpf/App.xaml | 50 + Live-Charts-master/Examples/Wpf/App.xaml.cs | 17 + .../Basic Bars/BasicColumn.xaml | 20 + .../Basic Bars/BasicColumn.xaml.cs | 44 + .../Basic Bars/BasicRowExample.xaml | 23 + .../Basic Bars/BasicRowExample.xaml.cs | 44 + .../BasicStackedColumnExample.xaml | 21 + .../BasicStackedColumnExample.xaml.cs | 54 + .../BasicStackedRowPercentageExample.xaml | 23 + .../BasicStackedRowPercentageExample.xaml.cs | 58 + .../BasicLine/BasicLineExample.xaml | 20 + .../BasicLine/BasicLineExample.xaml.cs | 49 + .../Bubbles/BubblesExample.xaml | 21 + .../Bubbles/BubblesExample.xaml.cs | 66 + .../Chart to Image/ChartToImageSample.xaml | 12 + .../Chart to Image/ChartToImageSample.xaml.cs | 63 + .../ConstantChanges/ConstantChangesChart.xaml | 40 + .../ConstantChangesChart.xaml.cs | 135 + .../ConstantChanges/MeasureModel.cs | 10 + .../CustomTooltipAndLegendExample.xaml | 30 + .../CustomTooltipAndLegendExample.xaml.cs | 68 + .../CustomTooltipAndLegend/CustomerVM.cs | 10 + .../CustomersLegend.xaml | 26 + .../CustomersLegend.xaml.cs | 37 + .../CustomersTooltip.xaml | 39 + .../CustomersTooltip.xaml.cs | 41 + .../CustomZoomingAndPanning/MoveMe.xaml | 21 + .../CustomZoomingAndPanning/MoveMe.xaml.cs | 51 + .../CustomizedLineSeries.xaml | 60 + .../CustomizedLineSeries.xaml.cs | 58 + .../DataLabelTemplateSample.xaml | 59 + .../DataLabelTemplateSample.xaml.cs | 27 + .../DateAxis/DateAxisExample.xaml | 70 + .../DateAxis/DateAxisExample.xaml.cs | 104 + .../DynamicVisibilityExample.xaml | 44 + .../DynamicVisibilityExample.xaml.cs | 61 + .../EnergyPredictionExample.xaml | 64 + .../EnergyPredictionExample.xaml.cs | 59 + .../Energy Predictions/OpacityConverter.cs | 22 + .../Energy Predictions/ReverseConverter.cs | 21 + .../Events/ChartPointCommandHandler.cs | 27 + .../CartesianChart/Events/EventsExample.xaml | 38 + .../Events/EventsExample.xaml.cs | 49 + .../Wpf/CartesianChart/Events/ViewModel.cs | 36 + .../Financial/CandleStickExample.xaml | 26 + .../Financial/CandleStickExample.xaml.cs | 108 + .../CartesianChart/Financial/OhclExample.xaml | 24 + .../Financial/OhclExample.xaml.cs | 91 + .../FullyResponsiveExample.xaml | 32 + .../FullyResponsiveExample.xaml.cs | 100 + .../Funnel Chart/FunnelExample.xaml | 90 + .../Funnel Chart/FunnelExample.xaml.cs | 15 + .../Funnel Chart/resources/fingerprint.png | Bin 0 -> 919 bytes .../Funnel Chart/resources/user.png | Bin 0 -> 647 bytes .../Funnel Chart/resources/view.png | Bin 0 -> 597 bytes .../GanttChart/GanttExample.xaml | 30 + .../GanttChart/GanttExample.xaml.cs | 102 + .../HeatChart/HeatSeriesExample.xaml | 47 + .../HeatChart/HeatSeriesExample.xaml.cs | 104 + .../InLineSyntax/InLineSyntaxTest.xaml | 26 + .../InLineSyntax/InLineSyntaxTest.xaml.cs | 28 + .../Inverted Series/Inverted Example.xaml | 31 + .../Inverted Series/Inverted Example.xaml.cs | 23 + .../IrregularIntervalsExample.xaml | 12 + .../IrregularIntervalsExample.xaml.cs | 60 + .../CartesianChart/Labels/LabelsExample.xaml | 35 + .../Labels/LabelsExample.xaml.cs | 82 + .../Labels/LabelsHorizontalExample.xaml | 36 + .../Labels/LabelsHorizontalExample.xaml.cs | 75 + .../LineExample/LineExample.xaml | 26 + .../LineExample/LineExample.xaml.cs | 46 + .../Examples/Wpf/CartesianChart/Linq/City.cs | 13 + .../Wpf/CartesianChart/Linq/DataBase.cs | 38 + .../Wpf/CartesianChart/Linq/LinqExample.xaml | 39 + .../CartesianChart/Linq/LinqExample.xaml.cs | 59 + .../LogarithmScale/LogarithmScaleExample.xaml | 27 + .../LogarithmScaleExample.xaml.cs | 50 + .../ManualZAndP/ManualZAndPExample.xaml | 32 + .../ManualZAndP/ManualZAndPExample.xaml.cs | 84 + .../MaterialCards/MaterialCards.xaml | 144 + .../MaterialCards/MaterialCards.xaml.cs | 162 + .../MissingPointsExample.xaml | 13 + .../MissingPointsExample.xaml.cs | 40 + .../MixingSeries/MixingSeries.xaml | 38 + .../MixingSeries/MixingSeries.xaml.cs | 101 + .../MultiAxes/MultiAxesChart.xaml | 45 + .../MultiAxes/MultiAxesChart.xaml.cs | 28 + .../NEgativeStackedRowExample.xaml | 23 + .../NEgativeStackedRowExample.xaml.cs | 43 + .../PointShapeLine/PointShapeLineExample.cs | 62 + .../PointShapeLine/PointShapeLineExample.xaml | 20 + .../PointState/PointStateExample.xaml | 25 + .../PointState/PointStateExample.xaml.cs | 60 + .../Scatter With Pies/Scatter With Pies.xaml | 71 + .../Scatter With Pies.xaml.cs | 27 + .../ScatterPlot/ScatterExample.xaml | 31 + .../ScatterPlot/ScatterExample.xaml.cs | 51 + .../Sections/SectionsExample.xaml | 43 + .../Sections/SectionsExample.xaml.cs | 72 + .../SectionsDragable/DragableSections.xaml | 50 + .../SectionsDragable/DragableSections.xaml.cs | 64 + .../SectionMouseMoveSample.xaml | 53 + .../SectionMouseMoveSample.xaml.cs | 45 + .../SectionsMouseMove/ViewModel.cs | 54 + .../SharedTooltip/SharedTooltipExample.xaml | 58 + .../SharedTooltipExample.xaml.cs | 35 + .../SolidColorChart/SolidColorExample.xaml | 72 + .../SolidColorChart/SolidColorExample.xaml.cs | 28 + .../StackedArea/StackedAreaExample.xaml | 30 + .../StackedArea/StackedAreaExample.xaml.cs | 140 + .../VerticalStackedAreaExample.xaml | 29 + .../VerticalStackedAreaExample.xaml.cs | 97 + .../StackedBar/StackedColumnExample.xaml | 30 + .../StackedBar/StackedColumnExample.xaml.cs | 103 + .../StackedBar/StackedRowExample.xaml | 29 + .../StackedBar/StackedRowExample.xaml.cs | 103 + .../StepLine/StepLineExample.xaml | 19 + .../StepLine/StepLineExample.xaml.cs | 28 + .../CartesianChart/ThreadSafe/RelyCommand.cs | 27 + .../ThreadSafe/ThreadSafeExample.xaml | 31 + .../ThreadSafe/ThreadSafeExample.xaml.cs | 15 + .../ThreadSafe/ThreadSafeViewModel.cs | 82 + .../TypesSupport/TypesPlotting.xaml | 43 + .../TypesSupport/TypesPlotting.xaml.cs | 66 + .../UIElements/DataGenerator.cs | 25 + .../UIElements/EventAControl.xaml | 14 + .../UIElements/EventAControl.xaml.cs | 27 + .../UIElements/EventBControl.xaml | 16 + .../UIElements/EventBControl.xaml.cs | 27 + .../UIElements/SelectedItemControl.xaml | 11 + .../UIElements/SelectedItemControl.xaml.cs | 27 + .../UiElementsAndEventsExample.xaml.cs | 12 + .../UIElements/UiElementsExample.xaml | 39 + .../UIElements/UiElementsViewModel.cs | 77 + .../Using DateTime/DateModel.cs | 10 + .../Using DateTime/DateTime.xaml | 16 + .../Using DateTime/DateTime.xaml.cs | 74 + .../WindowAxis/WindowAxisExample.xaml | 52 + .../WindowAxis/WindowAxisExample.xaml.cs | 177 + .../ZoomingAndPanning/ZoomingAndPanning.xaml | 42 + .../ZoomingAndPanning.xaml.cs | 142 + .../Wpf/CartesianChart/zzIssues/Issue179.xaml | 18 + .../CartesianChart/zzIssues/Issue179.xaml.cs | 75 + .../Wpf/Gauges/AngularGaugeExmple.xaml | 27 + .../Wpf/Gauges/AngularGaugeExmple.xaml.cs | 44 + .../Examples/Wpf/Gauges/Gauge360.xaml | 72 + .../Examples/Wpf/Gauges/Gauge360.xaml.cs | 10 + .../Examples/Wpf/Home/HomeView.xaml | 107 + .../Examples/Wpf/Home/HomeView.xaml.cs | 31 + .../Examples/Wpf/Home/HomeViewModel.cs | 233 + .../Examples/Wpf/Home/SampleGroupVm.cs | 10 + .../Examples/Wpf/Home/SampleVm.cs | 28 + Live-Charts-master/Examples/Wpf/Left.png | Bin 0 -> 592 bytes .../Examples/Wpf/Maps/GeoMapExample.xaml | 14 + .../Examples/Wpf/Maps/GeoMapExample.xaml.cs | 40 + .../Examples/Wpf/PanelExample.xaml | 122 + .../Examples/Wpf/PanelExample.xaml.cs | 143 + .../Wpf/PieChart/DoughnutChartExample.xaml | 46 + .../Wpf/PieChart/DoughnutChartExample.xaml.cs | 113 + .../Wpf/PieChart/DropDowns/DataProvider.cs | 21 + .../Wpf/PieChart/DropDowns/DropDownCommand.cs | 31 + .../PieChart/DropDowns/DropDownViewModel.cs | 106 + .../PieChart/DropDowns/PieDropDownSample.xaml | 38 + .../DropDowns/PieDropDownSample.xaml.cs | 27 + .../Wpf/PieChart/DropDowns/PiePoint.cs | 52 + .../Wpf/PieChart/DropDowns/RelayCommand.cs | 27 + .../Wpf/PieChart/PieChartExample.xaml | 25 + .../Wpf/PieChart/PieChartExample.xaml.cs | 34 + .../Examples/Wpf/Properties/Annotations.cs | 931 ++ .../Examples/Wpf/Properties/AssemblyInfo.cs | 53 + .../Wpf/Properties/Resources.Designer.cs | 63 + .../Examples/Wpf/Properties/Resources.resx | 117 + .../Wpf/Properties/Settings.Designer.cs | 26 + .../Examples/Wpf/Properties/Settings.settings | 7 + .../Examples/Wpf/Resources/AppDictionary.xaml | 99 + .../Wpf/Resources/ChartResources.xaml | 20 + .../Examples/Wpf/Resources/LiveChartsLogo.png | Bin 0 -> 1241 bytes Live-Charts-master/Examples/Wpf/Right.png | Bin 0 -> 570 bytes Live-Charts-master/Examples/Wpf/Wpf.csproj | 685 ++ .../Examples/Wpf/Wpf.csproj.DotSettings | 2 + Live-Charts-master/Examples/Wpf/cities.csv | 91 + Live-Charts-master/Examples/Wpf/lvlogo.png | Bin 0 -> 7200 bytes .../Examples/Wpf/packages.config | 4 + Live-Charts-master/LICENSE.TXT | 21 + Live-Charts-master/LiveCharts.sln | 357 + Live-Charts-master/LiveCharts.sln.DotSettings | 3 + Live-Charts-master/README.md | 110 + .../UnitTests/MemoryLeaks/DrawnShapes.cs | 130 + .../UnitTests/Other/SharedSeries.cs | 33 + .../UnitTests/Properties/AssemblyInfo.cs | 36 + .../UnitTests/SeriesAndValues/NullAndEmpty.cs | 160 + .../SeriesAndValues/SeriesAutoColors.cs | 28 + Live-Charts-master/UnitTests/UnitTests.csproj | 123 + .../UnitTests/UnitTests.csproj.DotSettings | 2 + Live-Charts-master/UwpView/AngularGauge.cs | 510 + Live-Charts-master/UwpView/AngularSection.cs | 98 + Live-Charts-master/UwpView/AxesCollection.cs | 66 + Live-Charts-master/UwpView/Axis.cs | 790 ++ Live-Charts-master/UwpView/AxisSection.cs | 471 + Live-Charts-master/UwpView/CandleSeries.cs | 233 + Live-Charts-master/UwpView/CartesianChart.cs | 78 + .../UwpView/Charts/Base/Chart.cs | 1521 +++ .../UwpView/ColorsCollection.cs | 34 + Live-Charts-master/UwpView/ColumnSeries.cs | 224 + .../UwpView/Components/AnimationsHelper.cs | 164 + .../Components/AxisSeparatorElement.cs | 243 + .../UwpView/Components/BrushCloner.cs | 78 + .../UwpView/Components/ChartUpdater.cs | 94 + .../UwpView/Components/Converters.cs | 66 + .../UwpView/Components/DefaultXamlReader.cs | 48 + .../Components/DependencyObjectExtensions.cs | 22 + .../UwpView/Components/GeometryHelper.cs | 43 + .../UwpView/Components/GeometryParser.cs | 679 ++ .../UwpView/Components/IFondeable.cs | 40 + .../DependencyObjectCollection.cs | 101 + .../MultiBinding/MultiBindingBehavior.cs | 174 + .../MultiBinding/MultiBindingItem.cs | 42 + .../MultiBindingItemCollection.cs | 115 + .../MultiBinding/MultiValueConverterBase.cs | 47 + .../UwpView/Components/TooltipDto.cs | 76 + .../Converters/StringFormatConverter.cs | 65 + .../UwpView/Converters/TypeConverters.cs | 70 + Live-Charts-master/UwpView/DefaultAxes.cs | 74 + .../UwpView/DefaultGeoMapTooltip.xaml | 67 + .../UwpView/DefaultGeoMapTooltip.xaml.cs | 165 + Live-Charts-master/UwpView/DefaultGeometry.cs | 73 + Live-Charts-master/UwpView/DefaultLegend.xaml | 75 + .../UwpView/DefaultLegend.xaml.cs | 148 + .../UwpView/DefaultTooltip.xaml | 84 + .../UwpView/DefaultTooltip.xaml.cs | 368 + Live-Charts-master/UwpView/Extentions.cs | 83 + Live-Charts-master/UwpView/Gauge.cs | 493 + Live-Charts-master/UwpView/GeoMap.cs | 662 ++ .../UwpView/HeatColorRange.xaml | 13 + .../UwpView/HeatColorRange.xaml.cs | 83 + Live-Charts-master/UwpView/HeatSeries.cs | 331 + Live-Charts-master/UwpView/IChartLegend.cs | 40 + Live-Charts-master/UwpView/IChartTooltip.cs | 48 + .../UwpView/LineSegmentSplitter.cs | 42 + Live-Charts-master/UwpView/LineSeries.cs | 483 + Live-Charts-master/UwpView/LogarithmicAxis.cs | 77 + .../UwpView/Maps/MapResolver.cs | 81 + Live-Charts-master/UwpView/OhlcSeries.cs | 247 + Live-Charts-master/UwpView/PieChart.cs | 118 + Live-Charts-master/UwpView/PieSeries.cs | 193 + Live-Charts-master/UwpView/PointGeometry.cs | 55 + .../UwpView/Points/CandlePointView.cs | 162 + .../UwpView/Points/ColumnPointView.cs | 205 + .../UwpView/Points/HeatPoint.cs | 105 + .../Points/HorizontalBezierPointView.cs | 216 + .../UwpView/Points/OhlcPointView.cs | 171 + .../UwpView/Points/PiePointView.cs | 171 + Live-Charts-master/UwpView/Points/PieSlice.cs | 298 + .../UwpView/Points/PointExtensions.cs | 22 + .../UwpView/Points/PointView.cs | 57 + .../UwpView/Points/RowPointView.cs | 193 + .../UwpView/Points/ScatterPointView.cs | 153 + .../UwpView/Points/StepLinePointView.cs | 181 + .../UwpView/Points/VerticalBezierPointView.cs | 211 + .../UwpView/Properties/AssemblyInfo.cs | 29 + Live-Charts-master/UwpView/RowSeries.cs | 229 + Live-Charts-master/UwpView/ScatterSeries.cs | 210 + .../UwpView/SectionsCollection.cs | 51 + Live-Charts-master/UwpView/Separator.cs | 178 + Live-Charts-master/UwpView/Series.cs | 590 ++ .../UwpView/StackedAreaSeries.cs | 173 + .../UwpView/StackedColumnSeries.cs | 217 + .../UwpView/StackedRowSeries.cs | 222 + Live-Charts-master/UwpView/StepLineSeries.cs | 274 + .../UwpView/Themes/Colors/black.xaml | 13 + .../UwpView/Themes/Colors/blue.xaml | 13 + .../UwpView/Themes/Colors/material.xaml | 16 + .../UwpView/Themes/Colors/metro.xaml | 16 + .../UwpView/Themes/Colors/white.xaml | 13 + Live-Charts-master/UwpView/Themes/Size/l.xaml | 7 + Live-Charts-master/UwpView/Themes/Size/m.xaml | 7 + Live-Charts-master/UwpView/Themes/Size/s.xaml | 7 + .../UwpView/Themes/Weight/bold.xaml | 8 + .../UwpView/Themes/Weight/light.xaml | 9 + .../UwpView/Themes/Weight/normal.xaml | 9 + Live-Charts-master/UwpView/Themes/base.xaml | 61 + Live-Charts-master/UwpView/UwpView.csproj | 371 + Live-Charts-master/UwpView/UwpView.nuspec | 31 + .../UwpView/VerticalLineSeries.cs | 338 + .../UwpView/VerticalStackedAreaSeries.cs | 171 + Live-Charts-master/UwpView/VisualElement.cs | 187 + Live-Charts-master/UwpView/install.ps1 | 3 + Live-Charts-master/UwpView/nuget.exe | Bin 0 -> 3957976 bytes .../WinFormsView/AngularGauge.cs | 270 + .../WinFormsView/CartesianChart.cs | 375 + .../WinFormsView/Form1.Designer.cs | 38 + Live-Charts-master/WinFormsView/Form1.cs | 20 + Live-Charts-master/WinFormsView/Form1.resx | 120 + Live-Charts-master/WinFormsView/Gauge.cs | 334 + Live-Charts-master/WinFormsView/GeoMap.cs | 226 + Live-Charts-master/WinFormsView/PieChart.cs | 286 + .../WinFormsView/Properties/AssemblyInfo.cs | 36 + .../WinFormsView/WinFormsView.csproj | 100 + .../WinFormsView.csproj.DotSettings | 2 + .../WinFormsView/WinFormsView.nuspec | 44 + Live-Charts-master/WinFormsView/app.config | 11 + Live-Charts-master/WinFormsView/install.ps1 | 3 + Live-Charts-master/WinFormsView/nuget.exe | Bin 0 -> 3955928 bytes Live-Charts-master/WinFormsView/winforms.docs | 8 + Live-Charts-master/WpfView/AngularGauge.cs | 539 + Live-Charts-master/WpfView/AngularSection.cs | 100 + Live-Charts-master/WpfView/AxesCollection.cs | 68 + Live-Charts-master/WpfView/Axis.cs | 778 ++ Live-Charts-master/WpfView/AxisSection.cs | 503 + .../WpfView/AxisWindowCollection.cs | 21 + Live-Charts-master/WpfView/CandleSeries.cs | 242 + Live-Charts-master/WpfView/CartesianChart.cs | 77 + .../WpfView/Charts/Base/Chart.cs | 1474 +++ .../WpfView/ColorsCollection.cs | 34 + Live-Charts-master/WpfView/ColumnSeries.cs | 225 + .../Components/AxisSeparatorElement.cs | 258 + .../WpfView/Components/ChartUpdater.cs | 97 + .../WpfView/Components/Converters.cs | 68 + .../WpfView/Components/DefaultXamlReader.cs | 50 + .../WpfView/Components/IFondeable.cs | 40 + .../WpfView/Components/ThreadAccess.cs | 48 + .../WpfView/Components/TooltipDto.cs | 76 + .../WpfView/Converters/TypeConverters.cs | 113 + Live-Charts-master/WpfView/DateAxis.cs | 113 + Live-Charts-master/WpfView/DefaultAxes.cs | 96 + .../WpfView/DefaultGeoMapTooltip.xaml | 65 + .../WpfView/DefaultGeoMapTooltip.xaml.cs | 161 + Live-Charts-master/WpfView/DefaultGeometry.cs | 105 + Live-Charts-master/WpfView/DefaultLegend.xaml | 76 + .../WpfView/DefaultLegend.xaml.cs | 164 + .../WpfView/DefaultTooltip.xaml | 99 + .../WpfView/DefaultTooltip.xaml.cs | 439 + .../WpfView/Desktop.csproj.DotSettings | 2 + Live-Charts-master/WpfView/Extentions.cs | 85 + .../WpfView/FinancialColoringRule.cs | 55 + Live-Charts-master/WpfView/Gauge.cs | 519 + Live-Charts-master/WpfView/GeoMap.cs | 657 ++ .../WpfView/HeatColorRange.xaml | 14 + .../WpfView/HeatColorRange.xaml.cs | 79 + Live-Charts-master/WpfView/HeatSeries.cs | 327 + Live-Charts-master/WpfView/IChartLegend.cs | 42 + Live-Charts-master/WpfView/IChartTooltip.cs | 48 + .../WpfView/LineSegmentSplitter.cs | 42 + Live-Charts-master/WpfView/LineSeries.cs | 498 + .../LiveChartsDesktop.csproj.DotSettings | 2 + .../WpfView/LiveChartsWPF.csproj.DotSettings | 2 + Live-Charts-master/WpfView/LogarithmicAxis.cs | 77 + .../WpfView/Maps/MapResolver.cs | 82 + Live-Charts-master/WpfView/OhlcSeries.cs | 244 + Live-Charts-master/WpfView/PieChart.cs | 116 + Live-Charts-master/WpfView/PieSeries.cs | 194 + .../WpfView/Points/CandlePointView.cs | 199 + .../WpfView/Points/ColumnPointView.cs | 205 + .../WpfView/Points/HeatPoint.cs | 105 + .../Points/HorizontalBezierPointView.cs | 246 + .../WpfView/Points/OhlcPointView.cs | 179 + .../WpfView/Points/PiePointView.cs | 162 + Live-Charts-master/WpfView/Points/PieSlice.cs | 266 + .../WpfView/Points/PointView.cs | 58 + .../WpfView/Points/RowPointView.cs | 196 + .../WpfView/Points/ScatterPointView.cs | 157 + .../WpfView/Points/StepLinePointView.cs | 249 + .../WpfView/Points/VerticalBezierPointView.cs | 201 + .../WpfView/Properties/AssemblyInfo.cs | 61 + .../WpfView/Properties/Resources.Designer.cs | 63 + .../WpfView/Properties/Resources.resx | 117 + .../WpfView/Properties/Settings.Designer.cs | 26 + .../WpfView/Properties/Settings.settings | 7 + Live-Charts-master/WpfView/RowSeries.cs | 231 + Live-Charts-master/WpfView/ScatterSeries.cs | 211 + .../WpfView/SectionsCollection.cs | 51 + Live-Charts-master/WpfView/Separator.cs | 179 + Live-Charts-master/WpfView/Series.cs | 607 ++ .../WpfView/StackedAreaSeries.cs | 176 + .../WpfView/StackedColumnSeries.cs | 218 + .../WpfView/StackedRowSeries.cs | 222 + Live-Charts-master/WpfView/StepLineSeries.cs | 294 + .../WpfView/Themes/Colors/black.xaml | 13 + .../WpfView/Themes/Colors/blue.xaml | 13 + .../WpfView/Themes/Colors/material.xaml | 16 + .../WpfView/Themes/Colors/metro.xaml | 16 + .../WpfView/Themes/Colors/white.xaml | 13 + Live-Charts-master/WpfView/Themes/Size/l.xaml | 8 + Live-Charts-master/WpfView/Themes/Size/m.xaml | 8 + Live-Charts-master/WpfView/Themes/Size/s.xaml | 8 + .../WpfView/Themes/Weight/bold.xaml | 9 + .../WpfView/Themes/Weight/light.xaml | 10 + .../WpfView/Themes/Weight/normal.xaml | 10 + Live-Charts-master/WpfView/Themes/base.xaml | 54 + .../WpfView/VerticalLineSeries.cs | 344 + .../WpfView/VerticalStackedAreaSeries.cs | 173 + Live-Charts-master/WpfView/VisualElement.cs | 186 + Live-Charts-master/WpfView/WindowAxis.cs | 148 + Live-Charts-master/WpfView/WpfView.csproj | 246 + .../WpfView/WpfView.csproj.DotSettings | 2 + Live-Charts-master/WpfView/WpfView.nuspec | 30 + Live-Charts-master/WpfView/install.ps1 | 3 + Live-Charts-master/WpfView/nuget.exe | Bin 0 -> 3955928 bytes Live-Charts-master/WpfView/wpf.docs | 1140 +++ Live-Charts-master/build.cake | 146 + Live-Charts-master/build.ps1 | 145 + Live-Charts-master/nuget.exe | Bin 0 -> 3955928 bytes .../Adorners/RubberbandAdorner.cs | 256 + .../AttachedProperties/DragAndDropProps.cs | 94 + .../AttachedProperties/ItemConnectProps.cs | 60 + .../AttachedProperties/SelectionProps.cs | 75 + .../Attributes/CanDoAttribute.cs | 11 + .../Controls/BorderResizeThumb.cs | 152 + .../Controls/CinchMenuItem.cs | 84 + Util.DiagramDesigner/Controls/Connector.cs | 40 + .../Controls/DesignerCanvas.cs | 470 + Util.DiagramDesigner/Controls/DragThumb.cs | 111 + .../Controls/PointConnector.cs | 20 + .../Controls/RelativePositionPanel.cs | 85 + Util.DiagramDesigner/Controls/ResizeThumb.cs | 196 + Util.DiagramDesigner/Controls/RotateThumb.cs | 106 + Util.DiagramDesigner/Controls/ZoomBox.cs | 162 + .../Converters/ArrowPathConverter.cs | 24 + .../Converters/ArrowSizeConverter.cs | 23 + .../Converters/BoolToVisibilityConverter.cs | 42 + .../Converters/ClipConverter.cs | 78 + .../Converters/ColorBrushConverter.cs | 218 + .../ConectorOrientationConverter.cs | 32 + .../Converters/ConectorValueConverter.cs | 47 + .../Converters/ConnectionPathConverter.cs | 45 + .../Converters/DoubleToThickness.cs | 85 + .../Converters/EnumDescriptionConverter.cs | 51 + .../Converters/ImageUrlConverter.cs | 37 + .../Converters/LineDashConverter.cs | 24 + .../Converters/TrueToFalseConverter.cs | 23 + Util.DiagramDesigner/Enums/ArrowPathStyle.cs | 22 + Util.DiagramDesigner/Enums/ArrowSizeStyle.cs | 24 + Util.DiagramDesigner/Enums/BrushType.cs | 18 + .../Enums/CellHorizontalAlignment.cs | 22 + .../Enums/ConnectorOrientation.cs | 15 + Util.DiagramDesigner/Enums/CursorMode.cs | 13 + Util.DiagramDesigner/Enums/DiagramType.cs | 13 + Util.DiagramDesigner/Enums/DrawMode.cs | 21 + Util.DiagramDesigner/Enums/FontCase.cs | 14 + .../Enums/HorizontalVerticalAlignment.cs | 22 + Util.DiagramDesigner/Enums/LineDashStyle.cs | 32 + .../Enums/LinearOrientation.cs | 27 + Util.DiagramDesigner/Enums/LockFlag.cs | 45 + Util.DiagramDesigner/Enums/LogicalType.cs | 56 + .../Enums/PageSizeOrientation.cs | 15 + Util.DiagramDesigner/Enums/PageSizeType.cs | 74 + Util.DiagramDesigner/Enums/PageUnit.cs | 39 + .../Enums/RadialOrientation.cs | 21 + Util.DiagramDesigner/Enums/ValueTypePoint.cs | 13 + Util.DiagramDesigner/Helpers/ColorHelper.cs | 626 ++ .../Helpers/ColorPickerManager.cs | 93 + Util.DiagramDesigner/Helpers/ConnectorInfo.cs | 17 + .../Helpers/ControlExtession.cs | 406 + .../ControlMouseDoubleClickCommandBehavior.cs | 187 + ...ntrolMouseLeftButtonDownCommandBehavior.cs | 184 + Util.DiagramDesigner/Helpers/CopyHelper.cs | 177 + .../Helpers/CursorPointManager.cs | 29 + .../Helpers/DoCommandManager.cs | 94 + Util.DiagramDesigner/Helpers/DragObject.cs | 18 + Util.DiagramDesigner/Helpers/EnumExtension.cs | 18 + .../Helpers/EventToCommandArgs.cs | 25 + .../Helpers/Extention.Object.cs | 264 + Util.DiagramDesigner/Helpers/IPathFinder.cs | 14 + .../Helpers/OrthogonalPathFinder.cs | 693 ++ Util.DiagramDesigner/Helpers/PointHelper.cs | 69 + Util.DiagramDesigner/Helpers/ToolBoxData.cs | 29 + .../Helpers/WeakINPCEventHandler.cs | 37 + Util.DiagramDesigner/Images/FormatPainter.cur | Bin 0 -> 1150 bytes .../Images/Gifs/car_chase.gif | Bin 0 -> 4689837 bytes Util.DiagramDesigner/Images/file.png | Bin 0 -> 3307 bytes Util.DiagramDesigner/Messenger/Mediator.cs | 369 + .../Messenger/MediatorMessageSinkAttribute.cs | 39 + Util.DiagramDesigner/Models/ConnectionItem.cs | 103 + Util.DiagramDesigner/Models/ConnectorItem.cs | 23 + .../Models/DesignerItemBase.cs | 72 + .../Models/ImageDesignerItem.cs | 34 + .../Models/LogicalGateDesignerItemBase.cs | 56 + .../Models/MediaDesignerItem.cs | 51 + .../Models/SelectableDesignerItemBase.cs | 485 + .../Models/TextDesignerItem.cs | 23 + Util.DiagramDesigner/Paths/ArrowPathData.cs | 25 + Util.DiagramDesigner/Paths/StrokeDashArray.cs | 36 + .../Properties/AssemblyInfo.cs | 16 + .../Resources/Styles/DesignerItems.xaml | 69 + .../Resources/Styles/Expander.xaml | 117 + .../Resources/Styles/GroupBox.xaml | 47 + .../Resources/Styles/ScrollBar.xaml | 186 + .../Resources/Styles/ScrollViewer.xaml | 43 + .../Resources/Styles/Shared.xaml | 118 + .../Resources/Styles/ToolTip.xaml | 38 + .../Resources/Styles/ZoomBox.xaml | 245 + .../DesignerItemsControlItemStyleSelector.cs | 64 + Util.DiagramDesigner/Themes/Generic.xaml | 204 + .../UserControls/ConnectorContainer.xaml | 14 + .../UserControls/ConnectorContainer.xaml.cs | 72 + .../UserControls/DiagramControl.xaml | 978 ++ .../UserControls/DiagramControl.xaml.cs | 52 + .../UserControls/TextControl.xaml | 101 + .../UserControls/TextControl.xaml.cs | 123 + .../Util.DiagramDesigner.csproj | 38 + ...til.DiagramDesigner_kn2lil5m_wpftmp.csproj | 114 + ...til.DiagramDesigner_q2uer1wu_wpftmp.csproj | 168 + .../AdditionViewModel/ColorViewModel.cs | 519 + .../DiagramServicesProvider.cs | 182 + .../AdditionViewModel/DrawModeViewModel.cs | 163 + .../AdditionViewModel/FontViewModel.cs | 478 + .../AdditionViewModel/IColorViewModel.cs | 21 + .../AdditionViewModel/IDrawModeViewModel.cs | 16 + .../AdditionViewModel/IFontViewModel.cs | 27 + .../AdditionViewModel/ILockObjectViewModel.cs | 14 + .../AdditionViewModel/IQuickThemeViewModel.cs | 12 + .../AdditionViewModel/LockObjectViewModel.cs | 87 + .../AdditionViewModel/QuickThemeViewModel.cs | 86 + .../BaseViewModel/ConnectorInfoBase.cs | 73 + .../DesignerItemViewModelBase.cs | 366 + .../GroupDesignerItemViewModel.cs | 22 + .../LogicalGateItemViewModelBase.cs | 284 + .../SelectableDesignerItemViewModelBase.cs | 289 + .../ViewModels/BindableBase.cs | 150 + .../ViewModels/ConnectorViewModel.cs | 449 + .../ViewModels/DiagramViewModel.cs | 1236 +++ .../ViewModels/FullyCreatedConnectorInfo.cs | 123 + .../ViewModels/IDiagramViewModel.cs | 64 + Util.DiagramDesigner/ViewModels/IGroupable.cs | 14 + Util.DiagramDesigner/ViewModels/INPCBase.cs | 61 + .../ViewModels/ISelectable.cs | 12 + .../ViewModels/PartCreatedConnectionInfo.cs | 18 + .../ViewModels/SelectionService.cs | 102 + .../ViewModels/SimpleCommand.cs | 66 + .../SimpleViewModel/GifImageItemViewModel.cs | 145 + .../SimpleViewModel/ImageItemViewModel.cs | 280 + .../LinkPointDesignerItemViewModel.cs | 32 + .../SimpleViewModel/MediaItemViewModel.cs | 98 + .../PointDesignerItemViewModel.cs | 48 + .../ShapeDesignerItemViewModel.cs | 114 + .../TextDesignerItemViewModel.cs | 59 + .../SimpleViewModel/VideoItemViewModel.cs | 21 + WpfAnimatedGif/AnimationCache.cs | 161 + WpfAnimatedGif/AssemblyInfo.cs | 15 + .../Decoding/GifApplicationExtension.cs | 50 + WpfAnimatedGif/Decoding/GifBlock.cs | 28 + WpfAnimatedGif/Decoding/GifBlockKind.cs | 10 + WpfAnimatedGif/Decoding/GifColor.cs | 25 + .../Decoding/GifCommentExtension.cs | 37 + .../Decoding/GifDecoderException.cs | 16 + WpfAnimatedGif/Decoding/GifExtension.cs | 32 + WpfAnimatedGif/Decoding/GifFile.cs | 86 + WpfAnimatedGif/Decoding/GifFrame.cs | 47 + .../Decoding/GifGraphicControlExtension.cs | 52 + WpfAnimatedGif/Decoding/GifHeader.cs | 38 + WpfAnimatedGif/Decoding/GifHelpers.cs | 110 + WpfAnimatedGif/Decoding/GifImageData.cs | 27 + WpfAnimatedGif/Decoding/GifImageDescriptor.cs | 43 + .../Decoding/GifLogicalScreenDescriptor.cs | 43 + .../Decoding/GifPlainTextExtension.cs | 68 + WpfAnimatedGif/Decoding/GifTrailer.cs | 21 + WpfAnimatedGif/ImageAnimationController.cs | 201 + WpfAnimatedGif/ImageBehavior.cs | 981 ++ WpfAnimatedGif/WpfAnimatedGif.csproj | 8 + gong-wpf-dragdrop/.editorconfig | 14 + gong-wpf-dragdrop/.gitattributes | 32 + gong-wpf-dragdrop/.github/CONTRIBUTING.md | 113 + gong-wpf-dragdrop/.github/ISSUE_TEMPLATE.md | 35 + .../.github/PULL_REQUEST_TEMPLATE.md | 5 + gong-wpf-dragdrop/.gitignore | 261 + gong-wpf-dragdrop/GitReleaseManager.yaml | 29 + gong-wpf-dragdrop/GitVersion.yml | 20 + .../GongSolutions.Wpf.DragDrop.Full.png | Bin 0 -> 22945 bytes .../GongSolutions.Wpf.DragDrop.png | Bin 0 -> 1611 bytes gong-wpf-dragdrop/LICENSE | 29 + gong-wpf-dragdrop/README.md | 78 + gong-wpf-dragdrop/XamlStyler/CommandLine.dll | Bin 0 -> 58368 bytes gong-wpf-dragdrop/XamlStyler/CommandLine.xml | 1390 +++ gong-wpf-dragdrop/XamlStyler/Irony.dll | Bin 0 -> 142848 bytes gong-wpf-dragdrop/XamlStyler/Irony.xml | 753 ++ .../XamlStyler/Newtonsoft.Json.dll | Bin 0 -> 522752 bytes .../XamlStyler/Newtonsoft.Json.xml | 9112 +++++++++++++++++ .../XamlStyler/Options/DefaultSettings.json | 41 + .../XamlStyler/Options/XAMLStyler.json | 42 + .../XamlStyler/XamlStyler.Core.dll | Bin 0 -> 75776 bytes .../XamlStyler/format_all_xaml.cmd | 1 + gong-wpf-dragdrop/XamlStyler/xstyler.exe | Bin 0 -> 16896 bytes .../XamlStyler/xstyler.exe.config | 6 + gong-wpf-dragdrop/appveyor.yml | 45 + gong-wpf-dragdrop/build.cake | 430 + gong-wpf-dragdrop/build.ps1 | 242 + gong-wpf-dragdrop/cake.config | 16 + .../screenshots/2016-09-03_00h51_35.png | Bin 0 -> 29078 bytes .../screenshots/2016-09-03_00h52_20.png | Bin 0 -> 30869 bytes .../screenshots/2016-09-03_00h53_03.png | Bin 0 -> 50776 bytes .../screenshots/2016-09-03_00h53_21.png | Bin 0 -> 32896 bytes .../screenshots/DragDropSample01.gif | Bin 0 -> 588836 bytes gong-wpf-dragdrop/src/Directory.build.props | 38 + gong-wpf-dragdrop/src/Directory.build.targets | 21 + .../src/GongSolutions.WPF.DragDrop.sln | 31 + ...GongSolutions.WPF.DragDrop.sln.DotSettings | 746 ++ .../DefaultDragHandler.cs | 94 + .../DefaultDropHandler.cs | 285 + .../Directory.build.targets | 30 + .../GongSolutions.WPF.DragDrop/DragAdorner.cs | 76 + .../DragDrop.Properties.cs | 1117 ++ .../GongSolutions.WPF.DragDrop/DragDrop.cs | 738 ++ .../GongSolutions.WPF.DragDrop/DragInfo.cs | 286 + .../GongSolutions.WPF.DragDrop/DropInfo.cs | 452 + .../DropTargetAdorner.cs | 50 + .../DropTargetAdorners.cs | 17 + .../DropTargetHighlightAdorner.cs | 53 + .../DropTargetInsertionAdorner.cs | 213 + .../GongSolutions.WPF.DragDrop/EventType.cs | 10 + .../GongSolutions.WPF.DragDrop.csproj | 19 + .../GongSolutions.WPF.DragDrop/IDragInfo.cs | 124 + .../GongSolutions.WPF.DragDrop/IDragSource.cs | 64 + .../GongSolutions.WPF.DragDrop/IDropInfo.cs | 155 + .../GongSolutions.WPF.DragDrop/IDropTarget.cs | 34 + .../Icons/EffectCopy.png | Bin 0 -> 3069 bytes .../Icons/EffectLink.png | Bin 0 -> 1352 bytes .../Icons/EffectMove.png | Bin 0 -> 431 bytes .../Icons/EffectNone.png | Bin 0 -> 684 bytes .../Icons/IconFactory.cs | 111 + .../Properties/AssemblyInfo.cs | 12 + .../ScrollingMode.cs | 13 + .../Utilities/DpiHelper.cs | 96 + .../Utilities/DragDropExtensions.cs | 127 + .../Utilities/HitTestUtilities.cs | 135 + .../Utilities/ItemsControlExtensions.cs | 622 ++ .../Utilities/RootElementFinder.cs | 31 + .../Utilities/TreeViewItemExtensions.cs | 36 + .../Utilities/TypeUtilities.cs | 79 + .../Utilities/VisualTreeExtensions.cs | 169 + .../src/Showcase/App.net45.config | 6 + .../src/Showcase/App.net46.config | 6 + gong-wpf-dragdrop/src/Showcase/App.xaml | 253 + gong-wpf-dragdrop/src/Showcase/App.xaml.cs | 11 + .../Showcase/CustomControls/CustomListBox.cs | 26 + .../src/Showcase/FodyWeavers.xml | 4 + .../src/Showcase/FodyWeavers.xsd | 111 + .../src/Showcase/MainWindow.xaml | 43 + .../src/Showcase/MainWindow.xaml.cs | 30 + .../src/Showcase/Models/ClonableItemModel.cs | 31 + .../src/Showcase/Models/DataGridRowModel.cs | 13 + .../Models/DragAdornerTemplateSelector.cs | 18 + .../src/Showcase/Models/GroupedDropHandler.cs | 41 + .../src/Showcase/Models/GroupedItem.cs | 52 + .../src/Showcase/Models/ItemModel.cs | 155 + .../Models/ListBoxCustomDropHandler.cs | 31 + .../src/Showcase/Models/NestedDropHandler.cs | 23 + .../src/Showcase/Models/SampleData.cs | 105 + .../Models/SerializableDragHandler.cs | 81 + .../Models/SerializableDropHandler.cs | 101 + .../src/Showcase/Models/TabItemModel.cs | 15 + .../Models/TextBoxCustomDropHandler.cs | 53 + .../src/Showcase/Models/TreeNode.cs | 89 + .../src/Showcase/Properties/AssemblyInfo.cs | 6 + .../src/Showcase/Showcase.WPF.DragDrop.csproj | 35 + .../src/Showcase/ViewModels/MainViewModel.cs | 132 + .../src/Showcase/ViewModels/SimpleCommand.cs | 35 + .../src/Showcase/ViewModels/ViewModelBase.cs | 17 + .../src/Showcase/Views/DataGridSamples.xaml | 65 + .../Showcase/Views/DataGridSamples.xaml.cs | 15 + .../src/Showcase/Views/Issues.xaml | 1095 ++ .../src/Showcase/Views/Issues.xaml.cs | 15 + .../src/Showcase/Views/ListBoxSamples.xaml | 460 + .../src/Showcase/Views/ListBoxSamples.xaml.cs | 15 + .../src/Showcase/Views/ListViewSamples.xaml | 223 + .../Showcase/Views/ListViewSamples.xaml.cs | 15 + .../src/Showcase/Views/MixedSamples.xaml | 603 ++ .../src/Showcase/Views/MixedSamples.xaml.cs | 35 + .../src/Showcase/Views/TabControlSamples.xaml | 144 + .../Showcase/Views/TabControlSamples.xaml.cs | 15 + .../src/Showcase/Views/TreeViewSamples.xaml | 146 + .../Showcase/Views/TreeViewSamples.xaml.cs | 32 + gong-wpf-dragdrop/src/Showcase/app.manifest | 56 + gong-wpf-dragdrop/src/global.json | 5 + gong-wpf-dragdrop/src/gong.public.snk | Bin 0 -> 596 bytes zxing.core/WPFDemo/App.xaml | 9 + zxing.core/WPFDemo/App.xaml.cs | 17 + zxing.core/WPFDemo/AssemblyInfo.cs | 10 + zxing.core/WPFDemo/MainWindow.xaml | 64 + zxing.core/WPFDemo/MainWindow.xaml.cs | 134 + zxing.core/WPFDemo/WPFDemo.csproj | 13 + zxing.core/xx/BarcodeFormat.cs | 92 + zxing.core/xx/BarcodeReader.Bitmap.cs | 74 + zxing.core/xx/BarcodeReaderCustom.cs | 144 + zxing.core/xx/BarcodeReaderGeneric.cs | 604 ++ zxing.core/xx/BarcodeWriterGeneric.cs | 113 + zxing.core/xx/BaseLuminanceSource.cs | 213 + zxing.core/xx/Binarizer.cs | 104 + zxing.core/xx/BinaryBitmap.cs | 180 + zxing.core/xx/DecodeHintType.cs | 125 + zxing.core/xx/Dimension.cs | 69 + zxing.core/xx/EncodeHintType.cs | 131 + zxing.core/xx/FormatException.cs | 48 + zxing.core/xx/IBarcodeReader.cs | 104 + zxing.core/xx/IBarcodeReaderCustom.cs | 31 + zxing.core/xx/IBarcodeReaderGeneric.cs | 123 + zxing.core/xx/IBarcodeWriter.cs | 107 + zxing.core/xx/IBarcodeWriterGeneric.cs | 54 + zxing.core/xx/IMultipleBarcodeReader.cs | 105 + .../xx/IMultipleBarcodeReaderGeneric.cs | 123 + zxing.core/xx/InvertedLuminanceSource.cs | 154 + zxing.core/xx/LuminanceSource.cs | 194 + zxing.core/xx/MultiFormatReader.cs | 228 + zxing.core/xx/MultiFormatWriter.cs | 82 + zxing.core/xx/PlanarYUVLuminanceSource.cs | 260 + zxing.core/xx/RGB565LuminanceSource.cs | 61 + zxing.core/xx/RGBLuminanceSource.cs | 314 + zxing.core/xx/Reader.cs | 59 + zxing.core/xx/ReaderException.cs | 57 + zxing.core/xx/Result.cs | 161 + zxing.core/xx/ResultMetadataType.cs | 102 + zxing.core/xx/ResultPoint.cs | 196 + zxing.core/xx/ResultPointCallback.cs | 26 + zxing.core/xx/SupportClass.cs | 175 + zxing.core/xx/Writer.cs | 51 + zxing.core/xx/WriterException.cs | 54 + zxing.core/xx/aztec/AztecDetectorResult.cs | 62 + zxing.core/xx/aztec/AztecReader.cs | 123 + zxing.core/xx/aztec/AztecResultMetadata.cs | 53 + zxing.core/xx/aztec/AztecWriter.cs | 164 + zxing.core/xx/aztec/decoder/Decoder.cs | 410 + zxing.core/xx/aztec/detector/Detector.cs | 690 ++ zxing.core/xx/aztec/encoder/AztecCode.cs | 52 + .../xx/aztec/encoder/AztecEncodingOptions.cs | 86 + .../xx/aztec/encoder/BinaryShiftToken.cs | 70 + zxing.core/xx/aztec/encoder/Encoder.cs | 428 + .../xx/aztec/encoder/HighLevelEncoder.cs | 379 + zxing.core/xx/aztec/encoder/SimpleToken.cs | 48 + zxing.core/xx/aztec/encoder/State.cs | 197 + zxing.core/xx/aztec/encoder/Token.cs | 50 + zxing.core/xx/common/BitArray.cs | 488 + zxing.core/xx/common/BitMatrix.cs | 589 ++ zxing.core/xx/common/BitSource.cs | 124 + zxing.core/xx/common/CharacterSetECI.cs | 121 + zxing.core/xx/common/DecoderResult.cs | 76 + zxing.core/xx/common/DecodingOptions.cs | 485 + zxing.core/xx/common/DefaultGridSampler.cs | 82 + zxing.core/xx/common/DetectorResult.cs | 39 + zxing.core/xx/common/ECI.cs | 66 + zxing.core/xx/common/EncodingOptions.cs | 119 + .../xx/common/GlobalHistogramBinarizer.cs | 243 + zxing.core/xx/common/GridSampler.cs | 197 + zxing.core/xx/common/HybridBinarizer.cs | 288 + zxing.core/xx/common/PerspectiveTransform.cs | 159 + zxing.core/xx/common/StringUtils.cs | 262 + zxing.core/xx/common/detector/MathUtils.cs | 54 + .../detector/MonochromeRectangleDetector.cs | 252 + .../common/detector/WhiteRectangleDetector.cs | 433 + zxing.core/xx/common/reedsolomon/GenericGF.cs | 210 + .../xx/common/reedsolomon/GenericGFPoly.cs | 331 + .../common/reedsolomon/ReedSolomonDecoder.cs | 227 + .../common/reedsolomon/ReedSolomonEncoder.cs | 84 + zxing.core/xx/datamatrix/DataMatrixReader.cs | 168 + zxing.core/xx/datamatrix/DataMatrixWriter.cs | 193 + .../xx/datamatrix/decoder/BitMatrixParser.cs | 519 + zxing.core/xx/datamatrix/decoder/DataBlock.cs | 133 + .../decoder/DecodedBitStreamParser.cs | 705 ++ zxing.core/xx/datamatrix/decoder/Decoder.cs | 145 + zxing.core/xx/datamatrix/decoder/Version.cs | 261 + zxing.core/xx/datamatrix/detector/Detector.cs | 487 + .../xx/datamatrix/encoder/ASCIIEncoder.cs | 95 + .../xx/datamatrix/encoder/Base256Encoder.cs | 90 + .../xx/datamatrix/encoder/C40Encoder.cs | 223 + .../encoder/DataMatrixSymbolInfo144.cs | 36 + .../encoder/DatamatrixEncodingOptions.cs | 139 + .../xx/datamatrix/encoder/DefaultPlacement.cs | 222 + .../xx/datamatrix/encoder/EdifactEncoder.cs | 165 + .../xx/datamatrix/encoder/Encodation.cs | 31 + zxing.core/xx/datamatrix/encoder/Encoder.cs | 25 + .../xx/datamatrix/encoder/EncoderContext.cs | 186 + .../xx/datamatrix/encoder/ErrorCorrection.cs | 283 + .../xx/datamatrix/encoder/HighLevelEncoder.cs | 537 + .../xx/datamatrix/encoder/SymbolInfo.cs | 258 + .../xx/datamatrix/encoder/SymbolShapeHint.cs | 29 + .../xx/datamatrix/encoder/TextEncoder.cs | 98 + .../xx/datamatrix/encoder/X12Encoder.cs | 102 + .../xx/documentation/zxing.doc.shfbproj | 79 + .../documentation/zxing.net2.0.doc.shfbproj | 70 + .../documentation/zxing.net3.5.doc.shfbproj | 70 + .../documentation/zxing.portable.doc.shfbproj | 80 + .../xx/documentation/zxing.sl4.doc.shfbproj | 70 + .../xx/documentation/zxing.sl5.doc.shfbproj | 70 + .../xx/documentation/zxing.unity.doc.shfbproj | 70 + .../xx/documentation/zxing.wp7.0.doc.shfbproj | 70 + .../xx/documentation/zxing.wp7.1.doc.shfbproj | 70 + zxing.core/xx/imb/IMBReader.cs | 514 + zxing.core/xx/maxicode/MaxiCodeReader.cs | 131 + .../xx/maxicode/decoder/BitMatrixParser.cs | 93 + .../decoder/DecodedBitStreamParser.cs | 218 + zxing.core/xx/maxicode/decoder/Decoder.cs | 124 + zxing.core/xx/multi/ByQuadrantReader.cs | 128 + .../xx/multi/GenericMultipleBarcodeReader.cs | 222 + zxing.core/xx/multi/MultipleBarcodeReader.cs | 43 + .../xx/multi/qrcode/QRCodeMultiReader.cs | 172 + .../xx/multi/qrcode/detector/MultiDetector.cs | 78 + .../detector/MultiFinderPatternFinder.cs | 345 + zxing.core/xx/oned/CodaBarReader.cs | 412 + zxing.core/xx/oned/CodaBarWriter.cs | 158 + zxing.core/xx/oned/Code128EncodingOptions.cs | 47 + zxing.core/xx/oned/Code128Reader.cs | 620 ++ zxing.core/xx/oned/Code128Writer.cs | 233 + zxing.core/xx/oned/Code39Reader.cs | 433 + zxing.core/xx/oned/Code39Writer.cs | 119 + zxing.core/xx/oned/Code93Reader.cs | 362 + zxing.core/xx/oned/EAN13Reader.cs | 168 + zxing.core/xx/oned/EAN13Writer.cs | 124 + zxing.core/xx/oned/EAN8Reader.cs | 98 + zxing.core/xx/oned/EAN8Writer.cs | 106 + .../xx/oned/EANManufacturerOrgSupport.cs | 178 + zxing.core/xx/oned/ITFReader.cs | 424 + zxing.core/xx/oned/ITFWriter.cs | 105 + zxing.core/xx/oned/MSIReader.cs | 356 + zxing.core/xx/oned/MSIWriter.cs | 101 + zxing.core/xx/oned/MultiFormatOneDReader.cs | 148 + zxing.core/xx/oned/MultiFormatUPCEANReader.cs | 142 + zxing.core/xx/oned/OneDReader.cs | 369 + .../xx/oned/OneDimensionalCodeWriter.cs | 176 + zxing.core/xx/oned/PlesseyWriter.cs | 150 + zxing.core/xx/oned/UPCAReader.cs | 118 + zxing.core/xx/oned/UPCAWriter.cs | 94 + zxing.core/xx/oned/UPCEANExtension2Support.cs | 122 + zxing.core/xx/oned/UPCEANExtension5Support.cs | 208 + zxing.core/xx/oned/UPCEANExtensionSupport.cs | 39 + zxing.core/xx/oned/UPCEANReader.cs | 433 + zxing.core/xx/oned/UPCEANWriter.cs | 39 + zxing.core/xx/oned/UPCEReader.cs | 195 + zxing.core/xx/oned/rss/AbstractRSSReader.cs | 216 + zxing.core/xx/oned/rss/DataCharacter.cs | 85 + zxing.core/xx/oned/rss/FinderPattern.cs | 86 + zxing.core/xx/oned/rss/Pair.cs | 35 + zxing.core/xx/oned/rss/RSS14Reader.cs | 589 ++ zxing.core/xx/oned/rss/RSSUtils.cs | 205 + .../xx/oned/rss/expanded/BitArrayBuilder.cs | 92 + .../xx/oned/rss/expanded/ExpandedPair.cs | 92 + .../xx/oned/rss/expanded/ExpandedRow.cs | 71 + .../xx/oned/rss/expanded/RSSExpandedReader.cs | 924 ++ .../rss/expanded/decoders/AI013103decoder.cs | 52 + .../rss/expanded/decoders/AI01320xDecoder.cs | 63 + .../rss/expanded/decoders/AI01392xDecoder.cs | 70 + .../rss/expanded/decoders/AI01393xDecoder.cs | 83 + .../expanded/decoders/AI013x0x1xDecoder.cs | 118 + .../rss/expanded/decoders/AI013x0xDecoder.cs | 61 + .../rss/expanded/decoders/AI01AndOtherAIs.cs | 61 + .../oned/rss/expanded/decoders/AI01decoder.cs | 93 + .../expanded/decoders/AI01weightDecoder.cs | 64 + .../decoders/AbstractExpandedDecoder.cs | 114 + .../rss/expanded/decoders/AnyAIDecoder.cs | 54 + .../expanded/decoders/BlockParsedResult.cs | 59 + .../expanded/decoders/CurrentParsingState.cs | 95 + .../oned/rss/expanded/decoders/DecodedChar.cs | 55 + .../expanded/decoders/DecodedInformation.cs | 72 + .../rss/expanded/decoders/DecodedNumeric.cs | 84 + .../rss/expanded/decoders/DecodedObject.cs | 41 + .../oned/rss/expanded/decoders/FieldParser.cs | 305 + .../expanded/decoders/GeneralAppIdDecoder.cs | 564 + zxing.core/xx/pdf417/PDF417Common.cs | 493 + zxing.core/xx/pdf417/PDF417Reader.cs | 202 + zxing.core/xx/pdf417/PDF417ResultMetadata.cs | 30 + zxing.core/xx/pdf417/PDF417Writer.cs | 229 + .../xx/pdf417/decoder/BarcodeMetadata.cs | 40 + zxing.core/xx/pdf417/decoder/BarcodeValue.cs | 80 + zxing.core/xx/pdf417/decoder/BoundingBox.cs | 218 + zxing.core/xx/pdf417/decoder/Codeword.cs | 97 + .../pdf417/decoder/DecodedBitStreamParser.cs | 808 ++ .../xx/pdf417/decoder/DetectionResult.cs | 379 + .../pdf417/decoder/DetectionResultColumn.cs | 161 + .../DetectionResultRowIndicatorColumn.cs | 376 + .../pdf417/decoder/PDF417CodewordDecoder.cs | 170 + .../pdf417/decoder/PDF417ScanningDecoder.cs | 916 ++ .../xx/pdf417/decoder/ec/ErrorCorrection.cs | 241 + zxing.core/xx/pdf417/decoder/ec/ModulusGF.cs | 121 + .../xx/pdf417/decoder/ec/ModulusPoly.cs | 366 + zxing.core/xx/pdf417/detector/Detector.cs | 429 + .../pdf417/detector/PDF417DetectorResult.cs | 43 + zxing.core/xx/pdf417/encoder/BarcodeMatrix.cs | 95 + zxing.core/xx/pdf417/encoder/BarcodeRow.cs | 96 + zxing.core/xx/pdf417/encoder/Compaction.cs | 44 + zxing.core/xx/pdf417/encoder/Dimensions.cs | 77 + zxing.core/xx/pdf417/encoder/PDF417.cs | 840 ++ .../pdf417/encoder/PDF417EncodingOptions.cs | 154 + .../pdf417/encoder/PDF417ErrorCorrection.cs | 249 + .../pdf417/encoder/PDF417HighLevelEncoder.cs | 775 ++ .../presentation/BarcodeReader.Extensions.cs | 50 + zxing.core/xx/presentation/BarcodeReader.cs | 74 + .../presentation/BarcodeWriter.Extensions.cs | 41 + zxing.core/xx/presentation/BarcodeWriter.cs | 36 + .../BarcodeWriterGeometry.Extensions.cs | 41 + .../xx/presentation/BarcodeWriterGeometry.cs | 37 + zxing.core/xx/project.json | 32 + zxing.core/xx/qrcode/QRCodeReader.cs | 258 + zxing.core/xx/qrcode/QRCodeWriter.cs | 141 + .../xx/qrcode/decoder/BitMatrixParser.cs | 281 + zxing.core/xx/qrcode/decoder/DataBlock.cs | 146 + zxing.core/xx/qrcode/decoder/DataMask.cs | 165 + .../qrcode/decoder/DecodedBitStreamParser.cs | 524 + zxing.core/xx/qrcode/decoder/Decoder.cs | 195 + .../xx/qrcode/decoder/ErrorCorrectionLevel.cs | 109 + .../xx/qrcode/decoder/FormatInformation.cs | 197 + zxing.core/xx/qrcode/decoder/Mode.cs | 179 + .../qrcode/decoder/QRCodeDecoderMetaData.cs | 60 + zxing.core/xx/qrcode/decoder/Version.cs | 685 ++ .../xx/qrcode/detector/AlignmentPattern.cs | 68 + .../qrcode/detector/AlignmentPatternFinder.cs | 324 + zxing.core/xx/qrcode/detector/Detector.cs | 434 + .../xx/qrcode/detector/FinderPattern.cs | 107 + .../xx/qrcode/detector/FinderPatternFinder.cs | 813 ++ .../xx/qrcode/detector/FinderPatternInfo.cs | 74 + zxing.core/xx/qrcode/encoder/BlockPair.cs | 40 + zxing.core/xx/qrcode/encoder/ByteMatrix.cs | 148 + zxing.core/xx/qrcode/encoder/Encoder.cs | 758 ++ zxing.core/xx/qrcode/encoder/MaskUtil.cs | 271 + zxing.core/xx/qrcode/encoder/MatrixUtil.cs | 604 ++ zxing.core/xx/qrcode/encoder/QRCode.cs | 125 + .../qrcode/encoder/QrCodeEncodingOptions.cs | 109 + zxing.core/xx/renderer/IBarcodeRenderer.cs | 54 + zxing.core/xx/renderer/PixelData.cs | 119 + zxing.core/xx/renderer/RawRenderer.cs | 168 + zxing.core/zxing.core.sln | 31 + zxing.core/zxing.core/BarcodeFormat.cs | 95 + zxing.core/zxing.core/BarcodeReader.Bitmap.cs | 74 + zxing.core/zxing.core/BarcodeReaderCustom.cs | 144 + zxing.core/zxing.core/BarcodeReaderGeneric.cs | 442 + zxing.core/zxing.core/BarcodeWriter.Bitmap.cs | 34 + .../zxing.core/BarcodeWriter.PixelData.cs | 34 + .../zxing.core/BarcodeWriter.SvgImage.cs | 34 + zxing.core/zxing.core/BarcodeWriterCustom.cs | 71 + zxing.core/zxing.core/BarcodeWriterGeneric.cs | 84 + zxing.core/zxing.core/BaseLuminanceSource.cs | 228 + zxing.core/zxing.core/Binarizer.cs | 104 + zxing.core/zxing.core/BinaryBitmap.cs | 182 + .../zxing.core/BitmapLuminanceSource.cs | 565 + .../zxing.core/BitmapSourceLuminanceSource.cs | 202 + zxing.core/zxing.core/DecodeHintType.cs | 125 + zxing.core/zxing.core/Dimension.cs | 93 + zxing.core/zxing.core/EncodeHintType.cs | 174 + zxing.core/zxing.core/FormatException.cs | 60 + .../zxing.core/IBarcodeReader.Bitmap.cs | 33 + .../zxing.core/IBarcodeReader.Multiple.cs | 47 + zxing.core/zxing.core/IBarcodeReader.cs | 66 + .../IBarcodeReaderCustom.Multiple.cs | 31 + zxing.core/zxing.core/IBarcodeReaderCustom.cs | 31 + .../IBarcodeReaderGeneric.Multiple.cs | 47 + .../zxing.core/IBarcodeReaderGeneric.cs | 66 + .../zxing.core/IBarcodeWriter.Bitmap.cs | 35 + .../zxing.core/IBarcodeWriter.PixelData.cs | 37 + .../zxing.core/IBarcodeWriter.SvgImage.cs | 37 + zxing.core/zxing.core/IBarcodeWriter.cs | 50 + zxing.core/zxing.core/IBarcodeWriterCustom.cs | 47 + .../zxing.core/IBarcodeWriterGeneric.cs | 50 + .../zxing.core/InvertedLuminanceSource.cs | 154 + zxing.core/zxing.core/LuminanceSource.cs | 207 + zxing.core/zxing.core/MultiFormatReader.cs | 229 + zxing.core/zxing.core/MultiFormatWriter.cs | 101 + .../zxing.core/PlanarYUVLuminanceSource.cs | 267 + zxing.core/zxing.core/RGBLuminanceSource.cs | 380 + zxing.core/zxing.core/Reader.cs | 59 + zxing.core/zxing.core/ReaderException.cs | 64 + zxing.core/zxing.core/Result.cs | 198 + zxing.core/zxing.core/ResultMetadataType.cs | 102 + zxing.core/zxing.core/ResultPoint.cs | 196 + zxing.core/zxing.core/ResultPointCallback.cs | 26 + zxing.core/zxing.core/SupportClass.cs | 185 + zxing.core/zxing.core/Writer.cs | 51 + zxing.core/zxing.core/WriterException.cs | 55 + .../zxing.core/aztec/AztecDetectorResult.cs | 63 + zxing.core/zxing.core/aztec/AztecReader.cs | 123 + .../zxing.core/aztec/AztecResultMetadata.cs | 53 + zxing.core/zxing.core/aztec/AztecWriter.cs | 195 + .../zxing.core/aztec/decoder/Decoder.cs | 538 + .../zxing.core/aztec/detector/Detector.cs | 691 ++ .../zxing.core/aztec/encoder/AztecCode.cs | 52 + .../aztec/encoder/AztecEncodingOptions.cs | 127 + .../aztec/encoder/BinaryShiftToken.cs | 88 + .../zxing.core/aztec/encoder/Encoder.cs | 430 + .../aztec/encoder/HighLevelEncoder.cs | 383 + .../zxing.core/aztec/encoder/SimpleToken.cs | 64 + zxing.core/zxing.core/aztec/encoder/State.cs | 219 + zxing.core/zxing.core/aztec/encoder/Token.cs | 77 + .../result/AbstractDoCoMoResultParser.cs | 45 + .../result/AddressBookAUResultParser.cs | 95 + .../result/AddressBookDoCoMoResultParser.cs | 99 + .../client/result/AddressBookParsedResult.cs | 293 + .../client/result/BizcardResultParser.cs | 105 + .../result/BookmarkDoCoMoResultParser.cs | 48 + .../client/result/CalendarParsedResult.cs | 300 + .../client/result/EmailAddressParsedResult.cs | 91 + .../client/result/EmailAddressResultParser.cs | 96 + .../client/result/EmailDoCoMoResultParser.cs | 78 + .../result/ExpandedProductParsedResult.cs | 328 + .../result/ExpandedProductResultParser.cs | 231 + .../client/result/GeoParsedResult.cs | 136 + .../client/result/GeoResultParser.cs | 102 + .../client/result/ISBNParsedResult.cs | 39 + .../client/result/ISBNResultParser.cs | 56 + .../zxing.core/client/result/ParsedResult.cs | 114 + .../client/result/ParsedResultType.cs | 75 + .../client/result/ProductParsedResult.cs | 48 + .../client/result/ProductResultParser.cs | 64 + .../zxing.core/client/result/ResultParser.cs | 408 + .../client/result/SMSMMSResultParser.cs | 118 + .../client/result/SMSParsedResult.cs | 134 + .../client/result/SMSTOMMSTOResultParser.cs | 57 + .../client/result/SMTPResultParser.cs | 63 + .../client/result/TelParsedResult.cs | 59 + .../client/result/TelResultParser.cs | 47 + .../client/result/TextParsedResult.cs | 48 + .../client/result/URIParsedResult.cs | 89 + .../client/result/URIResultParser.cs | 105 + .../client/result/URLTOResultParser.cs | 51 + .../client/result/VCardResultParser.cs | 490 + .../client/result/VEventResultParser.cs | 146 + .../client/result/VINParsedResult.cs | 119 + .../client/result/VINResultParser.cs | 260 + .../client/result/WifiParsedResult.cs | 121 + .../client/result/WifiResultParser.cs | 85 + zxing.core/zxing.core/common/BitArray.cs | 488 + .../zxing.core/common/BitMatrix.Drawing.cs | 49 + zxing.core/zxing.core/common/BitMatrix.cs | 655 ++ zxing.core/zxing.core/common/BitSource.cs | 124 + .../zxing.core/common/CharacterSetECI.cs | 179 + zxing.core/zxing.core/common/DecoderResult.cs | 153 + .../zxing.core/common/DecodingOptions.cs | 516 + .../zxing.core/common/DefaultGridSampler.cs | 122 + .../zxing.core/common/DetectorResult.cs | 47 + zxing.core/zxing.core/common/ECI.cs | 54 + .../zxing.core/common/EncodingOptions.cs | 161 + .../common/GlobalHistogramBinarizer.cs | 260 + zxing.core/zxing.core/common/GridSampler.cs | 204 + .../zxing.core/common/HybridBinarizer.cs | 298 + .../zxing.core/common/PerspectiveTransform.cs | 203 + zxing.core/zxing.core/common/StringUtils.cs | 261 + .../zxing.core/common/detector/MathUtils.cs | 87 + .../detector/MonochromeRectangleDetector.cs | 256 + .../common/detector/WhiteRectangleDetector.cs | 406 + .../common/reedsolomon/GenericGF.cs | 234 + .../common/reedsolomon/GenericGFPoly.cs | 342 + .../common/reedsolomon/ReedSolomonDecoder.cs | 231 + .../common/reedsolomon/ReedSolomonEncoder.cs | 93 + .../zxing.core/datamatrix/DataMatrixReader.cs | 176 + .../zxing.core/datamatrix/DataMatrixWriter.cs | 246 + .../datamatrix/decoder/BitMatrixParser.cs | 518 + .../datamatrix/decoder/DataBlock.cs | 133 + .../decoder/DecodedBitStreamParser.cs | 681 ++ .../zxing.core/datamatrix/decoder/Decoder.cs | 131 + .../zxing.core/datamatrix/decoder/Version.cs | 289 + .../datamatrix/detector/Detector.cs | 436 + .../datamatrix/encoder/ASCIIEncoder.cs | 104 + .../datamatrix/encoder/Base256Encoder.cs | 91 + .../datamatrix/encoder/C40Encoder.cs | 212 + .../encoder/DataMatrixSymbolInfo144.cs | 36 + .../encoder/DatamatrixEncodingOptions.cs | 155 + .../datamatrix/encoder/DefaultPlacement.cs | 235 + .../datamatrix/encoder/EdifactEncoder.cs | 172 + .../datamatrix/encoder/Encodation.cs | 49 + .../zxing.core/datamatrix/encoder/Encoder.cs | 25 + .../datamatrix/encoder/EncoderContext.cs | 188 + .../datamatrix/encoder/ErrorCorrection.cs | 262 + .../datamatrix/encoder/HighLevelEncoder.cs | 538 + .../datamatrix/encoder/SymbolInfo.cs | 324 + .../datamatrix/encoder/SymbolShapeHint.cs | 38 + .../datamatrix/encoder/TextEncoder.cs | 93 + .../datamatrix/encoder/X12Encoder.cs | 104 + zxing.core/zxing.core/imb/IMBReader.cs | 534 + .../zxing.core/maxicode/MaxiCodeReader.cs | 132 + .../maxicode/decoder/BitMatrixParser.cs | 93 + .../decoder/DecodedBitStreamParser.cs | 218 + .../zxing.core/maxicode/decoder/Decoder.cs | 136 + .../zxing.core/multi/ByQuadrantReader.cs | 134 + .../multi/GenericMultipleBarcodeReader.cs | 222 + .../zxing.core/multi/MultipleBarcodeReader.cs | 43 + .../multi/qrcode/QRCodeMultiReader.cs | 154 + .../multi/qrcode/detector/MultiDetector.cs | 78 + .../detector/MultiFinderPatternFinder.cs | 335 + zxing.core/zxing.core/oned/CodaBarReader.cs | 423 + zxing.core/zxing.core/oned/CodaBarWriter.cs | 174 + .../zxing.core/oned/Code128EncodingOptions.cs | 52 + zxing.core/zxing.core/oned/Code128Reader.cs | 630 ++ zxing.core/zxing.core/oned/Code128Writer.cs | 367 + zxing.core/zxing.core/oned/Code39Reader.cs | 456 + zxing.core/zxing.core/oned/Code39Writer.cs | 185 + zxing.core/zxing.core/oned/Code93Reader.cs | 393 + zxing.core/zxing.core/oned/Code93Writer.cs | 222 + zxing.core/zxing.core/oned/EAN13Reader.cs | 168 + zxing.core/zxing.core/oned/EAN13Writer.cs | 115 + zxing.core/zxing.core/oned/EAN8Reader.cs | 98 + zxing.core/zxing.core/oned/EAN8Writer.cs | 106 + .../oned/EANManufacturerOrgSupport.cs | 178 + zxing.core/zxing.core/oned/ITFReader.cs | 449 + zxing.core/zxing.core/oned/ITFWriter.cs | 107 + zxing.core/zxing.core/oned/MSIReader.cs | 356 + zxing.core/zxing.core/oned/MSIWriter.cs | 85 + .../zxing.core/oned/MultiFormatOneDReader.cs | 153 + .../oned/MultiFormatUPCEANReader.cs | 142 + zxing.core/zxing.core/oned/OneDReader.cs | 370 + .../oned/OneDimensionalCodeWriter.cs | 207 + .../zxing.core/oned/PharmaCodeReader.cs | 329 + zxing.core/zxing.core/oned/PlesseyWriter.cs | 134 + zxing.core/zxing.core/oned/UPCAReader.cs | 123 + zxing.core/zxing.core/oned/UPCAWriter.cs | 70 + .../oned/UPCEANExtension2Support.cs | 122 + .../oned/UPCEANExtension5Support.cs | 208 + .../zxing.core/oned/UPCEANExtensionSupport.cs | 39 + zxing.core/zxing.core/oned/UPCEANReader.cs | 446 + zxing.core/zxing.core/oned/UPCEANWriter.cs | 39 + zxing.core/zxing.core/oned/UPCEReader.cs | 223 + zxing.core/zxing.core/oned/UPCEWriter.cs | 110 + .../zxing.core/oned/rss/AbstractRSSReader.cs | 212 + .../zxing.core/oned/rss/DataCharacter.cs | 85 + .../zxing.core/oned/rss/FinderPattern.cs | 86 + zxing.core/zxing.core/oned/rss/Pair.cs | 35 + zxing.core/zxing.core/oned/rss/RSS14Reader.cs | 583 ++ zxing.core/zxing.core/oned/rss/RSSUtils.cs | 110 + .../oned/rss/expanded/BitArrayBuilder.cs | 92 + .../oned/rss/expanded/ExpandedPair.cs | 90 + .../oned/rss/expanded/ExpandedRow.cs | 68 + .../oned/rss/expanded/RSSExpandedReader.cs | 903 ++ .../rss/expanded/decoders/AI013103decoder.cs | 52 + .../rss/expanded/decoders/AI01320xDecoder.cs | 63 + .../rss/expanded/decoders/AI01392xDecoder.cs | 70 + .../rss/expanded/decoders/AI01393xDecoder.cs | 83 + .../expanded/decoders/AI013x0x1xDecoder.cs | 118 + .../rss/expanded/decoders/AI013x0xDecoder.cs | 61 + .../rss/expanded/decoders/AI01AndOtherAIs.cs | 61 + .../oned/rss/expanded/decoders/AI01decoder.cs | 93 + .../expanded/decoders/AI01weightDecoder.cs | 64 + .../decoders/AbstractExpandedDecoder.cs | 114 + .../rss/expanded/decoders/AnyAIDecoder.cs | 54 + .../expanded/decoders/BlockParsedResult.cs | 59 + .../expanded/decoders/CurrentParsingState.cs | 95 + .../oned/rss/expanded/decoders/DecodedChar.cs | 55 + .../expanded/decoders/DecodedInformation.cs | 72 + .../rss/expanded/decoders/DecodedNumeric.cs | 77 + .../rss/expanded/decoders/DecodedObject.cs | 41 + .../oned/rss/expanded/decoders/FieldParser.cs | 297 + .../expanded/decoders/GeneralAppIdDecoder.cs | 564 + zxing.core/zxing.core/pdf417/PDF417Common.cs | 489 + .../zxing.core/pdf417/PDF417MacroMetadata.cs | 63 + zxing.core/zxing.core/pdf417/PDF417Reader.cs | 202 + .../zxing.core/pdf417/PDF417ResultMetadata.cs | 81 + zxing.core/zxing.core/pdf417/PDF417Writer.cs | 287 + .../pdf417/decoder/BarcodeMetadata.cs | 62 + .../zxing.core/pdf417/decoder/BarcodeValue.cs | 80 + .../zxing.core/pdf417/decoder/BoundingBox.cs | 221 + .../zxing.core/pdf417/decoder/Codeword.cs | 112 + .../pdf417/decoder/DecodedBitStreamParser.cs | 861 ++ .../pdf417/decoder/DetectionResult.cs | 400 + .../pdf417/decoder/DetectionResultColumn.cs | 161 + .../DetectionResultRowIndicatorColumn.cs | 377 + .../pdf417/decoder/PDF417CodewordDecoder.cs | 173 + .../pdf417/decoder/PDF417ScanningDecoder.cs | 923 ++ .../pdf417/decoder/ec/ErrorCorrection.cs | 241 + .../zxing.core/pdf417/decoder/ec/ModulusGF.cs | 121 + .../pdf417/decoder/ec/ModulusPoly.cs | 368 + .../zxing.core/pdf417/detector/Detector.cs | 423 + .../pdf417/detector/PDF417DetectorResult.cs | 50 + .../pdf417/encoder/BarcodeMatrix.cs | 99 + .../zxing.core/pdf417/encoder/BarcodeRow.cs | 96 + .../zxing.core/pdf417/encoder/Compaction.cs | 44 + .../zxing.core/pdf417/encoder/Dimensions.cs | 77 + .../zxing.core/pdf417/encoder/PDF417.cs | 1092 ++ .../pdf417/encoder/PDF417AspectRatio.cs | 45 + .../pdf417/encoder/PDF417EncodingOptions.cs | 230 + .../pdf417/encoder/PDF417ErrorCorrection.cs | 292 + .../pdf417/encoder/PDF417HighLevelEncoder.cs | 801 ++ .../encoder/PDF417OptionalMacroFields.cs | 69 + .../presentation/BarcodeReader.Extensions.cs | 50 + .../zxing.core/presentation/BarcodeReader.cs | 74 + .../presentation/BarcodeWriter.Extensions.cs | 41 + .../zxing.core/presentation/BarcodeWriter.cs | 36 + .../BarcodeWriterGeometry.Extensions.cs | 41 + .../presentation/BarcodeWriterGeometry.cs | 37 + zxing.core/zxing.core/qrcode/QRCodeReader.cs | 263 + zxing.core/zxing.core/qrcode/QRCodeWriter.cs | 168 + .../qrcode/decoder/BitMatrixParser.cs | 279 + .../zxing.core/qrcode/decoder/DataBlock.cs | 146 + .../zxing.core/qrcode/decoder/DataMask.cs | 73 + .../qrcode/decoder/DecodedBitStreamParser.cs | 506 + .../zxing.core/qrcode/decoder/Decoder.cs | 186 + .../qrcode/decoder/ErrorCorrectionLevel.cs | 109 + .../qrcode/decoder/FormatInformation.cs | 197 + zxing.core/zxing.core/qrcode/decoder/Mode.cs | 212 + .../qrcode/decoder/QRCodeDecoderMetaData.cs | 60 + .../zxing.core/qrcode/decoder/Version.cs | 684 ++ .../qrcode/detector/AlignmentPattern.cs | 68 + .../qrcode/detector/AlignmentPatternFinder.cs | 324 + .../zxing.core/qrcode/detector/Detector.cs | 434 + .../qrcode/detector/FinderPattern.cs | 107 + .../qrcode/detector/FinderPatternFinder.cs | 883 ++ .../qrcode/detector/FinderPatternInfo.cs | 74 + .../zxing.core/qrcode/encoder/BlockPair.cs | 40 + .../zxing.core/qrcode/encoder/ByteMatrix.cs | 150 + .../zxing.core/qrcode/encoder/Encoder.cs | 813 ++ .../zxing.core/qrcode/encoder/MaskUtil.cs | 277 + .../zxing.core/qrcode/encoder/MatrixUtil.cs | 603 ++ .../zxing.core/qrcode/encoder/QRCode.cs | 125 + .../qrcode/encoder/QrCodeEncodingOptions.cs | 246 + .../renderer/AlternateBitmapRenderer.cs | 357 + .../zxing.core/renderer/BitmapRenderer.cs | 297 + .../zxing.core/renderer/GeometryRenderer.cs | 323 + .../zxing.core/renderer/IBarcodeRenderer.cs | 54 + .../zxing.core/renderer/PixelData.Bitmap.cs | 51 + zxing.core/zxing.core/renderer/PixelData.cs | 44 + .../zxing.core/renderer/PixelDataRenderer.cs | 245 + zxing.core/zxing.core/renderer/SVGRenderer.cs | 506 + .../WriteableBitmapRenderer.Presentation.cs | 228 + zxing.core/zxing.core/zxing.core.csproj | 35 + 2798 files changed, 352360 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 AIStudio.Wpf.ADiagram/AIStudio.Wpf.ADiagram.csproj create mode 100644 AIStudio.Wpf.ADiagram/App.config create mode 100644 AIStudio.Wpf.ADiagram/App.xaml create mode 100644 AIStudio.Wpf.ADiagram/App.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/ApplicationServicesProvider.cs create mode 100644 AIStudio.Wpf.ADiagram/AssemblyInfo.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/CanExecuteDelegateCommand.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/CommandReference.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/CompositeCommand.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/ControlBinding.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/ControlCommand.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/DelegateCommand(T).cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/DelegateCommand.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/DelegateCommandBase.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/IActiveAware.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/PropertyObserver.cs create mode 100644 AIStudio.Wpf.ADiagram/Commands/PropertyObserverNode.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/AnimationHelper.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/Barcode.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/Barcode.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/CancelRoutedEventArgs.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/ContextMenuToggleButton.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/OutlineText.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/PopupWindow.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/PopupWindow.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/PropertiesView.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/PropertiesView.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/RectangleGrid.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/ScrollViewer.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/ScrollViewer.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/SliderRotation.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/SliderRotation.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/TabControl.xaml create mode 100644 AIStudio.Wpf.ADiagram/Controls/TabControl.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/TabItem.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/TabPanel.cs create mode 100644 AIStudio.Wpf.ADiagram/Controls/WPFRuler.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/BoolVisibilityConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/Boolean2VisibilityReConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/ConverterBoolToValueMap.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/ConverterValueMapSetToVisibility.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/ConverterValueMapToBool.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/ConverterValueMapToVisibility.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/ConverterValueSetToOppositeVisibility.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/CountShiftConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/DoubleToThickness.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/HtmlColorConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/IndentConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/IntVisibilityConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/NullableToBooleanConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/NullableToVisibilityConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/NumberConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/RulerUnitConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/StringPathConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/ThicknessBindingConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Converters/ThicknessConverter.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/FlowchartService.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/FlowchartViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/Models/FlowNodeDesignerItem.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/NodeKinds.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/SelectOption.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/ViewModels/FlowNode.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/ViewModels/FlowNode.xaml create mode 100644 AIStudio.Wpf.ADiagram/Demos/Flowchart/ViewModels/MiddleFlowNode.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/LinkPoint.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/LogicalService.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/LogicalViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/Models/LogicalGateItem.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/ViewModels/LinkPointDesignerItemData.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/ViewModels/LogicalGateItemData.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/ViewModels/LogicalGateItemViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/ViewModels/LogicalGateItemViewModel.xaml create mode 100644 AIStudio.Wpf.ADiagram/Demos/Logical/ViewModels/ValueDesignerItemData.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/Models/PathDesignerItem.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/Models/PersistDesignerItem.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/Models/SettingsDesignerItem.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/BarcodeDesignerItemData.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/BarcodeDesignerItemViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/BarcodeDesignerItemViewModel.xaml create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/OutLineTextDesignerItemData.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/OutLineTextDesignerItemViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/OutLineTextDesignerItemViewModel.xaml create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/PathItemViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/PathItemViewModel.xaml create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/PersistDesignerItemData.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/PersistDesignerItemViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/PersistDesignerItemViewModel.xaml create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/SettingsDesignerItemData.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/SettingsDesignerItemViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/SettingsDesignerItemViewModel.xaml create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/SvgDesignerItemViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Demos/Others/ViewModels/SvgDesignerItemViewModel.xaml create mode 100644 AIStudio.Wpf.ADiagram/DesignItems/Customs/1.json create mode 100644 AIStudio.Wpf.ADiagram/Enums/ColorType.cs create mode 100644 AIStudio.Wpf.ADiagram/Helpers/EnumHelper.cs create mode 100644 AIStudio.Wpf.ADiagram/Helpers/NewNameHelper.cs create mode 100644 AIStudio.Wpf.ADiagram/Helpers/TypeHelper.cs create mode 100644 AIStudio.Wpf.ADiagram/Helpers/XmlSerializeHelper.cs create mode 100644 AIStudio.Wpf.ADiagram/Icons/App.ico create mode 100644 AIStudio.Wpf.ADiagram/Images/AlignObjectsBottom.png create mode 100644 AIStudio.Wpf.ADiagram/Images/AlignObjectsCenteredHorizontal.png create mode 100644 AIStudio.Wpf.ADiagram/Images/AlignObjectsCenteredVertical.png create mode 100644 AIStudio.Wpf.ADiagram/Images/AlignObjectsLeft.png create mode 100644 AIStudio.Wpf.ADiagram/Images/AlignObjectsRight.png create mode 100644 AIStudio.Wpf.ADiagram/Images/AlignObjectsTop.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Blue.png create mode 100644 AIStudio.Wpf.ADiagram/Images/BlueLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Bold.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Box.png create mode 100644 AIStudio.Wpf.ADiagram/Images/BringForward.png create mode 100644 AIStudio.Wpf.ADiagram/Images/BringToFront.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Brown.png create mode 100644 AIStudio.Wpf.ADiagram/Images/BrownLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/ChangeCase.png create mode 100644 AIStudio.Wpf.ADiagram/Images/ClearFormatting.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Copy.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Cut.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Delete.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Disconnect.png create mode 100644 AIStudio.Wpf.ADiagram/Images/DistributeObjectsHorizontal.png create mode 100644 AIStudio.Wpf.ADiagram/Images/DistributeObjectsVertical.png create mode 100644 AIStudio.Wpf.ADiagram/Images/FontColor.png create mode 100644 AIStudio.Wpf.ADiagram/Images/FormatPainter.png create mode 100644 AIStudio.Wpf.ADiagram/Images/GIF.png create mode 100644 AIStudio.Wpf.ADiagram/Images/GalleryLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/GenericDocument.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Gray.png create mode 100644 AIStudio.Wpf.ADiagram/Images/GrayLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Green.png create mode 100644 AIStudio.Wpf.ADiagram/Images/GreenLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Group.png create mode 100644 AIStudio.Wpf.ADiagram/Images/GrowFont.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Italic.png create mode 100644 AIStudio.Wpf.ADiagram/Images/New.png create mode 100644 AIStudio.Wpf.ADiagram/Images/OpenFolder.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Orange.png create mode 100644 AIStudio.Wpf.ADiagram/Images/OrangeLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Paste.png create mode 100644 AIStudio.Wpf.ADiagram/Images/PasteBig.png create mode 100644 AIStudio.Wpf.ADiagram/Images/PasteFormating.png create mode 100644 AIStudio.Wpf.ADiagram/Images/PasteImage.png create mode 100644 AIStudio.Wpf.ADiagram/Images/PasteSourceFormating.png create mode 100644 AIStudio.Wpf.ADiagram/Images/PasteText.png create mode 100644 AIStudio.Wpf.ADiagram/Images/PasteTextOnly.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Persist.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Pink.png create mode 100644 AIStudio.Wpf.ADiagram/Images/PinkLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Print.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Red.png create mode 100644 AIStudio.Wpf.ADiagram/Images/RedLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/SVG.png create mode 100644 AIStudio.Wpf.ADiagram/Images/SampleImageForScreenTip.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Save.png create mode 100644 AIStudio.Wpf.ADiagram/Images/SendBackward.png create mode 100644 AIStudio.Wpf.ADiagram/Images/SendToBack.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Setting.png create mode 100644 AIStudio.Wpf.ADiagram/Images/ShrinkFont.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Strikethrough.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Subscript.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Superscript.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/account-book.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/alert.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/alipay-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/alipay-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/aliwangwang.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/amazon-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/amazon-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/android.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/api.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/apple.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/appstore.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/audio.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/backward.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/bank.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/behance-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/behance-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/bell.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/book.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/box-plot.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/bug.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/build.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/bulb.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/calculator.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/calendar.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/camera.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/car.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/caret-down.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/caret-left.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/caret-right.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/caret-up.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/carry-out.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/check-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/check-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/chrome.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/ci-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/clock-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/close-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/close-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/cloud.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/code-sandbox-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/code-sandbox-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/code.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/codepen-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/codepen-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/compass.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/contacts.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/container.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/control.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/copy.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/copyright-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/credit-card.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/crown.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/customer-service.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dashboard.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/database.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/delete.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/diff.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dingtalk-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dingtalk-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dislike.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dollar-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/down-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/down-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dribbble-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dribbble-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dropbox-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/dropbox-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/edit.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/environment.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/euro-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/exclamation-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/experiment.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/eye-invisible.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/eye.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/facebook.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/fast-backward.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/fast-forward.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-add.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-excel.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-exclamation.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-image.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-markdown.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-pdf.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-ppt.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-text.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-unknown.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-word.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file-zip.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/file.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/filter.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/fire.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/flag.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/folder-add.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/folder-open.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/folder.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/forward.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/frown.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/fund.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/funnel-plot.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/gift.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/github.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/gitlab.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/golden.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/google-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/google-plus-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/google-plus-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/google-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/hdd.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/heart.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/highlight.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/home.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/hourglass.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/html5.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/idcard.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/ie-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/ie-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/info-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/instagram.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/insurance.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/interaction.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/interation.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/layout.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/left-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/left-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/like.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/linkedin.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/lock.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/mail.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/medicine-box.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/medium-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/medium-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/meh.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/message.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/minus-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/minus-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/mobile.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/money-collect.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/notification.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/pause-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/pay-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/phone.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/picture.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/pie-chart.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/play-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/play-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/plus-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/plus-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/pound-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/printer.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/profile.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/project.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/property-safety.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/pushpin.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/qq-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/qq-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/question-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/read.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/reconciliation.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/red-envelope.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/reddit-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/reddit-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/rest.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/right-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/right-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/rocket.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/safety-certificate.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/save.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/schedule.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/security-scan.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/setting.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/shop.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/shopping.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/sketch-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/sketch-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/skin.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/skype.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/slack-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/slack-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/sliders.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/smile.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/snippets.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/sound.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/star.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/step-backward.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/step-forward.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/stop.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/switcher.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/tablet.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/tag.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/tags.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/taobao-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/taobao-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/thunderbolt.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/tool.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/trademark-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/trophy.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/twitter-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/twitter-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/unlock.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/up-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/up-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/usb.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/video-camera.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/wallet.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/warning.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/wechat.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/weibo-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/weibo-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/windows.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/yahoo.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/youtube.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/yuque.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/zhihu-circle.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Svgs/zhihu-square.svg create mode 100644 AIStudio.Wpf.ADiagram/Images/Test16.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Test32.png create mode 100644 AIStudio.Wpf.ADiagram/Images/TextEffects.png create mode 100644 AIStudio.Wpf.ADiagram/Images/TextHighlightColor.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Underline.png create mode 100644 AIStudio.Wpf.ADiagram/Images/Ungroup.png create mode 100644 AIStudio.Wpf.ADiagram/Images/VIDEO.png create mode 100644 AIStudio.Wpf.ADiagram/Images/VectorIcons.xaml create mode 100644 AIStudio.Wpf.ADiagram/Images/Yellow.png create mode 100644 AIStudio.Wpf.ADiagram/Images/YellowLarge.png create mode 100644 AIStudio.Wpf.ADiagram/Images/application_side_boxes.png create mode 100644 AIStudio.Wpf.ADiagram/Images/banner.png create mode 100644 AIStudio.Wpf.ADiagram/Images/contactme.png create mode 100644 AIStudio.Wpf.ADiagram/Images/diagram.png create mode 100644 AIStudio.Wpf.ADiagram/Images/error.png create mode 100644 AIStudio.Wpf.ADiagram/Images/exit.png create mode 100644 AIStudio.Wpf.ADiagram/Images/help.jpg create mode 100644 AIStudio.Wpf.ADiagram/Images/image.png create mode 100644 AIStudio.Wpf.ADiagram/Images/line-dashed.png create mode 100644 AIStudio.Wpf.ADiagram/Images/line-height.png create mode 100644 AIStudio.Wpf.ADiagram/Images/link.png create mode 100644 AIStudio.Wpf.ADiagram/Images/open.png create mode 100644 AIStudio.Wpf.ADiagram/Images/page_white_stack.png create mode 100644 AIStudio.Wpf.ADiagram/Images/pencil.png create mode 100644 AIStudio.Wpf.ADiagram/Images/redo.png create mode 100644 AIStudio.Wpf.ADiagram/Images/saveas.png create mode 100644 AIStudio.Wpf.ADiagram/Images/text.png create mode 100644 AIStudio.Wpf.ADiagram/Images/undo.png create mode 100644 AIStudio.Wpf.ADiagram/Models/DiagramDocument.cs create mode 100644 AIStudio.Wpf.ADiagram/Models/DiagramItem.cs create mode 100644 AIStudio.Wpf.ADiagram/Models/PathToolBoxData.cs create mode 100644 AIStudio.Wpf.ADiagram/Models/TitleBindableBase.cs create mode 100644 AIStudio.Wpf.ADiagram/Services/IMessageBoxService.cs create mode 100644 AIStudio.Wpf.ADiagram/Services/IUIVisualizerService.cs create mode 100644 AIStudio.Wpf.ADiagram/Services/WPFMessageBoxService.cs create mode 100644 AIStudio.Wpf.ADiagram/Services/WPFUIVisualizerService.cs create mode 100644 AIStudio.Wpf.ADiagram/Themes/Generic.xaml create mode 100644 AIStudio.Wpf.ADiagram/Themes/Shared.xaml create mode 100644 AIStudio.Wpf.ADiagram/Themes/Styles/Expander.xaml create mode 100644 AIStudio.Wpf.ADiagram/Themes/Styles/Fluent.xaml create mode 100644 AIStudio.Wpf.ADiagram/Themes/Styles/ListBox.xaml create mode 100644 AIStudio.Wpf.ADiagram/Themes/Styles/Slider.xaml create mode 100644 AIStudio.Wpf.ADiagram/Themes/Styles/TabControl.xaml create mode 100644 AIStudio.Wpf.ADiagram/Themes/Styles/ToggleButton.xaml create mode 100644 AIStudio.Wpf.ADiagram/ViewModels/DiagramsViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/ViewModels/MainWindowViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/ViewModels/ToolBoxViewModel.cs create mode 100644 AIStudio.Wpf.ADiagram/Views/AboutControl.xaml create mode 100644 AIStudio.Wpf.ADiagram/Views/AboutControl.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Views/AboutWindow.xaml create mode 100644 AIStudio.Wpf.ADiagram/Views/AboutWindow.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Views/MainWindow.xaml create mode 100644 AIStudio.Wpf.ADiagram/Views/MainWindow.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Views/PropertyControl.xaml create mode 100644 AIStudio.Wpf.ADiagram/Views/PropertyControl.xaml.cs create mode 100644 AIStudio.Wpf.ADiagram/Views/ToolBoxControl.xaml create mode 100644 AIStudio.Wpf.ADiagram/Views/ToolBoxControl.xaml.cs create mode 100644 AIStudio.Wpf.Diagram.sln create mode 100644 Dragablz/.gitattributes create mode 100644 Dragablz/.gitignore create mode 100644 Dragablz/Dragablz.Test/Core/CollectionTeaserFixtures.cs create mode 100644 Dragablz/Dragablz.Test/Dockablz/TilerCalculatorFixture.cs create mode 100644 Dragablz/Dragablz.Test/Dragablz.Test.csproj create mode 100644 Dragablz/Dragablz.sln create mode 100644 Dragablz/Dragablz.sln.DotSettings create mode 100644 Dragablz/Dragablz/CanvasOrganiser.cs create mode 100644 Dragablz/Dragablz/ContainerCustomisations.cs create mode 100644 Dragablz/Dragablz/Converters/BooleanAndToVisibilityConverter.cs create mode 100644 Dragablz/Dragablz/Converters/EqualityToBooleanConverter.cs create mode 100644 Dragablz/Dragablz/Converters/EqualityToVisibilityConverter.cs create mode 100644 Dragablz/Dragablz/Converters/ShowDefaultCloseButtonConverter.cs create mode 100644 Dragablz/Dragablz/Core/CollectionTeaser.cs create mode 100644 Dragablz/Dragablz/Core/Extensions.cs create mode 100644 Dragablz/Dragablz/Core/FuncComparer.cs create mode 100644 Dragablz/Dragablz/Core/HitTest.cs create mode 100644 Dragablz/Dragablz/Core/InterTabTransfer.cs create mode 100644 Dragablz/Dragablz/Core/MultiComparer.cs create mode 100644 Dragablz/Dragablz/Core/Native.cs create mode 100644 Dragablz/Dragablz/Core/SystemCommand.cs create mode 100644 Dragablz/Dragablz/Core/TabHeaderDragStartInformation.cs create mode 100644 Dragablz/Dragablz/Core/WindowMessage.cs create mode 100644 Dragablz/Dragablz/DefaultInterLayoutClient.cs create mode 100644 Dragablz/Dragablz/DefaultInterTabClient.cs create mode 100644 Dragablz/Dragablz/Dockablz/Branch.cs create mode 100644 Dragablz/Dragablz/Dockablz/BranchAccessor.cs create mode 100644 Dragablz/Dragablz/Dockablz/BranchItem.cs create mode 100644 Dragablz/Dragablz/Dockablz/BranchResult.cs create mode 100644 Dragablz/Dragablz/Dockablz/CouldBeHeaderedStyleSelector.cs create mode 100644 Dragablz/Dragablz/Dockablz/DropZone.cs create mode 100644 Dragablz/Dragablz/Dockablz/DropZoneLocation.cs create mode 100644 Dragablz/Dragablz/Dockablz/Extensions.cs create mode 100644 Dragablz/Dragablz/Dockablz/Finder.cs create mode 100644 Dragablz/Dragablz/Dockablz/FloatRequestedEvent.cs create mode 100644 Dragablz/Dragablz/Dockablz/FloatTransfer.cs create mode 100644 Dragablz/Dragablz/Dockablz/FloatingItemSnapShot.cs create mode 100644 Dragablz/Dragablz/Dockablz/Layout.cs create mode 100644 Dragablz/Dragablz/Dockablz/LayoutAccessor.cs create mode 100644 Dragablz/Dragablz/Dockablz/LocationReport.cs create mode 100644 Dragablz/Dragablz/Dockablz/LocationReportBuilder.cs create mode 100644 Dragablz/Dragablz/Dockablz/LocationReportException.cs create mode 100644 Dragablz/Dragablz/Dockablz/LocationSnapShot.cs create mode 100644 Dragablz/Dragablz/Dockablz/Tiler.cs create mode 100644 Dragablz/Dragablz/Dockablz/TilerCalculator.cs create mode 100644 Dragablz/Dragablz/Dragablz.csproj create mode 100644 Dragablz/Dragablz/Dragablz.nuspec create mode 100644 Dragablz/Dragablz/DragablzColors.cs create mode 100644 Dragablz/Dragablz/DragablzDragCompletedEventArgs.cs create mode 100644 Dragablz/Dragablz/DragablzDragDeltaEventArgs.cs create mode 100644 Dragablz/Dragablz/DragablzDragStartedEventArgs.cs create mode 100644 Dragablz/Dragablz/DragablzIcon.cs create mode 100644 Dragablz/Dragablz/DragablzItem.cs create mode 100644 Dragablz/Dragablz/DragablzItemEventArgs.cs create mode 100644 Dragablz/Dragablz/DragablzItemsControl.cs create mode 100644 Dragablz/Dragablz/DragablzWindow.cs create mode 100644 Dragablz/Dragablz/EmptyHeaderSizingHint.cs create mode 100644 Dragablz/Dragablz/HeaderedDragablzItem.cs create mode 100644 Dragablz/Dragablz/HeaderedItemViewModel.cs create mode 100644 Dragablz/Dragablz/HorizontalOrganiser.cs create mode 100644 Dragablz/Dragablz/HorizontalPositionMonitor.cs create mode 100644 Dragablz/Dragablz/IInterLayoutClient.cs create mode 100644 Dragablz/Dragablz/IInterTabClient.cs create mode 100644 Dragablz/Dragablz/IItemsOrganiser.cs create mode 100644 Dragablz/Dragablz/IManualInterTabClient.cs create mode 100644 Dragablz/Dragablz/INewTabHost.cs create mode 100644 Dragablz/Dragablz/InterTabController.cs create mode 100644 Dragablz/Dragablz/ItemActionCallbackArgs.cs create mode 100644 Dragablz/Dragablz/LocationChangedEventArgs.cs create mode 100644 Dragablz/Dragablz/LocationHint.cs create mode 100644 Dragablz/Dragablz/MoveItemRequest.cs create mode 100644 Dragablz/Dragablz/NewTabHost.cs create mode 100644 Dragablz/Dragablz/OrderChangedEventArgs.cs create mode 100644 Dragablz/Dragablz/PositionMonitor.cs create mode 100644 Dragablz/Dragablz/Properties/AssemblyInfo.cs create mode 100644 Dragablz/Dragablz/Properties/Resources.Designer.cs create mode 100644 Dragablz/Dragablz/Properties/Resources.resx create mode 100644 Dragablz/Dragablz/Properties/Settings.Designer.cs create mode 100644 Dragablz/Dragablz/Properties/Settings.settings create mode 100644 Dragablz/Dragablz/Referenceless/AnonymousDisposable.cs create mode 100644 Dragablz/Dragablz/Referenceless/DefaultDisposable.cs create mode 100644 Dragablz/Dragablz/Referenceless/Disposable.cs create mode 100644 Dragablz/Dragablz/Referenceless/ICancelable.cs create mode 100644 Dragablz/Dragablz/Referenceless/SerialDisposable.cs create mode 100644 Dragablz/Dragablz/StackOrganiser.cs create mode 100644 Dragablz/Dragablz/StackPositionMonitor.cs create mode 100644 Dragablz/Dragablz/StoryboardCompletionListener.cs create mode 100644 Dragablz/Dragablz/TabEmptiedResponse.cs create mode 100644 Dragablz/Dragablz/TabablzControl.cs create mode 100644 Dragablz/Dragablz/TabablzHeaderSizeConverter.cs create mode 100644 Dragablz/Dragablz/TabablzItemStyleSelector.cs create mode 100644 Dragablz/Dragablz/Themes/BrushToRadialGradientBrushConverter.cs create mode 100644 Dragablz/Dragablz/Themes/Dockablz.xaml create mode 100644 Dragablz/Dragablz/Themes/Generic.xaml create mode 100644 Dragablz/Dragablz/Themes/MahApps.xaml create mode 100644 Dragablz/Dragablz/Themes/MaterialDesign.xaml create mode 100644 Dragablz/Dragablz/Themes/MaterialDesignAssist.cs create mode 100644 Dragablz/Dragablz/Themes/Ripple.cs create mode 100644 Dragablz/Dragablz/Themes/RippleAssist.cs create mode 100644 Dragablz/Dragablz/Themes/SystemCommandIcon.cs create mode 100644 Dragablz/Dragablz/Trapezoid.cs create mode 100644 Dragablz/Dragablz/VerticalOrganiser.cs create mode 100644 Dragablz/Dragablz/VerticalPositionMonitor.cs create mode 100644 Dragablz/DragablzDemo/AnotherCommandImplementation.cs create mode 100644 Dragablz/DragablzDemo/App.xaml create mode 100644 Dragablz/DragablzDemo/App.xaml.cs create mode 100644 Dragablz/DragablzDemo/BasicExampleInterTabClient.cs create mode 100644 Dragablz/DragablzDemo/BasicExampleMainModel.cs create mode 100644 Dragablz/DragablzDemo/BasicExampleMainWindow.xaml create mode 100644 Dragablz/DragablzDemo/BasicExampleMainWindow.xaml.cs create mode 100644 Dragablz/DragablzDemo/BasicExampleTemplateModel.cs create mode 100644 Dragablz/DragablzDemo/BasicExampleTemplateWindow.xaml create mode 100644 Dragablz/DragablzDemo/BasicExampleTemplateWindow.xaml.cs create mode 100644 Dragablz/DragablzDemo/Boot.cs create mode 100644 Dragablz/DragablzDemo/BoundExampleInterTabClient.cs create mode 100644 Dragablz/DragablzDemo/BoundExampleModel.cs create mode 100644 Dragablz/DragablzDemo/BoundExampleNewItem.cs create mode 100644 Dragablz/DragablzDemo/BoundExampleWindow.xaml create mode 100644 Dragablz/DragablzDemo/BoundExampleWindow.xaml.cs create mode 100644 Dragablz/DragablzDemo/CustomHeader.xaml create mode 100644 Dragablz/DragablzDemo/CustomHeader.xaml.cs create mode 100644 Dragablz/DragablzDemo/CustomHeaderViewModel.cs create mode 100644 Dragablz/DragablzDemo/DragablzDemo.csproj create mode 100644 Dragablz/DragablzDemo/HeaderAndContentModel.cs create mode 100644 Dragablz/DragablzDemo/LayoutManagementExample.xaml create mode 100644 Dragablz/DragablzDemo/LayoutManagementExample.xaml.cs create mode 100644 Dragablz/DragablzDemo/LayoutManagementExampleViewModel.cs create mode 100644 Dragablz/DragablzDemo/MdiExample.xaml create mode 100644 Dragablz/DragablzDemo/MdiExample.xaml.cs create mode 100644 Dragablz/DragablzDemo/Properties/Annotations.cs create mode 100644 Dragablz/DragablzDemo/Properties/AssemblyInfo.cs create mode 100644 Dragablz/DragablzDemo/Properties/Resources.Designer.cs create mode 100644 Dragablz/DragablzDemo/Properties/Resources.resx create mode 100644 Dragablz/DragablzDemo/Properties/Settings.Designer.cs create mode 100644 Dragablz/DragablzDemo/Properties/Settings.settings create mode 100644 Dragablz/DragablzDemo/QuickStartWindow.xaml create mode 100644 Dragablz/DragablzDemo/QuickStartWindow.xaml.cs create mode 100644 Dragablz/DragablzDemo/SimpleViewModel.cs create mode 100644 Dragablz/DragablzDemo/TabablzControlProxy.cs create mode 100644 Dragablz/DragablzDemo/TreeNode.cs create mode 100644 Dragablz/DragablzModernUIDemo/App.config create mode 100644 Dragablz/DragablzModernUIDemo/App.xaml create mode 100644 Dragablz/DragablzModernUIDemo/App.xaml.cs create mode 100644 Dragablz/DragablzModernUIDemo/DragablzModernUIDemo.csproj create mode 100644 Dragablz/DragablzModernUIDemo/MainWindow.xaml create mode 100644 Dragablz/DragablzModernUIDemo/MainWindow.xaml.cs create mode 100644 Dragablz/DragablzModernUIDemo/Properties/AssemblyInfo.cs create mode 100644 Dragablz/DragablzModernUIDemo/Properties/Resources.Designer.cs create mode 100644 Dragablz/DragablzModernUIDemo/Properties/Resources.resx create mode 100644 Dragablz/DragablzModernUIDemo/Properties/Settings.Designer.cs create mode 100644 Dragablz/DragablzModernUIDemo/Properties/Settings.settings create mode 100644 Dragablz/DragablzModernUIDemo/packages.config create mode 100644 Dragablz/LICENSE create mode 100644 Dragablz/README.md create mode 100644 Dragablz/Resources/D.png create mode 100644 Dragablz/Resources/D32.png create mode 100644 Dragablz/Resources/android-chrome-36x36.png create mode 100644 Dragablz/Resources/android-chrome-48x48.png create mode 100644 Dragablz/Resources/android-chrome-72x72.png create mode 100644 Dragablz/Resources/apple-touch-icon-57x57.png create mode 100644 Dragablz/Resources/apple-touch-icon-60x60.png create mode 100644 Dragablz/Resources/apple-touch-icon-72x72.png create mode 100644 Dragablz/Resources/apple-touch-icon-76x76.png create mode 100644 Dragablz/Resources/apple-touch-icon-precomposed.png create mode 100644 Dragablz/Resources/apple-touch-icon.png create mode 100644 Dragablz/Resources/browserconfig.xml create mode 100644 Dragablz/Resources/favicon-16x16.png create mode 100644 Dragablz/Resources/favicon-32x32.png create mode 100644 Dragablz/Resources/favicon.ico create mode 100644 Dragablz/Resources/favicon.txt create mode 100644 Dragablz/Resources/manifest.json create mode 100644 Dragablz/Resources/mstile-150x150.png create mode 100644 Dragablz/Resources/mstile-310x150.png create mode 100644 Dragablz/Resources/mstile-70x70.png create mode 100644 Fluent.Ribbon/.editorconfig create mode 100644 Fluent.Ribbon/.github/FUNDING.yml create mode 100644 Fluent.Ribbon/.github/ISSUE_TEMPLATE.md create mode 100644 Fluent.Ribbon/.gitignore create mode 100644 Fluent.Ribbon/Doc/Features.xlsx create mode 100644 Fluent.Ribbon/Doc/Fluent Ribbon Control Suite Walkthrough.docx create mode 100644 Fluent.Ribbon/Doc/Fluent Ribbon Control Suite Walkthrough.pdf create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Adorners/SimpleControlAdorner.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/App.config create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/App.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/App.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Commanding/IRelayCommand.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Commanding/RelayCommand.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Converters/BackgroundImageViewportConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Converters/UniqueGroupNameConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Fluent.Ribbon.Showcase.csproj create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/FodyWeavers.xml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/FodyWeavers.xsd create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/GlobalSuppressions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Helpers/TemplateCollection.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Helpers/ThemeHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Icons/App.ico create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Blue.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/BlueLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Bold.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Box.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Brown.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/BrownLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/ChangeCase.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/ClearFormatting.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/FontColor.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/FormatPainter.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/GalleryLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Gray.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/GrayLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Green.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/GreenLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/GrowFont.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Italic.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Orange.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/OrangeLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/PasteFormating.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/PasteImage.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/PasteSourceFormating.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/PasteText.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/PasteTextOnly.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Pink.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/PinkLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Red.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/RedLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/SampleImageForScreenTip.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/ShrinkFont.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Strikethrough.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Subscript.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Superscript.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Test16.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Test32.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/TextEffects.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/TextHighlightColor.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Underline.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/VectorIcons.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/Yellow.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/YellowLarge.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Images/banner.png create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/MahMetroWindow.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/MahMetroWindow.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/MinimalWindowSample.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/MinimalWindowSample.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Program.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/Properties/AssemblyInfo.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RegularWindow.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RegularWindow.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowColorized.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowColorized.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowWithBackgroundImage.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowWithBackgroundImage.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowWithoutRibbon.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowWithoutRibbon.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowWithoutVisibleRibbon.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/RibbonWindowWithoutVisibleRibbon.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/TemplateSelectors/DynamicTemplateSelector.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/TestContent.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/TestContent.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/TestWindow.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/TestWindow.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/ColorViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/FontsViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/GalleryItemViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/GallerySampleDataItemViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/GalleryViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/IssueRepros/ThemeManagerFromThread.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/IssueReprosViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/MainViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/ViewModel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Showcase/app.manifest create mode 100644 Fluent.Ribbon/Fluent.Ribbon.TestWindow/App.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.TestWindow/App.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.TestWindow/AssemblyInfo.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.TestWindow/Fluent.Ribbon.TestWindow.csproj create mode 100644 Fluent.Ribbon/Fluent.Ribbon.TestWindow/MainWindow.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon.TestWindow/MainWindow.xaml.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Adorners/KeyTipAdornerTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/AssemblySetup.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Collections/CollectionSyncHelperTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Collections/ItemCollectionWithLogicalTreeSupportTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/BackstageTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/InRibbonGalleryTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/QuickAccessToolBarTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/RibbonGroupBoxTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/RibbonGroupBoxWrapPanelTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/RibbonTabsContainerTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/RibbonTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/RibbonTitleBarTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Controls/SplitButtonTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Converters/ObjectToImageConverterTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Fluent.Ribbon.Tests.csproj create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/GlobalSuppressions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Helper/ReflectionHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Helper/UIHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Integration/InRibbonGalleryIntegrationTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Internal/ScopeGuardTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Internal/WhenLoadedTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Misc/LogicalTreeTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Properties/AssemblyInfo.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/Services/KeyTipServiceTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/TestClasses/TestRibbonWindow.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.Tests/ThemeManager/ThemeManagerTests.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon.ruleset create mode 100644 Fluent.Ribbon/Fluent.Ribbon.sln create mode 100644 Fluent.Ribbon/Fluent.Ribbon.sln.DotSettings create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Adorners/KeyTipAdorner.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/AttachedProperties/RibbonProperties.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonBackstageAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonBackstageTabControlAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonBackstageTabItemAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonButtonAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonCheckBoxAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonComboBoxAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonControlAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonControlDataAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonDropDownButtonAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonGroupBoxAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonGroupBoxDataAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonGroupHeaderAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonHeaderedControlAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonInRibbonGalleryAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonQuickAccessToolBarAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonRadioButtonAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonScreenTipAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonSplitButtonAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonTabControlAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonTabItemAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonTabItemDataAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonTextBoxAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonTitleBarAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonToggleButtonAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/RibbonToolbarPanelAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Automation/Peers/TwoLineLabelAutomationPeer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Collections/CollectionSyncHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Collections/ItemCollectionWithLogicalTreeSupport.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/ApplicationMenu.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/Backstage.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/BackstageAdorner.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/BackstageTabControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/BackstageTabItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/Button.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/CheckBox.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/ColorGallery.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/ComboBox.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/ContextMenu.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/DropDownButton.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/Gallery.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/GalleryGroupContainer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/GalleryGroupFilter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/GalleryItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/GalleryItemPlaceholder.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/GalleryPanel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/GroupSeparatorMenuItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/InRibbonGallery.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/KeyTip.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/MenuItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/QuickAccessMenuItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/QuickAccessToolBar.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RadioButton.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/Ribbon.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonContextualGroupsContainer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonContextualTabGroup.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonGroupBox.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonGroupBoxWrapPanel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonGroupsContainer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonGroupsContainerScrollViewer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonMenu.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonScrollViewer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonTabControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonTabItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonTabsContainer.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonTitleBar.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonToolBar.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonToolBarControlDefinition.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonToolBarControlGroup.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonToolBarControlGroupDefinition.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonToolBarLayoutDefinition.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonToolBarRow.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/RibbonWindow.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/ScreenTip.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/SeparatorTabItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/Spinner.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/SplitButton.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/StartScreen.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/StartScreenTabControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/StatusBar.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/StatusBarItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/StatusBarMenuItem.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/StatusBarPanel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/TextBox.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/ToggleButton.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/TwoLineLabel.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/UniformGridWithItemSize.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Controls/WindowSteeringHelperControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/ApplicationMenuRightScrollViewerExtractorConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/ColorToSolidColorBrushConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/EqualsToVisibilityConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/IconConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/InvertNumericConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/IsNullConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/ObjectToImageConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/SizeDefinitionConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/SpinnerTextToValueConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/StaticConverters.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Converters/ThicknessConverter.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Data/KeyTipInformation.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Data/KeyTipPressedResult.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Data/RibbonControlSizeDefinition.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Data/RibbonStateStorage.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Effects/GrayscaleEffect.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Enumerations/RibbonControlSize.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Enumerations/RibbonGroupBoxState.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensibility/IKeyTipInformationProvider.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensibility/IRibbonSizeChangedSink.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensions/AutomationPeerExtensions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensions/DispatcherExtensions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensions/DoubleExtensions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensions/FrameworkElementExtensions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensions/ICommandSourceExtensions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Extensions/ItemContainerGeneratorExtensions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Fluent.Ribbon.csproj create mode 100644 Fluent.Ribbon/Fluent.Ribbon/GlobalSuppressions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Helpers/DoubleHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Helpers/FrameworkHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Helpers/ItemsControlHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Helpers/LogicalChildSupportHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Helpers/PoupHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Helpers/ToggleButtonHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Helpers/WindowSteeringHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IDropDownControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IHeaderedControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IKeyTipedControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/ILargeIconProvider.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/ILogicalChildSupport.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IRibbonControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IRibbonStateStorage.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IRibbonWindow.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IScalableRibbonControl.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/IToggleButton.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/AccessTextHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/CommandHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/DoubleUtil.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/FocusWrapper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/ItemContainerGeneratorAction.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/KeyEventUtility.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/KnownBoxes/BooleanBoxes.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/KnownBoxes/DoubleBoxes.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/KnownBoxes/IntBoxes.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/KnownBoxes/StringBoxes.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/KnownBoxes/VisibilityBoxes.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/ObjectExtensions.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/ScopeGuard.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/SizeConstants.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/TypeHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/UIHelper.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Internal/WhenLoaded.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Arabic.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Azerbaijani.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Bulgarian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Catalan.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Chinese.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Czech.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Danish.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Dutch.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/English.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Estonian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Finnish.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/French.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/German.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Greek.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Hebrew.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Hungarian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Italian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Japanese.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Korean.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Lithuanian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Norwegian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Norwegian_Bokmål.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Norwegian_Nynorsk.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Persian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Polish.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Portuguese.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Portuguese_Brazil.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Romanian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Russian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Sinhala.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Slovak.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Slovenian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Spanish.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Swedish.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Turkish.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Ukrainian.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/Languages/Vietnamese.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/RibbonLocalization.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/RibbonLocalizationAttribute.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Localization/RibbonLocalizationBase.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Metro/Behaviours/StylizedBehaviors.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Metro/Behaviours/StylizedBehaviorsCollection.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Metro/Controls/WindowCommands.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Properties/AssemblyInfo.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/RibbonCommands.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Services/ContextMenuService.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Services/KeyTipService.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Services/PopupService.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Services/ToolTipService.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/StyleSelectors/ApplicationMenuItemContainerStyleSelector.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/StyleSelectors/BackstageTabControlItemContainerStyleSelector.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/StyleSelectors/HeaderApplicationMenuItemItemContainerStyleSelector.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/StyleSelectors/SplitedApplicationMenuItemItemContainerStyleSelector.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/TemplateSelectors/RibbonGroupBoxHeaderTemplateSelector.cs create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Common.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ApplicationMenu.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ApplicationMenuItem.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/Backstage.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/BackstageControls.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/BackstageTabControl.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/BackstageTabItem.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/Button.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/CheckBox.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ColorGallery.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ComboBox.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ComboBoxItem.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/DropDownButton.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/EmptyFocusStyle.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/Gallery.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/GalleryGroupContainer.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/GalleryItem.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/InRibbonGallery.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/KeyTip.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/Menu.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/MenuItem.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/MenuSeparator.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/QuickAccessToolbar.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RadioButton.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/Ribbon.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonContextualTabGroup.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonGroupBox.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonMenu.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonScrollViewer.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonSeparator.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonTabControl.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonTabItem.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonTextBox.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonTitleBar.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonToolBar.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/RibbonToolBarControlGroup.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ScreenTip.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ScrollBar.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/SeparatorTabItem.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/Slider.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/Spinner.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/SplitButton.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/StartScreen.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/StartScreenTabControl.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/StatusBar.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/ToggleButton.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/TwoLineLabel.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Controls/WindowCommands.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Effects/Grayscale.fx create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Effects/Grayscale.ps create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Generic.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Images.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/RibbonWindow.xaml create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Styles.txt create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/Themes/GeneratorParameters.json create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Themes/XamlCombine.exe create mode 100644 Fluent.Ribbon/Fluent.Ribbon/Theming/RibbonLibraryThemeProvider.cs create mode 100644 Fluent.Ribbon/Images/Appveyor_logo.svg create mode 100644 Fluent.Ribbon/Images/Fluent.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_128x128.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_16x16.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_24x24.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_256x256.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_32x32.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_48x48.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_64x64.png create mode 100644 Fluent.Ribbon/Images/Logo/Logo_96x96.png create mode 100644 Fluent.Ribbon/Images/Ribbon/ApplicationMenu.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/Checked.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/Copy.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/Cut.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/DefaultSmallIcon.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/DefaultSmallIcon.design create mode 100644 Fluent.Ribbon/Images/Ribbon/DialogLauncher.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/Help.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/MoreColors.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/Paste.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/QuickAccessToolbarDropDown.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/QuickAccessToolbarExtender.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/RibbonCollapse.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/RibbonExpand.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/RibbonPin.ai create mode 100644 Fluent.Ribbon/Images/Ribbon/Warning.ai create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Black - Backstage.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Blue - Backstage.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - Backstage.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - Collapsed Group.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - ColorGallery.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - ComboBox in QuickAccess.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - Filter in Gallery.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - Gallery in QuickAccess.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - Gallery.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - KeyTips.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2010 - Silver - RTL.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2013 - White - Backstage.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Office 2013 - White.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Windows 8 - White - Backstage.png create mode 100644 Fluent.Ribbon/Images/Screenshots/Windows 8 - White.png create mode 100644 Fluent.Ribbon/Images/Showcase.gif create mode 100644 Fluent.Ribbon/Images/banner.png create mode 100644 Fluent.Ribbon/Images/cake-medium.png create mode 100644 Fluent.Ribbon/Images/icon_ReSharper.png create mode 100644 Fluent.Ribbon/License.txt create mode 100644 Fluent.Ribbon/README.md create mode 100644 Fluent.Ribbon/Shared/GlobalAssemblyInfo.cs create mode 100644 Fluent.Ribbon/Shared/SharedKey.snk create mode 100644 Live-Charts-master/.gitattributes create mode 100644 Live-Charts-master/.github/CONTRIBUTING.md create mode 100644 Live-Charts-master/.github/ISSUE_TEMPLATE.md create mode 100644 Live-Charts-master/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 Live-Charts-master/.gitignore create mode 100644 Live-Charts-master/Charts.sln.DotSettings create mode 100644 Live-Charts-master/Core/AxisCore.cs create mode 100644 Live-Charts-master/Core/AxisOrientation.cs create mode 100644 Live-Charts-master/Core/AxisPosition.cs create mode 100644 Live-Charts-master/Core/AxisSectionCore.cs create mode 100644 Live-Charts-master/Core/BarLabelPosition.cs create mode 100644 Live-Charts-master/Core/BezierData.cs create mode 100644 Live-Charts-master/Core/ChartFunctions.cs create mode 100644 Live-Charts-master/Core/ChartPoint.cs create mode 100644 Live-Charts-master/Core/ChartUpdater.cs create mode 100644 Live-Charts-master/Core/ChartValues.cs create mode 100644 Live-Charts-master/Core/Charting.cs create mode 100644 Live-Charts-master/Core/Charts/CartesianChartCore.cs create mode 100644 Live-Charts-master/Core/Charts/ChartCore.cs create mode 100644 Live-Charts-master/Core/Charts/PieChartCore.cs create mode 100644 Live-Charts-master/Core/Configurations/CartesianMapper.cs create mode 100644 Live-Charts-master/Core/Configurations/FinancialMapper.cs create mode 100644 Live-Charts-master/Core/Configurations/GanttMapper.cs create mode 100644 Live-Charts-master/Core/Configurations/IPointEvaluator.cs create mode 100644 Live-Charts-master/Core/Configurations/Mappers.cs create mode 100644 Live-Charts-master/Core/Configurations/PieMapper.cs create mode 100644 Live-Charts-master/Core/Configurations/PolarMapper.cs create mode 100644 Live-Charts-master/Core/Configurations/WeightedMapper.cs create mode 100644 Live-Charts-master/Core/Core.csproj create mode 100644 Live-Charts-master/Core/Core.csproj.DotSettings create mode 100644 Live-Charts-master/Core/Core.nuspec create mode 100644 Live-Charts-master/Core/DataLabelViewModel.cs create mode 100644 Live-Charts-master/Core/Defaults/AxisLimits.cs create mode 100644 Live-Charts-master/Core/Defaults/DateTimePoint.cs create mode 100644 Live-Charts-master/Core/Defaults/GanttPoint.cs create mode 100644 Live-Charts-master/Core/Defaults/HeatPoint.cs create mode 100644 Live-Charts-master/Core/Defaults/OHLCPoint.cs create mode 100644 Live-Charts-master/Core/Defaults/ObservablePoint.cs create mode 100644 Live-Charts-master/Core/Defaults/ObservableValue.cs create mode 100644 Live-Charts-master/Core/Defaults/PolarPoint.cs create mode 100644 Live-Charts-master/Core/Defaults/ScatterPoint.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/IAxisSectionView.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/IAxisView.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/ICartesianChart.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/ICartesianVisualElement.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/IChartView.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/ILogarithmicAxisView.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/IPieChart.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/ISeparatorElementView.cs create mode 100644 Live-Charts-master/Core/Definitions/Charts/ISeparatorView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IBezierPointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IChartPointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IHeatPointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IOhlcPointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IPieSlicePointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IRectanglePointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IScatterPointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Points/IStepPointView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IAreaPoint.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/ICartesianSeries.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IColumnSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IFinancialSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IHeatSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/ILineSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IPieSeries.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IPieSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IRowSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IScatterSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/ISeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IStackModelableSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IStackedAreaSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IStackedColumnSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IStackedRowSeriesView.cs create mode 100644 Live-Charts-master/Core/Definitions/Series/IVerticalStackedAreaSeriesView.cs create mode 100644 Live-Charts-master/Core/Dtos/BezierData.cs create mode 100644 Live-Charts-master/Core/Dtos/CoreColor.cs create mode 100644 Live-Charts-master/Core/Dtos/CoreGradientStop.cs create mode 100644 Live-Charts-master/Core/Dtos/CoreLimit.cs create mode 100644 Live-Charts-master/Core/Dtos/CoreMargin.cs create mode 100644 Live-Charts-master/Core/Dtos/CorePoint.cs create mode 100644 Live-Charts-master/Core/Dtos/CoreRectangle.cs create mode 100644 Live-Charts-master/Core/Dtos/CoreSize.cs create mode 100644 Live-Charts-master/Core/Dtos/LabelEvaluation.cs create mode 100644 Live-Charts-master/Core/Dtos/StackedSum.cs create mode 100644 Live-Charts-master/Core/Dtos/TooltipDataViewModel.cs create mode 100644 Live-Charts-master/Core/Events/Delegates.cs create mode 100644 Live-Charts-master/Core/Events/PreviewRangeChangedEventArgs.cs create mode 100644 Live-Charts-master/Core/Events/RangeChangedEventArgs.cs create mode 100644 Live-Charts-master/Core/Helpers/Extentions.cs create mode 100644 Live-Charts-master/Core/Helpers/LiveChartsException.cs create mode 100644 Live-Charts-master/Core/Helpers/NoisyCollection.cs create mode 100644 Live-Charts-master/Core/IBezierData.cs create mode 100644 Live-Charts-master/Core/IChartValues.cs create mode 100644 Live-Charts-master/Core/IObservableChartPoint.cs create mode 100644 Live-Charts-master/Core/LegendLocation.cs create mode 100644 Live-Charts-master/Core/LogarithmicAxisCore.cs create mode 100644 Live-Charts-master/Core/Maps/MapData.cs create mode 100644 Live-Charts-master/Core/PanningOptions.cs create mode 100644 Live-Charts-master/Core/PieLabelPosition.cs create mode 100644 Live-Charts-master/Core/PointTracker.cs create mode 100644 Live-Charts-master/Core/PortableCore.csproj.DotSettings create mode 100644 Live-Charts-master/Core/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/Core/ScrollMode.cs create mode 100644 Live-Charts-master/Core/SeparationState.cs create mode 100644 Live-Charts-master/Core/SeparatorConfigurationCore.cs create mode 100644 Live-Charts-master/Core/SeparatorElementCore.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/CandleAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/ColumnAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/HeatAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/LineAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/OhlcAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/PieAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/RowAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/ScatterAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/StackedAreaAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/StackedColumnAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/StackedRowAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/StepLineAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/VerticalLineAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesAlgorithms/VerticalStackedAreaAlgorithm.cs create mode 100644 Live-Charts-master/Core/SeriesCollection.cs create mode 100644 Live-Charts-master/Core/SeriesOrientation.cs create mode 100644 Live-Charts-master/Core/Seriesalgorithm.cs create mode 100644 Live-Charts-master/Core/StackMode.cs create mode 100644 Live-Charts-master/Core/TooltipSelectionMode.cs create mode 100644 Live-Charts-master/Core/UpdaterState.cs create mode 100644 Live-Charts-master/Core/VisualElementsCollection.cs create mode 100644 Live-Charts-master/Core/ZoomingOptions.cs create mode 100644 Live-Charts-master/Core/core.docs create mode 100644 Live-Charts-master/Core/readme.txt create mode 100644 Live-Charts-master/Core40/AxisCore.cs create mode 100644 Live-Charts-master/Core40/AxisOrientation.cs create mode 100644 Live-Charts-master/Core40/AxisPosition.cs create mode 100644 Live-Charts-master/Core40/AxisSectionCore.cs create mode 100644 Live-Charts-master/Core40/AxisWindow.cs create mode 100644 Live-Charts-master/Core40/AxisWindows.cs create mode 100644 Live-Charts-master/Core40/BarLabelPosition.cs create mode 100644 Live-Charts-master/Core40/ChartFunctions.cs create mode 100644 Live-Charts-master/Core40/ChartPoint.cs create mode 100644 Live-Charts-master/Core40/ChartUpdater.cs create mode 100644 Live-Charts-master/Core40/ChartValues.cs create mode 100644 Live-Charts-master/Core40/Charting.cs create mode 100644 Live-Charts-master/Core40/Charts/CartesianChartCore.cs create mode 100644 Live-Charts-master/Core40/Charts/ChartCore.cs create mode 100644 Live-Charts-master/Core40/Charts/PieChartCore.cs create mode 100644 Live-Charts-master/Core40/Configurations/CartesianMapper.cs create mode 100644 Live-Charts-master/Core40/Configurations/FinancialMapper.cs create mode 100644 Live-Charts-master/Core40/Configurations/GanttMapper.cs create mode 100644 Live-Charts-master/Core40/Configurations/IPointEvaluator.cs create mode 100644 Live-Charts-master/Core40/Configurations/Mappers.cs create mode 100644 Live-Charts-master/Core40/Configurations/PieMapper.cs create mode 100644 Live-Charts-master/Core40/Configurations/PolarMapper.cs create mode 100644 Live-Charts-master/Core40/Configurations/WeightedMapper.cs create mode 100644 Live-Charts-master/Core40/Core40.csproj create mode 100644 Live-Charts-master/Core40/Core40.csproj.DotSettings create mode 100644 Live-Charts-master/Core40/DataLabelViewModel.cs create mode 100644 Live-Charts-master/Core40/DateAxisCore.cs create mode 100644 Live-Charts-master/Core40/DateAxisWindow.cs create mode 100644 Live-Charts-master/Core40/DateAxisWindows.cs create mode 100644 Live-Charts-master/Core40/DateSeparatorElementCore.cs create mode 100644 Live-Charts-master/Core40/Defaults/AxisLimits.cs create mode 100644 Live-Charts-master/Core40/Defaults/DateTimePoint.cs create mode 100644 Live-Charts-master/Core40/Defaults/GanttPoint.cs create mode 100644 Live-Charts-master/Core40/Defaults/HeatPoint.cs create mode 100644 Live-Charts-master/Core40/Defaults/OHLCPoint.cs create mode 100644 Live-Charts-master/Core40/Defaults/ObservablePoint.cs create mode 100644 Live-Charts-master/Core40/Defaults/ObservableValue.cs create mode 100644 Live-Charts-master/Core40/Defaults/PolarPoint.cs create mode 100644 Live-Charts-master/Core40/Defaults/ScatterPoint.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/IAxisSectionView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/IAxisView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/IAxisWindow.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/ICartesianChart.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/ICartesianVisualElement.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/IChartView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/IDateAxisView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/ILogarithmicAxisView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/IPieChart.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/ISeparatorElementView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/ISeparatorView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Charts/IWindowAxisView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IBezierPointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IChartPointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IHeatPointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IOhlcPointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IPieSlicePointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IRectanglePointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IScatterPointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Points/IStepPointView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IAreaPoint.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/ICartesianSeries.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IColumnSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IFinancialSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IHeatSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/ILineSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IPieSeries.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IPieSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IRowSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IScatterSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/ISeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IStackModelableSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IStackedAreaSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IStackedColumnSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IStackedRowSeriesView.cs create mode 100644 Live-Charts-master/Core40/Definitions/Series/IVerticalStackedAreaSeriesView.cs create mode 100644 Live-Charts-master/Core40/Delegates.cs create mode 100644 Live-Charts-master/Core40/Dtos/BezierData.cs create mode 100644 Live-Charts-master/Core40/Dtos/CoreColor.cs create mode 100644 Live-Charts-master/Core40/Dtos/CoreGradientStop.cs create mode 100644 Live-Charts-master/Core40/Dtos/CoreLimit.cs create mode 100644 Live-Charts-master/Core40/Dtos/CoreMargin.cs create mode 100644 Live-Charts-master/Core40/Dtos/CorePoint.cs create mode 100644 Live-Charts-master/Core40/Dtos/CoreRectangle.cs create mode 100644 Live-Charts-master/Core40/Dtos/CoreSize.cs create mode 100644 Live-Charts-master/Core40/Dtos/LabelEvaluation.cs create mode 100644 Live-Charts-master/Core40/Dtos/StackedSum.cs create mode 100644 Live-Charts-master/Core40/Dtos/TooltipDataViewModel.cs create mode 100644 Live-Charts-master/Core40/Events/Delegates.cs create mode 100644 Live-Charts-master/Core40/Events/PreviewRangeChangedEventArgs.cs create mode 100644 Live-Charts-master/Core40/Events/RangeChangedEventArgs.cs create mode 100644 Live-Charts-master/Core40/Helpers/Extentions.cs create mode 100644 Live-Charts-master/Core40/Helpers/LiveChartsException.cs create mode 100644 Live-Charts-master/Core40/Helpers/NoisyCollection.cs create mode 100644 Live-Charts-master/Core40/IChartValues.cs create mode 100644 Live-Charts-master/Core40/IObservableChartPoint.cs create mode 100644 Live-Charts-master/Core40/LegendLocation.cs create mode 100644 Live-Charts-master/Core40/LogarithmicAxisCore.cs create mode 100644 Live-Charts-master/Core40/Maps/MapData.cs create mode 100644 Live-Charts-master/Core40/PanningOptions.cs create mode 100644 Live-Charts-master/Core40/PeriodUnits.cs create mode 100644 Live-Charts-master/Core40/PieLabelPosition.cs create mode 100644 Live-Charts-master/Core40/PointTracker.cs create mode 100644 Live-Charts-master/Core40/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/Core40/ScrollMode.cs create mode 100644 Live-Charts-master/Core40/SeparationState.cs create mode 100644 Live-Charts-master/Core40/SeparatorConfigurationCore.cs create mode 100644 Live-Charts-master/Core40/SeparatorElementCore.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/CandleAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/ColumnAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/HeatAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/LineAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/OhlcAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/PieAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/RowAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/ScatterAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/StackedAreaAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/StackedColumnAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/StackedRowAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/StepLineAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/VerticalLineAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesAlgorithms/VerticalStackedAreaAlgorithm.cs create mode 100644 Live-Charts-master/Core40/SeriesCollection.cs create mode 100644 Live-Charts-master/Core40/SeriesOrientation.cs create mode 100644 Live-Charts-master/Core40/Seriesalgorithm.cs create mode 100644 Live-Charts-master/Core40/StackMode.cs create mode 100644 Live-Charts-master/Core40/TooltipSelectionMode.cs create mode 100644 Live-Charts-master/Core40/UpdaterState.cs create mode 100644 Live-Charts-master/Core40/VisualElementsCollection.cs create mode 100644 Live-Charts-master/Core40/WindowAxisCore.cs create mode 100644 Live-Charts-master/Core40/ZoomingOptions.cs create mode 100644 Live-Charts-master/Examples/UWP/App.xaml create mode 100644 Live-Charts-master/Examples/UWP/App.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/AppShell.xaml create mode 100644 Live-Charts-master/Examples/UWP/AppShell.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/Assets/LockScreenLogo.scale-200.png create mode 100644 Live-Charts-master/Examples/UWP/Assets/SplashScreen.scale-200.png create mode 100644 Live-Charts-master/Examples/UWP/Assets/Square150x150Logo.scale-200.png create mode 100644 Live-Charts-master/Examples/UWP/Assets/Square44x44Logo.scale-200.png create mode 100644 Live-Charts-master/Examples/UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 Live-Charts-master/Examples/UWP/Assets/StoreLogo.png create mode 100644 Live-Charts-master/Examples/UWP/Assets/Wide310x150Logo.scale-200.png create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Bars/BasicColumn.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Bars/BasicColumn.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Bars/BasicRowExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Bars/BasicRowExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Stacked Bar/BasicStackedColumnExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Stacked Bar/BasicStackedColumnExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Stacked Bar/BasicStackedRowPercentageExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Basic Stacked Bar/BasicStackedRowPercentageExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/BasicLine/BasicLineExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/BasicLine/BasicLineExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Bubbles/BubblesExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Bubbles/BubblesExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Chart to Image/ChartToImageSample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Chart to Image/ChartToImageSample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ConstantChanges/ConstantChangesChart.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ConstantChanges/ConstantChangesChart.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ConstantChanges/MeasureModel.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/CustomTooltipAndLegend/CustomTooltipAndLegendExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/CustomTooltipAndLegend/CustomTooltipAndLegendExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/CustomTooltipAndLegend/CustomerVm.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/CustomTooltipAndLegend/CustomersLegend.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/CustomTooltipAndLegend/CustomersLegend.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/CustomTooltipAndLegend/CustomersTooltip.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/CustomTooltipAndLegend/CustomersTooltip.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Customized Series/CustomizedLineSeries.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Customized Series/CustomizedLineSeries.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/DynamicVisibility/DynamicVisibilityExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/DynamicVisibility/DynamicVisibilityExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Energy Predictions/EnergyPredictionExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Energy Predictions/EnergyPredictionExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Energy Predictions/OpacityConverter.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Energy Predictions/ReverseConverter.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Events/ChartPointCommandHandler.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Events/EventsExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Events/EventsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Events/ViewModel.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Financial/CandleStickExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Financial/CandleStickExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Financial/OhclExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Financial/OhclExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/FullyResponsive/FullyResponsiveExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/FullyResponsive/FullyResponsiveExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Funnel Chart/FunnelExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Funnel Chart/FunnelExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Funnel Chart/resources/fingerprint.png create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Funnel Chart/resources/user.png create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Funnel Chart/resources/view.png create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/GanttChart/GanttExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/GanttChart/GanttExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/HeatChart/HeatSeriesExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/HeatChart/HeatSeriesExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/InLineSyntax/InLineSyntaxTest.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/InLineSyntax/InLineSyntaxTest.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Inverted Series/InvertedExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Inverted Series/InvertedExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Irregular Intervals/IrregularIntervalsExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Irregular Intervals/IrregularIntervalsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Labels/LabelsExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Labels/LabelsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Labels/LabelsHorizontalExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Labels/LabelsHorizontalExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/LineExample/LineExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/LineExample/LineExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Linq/City.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Linq/DataBase.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Linq/LinqExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Linq/LinqExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/LogarithmScale/LogarithmScaleExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/LogarithmScale/LogarithmScaleExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ManualZAndP/ManualZAndPExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ManualZAndP/ManualZAndPExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/MaterialCards/MaterialCards.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/MaterialCards/MaterialCards.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Missing Line Points/MissingPointsExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Missing Line Points/MissingPointsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/MixingSeries/MixingSeries.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/MixingSeries/MixingSeries.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/MultiAxes/MultiAxesChart.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/MultiAxes/MultiAxesChart.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/NegativeStackedRow/NegativeStackedRowExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/NegativeStackedRow/NegativeStackedRowExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/PointShapeLine/PointShapeLineExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/PointShapeLine/PointShapeLineExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/PointState/PointStateExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/PointState/PointStateExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ScatterPlot/ScatterExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ScatterPlot/ScatterExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Sections/SectionsExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Sections/SectionsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/SectionsDragable/DragableSections.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/SectionsDragable/DragableSections.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/SharedTooltip/SharedTooltipExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/SharedTooltip/SharedTooltipExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/SolidColorChart/SolidColorExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/SolidColorChart/SolidColorExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedArea/StackedAreaExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedArea/StackedAreaExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedArea/VerticalStackedAreaExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedArea/VerticalStackedAreaExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedBar/StackedColumnExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedBar/StackedColumnExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedBar/StackedRowExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StackedBar/StackedRowExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StepLine/StepLineExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/StepLine/StepLineExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/TypesSupport/TypesPlotting.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/TypesSupport/TypesPlotting.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/UIElements/UIElementsExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/UIElements/UIElementsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/UIElements/warning.png create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Using DateTime/DateModel.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Using DateTime/DateTime.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/Using DateTime/DateTime.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ZoomingAndPanning/ZoomingAndPanning.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/ZoomingAndPanning/ZoomingAndPanning.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/zzIssues/Issue179.xaml create mode 100644 Live-Charts-master/Examples/UWP/CartesianChart/zzIssues/Issue179.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/Commons/SampleCategory.cs create mode 100644 Live-Charts-master/Examples/UWP/Commons/SampleDefinition.cs create mode 100644 Live-Charts-master/Examples/UWP/Commons/SampleDefinitions.cs create mode 100644 Live-Charts-master/Examples/UWP/Converters/BoolToObjectConverter.cs create mode 100644 Live-Charts-master/Examples/UWP/Gauges/AngularGaugeExmple.xaml create mode 100644 Live-Charts-master/Examples/UWP/Gauges/AngularGaugeExmple.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/Gauges/Gauge360.xaml create mode 100644 Live-Charts-master/Examples/UWP/Gauges/Gauge360.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/Package.appxmanifest create mode 100644 Live-Charts-master/Examples/UWP/PieChart/DoughnutChartExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/PieChart/DoughnutChartExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/PieChart/PieChartExample.xaml create mode 100644 Live-Charts-master/Examples/UWP/PieChart/PieChartExample.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/Examples/UWP/Uwp.csproj create mode 100644 Live-Charts-master/Examples/UWP/Views/MainPage.xaml create mode 100644 Live-Charts-master/Examples/UWP/Views/MainPage.xaml.cs create mode 100644 Live-Charts-master/Examples/UWP/cities.csv create mode 100644 Live-Charts-master/Examples/WinForms/App.config create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Basic Stacked Bar/BasicStackedColumnExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Basic Stacked Bar/BasicStackedColumnExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Basic Stacked Bar/BasicStackedColumnExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Basic Stacked Bar/BasicsStackedRowExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Basic Stacked Bar/BasicsStackedRowExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Basic Stacked Bar/BasicsStackedRowExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBar/BasicColumnExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBar/BasicColumnExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBar/BasicColumnExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBar/BasicRowExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBar/BasicRowExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBar/BasicRowExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBubbles/BasicBubblesExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBubbles/BasicBubblesExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicBubbles/BasicBubblesExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicLine/BasicLineExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicLine/BasicLineExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/BasicLine/BasicLineExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/ConstantChanges/ConstantChanges.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/ConstantChanges/ConstantChanges.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/ConstantChanges/ConstantChanges.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/ConstantChanges/MeasureModel.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Customized Series/Customized Line Series.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Customized Series/Customized Line Series.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Customized Series/Customized Line Series.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DataPagination/DataPaginationExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DataPagination/DataPaginationExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DataPagination/DataPaginationExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DateTime/DateTimeExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DateTime/DateTimeExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DateTime/DateTimeExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DynamicVisibility/DynamicVisibiltyExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DynamicVisibility/DynamicVisibiltyExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/DynamicVisibility/DynamicVisibiltyExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Events/EventsExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Events/EventsExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Events/EventsExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Financial/FinancialExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Financial/FinancialExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Financial/FinancialExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FullyResponsive/FullyResponsive.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FullyResponsive/FullyResponsive.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FullyResponsive/FullyResponsive.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FunnelChart/FunnelExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FunnelChart/FunnelExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FunnelChart/FunnelExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FunnelChart/Resources/fingerprint.png create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FunnelChart/Resources/user.png create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/FunnelChart/Resources/view.png create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/GanttChart/GanttExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/GanttChart/GanttExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/GanttChart/GanttExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/HeatSeriesExample/HeatSeriesExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/HeatSeriesExample/HeatSeriesExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/HeatSeriesExample/HeatSeriesExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Inverted Series/InvertedSeries.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Inverted Series/InvertedSeries.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Inverted Series/InvertedSeries.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Irregular Intervals/IrregularIntervalsExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Irregular Intervals/IrregularIntervalsExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Irregular Intervals/IrregularIntervalsExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Labels/Labels.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Labels/Labels.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Labels/Labels.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Linq/City.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Linq/DataBase.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Linq/LinqExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Linq/LinqExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Linq/LinqExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/LogarithmScale/LogarithmSacale.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/LogarithmScale/LogarithmSacale.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/LogarithmScale/LogarithmSacale.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/MissingPoints/MissingPoint.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/MissingPoints/MissingPoint.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/MissingPoints/MissingPoint.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/MultiAxes/MultipleAxesExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/MultiAxes/MultipleAxesExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/MultiAxes/MultipleAxesExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/NegativeStackedRow/NegativeStackedRow.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/NegativeStackedRow/NegativeStackedRow.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/NegativeStackedRow/NegativeStackedRow.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/PointState/PointState.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/PointState/PointState.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/PointState/PointState.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/ScatterExample/ScatterForm.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/ScatterExample/ScatterForm.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/ScatterExample/ScatterForm.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Sections/SectionsExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Sections/SectionsExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Sections/SectionsExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/StackedArea/StackedAreaExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/StackedArea/StackedAreaExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/StackedArea/StackedAreaExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/StepLine/StepLineExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/StepLine/StepLineExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/StepLine/StepLineExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/UielementsExample/UielementsExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/UielementsExample/UielementsExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/UielementsExample/UielementsExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/UielementsExample/warning.png create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Zooming and Panning/ZomingAndPanningExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Zooming and Panning/ZomingAndPanningExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Cartesian/Zooming and Panning/ZomingAndPanningExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Gauge/360/Gauge360Example.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Gauge/360/Gauge360Example.cs create mode 100644 Live-Charts-master/Examples/WinForms/Gauge/360/Gauge360Example.resx create mode 100644 Live-Charts-master/Examples/WinForms/Gauge/AngularGauge/AngularGugeForm.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Gauge/AngularGauge/AngularGugeForm.cs create mode 100644 Live-Charts-master/Examples/WinForms/Gauge/AngularGauge/AngularGugeForm.resx create mode 100644 Live-Charts-master/Examples/WinForms/Main.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Main.cs create mode 100644 Live-Charts-master/Examples/WinForms/Main.resx create mode 100644 Live-Charts-master/Examples/WinForms/Maps/GeoMapExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Maps/GeoMapExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/Maps/GeoMapExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/PieChart/DoughnutExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/PieChart/DoughnutExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/PieChart/DoughnutExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/PieChart/PieChartExample.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/PieChart/PieChartExample.cs create mode 100644 Live-Charts-master/Examples/WinForms/PieChart/PieChartExample.resx create mode 100644 Live-Charts-master/Examples/WinForms/Program.cs create mode 100644 Live-Charts-master/Examples/WinForms/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/Examples/WinForms/Properties/Resources.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Properties/Resources.resx create mode 100644 Live-Charts-master/Examples/WinForms/Properties/Settings.Designer.cs create mode 100644 Live-Charts-master/Examples/WinForms/Properties/Settings.settings create mode 100644 Live-Charts-master/Examples/WinForms/Winforms.csproj create mode 100644 Live-Charts-master/Examples/WinForms/Winforms.csproj.DotSettings create mode 100644 Live-Charts-master/Examples/WinForms/cities.csv create mode 100644 Live-Charts-master/Examples/Wpf/App.config create mode 100644 Live-Charts-master/Examples/Wpf/App.xaml create mode 100644 Live-Charts-master/Examples/Wpf/App.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Bars/BasicColumn.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Bars/BasicColumn.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Bars/BasicRowExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Bars/BasicRowExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Stacked Bar/BasicStackedColumnExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Stacked Bar/BasicStackedColumnExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Stacked Bar/BasicStackedRowPercentageExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Basic Stacked Bar/BasicStackedRowPercentageExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/BasicLine/BasicLineExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/BasicLine/BasicLineExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Bubbles/BubblesExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Bubbles/BubblesExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Chart to Image/ChartToImageSample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Chart to Image/ChartToImageSample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ConstantChanges/ConstantChangesChart.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ConstantChanges/ConstantChangesChart.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ConstantChanges/MeasureModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomTooltipAndLegend/CustomTooltipAndLegendExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomTooltipAndLegend/CustomTooltipAndLegendExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomTooltipAndLegend/CustomerVM.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomTooltipAndLegend/CustomersLegend.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomTooltipAndLegend/CustomersLegend.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomTooltipAndLegend/CustomersTooltip.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomTooltipAndLegend/CustomersTooltip.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomZoomingAndPanning/MoveMe.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/CustomZoomingAndPanning/MoveMe.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Customized Series/CustomizedLineSeries.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Customized Series/CustomizedLineSeries.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/DataLabelTemplate/DataLabelTemplateSample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/DataLabelTemplate/DataLabelTemplateSample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/DateAxis/DateAxisExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/DateAxis/DateAxisExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/DynamicVisibility/DynamicVisibilityExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/DynamicVisibility/DynamicVisibilityExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Energy Predictions/EnergyPredictionExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Energy Predictions/EnergyPredictionExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Energy Predictions/OpacityConverter.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Energy Predictions/ReverseConverter.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Events/ChartPointCommandHandler.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Events/EventsExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Events/EventsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Events/ViewModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Financial/CandleStickExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Financial/CandleStickExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Financial/OhclExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Financial/OhclExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/FullyResponsive/FullyResponsiveExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/FullyResponsive/FullyResponsiveExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Funnel Chart/FunnelExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Funnel Chart/FunnelExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Funnel Chart/resources/fingerprint.png create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Funnel Chart/resources/user.png create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Funnel Chart/resources/view.png create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/GanttChart/GanttExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/GanttChart/GanttExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/HeatChart/HeatSeriesExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/HeatChart/HeatSeriesExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/InLineSyntax/InLineSyntaxTest.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/InLineSyntax/InLineSyntaxTest.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Inverted Series/Inverted Example.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Inverted Series/Inverted Example.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Irregular Intervals/IrregularIntervalsExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Irregular Intervals/IrregularIntervalsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Labels/LabelsExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Labels/LabelsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Labels/LabelsHorizontalExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Labels/LabelsHorizontalExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/LineExample/LineExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/LineExample/LineExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Linq/City.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Linq/DataBase.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Linq/LinqExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Linq/LinqExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/LogarithmScale/LogarithmScaleExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/LogarithmScale/LogarithmScaleExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ManualZAndP/ManualZAndPExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ManualZAndP/ManualZAndPExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/MaterialCards/MaterialCards.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/MaterialCards/MaterialCards.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Missing Line Points/MissingPointsExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Missing Line Points/MissingPointsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/MixingSeries/MixingSeries.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/MixingSeries/MixingSeries.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/MultiAxes/MultiAxesChart.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/MultiAxes/MultiAxesChart.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/NegativeStackedRow/NEgativeStackedRowExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/NegativeStackedRow/NEgativeStackedRowExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/PointShapeLine/PointShapeLineExample.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/PointShapeLine/PointShapeLineExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/PointState/PointStateExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/PointState/PointStateExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Scatter With Pies/Scatter With Pies.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Scatter With Pies/Scatter With Pies.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ScatterPlot/ScatterExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ScatterPlot/ScatterExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Sections/SectionsExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Sections/SectionsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SectionsDragable/DragableSections.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SectionsDragable/DragableSections.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SectionsMouseMove/SectionMouseMoveSample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SectionsMouseMove/SectionMouseMoveSample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SectionsMouseMove/ViewModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SharedTooltip/SharedTooltipExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SharedTooltip/SharedTooltipExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SolidColorChart/SolidColorExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/SolidColorChart/SolidColorExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedArea/StackedAreaExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedArea/StackedAreaExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedArea/VerticalStackedAreaExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedArea/VerticalStackedAreaExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedBar/StackedColumnExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedBar/StackedColumnExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedBar/StackedRowExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StackedBar/StackedRowExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StepLine/StepLineExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/StepLine/StepLineExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ThreadSafe/RelyCommand.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ThreadSafe/ThreadSafeExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ThreadSafe/ThreadSafeExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ThreadSafe/ThreadSafeViewModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/TypesSupport/TypesPlotting.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/TypesSupport/TypesPlotting.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/DataGenerator.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/EventAControl.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/EventAControl.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/EventBControl.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/EventBControl.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/SelectedItemControl.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/SelectedItemControl.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/UiElementsAndEventsExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/UiElementsExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/UIElements/UiElementsViewModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Using DateTime/DateModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Using DateTime/DateTime.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/Using DateTime/DateTime.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/WindowAxis/WindowAxisExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/WindowAxis/WindowAxisExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ZoomingAndPanning/ZoomingAndPanning.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/ZoomingAndPanning/ZoomingAndPanning.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/zzIssues/Issue179.xaml create mode 100644 Live-Charts-master/Examples/Wpf/CartesianChart/zzIssues/Issue179.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/Gauges/AngularGaugeExmple.xaml create mode 100644 Live-Charts-master/Examples/Wpf/Gauges/AngularGaugeExmple.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/Gauges/Gauge360.xaml create mode 100644 Live-Charts-master/Examples/Wpf/Gauges/Gauge360.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/Home/HomeView.xaml create mode 100644 Live-Charts-master/Examples/Wpf/Home/HomeView.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/Home/HomeViewModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/Home/SampleGroupVm.cs create mode 100644 Live-Charts-master/Examples/Wpf/Home/SampleVm.cs create mode 100644 Live-Charts-master/Examples/Wpf/Left.png create mode 100644 Live-Charts-master/Examples/Wpf/Maps/GeoMapExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/Maps/GeoMapExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/PanelExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/PanelExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DoughnutChartExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DoughnutChartExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DropDowns/DataProvider.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DropDowns/DropDownCommand.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DropDowns/DropDownViewModel.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DropDowns/PieDropDownSample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DropDowns/PieDropDownSample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DropDowns/PiePoint.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/DropDowns/RelayCommand.cs create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/PieChartExample.xaml create mode 100644 Live-Charts-master/Examples/Wpf/PieChart/PieChartExample.xaml.cs create mode 100644 Live-Charts-master/Examples/Wpf/Properties/Annotations.cs create mode 100644 Live-Charts-master/Examples/Wpf/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/Examples/Wpf/Properties/Resources.Designer.cs create mode 100644 Live-Charts-master/Examples/Wpf/Properties/Resources.resx create mode 100644 Live-Charts-master/Examples/Wpf/Properties/Settings.Designer.cs create mode 100644 Live-Charts-master/Examples/Wpf/Properties/Settings.settings create mode 100644 Live-Charts-master/Examples/Wpf/Resources/AppDictionary.xaml create mode 100644 Live-Charts-master/Examples/Wpf/Resources/ChartResources.xaml create mode 100644 Live-Charts-master/Examples/Wpf/Resources/LiveChartsLogo.png create mode 100644 Live-Charts-master/Examples/Wpf/Right.png create mode 100644 Live-Charts-master/Examples/Wpf/Wpf.csproj create mode 100644 Live-Charts-master/Examples/Wpf/Wpf.csproj.DotSettings create mode 100644 Live-Charts-master/Examples/Wpf/cities.csv create mode 100644 Live-Charts-master/Examples/Wpf/lvlogo.png create mode 100644 Live-Charts-master/Examples/Wpf/packages.config create mode 100644 Live-Charts-master/LICENSE.TXT create mode 100644 Live-Charts-master/LiveCharts.sln create mode 100644 Live-Charts-master/LiveCharts.sln.DotSettings create mode 100644 Live-Charts-master/README.md create mode 100644 Live-Charts-master/UnitTests/MemoryLeaks/DrawnShapes.cs create mode 100644 Live-Charts-master/UnitTests/Other/SharedSeries.cs create mode 100644 Live-Charts-master/UnitTests/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/UnitTests/SeriesAndValues/NullAndEmpty.cs create mode 100644 Live-Charts-master/UnitTests/SeriesAndValues/SeriesAutoColors.cs create mode 100644 Live-Charts-master/UnitTests/UnitTests.csproj create mode 100644 Live-Charts-master/UnitTests/UnitTests.csproj.DotSettings create mode 100644 Live-Charts-master/UwpView/AngularGauge.cs create mode 100644 Live-Charts-master/UwpView/AngularSection.cs create mode 100644 Live-Charts-master/UwpView/AxesCollection.cs create mode 100644 Live-Charts-master/UwpView/Axis.cs create mode 100644 Live-Charts-master/UwpView/AxisSection.cs create mode 100644 Live-Charts-master/UwpView/CandleSeries.cs create mode 100644 Live-Charts-master/UwpView/CartesianChart.cs create mode 100644 Live-Charts-master/UwpView/Charts/Base/Chart.cs create mode 100644 Live-Charts-master/UwpView/ColorsCollection.cs create mode 100644 Live-Charts-master/UwpView/ColumnSeries.cs create mode 100644 Live-Charts-master/UwpView/Components/AnimationsHelper.cs create mode 100644 Live-Charts-master/UwpView/Components/AxisSeparatorElement.cs create mode 100644 Live-Charts-master/UwpView/Components/BrushCloner.cs create mode 100644 Live-Charts-master/UwpView/Components/ChartUpdater.cs create mode 100644 Live-Charts-master/UwpView/Components/Converters.cs create mode 100644 Live-Charts-master/UwpView/Components/DefaultXamlReader.cs create mode 100644 Live-Charts-master/UwpView/Components/DependencyObjectExtensions.cs create mode 100644 Live-Charts-master/UwpView/Components/GeometryHelper.cs create mode 100644 Live-Charts-master/UwpView/Components/GeometryParser.cs create mode 100644 Live-Charts-master/UwpView/Components/IFondeable.cs create mode 100644 Live-Charts-master/UwpView/Components/MultiBinding/DependencyObjectCollection.cs create mode 100644 Live-Charts-master/UwpView/Components/MultiBinding/MultiBindingBehavior.cs create mode 100644 Live-Charts-master/UwpView/Components/MultiBinding/MultiBindingItem.cs create mode 100644 Live-Charts-master/UwpView/Components/MultiBinding/MultiBindingItemCollection.cs create mode 100644 Live-Charts-master/UwpView/Components/MultiBinding/MultiValueConverterBase.cs create mode 100644 Live-Charts-master/UwpView/Components/TooltipDto.cs create mode 100644 Live-Charts-master/UwpView/Converters/StringFormatConverter.cs create mode 100644 Live-Charts-master/UwpView/Converters/TypeConverters.cs create mode 100644 Live-Charts-master/UwpView/DefaultAxes.cs create mode 100644 Live-Charts-master/UwpView/DefaultGeoMapTooltip.xaml create mode 100644 Live-Charts-master/UwpView/DefaultGeoMapTooltip.xaml.cs create mode 100644 Live-Charts-master/UwpView/DefaultGeometry.cs create mode 100644 Live-Charts-master/UwpView/DefaultLegend.xaml create mode 100644 Live-Charts-master/UwpView/DefaultLegend.xaml.cs create mode 100644 Live-Charts-master/UwpView/DefaultTooltip.xaml create mode 100644 Live-Charts-master/UwpView/DefaultTooltip.xaml.cs create mode 100644 Live-Charts-master/UwpView/Extentions.cs create mode 100644 Live-Charts-master/UwpView/Gauge.cs create mode 100644 Live-Charts-master/UwpView/GeoMap.cs create mode 100644 Live-Charts-master/UwpView/HeatColorRange.xaml create mode 100644 Live-Charts-master/UwpView/HeatColorRange.xaml.cs create mode 100644 Live-Charts-master/UwpView/HeatSeries.cs create mode 100644 Live-Charts-master/UwpView/IChartLegend.cs create mode 100644 Live-Charts-master/UwpView/IChartTooltip.cs create mode 100644 Live-Charts-master/UwpView/LineSegmentSplitter.cs create mode 100644 Live-Charts-master/UwpView/LineSeries.cs create mode 100644 Live-Charts-master/UwpView/LogarithmicAxis.cs create mode 100644 Live-Charts-master/UwpView/Maps/MapResolver.cs create mode 100644 Live-Charts-master/UwpView/OhlcSeries.cs create mode 100644 Live-Charts-master/UwpView/PieChart.cs create mode 100644 Live-Charts-master/UwpView/PieSeries.cs create mode 100644 Live-Charts-master/UwpView/PointGeometry.cs create mode 100644 Live-Charts-master/UwpView/Points/CandlePointView.cs create mode 100644 Live-Charts-master/UwpView/Points/ColumnPointView.cs create mode 100644 Live-Charts-master/UwpView/Points/HeatPoint.cs create mode 100644 Live-Charts-master/UwpView/Points/HorizontalBezierPointView.cs create mode 100644 Live-Charts-master/UwpView/Points/OhlcPointView.cs create mode 100644 Live-Charts-master/UwpView/Points/PiePointView.cs create mode 100644 Live-Charts-master/UwpView/Points/PieSlice.cs create mode 100644 Live-Charts-master/UwpView/Points/PointExtensions.cs create mode 100644 Live-Charts-master/UwpView/Points/PointView.cs create mode 100644 Live-Charts-master/UwpView/Points/RowPointView.cs create mode 100644 Live-Charts-master/UwpView/Points/ScatterPointView.cs create mode 100644 Live-Charts-master/UwpView/Points/StepLinePointView.cs create mode 100644 Live-Charts-master/UwpView/Points/VerticalBezierPointView.cs create mode 100644 Live-Charts-master/UwpView/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/UwpView/RowSeries.cs create mode 100644 Live-Charts-master/UwpView/ScatterSeries.cs create mode 100644 Live-Charts-master/UwpView/SectionsCollection.cs create mode 100644 Live-Charts-master/UwpView/Separator.cs create mode 100644 Live-Charts-master/UwpView/Series.cs create mode 100644 Live-Charts-master/UwpView/StackedAreaSeries.cs create mode 100644 Live-Charts-master/UwpView/StackedColumnSeries.cs create mode 100644 Live-Charts-master/UwpView/StackedRowSeries.cs create mode 100644 Live-Charts-master/UwpView/StepLineSeries.cs create mode 100644 Live-Charts-master/UwpView/Themes/Colors/black.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Colors/blue.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Colors/material.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Colors/metro.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Colors/white.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Size/l.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Size/m.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Size/s.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Weight/bold.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Weight/light.xaml create mode 100644 Live-Charts-master/UwpView/Themes/Weight/normal.xaml create mode 100644 Live-Charts-master/UwpView/Themes/base.xaml create mode 100644 Live-Charts-master/UwpView/UwpView.csproj create mode 100644 Live-Charts-master/UwpView/UwpView.nuspec create mode 100644 Live-Charts-master/UwpView/VerticalLineSeries.cs create mode 100644 Live-Charts-master/UwpView/VerticalStackedAreaSeries.cs create mode 100644 Live-Charts-master/UwpView/VisualElement.cs create mode 100644 Live-Charts-master/UwpView/install.ps1 create mode 100644 Live-Charts-master/UwpView/nuget.exe create mode 100644 Live-Charts-master/WinFormsView/AngularGauge.cs create mode 100644 Live-Charts-master/WinFormsView/CartesianChart.cs create mode 100644 Live-Charts-master/WinFormsView/Form1.Designer.cs create mode 100644 Live-Charts-master/WinFormsView/Form1.cs create mode 100644 Live-Charts-master/WinFormsView/Form1.resx create mode 100644 Live-Charts-master/WinFormsView/Gauge.cs create mode 100644 Live-Charts-master/WinFormsView/GeoMap.cs create mode 100644 Live-Charts-master/WinFormsView/PieChart.cs create mode 100644 Live-Charts-master/WinFormsView/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/WinFormsView/WinFormsView.csproj create mode 100644 Live-Charts-master/WinFormsView/WinFormsView.csproj.DotSettings create mode 100644 Live-Charts-master/WinFormsView/WinFormsView.nuspec create mode 100644 Live-Charts-master/WinFormsView/app.config create mode 100644 Live-Charts-master/WinFormsView/install.ps1 create mode 100644 Live-Charts-master/WinFormsView/nuget.exe create mode 100644 Live-Charts-master/WinFormsView/winforms.docs create mode 100644 Live-Charts-master/WpfView/AngularGauge.cs create mode 100644 Live-Charts-master/WpfView/AngularSection.cs create mode 100644 Live-Charts-master/WpfView/AxesCollection.cs create mode 100644 Live-Charts-master/WpfView/Axis.cs create mode 100644 Live-Charts-master/WpfView/AxisSection.cs create mode 100644 Live-Charts-master/WpfView/AxisWindowCollection.cs create mode 100644 Live-Charts-master/WpfView/CandleSeries.cs create mode 100644 Live-Charts-master/WpfView/CartesianChart.cs create mode 100644 Live-Charts-master/WpfView/Charts/Base/Chart.cs create mode 100644 Live-Charts-master/WpfView/ColorsCollection.cs create mode 100644 Live-Charts-master/WpfView/ColumnSeries.cs create mode 100644 Live-Charts-master/WpfView/Components/AxisSeparatorElement.cs create mode 100644 Live-Charts-master/WpfView/Components/ChartUpdater.cs create mode 100644 Live-Charts-master/WpfView/Components/Converters.cs create mode 100644 Live-Charts-master/WpfView/Components/DefaultXamlReader.cs create mode 100644 Live-Charts-master/WpfView/Components/IFondeable.cs create mode 100644 Live-Charts-master/WpfView/Components/ThreadAccess.cs create mode 100644 Live-Charts-master/WpfView/Components/TooltipDto.cs create mode 100644 Live-Charts-master/WpfView/Converters/TypeConverters.cs create mode 100644 Live-Charts-master/WpfView/DateAxis.cs create mode 100644 Live-Charts-master/WpfView/DefaultAxes.cs create mode 100644 Live-Charts-master/WpfView/DefaultGeoMapTooltip.xaml create mode 100644 Live-Charts-master/WpfView/DefaultGeoMapTooltip.xaml.cs create mode 100644 Live-Charts-master/WpfView/DefaultGeometry.cs create mode 100644 Live-Charts-master/WpfView/DefaultLegend.xaml create mode 100644 Live-Charts-master/WpfView/DefaultLegend.xaml.cs create mode 100644 Live-Charts-master/WpfView/DefaultTooltip.xaml create mode 100644 Live-Charts-master/WpfView/DefaultTooltip.xaml.cs create mode 100644 Live-Charts-master/WpfView/Desktop.csproj.DotSettings create mode 100644 Live-Charts-master/WpfView/Extentions.cs create mode 100644 Live-Charts-master/WpfView/FinancialColoringRule.cs create mode 100644 Live-Charts-master/WpfView/Gauge.cs create mode 100644 Live-Charts-master/WpfView/GeoMap.cs create mode 100644 Live-Charts-master/WpfView/HeatColorRange.xaml create mode 100644 Live-Charts-master/WpfView/HeatColorRange.xaml.cs create mode 100644 Live-Charts-master/WpfView/HeatSeries.cs create mode 100644 Live-Charts-master/WpfView/IChartLegend.cs create mode 100644 Live-Charts-master/WpfView/IChartTooltip.cs create mode 100644 Live-Charts-master/WpfView/LineSegmentSplitter.cs create mode 100644 Live-Charts-master/WpfView/LineSeries.cs create mode 100644 Live-Charts-master/WpfView/LiveChartsDesktop.csproj.DotSettings create mode 100644 Live-Charts-master/WpfView/LiveChartsWPF.csproj.DotSettings create mode 100644 Live-Charts-master/WpfView/LogarithmicAxis.cs create mode 100644 Live-Charts-master/WpfView/Maps/MapResolver.cs create mode 100644 Live-Charts-master/WpfView/OhlcSeries.cs create mode 100644 Live-Charts-master/WpfView/PieChart.cs create mode 100644 Live-Charts-master/WpfView/PieSeries.cs create mode 100644 Live-Charts-master/WpfView/Points/CandlePointView.cs create mode 100644 Live-Charts-master/WpfView/Points/ColumnPointView.cs create mode 100644 Live-Charts-master/WpfView/Points/HeatPoint.cs create mode 100644 Live-Charts-master/WpfView/Points/HorizontalBezierPointView.cs create mode 100644 Live-Charts-master/WpfView/Points/OhlcPointView.cs create mode 100644 Live-Charts-master/WpfView/Points/PiePointView.cs create mode 100644 Live-Charts-master/WpfView/Points/PieSlice.cs create mode 100644 Live-Charts-master/WpfView/Points/PointView.cs create mode 100644 Live-Charts-master/WpfView/Points/RowPointView.cs create mode 100644 Live-Charts-master/WpfView/Points/ScatterPointView.cs create mode 100644 Live-Charts-master/WpfView/Points/StepLinePointView.cs create mode 100644 Live-Charts-master/WpfView/Points/VerticalBezierPointView.cs create mode 100644 Live-Charts-master/WpfView/Properties/AssemblyInfo.cs create mode 100644 Live-Charts-master/WpfView/Properties/Resources.Designer.cs create mode 100644 Live-Charts-master/WpfView/Properties/Resources.resx create mode 100644 Live-Charts-master/WpfView/Properties/Settings.Designer.cs create mode 100644 Live-Charts-master/WpfView/Properties/Settings.settings create mode 100644 Live-Charts-master/WpfView/RowSeries.cs create mode 100644 Live-Charts-master/WpfView/ScatterSeries.cs create mode 100644 Live-Charts-master/WpfView/SectionsCollection.cs create mode 100644 Live-Charts-master/WpfView/Separator.cs create mode 100644 Live-Charts-master/WpfView/Series.cs create mode 100644 Live-Charts-master/WpfView/StackedAreaSeries.cs create mode 100644 Live-Charts-master/WpfView/StackedColumnSeries.cs create mode 100644 Live-Charts-master/WpfView/StackedRowSeries.cs create mode 100644 Live-Charts-master/WpfView/StepLineSeries.cs create mode 100644 Live-Charts-master/WpfView/Themes/Colors/black.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Colors/blue.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Colors/material.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Colors/metro.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Colors/white.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Size/l.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Size/m.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Size/s.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Weight/bold.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Weight/light.xaml create mode 100644 Live-Charts-master/WpfView/Themes/Weight/normal.xaml create mode 100644 Live-Charts-master/WpfView/Themes/base.xaml create mode 100644 Live-Charts-master/WpfView/VerticalLineSeries.cs create mode 100644 Live-Charts-master/WpfView/VerticalStackedAreaSeries.cs create mode 100644 Live-Charts-master/WpfView/VisualElement.cs create mode 100644 Live-Charts-master/WpfView/WindowAxis.cs create mode 100644 Live-Charts-master/WpfView/WpfView.csproj create mode 100644 Live-Charts-master/WpfView/WpfView.csproj.DotSettings create mode 100644 Live-Charts-master/WpfView/WpfView.nuspec create mode 100644 Live-Charts-master/WpfView/install.ps1 create mode 100644 Live-Charts-master/WpfView/nuget.exe create mode 100644 Live-Charts-master/WpfView/wpf.docs create mode 100644 Live-Charts-master/build.cake create mode 100644 Live-Charts-master/build.ps1 create mode 100644 Live-Charts-master/nuget.exe create mode 100644 Util.DiagramDesigner/Adorners/RubberbandAdorner.cs create mode 100644 Util.DiagramDesigner/AttachedProperties/DragAndDropProps.cs create mode 100644 Util.DiagramDesigner/AttachedProperties/ItemConnectProps.cs create mode 100644 Util.DiagramDesigner/AttachedProperties/SelectionProps.cs create mode 100644 Util.DiagramDesigner/Attributes/CanDoAttribute.cs create mode 100644 Util.DiagramDesigner/Controls/BorderResizeThumb.cs create mode 100644 Util.DiagramDesigner/Controls/CinchMenuItem.cs create mode 100644 Util.DiagramDesigner/Controls/Connector.cs create mode 100644 Util.DiagramDesigner/Controls/DesignerCanvas.cs create mode 100644 Util.DiagramDesigner/Controls/DragThumb.cs create mode 100644 Util.DiagramDesigner/Controls/PointConnector.cs create mode 100644 Util.DiagramDesigner/Controls/RelativePositionPanel.cs create mode 100644 Util.DiagramDesigner/Controls/ResizeThumb.cs create mode 100644 Util.DiagramDesigner/Controls/RotateThumb.cs create mode 100644 Util.DiagramDesigner/Controls/ZoomBox.cs create mode 100644 Util.DiagramDesigner/Converters/ArrowPathConverter.cs create mode 100644 Util.DiagramDesigner/Converters/ArrowSizeConverter.cs create mode 100644 Util.DiagramDesigner/Converters/BoolToVisibilityConverter.cs create mode 100644 Util.DiagramDesigner/Converters/ClipConverter.cs create mode 100644 Util.DiagramDesigner/Converters/ColorBrushConverter.cs create mode 100644 Util.DiagramDesigner/Converters/ConectorOrientationConverter.cs create mode 100644 Util.DiagramDesigner/Converters/ConectorValueConverter.cs create mode 100644 Util.DiagramDesigner/Converters/ConnectionPathConverter.cs create mode 100644 Util.DiagramDesigner/Converters/DoubleToThickness.cs create mode 100644 Util.DiagramDesigner/Converters/EnumDescriptionConverter.cs create mode 100644 Util.DiagramDesigner/Converters/ImageUrlConverter.cs create mode 100644 Util.DiagramDesigner/Converters/LineDashConverter.cs create mode 100644 Util.DiagramDesigner/Converters/TrueToFalseConverter.cs create mode 100644 Util.DiagramDesigner/Enums/ArrowPathStyle.cs create mode 100644 Util.DiagramDesigner/Enums/ArrowSizeStyle.cs create mode 100644 Util.DiagramDesigner/Enums/BrushType.cs create mode 100644 Util.DiagramDesigner/Enums/CellHorizontalAlignment.cs create mode 100644 Util.DiagramDesigner/Enums/ConnectorOrientation.cs create mode 100644 Util.DiagramDesigner/Enums/CursorMode.cs create mode 100644 Util.DiagramDesigner/Enums/DiagramType.cs create mode 100644 Util.DiagramDesigner/Enums/DrawMode.cs create mode 100644 Util.DiagramDesigner/Enums/FontCase.cs create mode 100644 Util.DiagramDesigner/Enums/HorizontalVerticalAlignment.cs create mode 100644 Util.DiagramDesigner/Enums/LineDashStyle.cs create mode 100644 Util.DiagramDesigner/Enums/LinearOrientation.cs create mode 100644 Util.DiagramDesigner/Enums/LockFlag.cs create mode 100644 Util.DiagramDesigner/Enums/LogicalType.cs create mode 100644 Util.DiagramDesigner/Enums/PageSizeOrientation.cs create mode 100644 Util.DiagramDesigner/Enums/PageSizeType.cs create mode 100644 Util.DiagramDesigner/Enums/PageUnit.cs create mode 100644 Util.DiagramDesigner/Enums/RadialOrientation.cs create mode 100644 Util.DiagramDesigner/Enums/ValueTypePoint.cs create mode 100644 Util.DiagramDesigner/Helpers/ColorHelper.cs create mode 100644 Util.DiagramDesigner/Helpers/ColorPickerManager.cs create mode 100644 Util.DiagramDesigner/Helpers/ConnectorInfo.cs create mode 100644 Util.DiagramDesigner/Helpers/ControlExtession.cs create mode 100644 Util.DiagramDesigner/Helpers/ControlMouseDoubleClickCommandBehavior.cs create mode 100644 Util.DiagramDesigner/Helpers/ControlMouseLeftButtonDownCommandBehavior.cs create mode 100644 Util.DiagramDesigner/Helpers/CopyHelper.cs create mode 100644 Util.DiagramDesigner/Helpers/CursorPointManager.cs create mode 100644 Util.DiagramDesigner/Helpers/DoCommandManager.cs create mode 100644 Util.DiagramDesigner/Helpers/DragObject.cs create mode 100644 Util.DiagramDesigner/Helpers/EnumExtension.cs create mode 100644 Util.DiagramDesigner/Helpers/EventToCommandArgs.cs create mode 100644 Util.DiagramDesigner/Helpers/Extention.Object.cs create mode 100644 Util.DiagramDesigner/Helpers/IPathFinder.cs create mode 100644 Util.DiagramDesigner/Helpers/OrthogonalPathFinder.cs create mode 100644 Util.DiagramDesigner/Helpers/PointHelper.cs create mode 100644 Util.DiagramDesigner/Helpers/ToolBoxData.cs create mode 100644 Util.DiagramDesigner/Helpers/WeakINPCEventHandler.cs create mode 100644 Util.DiagramDesigner/Images/FormatPainter.cur create mode 100644 Util.DiagramDesigner/Images/Gifs/car_chase.gif create mode 100644 Util.DiagramDesigner/Images/file.png create mode 100644 Util.DiagramDesigner/Messenger/Mediator.cs create mode 100644 Util.DiagramDesigner/Messenger/MediatorMessageSinkAttribute.cs create mode 100644 Util.DiagramDesigner/Models/ConnectionItem.cs create mode 100644 Util.DiagramDesigner/Models/ConnectorItem.cs create mode 100644 Util.DiagramDesigner/Models/DesignerItemBase.cs create mode 100644 Util.DiagramDesigner/Models/ImageDesignerItem.cs create mode 100644 Util.DiagramDesigner/Models/LogicalGateDesignerItemBase.cs create mode 100644 Util.DiagramDesigner/Models/MediaDesignerItem.cs create mode 100644 Util.DiagramDesigner/Models/SelectableDesignerItemBase.cs create mode 100644 Util.DiagramDesigner/Models/TextDesignerItem.cs create mode 100644 Util.DiagramDesigner/Paths/ArrowPathData.cs create mode 100644 Util.DiagramDesigner/Paths/StrokeDashArray.cs create mode 100644 Util.DiagramDesigner/Properties/AssemblyInfo.cs create mode 100644 Util.DiagramDesigner/Resources/Styles/DesignerItems.xaml create mode 100644 Util.DiagramDesigner/Resources/Styles/Expander.xaml create mode 100644 Util.DiagramDesigner/Resources/Styles/GroupBox.xaml create mode 100644 Util.DiagramDesigner/Resources/Styles/ScrollBar.xaml create mode 100644 Util.DiagramDesigner/Resources/Styles/ScrollViewer.xaml create mode 100644 Util.DiagramDesigner/Resources/Styles/Shared.xaml create mode 100644 Util.DiagramDesigner/Resources/Styles/ToolTip.xaml create mode 100644 Util.DiagramDesigner/Resources/Styles/ZoomBox.xaml create mode 100644 Util.DiagramDesigner/StyleSelectors/DesignerItemsControlItemStyleSelector.cs create mode 100644 Util.DiagramDesigner/Themes/Generic.xaml create mode 100644 Util.DiagramDesigner/UserControls/ConnectorContainer.xaml create mode 100644 Util.DiagramDesigner/UserControls/ConnectorContainer.xaml.cs create mode 100644 Util.DiagramDesigner/UserControls/DiagramControl.xaml create mode 100644 Util.DiagramDesigner/UserControls/DiagramControl.xaml.cs create mode 100644 Util.DiagramDesigner/UserControls/TextControl.xaml create mode 100644 Util.DiagramDesigner/UserControls/TextControl.xaml.cs create mode 100644 Util.DiagramDesigner/Util.DiagramDesigner.csproj create mode 100644 Util.DiagramDesigner/Util.DiagramDesigner_kn2lil5m_wpftmp.csproj create mode 100644 Util.DiagramDesigner/Util.DiagramDesigner_q2uer1wu_wpftmp.csproj create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/ColorViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/DiagramServicesProvider.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/DrawModeViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/FontViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/IColorViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/IDrawModeViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/IFontViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/ILockObjectViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/IQuickThemeViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/LockObjectViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/AdditionViewModel/QuickThemeViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/BaseViewModel/ConnectorInfoBase.cs create mode 100644 Util.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs create mode 100644 Util.DiagramDesigner/ViewModels/BaseViewModel/GroupDesignerItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/BaseViewModel/LogicalGateItemViewModelBase.cs create mode 100644 Util.DiagramDesigner/ViewModels/BaseViewModel/SelectableDesignerItemViewModelBase.cs create mode 100644 Util.DiagramDesigner/ViewModels/BindableBase.cs create mode 100644 Util.DiagramDesigner/ViewModels/ConnectorViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/DiagramViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/FullyCreatedConnectorInfo.cs create mode 100644 Util.DiagramDesigner/ViewModels/IDiagramViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/IGroupable.cs create mode 100644 Util.DiagramDesigner/ViewModels/INPCBase.cs create mode 100644 Util.DiagramDesigner/ViewModels/ISelectable.cs create mode 100644 Util.DiagramDesigner/ViewModels/PartCreatedConnectionInfo.cs create mode 100644 Util.DiagramDesigner/ViewModels/SelectionService.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleCommand.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/GifImageItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/ImageItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/LinkPointDesignerItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/MediaItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/PointDesignerItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/ShapeDesignerItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/TextDesignerItemViewModel.cs create mode 100644 Util.DiagramDesigner/ViewModels/SimpleViewModel/VideoItemViewModel.cs create mode 100644 WpfAnimatedGif/AnimationCache.cs create mode 100644 WpfAnimatedGif/AssemblyInfo.cs create mode 100644 WpfAnimatedGif/Decoding/GifApplicationExtension.cs create mode 100644 WpfAnimatedGif/Decoding/GifBlock.cs create mode 100644 WpfAnimatedGif/Decoding/GifBlockKind.cs create mode 100644 WpfAnimatedGif/Decoding/GifColor.cs create mode 100644 WpfAnimatedGif/Decoding/GifCommentExtension.cs create mode 100644 WpfAnimatedGif/Decoding/GifDecoderException.cs create mode 100644 WpfAnimatedGif/Decoding/GifExtension.cs create mode 100644 WpfAnimatedGif/Decoding/GifFile.cs create mode 100644 WpfAnimatedGif/Decoding/GifFrame.cs create mode 100644 WpfAnimatedGif/Decoding/GifGraphicControlExtension.cs create mode 100644 WpfAnimatedGif/Decoding/GifHeader.cs create mode 100644 WpfAnimatedGif/Decoding/GifHelpers.cs create mode 100644 WpfAnimatedGif/Decoding/GifImageData.cs create mode 100644 WpfAnimatedGif/Decoding/GifImageDescriptor.cs create mode 100644 WpfAnimatedGif/Decoding/GifLogicalScreenDescriptor.cs create mode 100644 WpfAnimatedGif/Decoding/GifPlainTextExtension.cs create mode 100644 WpfAnimatedGif/Decoding/GifTrailer.cs create mode 100644 WpfAnimatedGif/ImageAnimationController.cs create mode 100644 WpfAnimatedGif/ImageBehavior.cs create mode 100644 WpfAnimatedGif/WpfAnimatedGif.csproj create mode 100644 gong-wpf-dragdrop/.editorconfig create mode 100644 gong-wpf-dragdrop/.gitattributes create mode 100644 gong-wpf-dragdrop/.github/CONTRIBUTING.md create mode 100644 gong-wpf-dragdrop/.github/ISSUE_TEMPLATE.md create mode 100644 gong-wpf-dragdrop/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 gong-wpf-dragdrop/.gitignore create mode 100644 gong-wpf-dragdrop/GitReleaseManager.yaml create mode 100644 gong-wpf-dragdrop/GitVersion.yml create mode 100644 gong-wpf-dragdrop/GongSolutions.Wpf.DragDrop.Full.png create mode 100644 gong-wpf-dragdrop/GongSolutions.Wpf.DragDrop.png create mode 100644 gong-wpf-dragdrop/LICENSE create mode 100644 gong-wpf-dragdrop/README.md create mode 100644 gong-wpf-dragdrop/XamlStyler/CommandLine.dll create mode 100644 gong-wpf-dragdrop/XamlStyler/CommandLine.xml create mode 100644 gong-wpf-dragdrop/XamlStyler/Irony.dll create mode 100644 gong-wpf-dragdrop/XamlStyler/Irony.xml create mode 100644 gong-wpf-dragdrop/XamlStyler/Newtonsoft.Json.dll create mode 100644 gong-wpf-dragdrop/XamlStyler/Newtonsoft.Json.xml create mode 100644 gong-wpf-dragdrop/XamlStyler/Options/DefaultSettings.json create mode 100644 gong-wpf-dragdrop/XamlStyler/Options/XAMLStyler.json create mode 100644 gong-wpf-dragdrop/XamlStyler/XamlStyler.Core.dll create mode 100644 gong-wpf-dragdrop/XamlStyler/format_all_xaml.cmd create mode 100644 gong-wpf-dragdrop/XamlStyler/xstyler.exe create mode 100644 gong-wpf-dragdrop/XamlStyler/xstyler.exe.config create mode 100644 gong-wpf-dragdrop/appveyor.yml create mode 100644 gong-wpf-dragdrop/build.cake create mode 100644 gong-wpf-dragdrop/build.ps1 create mode 100644 gong-wpf-dragdrop/cake.config create mode 100644 gong-wpf-dragdrop/screenshots/2016-09-03_00h51_35.png create mode 100644 gong-wpf-dragdrop/screenshots/2016-09-03_00h52_20.png create mode 100644 gong-wpf-dragdrop/screenshots/2016-09-03_00h53_03.png create mode 100644 gong-wpf-dragdrop/screenshots/2016-09-03_00h53_21.png create mode 100644 gong-wpf-dragdrop/screenshots/DragDropSample01.gif create mode 100644 gong-wpf-dragdrop/src/Directory.build.props create mode 100644 gong-wpf-dragdrop/src/Directory.build.targets create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop.sln create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop.sln.DotSettings create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DefaultDragHandler.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Directory.build.targets create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DragAdorner.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DragDrop.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DragInfo.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DropInfo.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DropTargetAdorner.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DropTargetAdorners.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/DropTargetInsertionAdorner.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/EventType.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/GongSolutions.WPF.DragDrop.csproj create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/IDragInfo.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/IDragSource.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/IDropInfo.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/IDropTarget.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Icons/EffectCopy.png create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Icons/EffectLink.png create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Icons/EffectMove.png create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Icons/EffectNone.png create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Icons/IconFactory.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Properties/AssemblyInfo.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/ScrollingMode.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/DpiHelper.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/DragDropExtensions.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/HitTestUtilities.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/ItemsControlExtensions.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/RootElementFinder.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/TreeViewItemExtensions.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/TypeUtilities.cs create mode 100644 gong-wpf-dragdrop/src/GongSolutions.WPF.DragDrop/Utilities/VisualTreeExtensions.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/App.net45.config create mode 100644 gong-wpf-dragdrop/src/Showcase/App.net46.config create mode 100644 gong-wpf-dragdrop/src/Showcase/App.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/App.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/CustomControls/CustomListBox.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/FodyWeavers.xml create mode 100644 gong-wpf-dragdrop/src/Showcase/FodyWeavers.xsd create mode 100644 gong-wpf-dragdrop/src/Showcase/MainWindow.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/MainWindow.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/ClonableItemModel.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/DataGridRowModel.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/DragAdornerTemplateSelector.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/GroupedDropHandler.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/GroupedItem.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/ItemModel.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/ListBoxCustomDropHandler.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/NestedDropHandler.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/SampleData.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/SerializableDragHandler.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/SerializableDropHandler.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/TabItemModel.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/TextBoxCustomDropHandler.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Models/TreeNode.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Properties/AssemblyInfo.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Showcase.WPF.DragDrop.csproj create mode 100644 gong-wpf-dragdrop/src/Showcase/ViewModels/MainViewModel.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/ViewModels/SimpleCommand.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/ViewModels/ViewModelBase.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/DataGridSamples.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/DataGridSamples.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/Issues.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/Issues.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/ListBoxSamples.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/ListBoxSamples.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/ListViewSamples.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/ListViewSamples.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/MixedSamples.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/MixedSamples.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/TabControlSamples.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/TabControlSamples.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/TreeViewSamples.xaml create mode 100644 gong-wpf-dragdrop/src/Showcase/Views/TreeViewSamples.xaml.cs create mode 100644 gong-wpf-dragdrop/src/Showcase/app.manifest create mode 100644 gong-wpf-dragdrop/src/global.json create mode 100644 gong-wpf-dragdrop/src/gong.public.snk create mode 100644 zxing.core/WPFDemo/App.xaml create mode 100644 zxing.core/WPFDemo/App.xaml.cs create mode 100644 zxing.core/WPFDemo/AssemblyInfo.cs create mode 100644 zxing.core/WPFDemo/MainWindow.xaml create mode 100644 zxing.core/WPFDemo/MainWindow.xaml.cs create mode 100644 zxing.core/WPFDemo/WPFDemo.csproj create mode 100644 zxing.core/xx/BarcodeFormat.cs create mode 100644 zxing.core/xx/BarcodeReader.Bitmap.cs create mode 100644 zxing.core/xx/BarcodeReaderCustom.cs create mode 100644 zxing.core/xx/BarcodeReaderGeneric.cs create mode 100644 zxing.core/xx/BarcodeWriterGeneric.cs create mode 100644 zxing.core/xx/BaseLuminanceSource.cs create mode 100644 zxing.core/xx/Binarizer.cs create mode 100644 zxing.core/xx/BinaryBitmap.cs create mode 100644 zxing.core/xx/DecodeHintType.cs create mode 100644 zxing.core/xx/Dimension.cs create mode 100644 zxing.core/xx/EncodeHintType.cs create mode 100644 zxing.core/xx/FormatException.cs create mode 100644 zxing.core/xx/IBarcodeReader.cs create mode 100644 zxing.core/xx/IBarcodeReaderCustom.cs create mode 100644 zxing.core/xx/IBarcodeReaderGeneric.cs create mode 100644 zxing.core/xx/IBarcodeWriter.cs create mode 100644 zxing.core/xx/IBarcodeWriterGeneric.cs create mode 100644 zxing.core/xx/IMultipleBarcodeReader.cs create mode 100644 zxing.core/xx/IMultipleBarcodeReaderGeneric.cs create mode 100644 zxing.core/xx/InvertedLuminanceSource.cs create mode 100644 zxing.core/xx/LuminanceSource.cs create mode 100644 zxing.core/xx/MultiFormatReader.cs create mode 100644 zxing.core/xx/MultiFormatWriter.cs create mode 100644 zxing.core/xx/PlanarYUVLuminanceSource.cs create mode 100644 zxing.core/xx/RGB565LuminanceSource.cs create mode 100644 zxing.core/xx/RGBLuminanceSource.cs create mode 100644 zxing.core/xx/Reader.cs create mode 100644 zxing.core/xx/ReaderException.cs create mode 100644 zxing.core/xx/Result.cs create mode 100644 zxing.core/xx/ResultMetadataType.cs create mode 100644 zxing.core/xx/ResultPoint.cs create mode 100644 zxing.core/xx/ResultPointCallback.cs create mode 100644 zxing.core/xx/SupportClass.cs create mode 100644 zxing.core/xx/Writer.cs create mode 100644 zxing.core/xx/WriterException.cs create mode 100644 zxing.core/xx/aztec/AztecDetectorResult.cs create mode 100644 zxing.core/xx/aztec/AztecReader.cs create mode 100644 zxing.core/xx/aztec/AztecResultMetadata.cs create mode 100644 zxing.core/xx/aztec/AztecWriter.cs create mode 100644 zxing.core/xx/aztec/decoder/Decoder.cs create mode 100644 zxing.core/xx/aztec/detector/Detector.cs create mode 100644 zxing.core/xx/aztec/encoder/AztecCode.cs create mode 100644 zxing.core/xx/aztec/encoder/AztecEncodingOptions.cs create mode 100644 zxing.core/xx/aztec/encoder/BinaryShiftToken.cs create mode 100644 zxing.core/xx/aztec/encoder/Encoder.cs create mode 100644 zxing.core/xx/aztec/encoder/HighLevelEncoder.cs create mode 100644 zxing.core/xx/aztec/encoder/SimpleToken.cs create mode 100644 zxing.core/xx/aztec/encoder/State.cs create mode 100644 zxing.core/xx/aztec/encoder/Token.cs create mode 100644 zxing.core/xx/common/BitArray.cs create mode 100644 zxing.core/xx/common/BitMatrix.cs create mode 100644 zxing.core/xx/common/BitSource.cs create mode 100644 zxing.core/xx/common/CharacterSetECI.cs create mode 100644 zxing.core/xx/common/DecoderResult.cs create mode 100644 zxing.core/xx/common/DecodingOptions.cs create mode 100644 zxing.core/xx/common/DefaultGridSampler.cs create mode 100644 zxing.core/xx/common/DetectorResult.cs create mode 100644 zxing.core/xx/common/ECI.cs create mode 100644 zxing.core/xx/common/EncodingOptions.cs create mode 100644 zxing.core/xx/common/GlobalHistogramBinarizer.cs create mode 100644 zxing.core/xx/common/GridSampler.cs create mode 100644 zxing.core/xx/common/HybridBinarizer.cs create mode 100644 zxing.core/xx/common/PerspectiveTransform.cs create mode 100644 zxing.core/xx/common/StringUtils.cs create mode 100644 zxing.core/xx/common/detector/MathUtils.cs create mode 100644 zxing.core/xx/common/detector/MonochromeRectangleDetector.cs create mode 100644 zxing.core/xx/common/detector/WhiteRectangleDetector.cs create mode 100644 zxing.core/xx/common/reedsolomon/GenericGF.cs create mode 100644 zxing.core/xx/common/reedsolomon/GenericGFPoly.cs create mode 100644 zxing.core/xx/common/reedsolomon/ReedSolomonDecoder.cs create mode 100644 zxing.core/xx/common/reedsolomon/ReedSolomonEncoder.cs create mode 100644 zxing.core/xx/datamatrix/DataMatrixReader.cs create mode 100644 zxing.core/xx/datamatrix/DataMatrixWriter.cs create mode 100644 zxing.core/xx/datamatrix/decoder/BitMatrixParser.cs create mode 100644 zxing.core/xx/datamatrix/decoder/DataBlock.cs create mode 100644 zxing.core/xx/datamatrix/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/xx/datamatrix/decoder/Decoder.cs create mode 100644 zxing.core/xx/datamatrix/decoder/Version.cs create mode 100644 zxing.core/xx/datamatrix/detector/Detector.cs create mode 100644 zxing.core/xx/datamatrix/encoder/ASCIIEncoder.cs create mode 100644 zxing.core/xx/datamatrix/encoder/Base256Encoder.cs create mode 100644 zxing.core/xx/datamatrix/encoder/C40Encoder.cs create mode 100644 zxing.core/xx/datamatrix/encoder/DataMatrixSymbolInfo144.cs create mode 100644 zxing.core/xx/datamatrix/encoder/DatamatrixEncodingOptions.cs create mode 100644 zxing.core/xx/datamatrix/encoder/DefaultPlacement.cs create mode 100644 zxing.core/xx/datamatrix/encoder/EdifactEncoder.cs create mode 100644 zxing.core/xx/datamatrix/encoder/Encodation.cs create mode 100644 zxing.core/xx/datamatrix/encoder/Encoder.cs create mode 100644 zxing.core/xx/datamatrix/encoder/EncoderContext.cs create mode 100644 zxing.core/xx/datamatrix/encoder/ErrorCorrection.cs create mode 100644 zxing.core/xx/datamatrix/encoder/HighLevelEncoder.cs create mode 100644 zxing.core/xx/datamatrix/encoder/SymbolInfo.cs create mode 100644 zxing.core/xx/datamatrix/encoder/SymbolShapeHint.cs create mode 100644 zxing.core/xx/datamatrix/encoder/TextEncoder.cs create mode 100644 zxing.core/xx/datamatrix/encoder/X12Encoder.cs create mode 100644 zxing.core/xx/documentation/zxing.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.net2.0.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.net3.5.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.portable.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.sl4.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.sl5.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.unity.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.wp7.0.doc.shfbproj create mode 100644 zxing.core/xx/documentation/zxing.wp7.1.doc.shfbproj create mode 100644 zxing.core/xx/imb/IMBReader.cs create mode 100644 zxing.core/xx/maxicode/MaxiCodeReader.cs create mode 100644 zxing.core/xx/maxicode/decoder/BitMatrixParser.cs create mode 100644 zxing.core/xx/maxicode/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/xx/maxicode/decoder/Decoder.cs create mode 100644 zxing.core/xx/multi/ByQuadrantReader.cs create mode 100644 zxing.core/xx/multi/GenericMultipleBarcodeReader.cs create mode 100644 zxing.core/xx/multi/MultipleBarcodeReader.cs create mode 100644 zxing.core/xx/multi/qrcode/QRCodeMultiReader.cs create mode 100644 zxing.core/xx/multi/qrcode/detector/MultiDetector.cs create mode 100644 zxing.core/xx/multi/qrcode/detector/MultiFinderPatternFinder.cs create mode 100644 zxing.core/xx/oned/CodaBarReader.cs create mode 100644 zxing.core/xx/oned/CodaBarWriter.cs create mode 100644 zxing.core/xx/oned/Code128EncodingOptions.cs create mode 100644 zxing.core/xx/oned/Code128Reader.cs create mode 100644 zxing.core/xx/oned/Code128Writer.cs create mode 100644 zxing.core/xx/oned/Code39Reader.cs create mode 100644 zxing.core/xx/oned/Code39Writer.cs create mode 100644 zxing.core/xx/oned/Code93Reader.cs create mode 100644 zxing.core/xx/oned/EAN13Reader.cs create mode 100644 zxing.core/xx/oned/EAN13Writer.cs create mode 100644 zxing.core/xx/oned/EAN8Reader.cs create mode 100644 zxing.core/xx/oned/EAN8Writer.cs create mode 100644 zxing.core/xx/oned/EANManufacturerOrgSupport.cs create mode 100644 zxing.core/xx/oned/ITFReader.cs create mode 100644 zxing.core/xx/oned/ITFWriter.cs create mode 100644 zxing.core/xx/oned/MSIReader.cs create mode 100644 zxing.core/xx/oned/MSIWriter.cs create mode 100644 zxing.core/xx/oned/MultiFormatOneDReader.cs create mode 100644 zxing.core/xx/oned/MultiFormatUPCEANReader.cs create mode 100644 zxing.core/xx/oned/OneDReader.cs create mode 100644 zxing.core/xx/oned/OneDimensionalCodeWriter.cs create mode 100644 zxing.core/xx/oned/PlesseyWriter.cs create mode 100644 zxing.core/xx/oned/UPCAReader.cs create mode 100644 zxing.core/xx/oned/UPCAWriter.cs create mode 100644 zxing.core/xx/oned/UPCEANExtension2Support.cs create mode 100644 zxing.core/xx/oned/UPCEANExtension5Support.cs create mode 100644 zxing.core/xx/oned/UPCEANExtensionSupport.cs create mode 100644 zxing.core/xx/oned/UPCEANReader.cs create mode 100644 zxing.core/xx/oned/UPCEANWriter.cs create mode 100644 zxing.core/xx/oned/UPCEReader.cs create mode 100644 zxing.core/xx/oned/rss/AbstractRSSReader.cs create mode 100644 zxing.core/xx/oned/rss/DataCharacter.cs create mode 100644 zxing.core/xx/oned/rss/FinderPattern.cs create mode 100644 zxing.core/xx/oned/rss/Pair.cs create mode 100644 zxing.core/xx/oned/rss/RSS14Reader.cs create mode 100644 zxing.core/xx/oned/rss/RSSUtils.cs create mode 100644 zxing.core/xx/oned/rss/expanded/BitArrayBuilder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/ExpandedPair.cs create mode 100644 zxing.core/xx/oned/rss/expanded/ExpandedRow.cs create mode 100644 zxing.core/xx/oned/rss/expanded/RSSExpandedReader.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI013103decoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI01320xDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI01392xDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI01393xDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI013x0x1xDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI013x0xDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI01AndOtherAIs.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI01decoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AI01weightDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AbstractExpandedDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/AnyAIDecoder.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/BlockParsedResult.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/CurrentParsingState.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/DecodedChar.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/DecodedInformation.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/DecodedNumeric.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/DecodedObject.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/FieldParser.cs create mode 100644 zxing.core/xx/oned/rss/expanded/decoders/GeneralAppIdDecoder.cs create mode 100644 zxing.core/xx/pdf417/PDF417Common.cs create mode 100644 zxing.core/xx/pdf417/PDF417Reader.cs create mode 100644 zxing.core/xx/pdf417/PDF417ResultMetadata.cs create mode 100644 zxing.core/xx/pdf417/PDF417Writer.cs create mode 100644 zxing.core/xx/pdf417/decoder/BarcodeMetadata.cs create mode 100644 zxing.core/xx/pdf417/decoder/BarcodeValue.cs create mode 100644 zxing.core/xx/pdf417/decoder/BoundingBox.cs create mode 100644 zxing.core/xx/pdf417/decoder/Codeword.cs create mode 100644 zxing.core/xx/pdf417/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/xx/pdf417/decoder/DetectionResult.cs create mode 100644 zxing.core/xx/pdf417/decoder/DetectionResultColumn.cs create mode 100644 zxing.core/xx/pdf417/decoder/DetectionResultRowIndicatorColumn.cs create mode 100644 zxing.core/xx/pdf417/decoder/PDF417CodewordDecoder.cs create mode 100644 zxing.core/xx/pdf417/decoder/PDF417ScanningDecoder.cs create mode 100644 zxing.core/xx/pdf417/decoder/ec/ErrorCorrection.cs create mode 100644 zxing.core/xx/pdf417/decoder/ec/ModulusGF.cs create mode 100644 zxing.core/xx/pdf417/decoder/ec/ModulusPoly.cs create mode 100644 zxing.core/xx/pdf417/detector/Detector.cs create mode 100644 zxing.core/xx/pdf417/detector/PDF417DetectorResult.cs create mode 100644 zxing.core/xx/pdf417/encoder/BarcodeMatrix.cs create mode 100644 zxing.core/xx/pdf417/encoder/BarcodeRow.cs create mode 100644 zxing.core/xx/pdf417/encoder/Compaction.cs create mode 100644 zxing.core/xx/pdf417/encoder/Dimensions.cs create mode 100644 zxing.core/xx/pdf417/encoder/PDF417.cs create mode 100644 zxing.core/xx/pdf417/encoder/PDF417EncodingOptions.cs create mode 100644 zxing.core/xx/pdf417/encoder/PDF417ErrorCorrection.cs create mode 100644 zxing.core/xx/pdf417/encoder/PDF417HighLevelEncoder.cs create mode 100644 zxing.core/xx/presentation/BarcodeReader.Extensions.cs create mode 100644 zxing.core/xx/presentation/BarcodeReader.cs create mode 100644 zxing.core/xx/presentation/BarcodeWriter.Extensions.cs create mode 100644 zxing.core/xx/presentation/BarcodeWriter.cs create mode 100644 zxing.core/xx/presentation/BarcodeWriterGeometry.Extensions.cs create mode 100644 zxing.core/xx/presentation/BarcodeWriterGeometry.cs create mode 100644 zxing.core/xx/project.json create mode 100644 zxing.core/xx/qrcode/QRCodeReader.cs create mode 100644 zxing.core/xx/qrcode/QRCodeWriter.cs create mode 100644 zxing.core/xx/qrcode/decoder/BitMatrixParser.cs create mode 100644 zxing.core/xx/qrcode/decoder/DataBlock.cs create mode 100644 zxing.core/xx/qrcode/decoder/DataMask.cs create mode 100644 zxing.core/xx/qrcode/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/xx/qrcode/decoder/Decoder.cs create mode 100644 zxing.core/xx/qrcode/decoder/ErrorCorrectionLevel.cs create mode 100644 zxing.core/xx/qrcode/decoder/FormatInformation.cs create mode 100644 zxing.core/xx/qrcode/decoder/Mode.cs create mode 100644 zxing.core/xx/qrcode/decoder/QRCodeDecoderMetaData.cs create mode 100644 zxing.core/xx/qrcode/decoder/Version.cs create mode 100644 zxing.core/xx/qrcode/detector/AlignmentPattern.cs create mode 100644 zxing.core/xx/qrcode/detector/AlignmentPatternFinder.cs create mode 100644 zxing.core/xx/qrcode/detector/Detector.cs create mode 100644 zxing.core/xx/qrcode/detector/FinderPattern.cs create mode 100644 zxing.core/xx/qrcode/detector/FinderPatternFinder.cs create mode 100644 zxing.core/xx/qrcode/detector/FinderPatternInfo.cs create mode 100644 zxing.core/xx/qrcode/encoder/BlockPair.cs create mode 100644 zxing.core/xx/qrcode/encoder/ByteMatrix.cs create mode 100644 zxing.core/xx/qrcode/encoder/Encoder.cs create mode 100644 zxing.core/xx/qrcode/encoder/MaskUtil.cs create mode 100644 zxing.core/xx/qrcode/encoder/MatrixUtil.cs create mode 100644 zxing.core/xx/qrcode/encoder/QRCode.cs create mode 100644 zxing.core/xx/qrcode/encoder/QrCodeEncodingOptions.cs create mode 100644 zxing.core/xx/renderer/IBarcodeRenderer.cs create mode 100644 zxing.core/xx/renderer/PixelData.cs create mode 100644 zxing.core/xx/renderer/RawRenderer.cs create mode 100644 zxing.core/zxing.core.sln create mode 100644 zxing.core/zxing.core/BarcodeFormat.cs create mode 100644 zxing.core/zxing.core/BarcodeReader.Bitmap.cs create mode 100644 zxing.core/zxing.core/BarcodeReaderCustom.cs create mode 100644 zxing.core/zxing.core/BarcodeReaderGeneric.cs create mode 100644 zxing.core/zxing.core/BarcodeWriter.Bitmap.cs create mode 100644 zxing.core/zxing.core/BarcodeWriter.PixelData.cs create mode 100644 zxing.core/zxing.core/BarcodeWriter.SvgImage.cs create mode 100644 zxing.core/zxing.core/BarcodeWriterCustom.cs create mode 100644 zxing.core/zxing.core/BarcodeWriterGeneric.cs create mode 100644 zxing.core/zxing.core/BaseLuminanceSource.cs create mode 100644 zxing.core/zxing.core/Binarizer.cs create mode 100644 zxing.core/zxing.core/BinaryBitmap.cs create mode 100644 zxing.core/zxing.core/BitmapLuminanceSource.cs create mode 100644 zxing.core/zxing.core/BitmapSourceLuminanceSource.cs create mode 100644 zxing.core/zxing.core/DecodeHintType.cs create mode 100644 zxing.core/zxing.core/Dimension.cs create mode 100644 zxing.core/zxing.core/EncodeHintType.cs create mode 100644 zxing.core/zxing.core/FormatException.cs create mode 100644 zxing.core/zxing.core/IBarcodeReader.Bitmap.cs create mode 100644 zxing.core/zxing.core/IBarcodeReader.Multiple.cs create mode 100644 zxing.core/zxing.core/IBarcodeReader.cs create mode 100644 zxing.core/zxing.core/IBarcodeReaderCustom.Multiple.cs create mode 100644 zxing.core/zxing.core/IBarcodeReaderCustom.cs create mode 100644 zxing.core/zxing.core/IBarcodeReaderGeneric.Multiple.cs create mode 100644 zxing.core/zxing.core/IBarcodeReaderGeneric.cs create mode 100644 zxing.core/zxing.core/IBarcodeWriter.Bitmap.cs create mode 100644 zxing.core/zxing.core/IBarcodeWriter.PixelData.cs create mode 100644 zxing.core/zxing.core/IBarcodeWriter.SvgImage.cs create mode 100644 zxing.core/zxing.core/IBarcodeWriter.cs create mode 100644 zxing.core/zxing.core/IBarcodeWriterCustom.cs create mode 100644 zxing.core/zxing.core/IBarcodeWriterGeneric.cs create mode 100644 zxing.core/zxing.core/InvertedLuminanceSource.cs create mode 100644 zxing.core/zxing.core/LuminanceSource.cs create mode 100644 zxing.core/zxing.core/MultiFormatReader.cs create mode 100644 zxing.core/zxing.core/MultiFormatWriter.cs create mode 100644 zxing.core/zxing.core/PlanarYUVLuminanceSource.cs create mode 100644 zxing.core/zxing.core/RGBLuminanceSource.cs create mode 100644 zxing.core/zxing.core/Reader.cs create mode 100644 zxing.core/zxing.core/ReaderException.cs create mode 100644 zxing.core/zxing.core/Result.cs create mode 100644 zxing.core/zxing.core/ResultMetadataType.cs create mode 100644 zxing.core/zxing.core/ResultPoint.cs create mode 100644 zxing.core/zxing.core/ResultPointCallback.cs create mode 100644 zxing.core/zxing.core/SupportClass.cs create mode 100644 zxing.core/zxing.core/Writer.cs create mode 100644 zxing.core/zxing.core/WriterException.cs create mode 100644 zxing.core/zxing.core/aztec/AztecDetectorResult.cs create mode 100644 zxing.core/zxing.core/aztec/AztecReader.cs create mode 100644 zxing.core/zxing.core/aztec/AztecResultMetadata.cs create mode 100644 zxing.core/zxing.core/aztec/AztecWriter.cs create mode 100644 zxing.core/zxing.core/aztec/decoder/Decoder.cs create mode 100644 zxing.core/zxing.core/aztec/detector/Detector.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/AztecCode.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/AztecEncodingOptions.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/BinaryShiftToken.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/Encoder.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/HighLevelEncoder.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/SimpleToken.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/State.cs create mode 100644 zxing.core/zxing.core/aztec/encoder/Token.cs create mode 100644 zxing.core/zxing.core/client/result/AbstractDoCoMoResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/AddressBookAUResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/AddressBookDoCoMoResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/AddressBookParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/BizcardResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/BookmarkDoCoMoResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/CalendarParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/EmailAddressParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/EmailAddressResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/EmailDoCoMoResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/ExpandedProductParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/ExpandedProductResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/GeoParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/GeoResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/ISBNParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/ISBNResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/ParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/ParsedResultType.cs create mode 100644 zxing.core/zxing.core/client/result/ProductParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/ProductResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/ResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/SMSMMSResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/SMSParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/SMSTOMMSTOResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/SMTPResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/TelParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/TelResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/TextParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/URIParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/URIResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/URLTOResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/VCardResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/VEventResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/VINParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/VINResultParser.cs create mode 100644 zxing.core/zxing.core/client/result/WifiParsedResult.cs create mode 100644 zxing.core/zxing.core/client/result/WifiResultParser.cs create mode 100644 zxing.core/zxing.core/common/BitArray.cs create mode 100644 zxing.core/zxing.core/common/BitMatrix.Drawing.cs create mode 100644 zxing.core/zxing.core/common/BitMatrix.cs create mode 100644 zxing.core/zxing.core/common/BitSource.cs create mode 100644 zxing.core/zxing.core/common/CharacterSetECI.cs create mode 100644 zxing.core/zxing.core/common/DecoderResult.cs create mode 100644 zxing.core/zxing.core/common/DecodingOptions.cs create mode 100644 zxing.core/zxing.core/common/DefaultGridSampler.cs create mode 100644 zxing.core/zxing.core/common/DetectorResult.cs create mode 100644 zxing.core/zxing.core/common/ECI.cs create mode 100644 zxing.core/zxing.core/common/EncodingOptions.cs create mode 100644 zxing.core/zxing.core/common/GlobalHistogramBinarizer.cs create mode 100644 zxing.core/zxing.core/common/GridSampler.cs create mode 100644 zxing.core/zxing.core/common/HybridBinarizer.cs create mode 100644 zxing.core/zxing.core/common/PerspectiveTransform.cs create mode 100644 zxing.core/zxing.core/common/StringUtils.cs create mode 100644 zxing.core/zxing.core/common/detector/MathUtils.cs create mode 100644 zxing.core/zxing.core/common/detector/MonochromeRectangleDetector.cs create mode 100644 zxing.core/zxing.core/common/detector/WhiteRectangleDetector.cs create mode 100644 zxing.core/zxing.core/common/reedsolomon/GenericGF.cs create mode 100644 zxing.core/zxing.core/common/reedsolomon/GenericGFPoly.cs create mode 100644 zxing.core/zxing.core/common/reedsolomon/ReedSolomonDecoder.cs create mode 100644 zxing.core/zxing.core/common/reedsolomon/ReedSolomonEncoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/DataMatrixReader.cs create mode 100644 zxing.core/zxing.core/datamatrix/DataMatrixWriter.cs create mode 100644 zxing.core/zxing.core/datamatrix/decoder/BitMatrixParser.cs create mode 100644 zxing.core/zxing.core/datamatrix/decoder/DataBlock.cs create mode 100644 zxing.core/zxing.core/datamatrix/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/zxing.core/datamatrix/decoder/Decoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/decoder/Version.cs create mode 100644 zxing.core/zxing.core/datamatrix/detector/Detector.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/ASCIIEncoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/Base256Encoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/C40Encoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/DataMatrixSymbolInfo144.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/DatamatrixEncodingOptions.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/DefaultPlacement.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/EdifactEncoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/Encodation.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/Encoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/EncoderContext.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/ErrorCorrection.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/HighLevelEncoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/SymbolInfo.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/SymbolShapeHint.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/TextEncoder.cs create mode 100644 zxing.core/zxing.core/datamatrix/encoder/X12Encoder.cs create mode 100644 zxing.core/zxing.core/imb/IMBReader.cs create mode 100644 zxing.core/zxing.core/maxicode/MaxiCodeReader.cs create mode 100644 zxing.core/zxing.core/maxicode/decoder/BitMatrixParser.cs create mode 100644 zxing.core/zxing.core/maxicode/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/zxing.core/maxicode/decoder/Decoder.cs create mode 100644 zxing.core/zxing.core/multi/ByQuadrantReader.cs create mode 100644 zxing.core/zxing.core/multi/GenericMultipleBarcodeReader.cs create mode 100644 zxing.core/zxing.core/multi/MultipleBarcodeReader.cs create mode 100644 zxing.core/zxing.core/multi/qrcode/QRCodeMultiReader.cs create mode 100644 zxing.core/zxing.core/multi/qrcode/detector/MultiDetector.cs create mode 100644 zxing.core/zxing.core/multi/qrcode/detector/MultiFinderPatternFinder.cs create mode 100644 zxing.core/zxing.core/oned/CodaBarReader.cs create mode 100644 zxing.core/zxing.core/oned/CodaBarWriter.cs create mode 100644 zxing.core/zxing.core/oned/Code128EncodingOptions.cs create mode 100644 zxing.core/zxing.core/oned/Code128Reader.cs create mode 100644 zxing.core/zxing.core/oned/Code128Writer.cs create mode 100644 zxing.core/zxing.core/oned/Code39Reader.cs create mode 100644 zxing.core/zxing.core/oned/Code39Writer.cs create mode 100644 zxing.core/zxing.core/oned/Code93Reader.cs create mode 100644 zxing.core/zxing.core/oned/Code93Writer.cs create mode 100644 zxing.core/zxing.core/oned/EAN13Reader.cs create mode 100644 zxing.core/zxing.core/oned/EAN13Writer.cs create mode 100644 zxing.core/zxing.core/oned/EAN8Reader.cs create mode 100644 zxing.core/zxing.core/oned/EAN8Writer.cs create mode 100644 zxing.core/zxing.core/oned/EANManufacturerOrgSupport.cs create mode 100644 zxing.core/zxing.core/oned/ITFReader.cs create mode 100644 zxing.core/zxing.core/oned/ITFWriter.cs create mode 100644 zxing.core/zxing.core/oned/MSIReader.cs create mode 100644 zxing.core/zxing.core/oned/MSIWriter.cs create mode 100644 zxing.core/zxing.core/oned/MultiFormatOneDReader.cs create mode 100644 zxing.core/zxing.core/oned/MultiFormatUPCEANReader.cs create mode 100644 zxing.core/zxing.core/oned/OneDReader.cs create mode 100644 zxing.core/zxing.core/oned/OneDimensionalCodeWriter.cs create mode 100644 zxing.core/zxing.core/oned/PharmaCodeReader.cs create mode 100644 zxing.core/zxing.core/oned/PlesseyWriter.cs create mode 100644 zxing.core/zxing.core/oned/UPCAReader.cs create mode 100644 zxing.core/zxing.core/oned/UPCAWriter.cs create mode 100644 zxing.core/zxing.core/oned/UPCEANExtension2Support.cs create mode 100644 zxing.core/zxing.core/oned/UPCEANExtension5Support.cs create mode 100644 zxing.core/zxing.core/oned/UPCEANExtensionSupport.cs create mode 100644 zxing.core/zxing.core/oned/UPCEANReader.cs create mode 100644 zxing.core/zxing.core/oned/UPCEANWriter.cs create mode 100644 zxing.core/zxing.core/oned/UPCEReader.cs create mode 100644 zxing.core/zxing.core/oned/UPCEWriter.cs create mode 100644 zxing.core/zxing.core/oned/rss/AbstractRSSReader.cs create mode 100644 zxing.core/zxing.core/oned/rss/DataCharacter.cs create mode 100644 zxing.core/zxing.core/oned/rss/FinderPattern.cs create mode 100644 zxing.core/zxing.core/oned/rss/Pair.cs create mode 100644 zxing.core/zxing.core/oned/rss/RSS14Reader.cs create mode 100644 zxing.core/zxing.core/oned/rss/RSSUtils.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/BitArrayBuilder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/ExpandedPair.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/ExpandedRow.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/RSSExpandedReader.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI013103decoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI01320xDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI01392xDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI01393xDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI013x0x1xDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI013x0xDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI01AndOtherAIs.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI01decoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AI01weightDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AbstractExpandedDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/AnyAIDecoder.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/BlockParsedResult.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/CurrentParsingState.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/DecodedChar.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/DecodedInformation.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/DecodedNumeric.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/DecodedObject.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/FieldParser.cs create mode 100644 zxing.core/zxing.core/oned/rss/expanded/decoders/GeneralAppIdDecoder.cs create mode 100644 zxing.core/zxing.core/pdf417/PDF417Common.cs create mode 100644 zxing.core/zxing.core/pdf417/PDF417MacroMetadata.cs create mode 100644 zxing.core/zxing.core/pdf417/PDF417Reader.cs create mode 100644 zxing.core/zxing.core/pdf417/PDF417ResultMetadata.cs create mode 100644 zxing.core/zxing.core/pdf417/PDF417Writer.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/BarcodeMetadata.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/BarcodeValue.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/BoundingBox.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/Codeword.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/DetectionResult.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/DetectionResultColumn.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/DetectionResultRowIndicatorColumn.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/PDF417CodewordDecoder.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/PDF417ScanningDecoder.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/ec/ErrorCorrection.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/ec/ModulusGF.cs create mode 100644 zxing.core/zxing.core/pdf417/decoder/ec/ModulusPoly.cs create mode 100644 zxing.core/zxing.core/pdf417/detector/Detector.cs create mode 100644 zxing.core/zxing.core/pdf417/detector/PDF417DetectorResult.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/BarcodeMatrix.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/BarcodeRow.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/Compaction.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/Dimensions.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/PDF417.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/PDF417AspectRatio.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/PDF417EncodingOptions.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/PDF417ErrorCorrection.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/PDF417HighLevelEncoder.cs create mode 100644 zxing.core/zxing.core/pdf417/encoder/PDF417OptionalMacroFields.cs create mode 100644 zxing.core/zxing.core/presentation/BarcodeReader.Extensions.cs create mode 100644 zxing.core/zxing.core/presentation/BarcodeReader.cs create mode 100644 zxing.core/zxing.core/presentation/BarcodeWriter.Extensions.cs create mode 100644 zxing.core/zxing.core/presentation/BarcodeWriter.cs create mode 100644 zxing.core/zxing.core/presentation/BarcodeWriterGeometry.Extensions.cs create mode 100644 zxing.core/zxing.core/presentation/BarcodeWriterGeometry.cs create mode 100644 zxing.core/zxing.core/qrcode/QRCodeReader.cs create mode 100644 zxing.core/zxing.core/qrcode/QRCodeWriter.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/BitMatrixParser.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/DataBlock.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/DataMask.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/DecodedBitStreamParser.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/Decoder.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/ErrorCorrectionLevel.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/FormatInformation.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/Mode.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/QRCodeDecoderMetaData.cs create mode 100644 zxing.core/zxing.core/qrcode/decoder/Version.cs create mode 100644 zxing.core/zxing.core/qrcode/detector/AlignmentPattern.cs create mode 100644 zxing.core/zxing.core/qrcode/detector/AlignmentPatternFinder.cs create mode 100644 zxing.core/zxing.core/qrcode/detector/Detector.cs create mode 100644 zxing.core/zxing.core/qrcode/detector/FinderPattern.cs create mode 100644 zxing.core/zxing.core/qrcode/detector/FinderPatternFinder.cs create mode 100644 zxing.core/zxing.core/qrcode/detector/FinderPatternInfo.cs create mode 100644 zxing.core/zxing.core/qrcode/encoder/BlockPair.cs create mode 100644 zxing.core/zxing.core/qrcode/encoder/ByteMatrix.cs create mode 100644 zxing.core/zxing.core/qrcode/encoder/Encoder.cs create mode 100644 zxing.core/zxing.core/qrcode/encoder/MaskUtil.cs create mode 100644 zxing.core/zxing.core/qrcode/encoder/MatrixUtil.cs create mode 100644 zxing.core/zxing.core/qrcode/encoder/QRCode.cs create mode 100644 zxing.core/zxing.core/qrcode/encoder/QrCodeEncodingOptions.cs create mode 100644 zxing.core/zxing.core/renderer/AlternateBitmapRenderer.cs create mode 100644 zxing.core/zxing.core/renderer/BitmapRenderer.cs create mode 100644 zxing.core/zxing.core/renderer/GeometryRenderer.cs create mode 100644 zxing.core/zxing.core/renderer/IBarcodeRenderer.cs create mode 100644 zxing.core/zxing.core/renderer/PixelData.Bitmap.cs create mode 100644 zxing.core/zxing.core/renderer/PixelData.cs create mode 100644 zxing.core/zxing.core/renderer/PixelDataRenderer.cs create mode 100644 zxing.core/zxing.core/renderer/SVGRenderer.cs create mode 100644 zxing.core/zxing.core/renderer/WriteableBitmapRenderer.Presentation.cs create mode 100644 zxing.core/zxing.core/zxing.core.csproj diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6d50fe8 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,66 @@ +*.js linguist-language=csharp +*.css linguist-language=csharp +*.html linguist-language=csharp +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d3a70a --- /dev/null +++ b/.gitignore @@ -0,0 +1,264 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +#*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc +/src/Coldairarrow.Web/wwwroot/Upload/File +/src/Coldairarrow.Api/wwwroot/Upload +/.vs/AIStudio.Wpf.Diagram/v16/.suo diff --git a/AIStudio.Wpf.ADiagram/AIStudio.Wpf.ADiagram.csproj b/AIStudio.Wpf.ADiagram/AIStudio.Wpf.ADiagram.csproj new file mode 100644 index 0000000..082b033 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/AIStudio.Wpf.ADiagram.csproj @@ -0,0 +1,923 @@ + + + + WinExe + net472 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSBuild:Compile + + + + + + + + + $(DefaultXamlRuntime) + + + $(DefaultXamlRuntime) + Designer + + + $(DefaultXamlRuntime) + Designer + + + $(DefaultXamlRuntime) + Designer + + + $(DefaultXamlRuntime) + Designer + + + $(DefaultXamlRuntime) + Designer + + + $(DefaultXamlRuntime) + + + $(DefaultXamlRuntime) + + + $(DefaultXamlRuntime) + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + 8.0 + + + + + \ No newline at end of file diff --git a/AIStudio.Wpf.ADiagram/App.config b/AIStudio.Wpf.ADiagram/App.config new file mode 100644 index 0000000..9b0ead3 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/App.config @@ -0,0 +1,28 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AIStudio.Wpf.ADiagram/App.xaml b/AIStudio.Wpf.ADiagram/App.xaml new file mode 100644 index 0000000..f237e9f --- /dev/null +++ b/AIStudio.Wpf.ADiagram/App.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/AIStudio.Wpf.ADiagram/App.xaml.cs b/AIStudio.Wpf.ADiagram/App.xaml.cs new file mode 100644 index 0000000..dacd2f7 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/App.xaml.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +//注意下面的语句一定要加上,指定log4net使用.config文件来读取配置信息 +//如果是WinForm(假定程序为MyDemo.exe,则需要一个MyDemo.exe.config文件) +//如果是WebForm,则从web.config中读取相关信息 +[assembly: log4net.Config.XmlConfigurator(Watch = true)] +namespace AIStudio.Wpf.ADiagram +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + + public App() + { + AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; + Application.Current.DispatcherUnhandledException += Application_DispatcherUnhandledException; + } + + private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + + private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) + { + //记录严重错误 + log.Fatal(e.Exception); + e.Handled = true;//使用这一行代码告诉运行时,该异常被处理了,不再作为UnhandledException抛出了。 + } + + void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + //记录严重错误 + log.Fatal(e.ExceptionObject); + } + } +} diff --git a/AIStudio.Wpf.ADiagram/ApplicationServicesProvider.cs b/AIStudio.Wpf.ADiagram/ApplicationServicesProvider.cs new file mode 100644 index 0000000..cfd09bd --- /dev/null +++ b/AIStudio.Wpf.ADiagram/ApplicationServicesProvider.cs @@ -0,0 +1,82 @@ +using AIStudio.Wpf.ADiagram.Services; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AIStudio.Wpf.ADiagram +{ + /// + /// Simple service interface + /// + public interface IServiceProvider + { + IUIVisualizerService VisualizerService { get; } + IMessageBoxService MessageBoxService { get; } + //IDatabaseAccessService DatabaseAccessService { get; } + } + + + /// + /// Simple service locator + /// + public class ServiceProvider : IServiceProvider + { + private IUIVisualizerService visualizerService = new WPFUIVisualizerService(); + private IMessageBoxService messageBoxService = new WPFMessageBoxService(); + //private IDatabaseAccessService databaseAccessService = new DatabaseAccessService(); + + public IUIVisualizerService VisualizerService + { + get { return visualizerService; } + } + + public IMessageBoxService MessageBoxService + { + get { return messageBoxService; } + } + + //public IDatabaseAccessService DatabaseAccessService + //{ + // get { return databaseAccessService; } + //} + + } + + + + /// + /// Simple service locator helper + /// + public class ApplicationServicesProvider + { + private static Lazy instance = new Lazy(() => new ApplicationServicesProvider()); + private IServiceProvider serviceProvider = new ServiceProvider(); + + private ApplicationServicesProvider() + { + + } + + static ApplicationServicesProvider() + { + + } + + public void SetNewServiceProvider(IServiceProvider provider) + { + serviceProvider = provider; + } + + public IServiceProvider Provider + { + get { return serviceProvider; } + } + + public static ApplicationServicesProvider Instance + { + get { return instance.Value; } + } + } +} diff --git a/AIStudio.Wpf.ADiagram/AssemblyInfo.cs b/AIStudio.Wpf.ADiagram/AssemblyInfo.cs new file mode 100644 index 0000000..8b5504e --- /dev/null +++ b/AIStudio.Wpf.ADiagram/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/AIStudio.Wpf.ADiagram/Commands/CanExecuteDelegateCommand.cs b/AIStudio.Wpf.ADiagram/Commands/CanExecuteDelegateCommand.cs new file mode 100644 index 0000000..ede732c --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/CanExecuteDelegateCommand.cs @@ -0,0 +1,908 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Input; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// This class allows delegating the commanding logic to methods passed as parameters, + /// and enables a View to bind commands to objects that are not part of the element tree. + /// + public class CanExecuteDelegateCommand : IDelegateCommand + { + #region Constructors + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod) + : this(executeMethod, null, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod) + : this(executeMethod, canExecuteMethod, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod, bool isAutomaticRequeryDisabled) + { + if (executeMethod == null) + { + throw new ArgumentNullException("executeMethod"); + } + + _executeMethod = executeMethod; + _canExecuteMethod = canExecuteMethod; + _isAutomaticRequeryDisabled = isAutomaticRequeryDisabled; + } + + #endregion + + #region Public Methods + + /// + /// Method to determine if the command can be executed + /// + public bool CanExecute() + { + if (_canExecuteMethod != null) + { + return _canExecuteMethod(); + } + return true; + } + + /// + /// Execution of the command + /// + public void Execute() + { + if (_executeMethod != null) + { + _executeMethod(); + } + } + + /// + /// + /// + public object Target + { + get + { + if (_executeMethod == null) + return null; + + return _executeMethod.Target; + } + } + + /// + /// Property to enable or disable CommandManager's automatic requery on this command + /// + public bool IsAutomaticRequeryDisabled + { + get + { + return _isAutomaticRequeryDisabled; + } + set + { + if (_isAutomaticRequeryDisabled != value) + { + if (value) + { + CommandManagerHelper.RemoveHandlersFromRequerySuggested(_canExecuteChangedHandlers); + } + else + { + CommandManagerHelper.AddHandlersToRequerySuggested(_canExecuteChangedHandlers); + } + _isAutomaticRequeryDisabled = value; + } + } + } + + /// + /// Raises the CanExecuteChaged event + /// + public void RaiseCanExecuteChanged() + { + OnCanExecuteChanged(); + } + + /// + /// Protected virtual method to raise CanExecuteChanged event + /// + protected virtual void OnCanExecuteChanged() + { + CommandManagerHelper.CallWeakReferenceHandlers(_canExecuteChangedHandlers); + } + + #endregion + + #region ICommand Members + + /// + /// ICommand.CanExecuteChanged implementation + /// + public event EventHandler CanExecuteChanged + { + add + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested += value; + } + CommandManagerHelper.AddWeakReferenceHandler(ref _canExecuteChangedHandlers, value, 2); + } + remove + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested -= value; + } + CommandManagerHelper.RemoveWeakReferenceHandler(_canExecuteChangedHandlers, value); + } + } + + bool ICommand.CanExecute(object parameter) + { + return CanExecute(); + } + + void ICommand.Execute(object parameter) + { + Execute(); + } + + #endregion + + #region Data + + private readonly Action _executeMethod = null; + private readonly Func _canExecuteMethod = null; + private bool _isAutomaticRequeryDisabled = false; + private List _canExecuteChangedHandlers; + + #endregion + } + + public class CanExecuteDelegateCommand : IDelegateCommand + { + #region Constructors + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod) + : this(executeMethod, null, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod) + : this(executeMethod, canExecuteMethod, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod, bool isAutomaticRequeryDisabled) + { + if (executeMethod == null) + { + throw new ArgumentNullException("executeMethod"); + } + + _executeMethod = executeMethod; + _canExecuteMethod = canExecuteMethod; + _isAutomaticRequeryDisabled = isAutomaticRequeryDisabled; + } + + #endregion + + #region Public Methods + + /// + /// Method to determine if the command can be executed + /// + public bool CanExecute(T1 parameter1) + { + if (_canExecuteMethod != null) + { + return _canExecuteMethod(parameter1); + } + return true; + } + + /// + /// Execution of the command + /// + public void Execute(T1 parameter1) + { + if (_executeMethod != null) + { + _executeMethod(parameter1); + } + } + + /// + /// Raises the CanExecuteChaged event + /// + public void RaiseCanExecuteChanged() + { + OnCanExecuteChanged(); + } + + /// + /// Protected virtual method to raise CanExecuteChanged event + /// + protected virtual void OnCanExecuteChanged() + { + CommandManagerHelper.CallWeakReferenceHandlers(_canExecuteChangedHandlers); + } + + /// + /// Property to enable or disable CommandManager's automatic requery on this command + /// + public bool IsAutomaticRequeryDisabled + { + get + { + return _isAutomaticRequeryDisabled; + } + set + { + if (_isAutomaticRequeryDisabled != value) + { + if (value) + { + CommandManagerHelper.RemoveHandlersFromRequerySuggested(_canExecuteChangedHandlers); + } + else + { + CommandManagerHelper.AddHandlersToRequerySuggested(_canExecuteChangedHandlers); + } + _isAutomaticRequeryDisabled = value; + } + } + } + + /// + /// + /// + public object Target + { + get + { + if (_executeMethod == null) + return null; + + return _executeMethod.Target; + } + } + + #endregion + + #region ICommand Members + + /// + /// ICommand.CanExecuteChanged implementation + /// + public event EventHandler CanExecuteChanged + { + add + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested += value; + } + CommandManagerHelper.AddWeakReferenceHandler(ref _canExecuteChangedHandlers, value, 2); + } + remove + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested -= value; + } + CommandManagerHelper.RemoveWeakReferenceHandler(_canExecuteChangedHandlers, value); + } + } + + public virtual bool CanExecute(object parameter) + { + if (parameter == null || (parameter is object[] && (parameter as object[]).Length < 1)) + return false; + + if (parameter is object[]) + { + object[] parameters = parameter as object[]; + + // if T is of value type and the parameter is not + // set yet, then return false if CanExecute delegate + // exists, else return true + if ((parameters[0] != null && !typeof(T1).IsAssignableFrom(parameters[0].GetType())) + || (parameters[0] == null && typeof(T1).IsValueType) + ) + { + return false; + } + + return CanExecute((T1)parameters[0]); + } + else + { + if (parameter != null && !typeof(T1).IsAssignableFrom(parameter.GetType())) + parameter = null; + + return CanExecute((T1)parameter); + } + } + + public virtual void Execute(object parameter) + { + //如果T1不允许为空,而parameter参数又为空,则直接返回 + if (typeof(T1).IsValueType && (parameter == null || (parameter is object[] && (parameter as object[]).Length < 1))) + return; + + if (parameter is object[]) + { + object[] parameters = parameter as object[]; + + // if T1 is of value type and the parameter is not + // set yet, then return false if CanExecute delegate + // exists, else return true + if ((parameters[0] != null && !typeof(T1).IsAssignableFrom(parameters[0].GetType())) + || (parameters[0] == null && typeof(T1).IsValueType) + ) + return; + + Execute((T1)parameters[0]); + } + else + { + if (parameter != null && !typeof(T1).IsAssignableFrom(parameter.GetType())) + parameter = null; + + Execute((T1)parameter); + } + } + + #endregion + + #region Data + + private readonly Action _executeMethod = null; + private readonly Func _canExecuteMethod = null; + private bool _isAutomaticRequeryDisabled = false; + private List _canExecuteChangedHandlers; + + #endregion + } + + public class CanExecuteDelegateCommand : IDelegateCommand + { + #region Constructors + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod) + : this(executeMethod, null, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod) + : this(executeMethod, canExecuteMethod, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod, bool isAutomaticRequeryDisabled) + { + if (executeMethod == null) + { + throw new ArgumentNullException("executeMethod"); + } + + _executeMethod = executeMethod; + _canExecuteMethod = canExecuteMethod; + _isAutomaticRequeryDisabled = isAutomaticRequeryDisabled; + } + + #endregion + + #region Public Methods + + /// + /// Method to determine if the command can be executed + /// + public bool CanExecute(T1 parameter1, T2 parameter2) + { + if (_canExecuteMethod != null) + { + return _canExecuteMethod(parameter1, parameter2); + } + return true; + } + + /// + /// Execution of the command + /// + public void Execute(T1 parameter1, T2 parameter2) + { + if (_executeMethod != null) + { + _executeMethod(parameter1, parameter2); + } + } + + /// + /// Raises the CanExecuteChaged event + /// + public void RaiseCanExecuteChanged() + { + OnCanExecuteChanged(); + } + + /// + /// Protected virtual method to raise CanExecuteChanged event + /// + protected virtual void OnCanExecuteChanged() + { + CommandManagerHelper.CallWeakReferenceHandlers(_canExecuteChangedHandlers); + } + + /// + /// Property to enable or disable CommandManager's automatic requery on this command + /// + public bool IsAutomaticRequeryDisabled + { + get + { + return _isAutomaticRequeryDisabled; + } + set + { + if (_isAutomaticRequeryDisabled != value) + { + if (value) + { + CommandManagerHelper.RemoveHandlersFromRequerySuggested(_canExecuteChangedHandlers); + } + else + { + CommandManagerHelper.AddHandlersToRequerySuggested(_canExecuteChangedHandlers); + } + _isAutomaticRequeryDisabled = value; + } + } + } + + /// + /// + /// + public object Target + { + get + { + if (_executeMethod == null) + return null; + + return _executeMethod.Target; + } + } + + #endregion + + #region ICommand Members + + /// + /// ICommand.CanExecuteChanged implementation + /// + public event EventHandler CanExecuteChanged + { + add + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested += value; + } + CommandManagerHelper.AddWeakReferenceHandler(ref _canExecuteChangedHandlers, value, 2); + } + remove + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested -= value; + } + CommandManagerHelper.RemoveWeakReferenceHandler(_canExecuteChangedHandlers, value); + } + } + + public virtual bool CanExecute(object parameter) + { + if (parameter == null || !(parameter is object[]) || (parameter as object[]).Length < 2) + return false; + + object[] parameters = parameter as object[]; + + // if T is of value type and the parameter is not + // set yet, then return false if CanExecute delegate + // exists, else return true + if ((parameters[0] != null && !typeof(T1).IsAssignableFrom(parameters[0].GetType())) + || (parameters[0] == null && typeof(T1).IsValueType) + || (parameters[1] != null && !typeof(T2).IsAssignableFrom(parameters[1].GetType())) + || (parameters[1] == null && typeof(T2).IsValueType) + ) + { + return false; + } + + return CanExecute((T1)parameters[0], (T2)parameters[1]); + } + + public virtual void Execute(object parameter) + { + if (parameter == null || !(parameter is object[]) || (parameter as object[]).Length < 2) + return; + + object[] parameters = parameter as object[]; + + // if T is of value type and the parameter is not + // set yet, then return false if CanExecute delegate + // exists, else return true + if ((parameters[0] != null && !typeof(T1).IsAssignableFrom(parameters[0].GetType())) + || (parameters[0] == null && typeof(T1).IsValueType) + || (parameters[1] != null && !typeof(T2).IsAssignableFrom(parameters[1].GetType())) + || (parameters[1] == null && typeof(T2).IsValueType) + ) + return; + + Execute((T1)parameters[0], (T2)parameters[1]); + } + + #endregion + + #region Data + + private readonly Action _executeMethod = null; + private readonly Func _canExecuteMethod = null; + private bool _isAutomaticRequeryDisabled = false; + private List _canExecuteChangedHandlers; + + #endregion + } + + public class CanExecuteDelegateCommand : IDelegateCommand + { + #region Constructors + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod) + : this(executeMethod, null, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod) + : this(executeMethod, canExecuteMethod, false) + { + } + + /// + /// Constructor + /// + public CanExecuteDelegateCommand(Action executeMethod, Func canExecuteMethod, bool isAutomaticRequeryDisabled) + { + if (executeMethod == null) + { + throw new ArgumentNullException("executeMethod"); + } + + _executeMethod = executeMethod; + _canExecuteMethod = canExecuteMethod; + _isAutomaticRequeryDisabled = isAutomaticRequeryDisabled; + } + + #endregion + + #region Public Methods + + /// + /// Method to determine if the command can be executed + /// + public bool CanExecute(T1 parameter1, T2 parameter2, T3 parameter3) + { + if (_canExecuteMethod != null) + { + return _canExecuteMethod(parameter1, parameter2, parameter3); + } + return true; + } + + /// + /// Execution of the command + /// + public void Execute(T1 parameter1, T2 parameter2, T3 parameter3) + { + if (_executeMethod != null) + { + _executeMethod(parameter1, parameter2, parameter3); + } + } + + /// + /// Raises the CanExecuteChaged event + /// + public void RaiseCanExecuteChanged() + { + OnCanExecuteChanged(); + } + + /// + /// Protected virtual method to raise CanExecuteChanged event + /// + protected virtual void OnCanExecuteChanged() + { + CommandManagerHelper.CallWeakReferenceHandlers(_canExecuteChangedHandlers); + } + + /// + /// Property to enable or disable CommandManager's automatic requery on this command + /// + public bool IsAutomaticRequeryDisabled + { + get + { + return _isAutomaticRequeryDisabled; + } + set + { + if (_isAutomaticRequeryDisabled != value) + { + if (value) + { + CommandManagerHelper.RemoveHandlersFromRequerySuggested(_canExecuteChangedHandlers); + } + else + { + CommandManagerHelper.AddHandlersToRequerySuggested(_canExecuteChangedHandlers); + } + _isAutomaticRequeryDisabled = value; + } + } + } + + /// + /// + /// + public object Target + { + get + { + if (_executeMethod == null) + return null; + + return _executeMethod.Target; + } + } + + #endregion + + #region ICommand Members + + /// + /// ICommand.CanExecuteChanged implementation + /// + public event EventHandler CanExecuteChanged + { + add + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested += value; + } + CommandManagerHelper.AddWeakReferenceHandler(ref _canExecuteChangedHandlers, value, 2); + } + remove + { + if (!_isAutomaticRequeryDisabled) + { + CommandManager.RequerySuggested -= value; + } + CommandManagerHelper.RemoveWeakReferenceHandler(_canExecuteChangedHandlers, value); + } + } + + public virtual bool CanExecute(object parameter) + { + if (parameter == null || !(parameter is object[]) || (parameter as object[]).Length < 3) + return false; + + object[] parameters = parameter as object[]; + + // if T is of value type and the parameter is not + // set yet, then return false if CanExecute delegate + // exists, else return true + if ((parameters[0] != null && !typeof(T1).IsAssignableFrom(parameters[0].GetType())) + || (parameters[0] == null && typeof(T1).IsValueType) + || (parameters[1] != null && !typeof(T2).IsAssignableFrom(parameters[1].GetType())) + || (parameters[1] == null && typeof(T2).IsValueType) + || (parameters[2] != null && !typeof(T3).IsAssignableFrom(parameters[2].GetType())) + || (parameters[2] == null && typeof(T3).IsValueType) + ) + { + return false; + } + + return CanExecute((T1)parameters[0], (T2)parameters[1], (T3)parameters[2]); + } + + public virtual void Execute(object parameter) + { + if (parameter == null || !(parameter is object[]) || (parameter as object[]).Length < 3) + return; + + object[] parameters = parameter as object[]; + + // if T is of value type and the parameter is not + // set yet, then return false if CanExecute delegate + // exists, else return true + if ((parameters[0] != null && !typeof(T1).IsAssignableFrom(parameters[0].GetType())) + || (parameters[0] == null && typeof(T1).IsValueType) + || (parameters[1] != null && !typeof(T2).IsAssignableFrom(parameters[1].GetType())) + || (parameters[1] == null && typeof(T2).IsValueType) + || (parameters[2] != null && !typeof(T3).IsAssignableFrom(parameters[2].GetType())) + || (parameters[2] == null && typeof(T3).IsValueType) + ) + return; + + Execute((T1)parameters[0], (T2)parameters[1], (T3)parameters[2]); + } + + #endregion + + #region Data + + private readonly Action _executeMethod = null; + private readonly Func _canExecuteMethod = null; + private bool _isAutomaticRequeryDisabled = false; + private List _canExecuteChangedHandlers; + + #endregion + } + + public interface IDelegateCommand : ICommand + { + object Target { get; } + } + + /// + /// This class contains methods for the CommandManager that help avoid memory leaks by + /// using weak references. + /// + internal class CommandManagerHelper + { + internal static void CallWeakReferenceHandlers(List handlers) + { + if (handlers != null) + { + // Take a snapshot of the handlers before we call out to them since the handlers + // could cause the array to me modified while we are reading it. + + EventHandler[] callees = new EventHandler[handlers.Count]; + int count = 0; + + for (int i = handlers.Count - 1; i >= 0; i--) + { + WeakReference reference = handlers[i]; + EventHandler handler = reference.Target as EventHandler; + if (handler == null) + { + // Clean up old handlers that have been collected + handlers.RemoveAt(i); + } + else + { + callees[count] = handler; + count++; + } + } + + // Call the handlers that we snapshotted + for (int i = 0; i < count; i++) + { + EventHandler handler = callees[i]; + handler(null, EventArgs.Empty); + } + } + } + + internal static void AddHandlersToRequerySuggested(List handlers) + { + if (handlers != null) + { + foreach (WeakReference handlerRef in handlers) + { + EventHandler handler = handlerRef.Target as EventHandler; + if (handler != null) + { + CommandManager.RequerySuggested += handler; + } + } + } + } + + internal static void RemoveHandlersFromRequerySuggested(List handlers) + { + if (handlers != null) + { + foreach (WeakReference handlerRef in handlers) + { + EventHandler handler = handlerRef.Target as EventHandler; + if (handler != null) + { + CommandManager.RequerySuggested -= handler; + } + } + } + } + + internal static void AddWeakReferenceHandler(ref List handlers, EventHandler handler) + { + AddWeakReferenceHandler(ref handlers, handler, -1); + } + + internal static void AddWeakReferenceHandler(ref List handlers, EventHandler handler, int defaultListSize) + { + if (handlers == null) + { + handlers = (defaultListSize > 0 ? new List(defaultListSize) : new List()); + } + + handlers.Add(new WeakReference(handler)); + } + + internal static void RemoveWeakReferenceHandler(List handlers, EventHandler handler) + { + if (handlers != null) + { + for (int i = handlers.Count - 1; i >= 0; i--) + { + WeakReference reference = handlers[i]; + EventHandler existingHandler = reference.Target as EventHandler; + if ((existingHandler == null) || (existingHandler == handler)) + { + // Clean up old handlers that have been collected + // in addition to the handler that is to be removed. + handlers.RemoveAt(i); + } + } + } + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/CommandReference.cs b/AIStudio.Wpf.ADiagram/Commands/CommandReference.cs new file mode 100644 index 0000000..8624246 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/CommandReference.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Input; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + public class CommandReference : Freezable, ICommand + { + public CommandReference() + { + // Blank + } + + public static readonly DependencyProperty CommandProperty = DependencyProperty.Register("Command", typeof(ICommand), typeof(CommandReference), new PropertyMetadata(new PropertyChangedCallback(OnCommandChanged))); + + public ICommand Command + { + get { return (ICommand)GetValue(CommandProperty); } + set { SetValue(CommandProperty, value); } + } + + #region ICommand Members + + public bool CanExecute(object parameter) + { + if (Command != null) + return Command.CanExecute(parameter); + return false; + } + + public void Execute(object parameter) + { + Command.Execute(parameter); + } + + public event EventHandler CanExecuteChanged; + + private static void OnCommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + CommandReference commandReference = d as CommandReference; + ICommand oldCommand = e.OldValue as ICommand; + ICommand newCommand = e.NewValue as ICommand; + + if (oldCommand != null) + { + oldCommand.CanExecuteChanged -= commandReference.CanExecuteChanged; + } + if (newCommand != null) + { + newCommand.CanExecuteChanged += commandReference.CanExecuteChanged; + } + } + + #endregion + + #region Freezable + + protected override Freezable CreateInstanceCore() + { + throw new NotImplementedException(); + } + + #endregion + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/CompositeCommand.cs b/AIStudio.Wpf.ADiagram/Commands/CompositeCommand.cs new file mode 100644 index 0000000..a79f5e8 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/CompositeCommand.cs @@ -0,0 +1,240 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Windows.Input; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// The CompositeCommand composes one or more ICommands. + /// + public class CompositeCommand : ICommand + { + private readonly List _registeredCommands = new List(); + private readonly bool _monitorCommandActivity; + private readonly EventHandler _onRegisteredCommandCanExecuteChangedHandler; + private SynchronizationContext _synchronizationContext; + + /// + /// Initializes a new instance of . + /// + public CompositeCommand() + { + this._onRegisteredCommandCanExecuteChangedHandler = new EventHandler(this.OnRegisteredCommandCanExecuteChanged); + _synchronizationContext = SynchronizationContext.Current; + } + + /// + /// Initializes a new instance of . + /// + /// Indicates when the command activity is going to be monitored. + public CompositeCommand(bool monitorCommandActivity) + : this() + { + this._monitorCommandActivity = monitorCommandActivity; + } + + /// + /// Adds a command to the collection and signs up for the event of it. + /// + /// + /// If this command is set to monitor command activity, and + /// implements the interface, this method will subscribe to its + /// event. + /// + /// The command to register. + public virtual void RegisterCommand(ICommand command) + { + if (command == null) throw new ArgumentNullException(nameof(command)); + if (command == this) + { + throw new ArgumentException("CannotRegisterCompositeCommandInItself"); + } + + lock (this._registeredCommands) + { + if (this._registeredCommands.Contains(command)) + { + throw new InvalidOperationException("CannotRegisterSameCommandTwice"); + } + this._registeredCommands.Add(command); + } + + command.CanExecuteChanged += this._onRegisteredCommandCanExecuteChangedHandler; + this.OnCanExecuteChanged(); + + if (this._monitorCommandActivity) + { + var activeAwareCommand = command as IActiveAware; + if (activeAwareCommand != null) + { + activeAwareCommand.IsActiveChanged += this.Command_IsActiveChanged; + } + } + } + + /// + /// Removes a command from the collection and removes itself from the event of it. + /// + /// The command to unregister. + public virtual void UnregisterCommand(ICommand command) + { + if (command == null) throw new ArgumentNullException(nameof(command)); + bool removed; + lock (this._registeredCommands) + { + removed = this._registeredCommands.Remove(command); + } + + if (removed) + { + command.CanExecuteChanged -= this._onRegisteredCommandCanExecuteChangedHandler; + this.OnCanExecuteChanged(); + + if (this._monitorCommandActivity) + { + var activeAwareCommand = command as IActiveAware; + if (activeAwareCommand != null) + { + activeAwareCommand.IsActiveChanged -= this.Command_IsActiveChanged; + } + } + } + } + + private void OnRegisteredCommandCanExecuteChanged(object sender, EventArgs e) + { + this.OnCanExecuteChanged(); + } + + + /// + /// Forwards to the registered commands and returns + /// if all of the commands return . + /// + /// Data used by the command. + /// If the command does not require data to be passed, this object can be set to . + /// + /// if all of the commands return ; otherwise, . + public virtual bool CanExecute(object parameter) + { + bool hasEnabledCommandsThatShouldBeExecuted = false; + + ICommand[] commandList; + lock (this._registeredCommands) + { + commandList = this._registeredCommands.ToArray(); + } + foreach (ICommand command in commandList) + { + if (this.ShouldExecute(command)) + { + if (!command.CanExecute(parameter)) + { + return false; + } + + hasEnabledCommandsThatShouldBeExecuted = true; + } + } + + return hasEnabledCommandsThatShouldBeExecuted; + } + + /// + /// Occurs when any of the registered commands raise . + /// + public virtual event EventHandler CanExecuteChanged; + + /// + /// Forwards to the registered commands. + /// + /// Data used by the command. + /// If the command does not require data to be passed, this object can be set to . + /// + public virtual void Execute(object parameter) + { + Queue commands; + lock (this._registeredCommands) + { + commands = new Queue(this._registeredCommands.Where(this.ShouldExecute).ToList()); + } + + while (commands.Count > 0) + { + ICommand command = commands.Dequeue(); + command.Execute(parameter); + } + } + + /// + /// Evaluates if a command should execute. + /// + /// The command to evaluate. + /// A value indicating whether the command should be used + /// when evaluating and . + /// + /// If this command is set to monitor command activity, and + /// implements the interface, + /// this method will return if the command's + /// property is ; otherwise it always returns . + protected virtual bool ShouldExecute(ICommand command) + { + var activeAwareCommand = command as IActiveAware; + + if (this._monitorCommandActivity && activeAwareCommand != null) + { + return activeAwareCommand.IsActive; + } + + return true; + } + + /// + /// Gets the list of all the registered commands. + /// + /// A list of registered commands. + /// This returns a copy of the commands subscribed to the CompositeCommand. + public IList RegisteredCommands + { + get + { + IList commandList; + lock (this._registeredCommands) + { + commandList = this._registeredCommands.ToList(); + } + + return commandList; + } + } + + /// + /// Raises on the UI thread so every + /// command invoker can requery to check if the + /// can execute. + /// a + protected virtual void OnCanExecuteChanged() + { + var handler = CanExecuteChanged; + if (handler != null) + { + if (_synchronizationContext != null && _synchronizationContext != SynchronizationContext.Current) + _synchronizationContext.Post((o) => handler.Invoke(this, EventArgs.Empty), null); + else + handler.Invoke(this, EventArgs.Empty); + } + } + + /// + /// Handler for IsActiveChanged events of registered commands. + /// + /// The sender. + /// EventArgs to pass to the event. + private void Command_IsActiveChanged(object sender, EventArgs e) + { + this.OnCanExecuteChanged(); + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/ControlBinding.cs b/AIStudio.Wpf.ADiagram/Commands/ControlBinding.cs new file mode 100644 index 0000000..3339400 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/ControlBinding.cs @@ -0,0 +1,334 @@ +using System; +using System.Collections; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.Reflection; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Markup; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + [MarkupExtensionReturnType(typeof(object))] + public class ControlBinding : MarkupExtension + { + /// + /// 是否禁止处理绑定 + /// + public static bool Disabled = false; + + #region Properties + + public IValueConverter Converter { get; set; } + public object ConverterParameter { get; set; } + public string ElementName { get; set; } + public RelativeSource RelativeSource { get; set; } + public object Source { get; set; } + public bool ValidatesOnDataErrors { get; set; } + public bool ValidatesOnExceptions { get; set; } + public bool NotifyOnValidationError { get; set; } + public object TargetNullValue { get; set; } + public object FallBackValue { get; set; } + public string StringFormat { get; set; } + public UpdateSourceTrigger UpdateSourceTrigger { get; set; } + public Collection ValidationRules { get; set; } + + public BindingMode Mode { get; set; } + private int AncestorLevel = 1; + [ConstructorArgument("path")] + public PropertyPath Path { get; set; } + [TypeConverter(typeof(CultureInfoIetfLanguageTagConverter))] + public CultureInfo ConverterCulture { get; set; } + + #endregion + + public ControlBinding() + { + Mode = BindingMode.Default; + ValidationRules = new Collection(); + } + + public ControlBinding(PropertyPath path) + { + Path = path; + Mode = BindingMode.Default; + UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; + NotifyOnValidationError = true; + ValidatesOnDataErrors = true; + ValidatesOnExceptions = true; + TargetNullValue = null; + ValidationRules = new Collection(); + } + + public ControlBinding(PropertyPath path, string elementName) + : this(path) + { + Path = path; + + if (elementName == "$") + AncestorLevel = 2; + else + ElementName = elementName; + } + + /// + /// 获取代理Binding对象 + /// + /// + internal Binding GetBinding(object rootObject) + { + Binding binding = new Binding(); + binding.StringFormat = StringFormat; + binding.Path = Path; + binding.Mode = Mode; + binding.Converter = Converter; + binding.ConverterCulture = ConverterCulture; + binding.ConverterParameter = ConverterParameter; + binding.UpdateSourceTrigger = UpdateSourceTrigger; + if (TargetNullValue != null) binding.TargetNullValue = TargetNullValue; + if (FallBackValue != null) + binding.FallbackValue = FallBackValue; + //单向绑定不需要进行数据校验 + NotifyOnValidationError &= (Mode != BindingMode.OneWay && Mode != BindingMode.OneTime); + + binding.ValidatesOnDataErrors = NotifyOnValidationError; + binding.ValidatesOnExceptions = NotifyOnValidationError; + binding.NotifyOnValidationError = NotifyOnValidationError; + + + //添加ValidationRule + foreach (ValidationRule vr in ValidationRules) + binding.ValidationRules.Add(vr); + + if (ElementName != null) + binding.ElementName = ElementName; + if (Source != null) + { + if (!(Source is string) || (Source as string) != "$") + binding.Source = Source; + } + if (RelativeSource != null) + binding.RelativeSource = RelativeSource; + + if (string.IsNullOrEmpty(ElementName) && Source == null && RelativeSource == null) + { + if (rootObject == null) + { + RelativeSource = new RelativeSource { AncestorLevel = AncestorLevel, AncestorType = typeof(UserControl), Mode = RelativeSourceMode.FindAncestor }; + + binding.RelativeSource = RelativeSource; + } + else + { + binding.Source = rootObject; + if (rootObject is UserControl || rootObject is Window) + { + if (binding.Path == null || binding.Path.Path == ".") + binding.Path = new PropertyPath("DataContext"); + else + binding.Path = new PropertyPath("DataContext." + binding.Path.Path, binding.Path.PathParameters); + } + } + } + + return binding; + } + + public override object ProvideValue(System.IServiceProvider serviceProvider) + { + var valueProvider = serviceProvider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget; + if (valueProvider == null) + return null; + + + //当使用ControlMultiBinding或者MultiBinding时 + if (valueProvider.TargetProperty == null && valueProvider.TargetObject is ICollection) + { + if (valueProvider.TargetObject is Collection + || valueProvider.TargetObject.GetType().FullName == "MS.Internal.Data.BindingCollection") + return this; + } + + //如果禁用 + if (ControlBinding.Disabled) + return (valueProvider.TargetProperty as DependencyProperty).DefaultMetadata.DefaultValue; + + var rootObjProvider = serviceProvider.GetService(typeof(System.Xaml.IRootObjectProvider)) as System.Xaml.IRootObjectProvider; + + #region 如果是针对WinForm的ControlBinding + + if (valueProvider.TargetObject is System.Windows.Forms.Control && rootObjProvider != null) + { + System.Windows.Forms.Control ctl = valueProvider.TargetObject as System.Windows.Forms.Control; + System.Windows.Forms.Binding b = new System.Windows.Forms.Binding((valueProvider.TargetProperty as PropertyInfo).Name, rootObjProvider.RootObject, Path.Path); + if (Mode == BindingMode.OneWay) + { + b.ControlUpdateMode = System.Windows.Forms.ControlUpdateMode.OnPropertyChanged; + b.DataSourceUpdateMode = System.Windows.Forms.DataSourceUpdateMode.Never; + } + else if (Mode == BindingMode.OneWayToSource) + { + b.ControlUpdateMode = System.Windows.Forms.ControlUpdateMode.Never; + if (UpdateSourceTrigger == System.Windows.Data.UpdateSourceTrigger.PropertyChanged + || UpdateSourceTrigger == System.Windows.Data.UpdateSourceTrigger.Default) + b.DataSourceUpdateMode = System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged; + else if (UpdateSourceTrigger == System.Windows.Data.UpdateSourceTrigger.LostFocus) + b.DataSourceUpdateMode = System.Windows.Forms.DataSourceUpdateMode.OnValidation; + } + else if (Mode == BindingMode.TwoWay || Mode == BindingMode.Default) + { + b.ControlUpdateMode = System.Windows.Forms.ControlUpdateMode.OnPropertyChanged; + b.DataSourceUpdateMode = System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged; + } + else if (Mode == BindingMode.OneTime) + { + //这里应该赋值一次:OneTime + //...... + + b.ControlUpdateMode = System.Windows.Forms.ControlUpdateMode.Never; + b.DataSourceUpdateMode = System.Windows.Forms.DataSourceUpdateMode.Never; + } + + ctl.DataBindings.Add(b); + + return null; + } + + #endregion + + var bindingTarget = valueProvider.TargetObject as DependencyObject; + var bindingProperty = valueProvider.TargetProperty as DependencyProperty; + if (bindingProperty == null) + return null; + + #region 使用代理Binding返回最终的值 + + //得到Binding对象 + Binding binding = GetBinding(rootObjProvider == null ? null : rootObjProvider.RootObject); + if (binding == null) return null; + + object retValue = binding.ProvideValue(serviceProvider); + + #endregion + + return retValue; + } + } + + [ContentProperty("Bindings")] + public class ControlMultiBinding : MarkupExtension + { + #region Properties + + public Collection Bindings { get; private set; } + + public IMultiValueConverter Converter { get; set; } + + [DefaultValue("")] + [TypeConverter(typeof(CultureInfoIetfLanguageTagConverter))] + public CultureInfo ConverterCulture { get; set; } + + [DefaultValue("")] + public object ConverterParameter { get; set; } + + public BindingMode Mode { get; set; } + + [DefaultValue(false)] + public bool NotifyOnSourceUpdated { get; set; } + + [DefaultValue(false)] + public bool NotifyOnTargetUpdated { get; set; } + + [DefaultValue(false)] + public bool NotifyOnValidationError { get; set; } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + public UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilter { get; set; } + + public UpdateSourceTrigger UpdateSourceTrigger { get; set; } + + [DefaultValue(false)] + public bool ValidatesOnDataErrors { get; set; } + + [DefaultValue(false)] + public bool ValidatesOnExceptions { get; set; } + + public Collection ValidationRules { get; private set; } + + #endregion + + public ControlMultiBinding() + { + Bindings = new Collection(); + ValidationRules = new Collection(); + Mode = BindingMode.Default; + UpdateSourceTrigger = System.Windows.Data.UpdateSourceTrigger.Default; + } + + /// + /// 获取代理MultiBindings对象 + /// + /// + internal MultiBinding GetMultiBindings(object rootObject) + { + MultiBinding multiBindings = new MultiBinding(); + + if (this.Converter != null) + multiBindings.Converter = this.Converter; + if (this.ConverterCulture != null) + multiBindings.ConverterCulture = this.ConverterCulture; + if (this.ConverterParameter != null) + multiBindings.ConverterParameter = this.ConverterParameter; + if (this.UpdateSourceExceptionFilter != null) + multiBindings.UpdateSourceExceptionFilter = this.UpdateSourceExceptionFilter; + multiBindings.Mode = this.Mode; + multiBindings.NotifyOnSourceUpdated = this.NotifyOnSourceUpdated; + multiBindings.NotifyOnTargetUpdated = this.NotifyOnTargetUpdated; + multiBindings.NotifyOnValidationError = this.NotifyOnValidationError; + multiBindings.UpdateSourceTrigger = this.UpdateSourceTrigger; + multiBindings.ValidatesOnDataErrors = this.ValidatesOnDataErrors; + multiBindings.ValidatesOnExceptions = this.ValidatesOnExceptions; + + foreach (object bd in Bindings) + { + if (bd is BindingBase) + multiBindings.Bindings.Add(bd as BindingBase); + else if (bd is ControlBinding) + multiBindings.Bindings.Add((bd as ControlBinding).GetBinding(rootObject) as BindingBase); + } + + foreach (ValidationRule vr in ValidationRules) + multiBindings.ValidationRules.Add(vr); + + return multiBindings; + } + + public override object ProvideValue(System.IServiceProvider serviceProvider) + { + var valueProvider = serviceProvider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget; + if (valueProvider == null) + return null; + + var bindingTarget = valueProvider.TargetObject as DependencyObject; + var bindingProperty = valueProvider.TargetProperty as DependencyProperty; + if (bindingProperty == null) + return null; + + //使用MultiBindings返回最终的值 + #region 使用代理Binding返回最终的值 + + var rootObjProvider = serviceProvider.GetService(typeof(System.Xaml.IRootObjectProvider)) as System.Xaml.IRootObjectProvider; + + MultiBinding multiBindings = GetMultiBindings(rootObjProvider == null ? null : rootObjProvider.RootObject); + if (multiBindings == null) return null; + + object retValue = multiBindings.ProvideValue(serviceProvider); + + #endregion + + return retValue; + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/ControlCommand.cs b/AIStudio.Wpf.ADiagram/Commands/ControlCommand.cs new file mode 100644 index 0000000..288d7af --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/ControlCommand.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Controls; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + #region ConbrolCommand + + public interface IControlCommand + { + void SetControl(Control cb); + + void SetBase(IControlCommand cc); + + void Execute(object parameter); + } + + /// + /// ControlBase可以使用的命令类 + /// 使用此类,可以使Command具有继承的机制,在新的Command中可以调用旧的Command + /// + public class ControlCommand : CanExecuteDelegateCommand, T1>, IControlCommand + { + public Control Control { get; protected set; } + + public IControlCommand Base { get; protected set; } + + public string Name { get; set; } + + public ControlCommand(Action, T1> executeMethod, Func, T1, bool> canExecuteMethod = null, bool isAutomaticRequeryDisabled = false, string name = "") + : base(executeMethod, canExecuteMethod, isAutomaticRequeryDisabled) + { + Name = name; + } + + public override bool CanExecute(object parameter) + { + return base.CanExecute(new object[] { this, parameter }); + } + + public override void Execute(object parameter) + { + base.Execute(new object[] { this, parameter }); + } + + public virtual void ExecuteBaseCommand(T1 parameter) + { + if (Base != null) + Base.Execute((object)parameter); + } + + public void SetControl(Control cb) + { + Control = cb; + } + + public void SetBase(IControlCommand cc) + { + Base = cc; + } + } + + public class ControlCommand : CanExecuteDelegateCommand, IControlCommand + { + public Control Control { get; protected set; } + + public IControlCommand Base { get; protected set; } + + public string Name { get; set; } + + public ControlCommand(Action executeMethod, Func canExecuteMethod = null, bool isAutomaticRequeryDisabled = false, string name = "") + : base(executeMethod, canExecuteMethod, isAutomaticRequeryDisabled) + { + Name = name; + } + + public override bool CanExecute(object parameter) + { + return base.CanExecute(new object[] { this }); + } + + public override void Execute(object parameter) + { + base.Execute(new object[] { this }); + } + + public virtual void ExecuteBaseCommand() + { + if (Base != null) + Base.Execute((object)null); + } + + public void SetControl(Control cb) + { + Control = cb; + } + + public void SetBase(IControlCommand cc) + { + Base = cc; + } + } + + #endregion +} diff --git a/AIStudio.Wpf.ADiagram/Commands/DelegateCommand(T).cs b/AIStudio.Wpf.ADiagram/Commands/DelegateCommand(T).cs new file mode 100644 index 0000000..ffb8f87 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/DelegateCommand(T).cs @@ -0,0 +1,140 @@ +using System; +using System.Linq.Expressions; +using System.Reflection; +using System.Windows.Input; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// An whose delegates can be attached for and . + /// + /// Parameter type. + /// + /// The constructor deliberately prevents the use of value types. + /// Because ICommand takes an object, having a value type for T would cause unexpected behavior when CanExecute(null) is called during XAML initialization for command bindings. + /// Using default(T) was considered and rejected as a solution because the implementor would not be able to distinguish between a valid and defaulted values. + /// + /// Instead, callers should support a value type by using a nullable value type and checking the HasValue property before using the Value property. + /// + /// + /// public MyClass() + /// { + /// this.submitCommand = new DelegateCommand<int?>(this.Submit, this.CanSubmit); + /// } + /// + /// private bool CanSubmit(int? customerId) + /// { + /// return (customerId.HasValue && customers.Contains(customerId.Value)); + /// } + /// + /// + /// + public class DelegateCommand : DelegateCommandBase + { + readonly Action _executeMethod; + Func _canExecuteMethod; + + /// + /// Initializes a new instance of . + /// + /// Delegate to execute when Execute is called on the command. This can be null to just hook up a CanExecute delegate. + /// will always return true. + public DelegateCommand(Action executeMethod) + : this(executeMethod, (o) => true) + { + } + + /// + /// Initializes a new instance of . + /// + /// Delegate to execute when Execute is called on the command. This can be null to just hook up a CanExecute delegate. + /// Delegate to execute when CanExecute is called on the command. This can be null. + /// When both and are . + public DelegateCommand(Action executeMethod, Func canExecuteMethod) + : base() + { + if (executeMethod == null || canExecuteMethod == null) + throw new ArgumentNullException(nameof(executeMethod), "DelegateCommandDelegatesCannotBeNull"); + + TypeInfo genericTypeInfo = typeof(T).GetTypeInfo(); + + // DelegateCommand allows object or Nullable<>. + // note: Nullable<> is a struct so we cannot use a class constraint. + if (genericTypeInfo.IsValueType) + { + if ((!genericTypeInfo.IsGenericType) || (!typeof(Nullable<>).GetTypeInfo().IsAssignableFrom(genericTypeInfo.GetGenericTypeDefinition().GetTypeInfo()))) + { + throw new InvalidCastException("DelegateCommandInvalidGenericPayloadType"); + } + } + + _executeMethod = executeMethod; + _canExecuteMethod = canExecuteMethod; + } + + /// + ///Executes the command and invokes the provided during construction. + /// + ///Data used by the command. + public void Execute(T parameter) + { + _executeMethod(parameter); + } + + /// + ///Determines if the command can execute by invoked the provided during construction. + /// + ///Data used by the command to determine if it can execute. + /// + /// if this command can be executed; otherwise, . + /// + public bool CanExecute(T parameter) + { + return _canExecuteMethod(parameter); + } + + /// + /// Handle the internal invocation of + /// + /// Command Parameter + protected override void Execute(object parameter) + { + Execute((T)parameter); + } + + /// + /// Handle the internal invocation of + /// + /// + /// if the Command Can Execute, otherwise + protected override bool CanExecute(object parameter) + { + return CanExecute((T)parameter); + } + + /// + /// Observes a property that implements INotifyPropertyChanged, and automatically calls DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications. + /// + /// The type of the return value of the method that this delegate encapulates + /// The property expression. Example: ObservesProperty(() => PropertyName). + /// The current instance of DelegateCommand + public DelegateCommand ObservesProperty(Expression> propertyExpression) + { + ObservesPropertyInternal(propertyExpression); + return this; + } + + /// + /// Observes a property that is used to determine if this command can execute, and if it implements INotifyPropertyChanged it will automatically call DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications. + /// + /// The property expression. Example: ObservesCanExecute(() => PropertyName). + /// The current instance of DelegateCommand + public DelegateCommand ObservesCanExecute(Expression> canExecuteExpression) + { + Expression> expression = System.Linq.Expressions.Expression.Lambda>(canExecuteExpression.Body, System.Linq.Expressions.Expression.Parameter(typeof(T), "o")); + _canExecuteMethod = expression.Compile(); + ObservesPropertyInternal(canExecuteExpression); + return this; + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/DelegateCommand.cs b/AIStudio.Wpf.ADiagram/Commands/DelegateCommand.cs new file mode 100644 index 0000000..b5cc169 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/DelegateCommand.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using System.Threading.Tasks; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// An whose delegates do not take any parameters for and . + /// + /// + /// + public class DelegateCommand : DelegateCommandBase + { + Action _executeMethod; + Func _canExecuteMethod; + + /// + /// Creates a new instance of with the to invoke on execution. + /// + /// The to invoke when is called. + public DelegateCommand(Action executeMethod) + : this(executeMethod, () => true) + { + + } + + /// + /// Creates a new instance of with the to invoke on execution + /// and a to query for determining if the command can execute. + /// + /// The to invoke when is called. + /// The to invoke when is called + public DelegateCommand(Action executeMethod, Func canExecuteMethod) + : base() + { + if (executeMethod == null || canExecuteMethod == null) + throw new ArgumentNullException(nameof(executeMethod), "DelegateCommandDelegatesCannotBeNull"); + + _executeMethod = executeMethod; + _canExecuteMethod = canExecuteMethod; + } + + /// + /// Executes the command. + /// + public void Execute() + { + _executeMethod(); + } + + /// + /// Determines if the command can be executed. + /// + /// Returns if the command can execute,otherwise returns . + public bool CanExecute() + { + return _canExecuteMethod(); + } + + /// + /// Handle the internal invocation of + /// + /// Command Parameter + protected override void Execute(object parameter) + { + Execute(); + } + + /// + /// Handle the internal invocation of + /// + /// + /// if the Command Can Execute, otherwise + protected override bool CanExecute(object parameter) + { + return CanExecute(); + } + + /// + /// Observes a property that implements INotifyPropertyChanged, and automatically calls DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications. + /// + /// The object type containing the property specified in the expression. + /// The property expression. Example: ObservesProperty(() => PropertyName). + /// The current instance of DelegateCommand + public DelegateCommand ObservesProperty(Expression> propertyExpression) + { + ObservesPropertyInternal(propertyExpression); + return this; + } + + /// + /// Observes a property that is used to determine if this command can execute, and if it implements INotifyPropertyChanged it will automatically call DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications. + /// + /// The property expression. Example: ObservesCanExecute(() => PropertyName). + /// The current instance of DelegateCommand + public DelegateCommand ObservesCanExecute(Expression> canExecuteExpression) + { + _canExecuteMethod = canExecuteExpression.Compile(); + ObservesPropertyInternal(canExecuteExpression); + return this; + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/DelegateCommandBase.cs b/AIStudio.Wpf.ADiagram/Commands/DelegateCommandBase.cs new file mode 100644 index 0000000..00f6758 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/DelegateCommandBase.cs @@ -0,0 +1,139 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using System.Linq.Expressions; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Input; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// An whose delegates can be attached for and . + /// + public abstract class DelegateCommandBase : ICommand, IActiveAware + { + private bool _isActive; + + private SynchronizationContext _synchronizationContext; + private readonly HashSet _observedPropertiesExpressions = new HashSet(); + + /// + /// Creates a new instance of a , specifying both the execute action and the can execute function. + /// + protected DelegateCommandBase() + { + _synchronizationContext = SynchronizationContext.Current; + } + + /// + /// Occurs when changes occur that affect whether or not the command should execute. + /// + public virtual event EventHandler CanExecuteChanged; + + /// + /// Raises so every + /// command invoker can requery . + /// + protected virtual void OnCanExecuteChanged() + { + var handler = CanExecuteChanged; + if (handler != null) + { + if (_synchronizationContext != null && _synchronizationContext != SynchronizationContext.Current) + _synchronizationContext.Post((o) => handler.Invoke(this, EventArgs.Empty), null); + else + handler.Invoke(this, EventArgs.Empty); + } + } + + /// + /// Raises so every command invoker + /// can requery to check if the command can execute. + /// + /// Note that this will trigger the execution of once for each invoker. + [SuppressMessage("Microsoft.Design", "CA1030:UseEventsWhereAppropriate")] + public void RaiseCanExecuteChanged() + { + OnCanExecuteChanged(); + } + + void ICommand.Execute(object parameter) + { + Execute(parameter); + } + + bool ICommand.CanExecute(object parameter) + { + return CanExecute(parameter); + } + + /// + /// Handle the internal invocation of + /// + /// Command Parameter + protected abstract void Execute(object parameter); + + /// + /// Handle the internal invocation of + /// + /// + /// if the Command Can Execute, otherwise + protected abstract bool CanExecute(object parameter); + + /// + /// Observes a property that implements INotifyPropertyChanged, and automatically calls DelegateCommandBase.RaiseCanExecuteChanged on property changed notifications. + /// + /// The object type containing the property specified in the expression. + /// The property expression. Example: ObservesProperty(() => PropertyName). + protected internal void ObservesPropertyInternal(Expression> propertyExpression) + { + if (_observedPropertiesExpressions.Contains(propertyExpression.ToString())) + { + throw new ArgumentException($"{propertyExpression.ToString()} is already being observed.", + nameof(propertyExpression)); + } + else + { + _observedPropertiesExpressions.Add(propertyExpression.ToString()); + PropertyObserver.Observes(propertyExpression, RaiseCanExecuteChanged); + } + } + + #region IsActive + + /// + /// Gets or sets a value indicating whether the object is active. + /// + /// if the object is active; otherwise . + public bool IsActive + { + get { return _isActive; } + set + { + if (_isActive != value) + { + _isActive = value; + OnIsActiveChanged(); + } + } + } + + /// + /// Fired if the property changes. + /// + public virtual event EventHandler IsActiveChanged; + + /// + /// This raises the event. + /// + protected virtual void OnIsActiveChanged() + { + IsActiveChanged?.Invoke(this, EventArgs.Empty); + } + + #endregion + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/IActiveAware.cs b/AIStudio.Wpf.ADiagram/Commands/IActiveAware.cs new file mode 100644 index 0000000..fccab53 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/IActiveAware.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// Interface that defines if the object instance is active + /// and notifies when the activity changes. + /// + public interface IActiveAware + { + /// + /// Gets or sets a value indicating whether the object is active. + /// + /// if the object is active; otherwise . + bool IsActive { get; set; } + + /// + /// Notifies that the value for property has changed. + /// + event EventHandler IsActiveChanged; + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/PropertyObserver.cs b/AIStudio.Wpf.ADiagram/Commands/PropertyObserver.cs new file mode 100644 index 0000000..5a809c8 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/PropertyObserver.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Linq.Expressions; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// Provide a way to observe property changes of INotifyPropertyChanged objects and invokes a + /// custom action when the PropertyChanged event is fired. + /// + internal class PropertyObserver + { + private readonly Action _action; + + private PropertyObserver(System.Linq.Expressions.Expression propertyExpression, Action action) + { + _action = action; + SubscribeListeners(propertyExpression); + } + + private void SubscribeListeners(System.Linq.Expressions.Expression propertyExpression) + { + var propNameStack = new Stack(); + while (propertyExpression is MemberExpression temp) // Gets the root of the property chain. + { + propertyExpression = temp.Expression; + propNameStack.Push(temp.Member as PropertyInfo); // Records the member info as property info + } + + if (!(propertyExpression is ConstantExpression constantExpression)) + throw new NotSupportedException("Operation not supported for the given expression type. " + + "Only MemberExpression and ConstantExpression are currently supported."); + + var propObserverNodeRoot = new PropertyObserverNode(propNameStack.Pop(), _action); + PropertyObserverNode previousNode = propObserverNodeRoot; + foreach (var propName in propNameStack) // Create a node chain that corresponds to the property chain. + { + var currentNode = new PropertyObserverNode(propName, _action); + previousNode.Next = currentNode; + previousNode = currentNode; + } + + object propOwnerObject = constantExpression.Value; + + if (!(propOwnerObject is INotifyPropertyChanged inpcObject)) + throw new InvalidOperationException("Trying to subscribe PropertyChanged listener in object that " + + $"owns '{propObserverNodeRoot.PropertyInfo.Name}' property, but the object does not implements INotifyPropertyChanged."); + + propObserverNodeRoot.SubscribeListenerFor(inpcObject); + } + + /// + /// Observes a property that implements INotifyPropertyChanged, and automatically calls a custom action on + /// property changed notifications. The given expression must be in this form: "() => Prop.NestedProp.PropToObserve". + /// + /// Expression representing property to be observed. Ex.: "() => Prop.NestedProp.PropToObserve". + /// Action to be invoked when PropertyChanged event occours. + internal static PropertyObserver Observes(Expression> propertyExpression, Action action) + { + return new PropertyObserver(propertyExpression.Body, action); + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Commands/PropertyObserverNode.cs b/AIStudio.Wpf.ADiagram/Commands/PropertyObserverNode.cs new file mode 100644 index 0000000..b9bad70 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Commands/PropertyObserverNode.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace AIStudio.Wpf.ADiagram.Commands +{ + /// + /// Represents each node of nested properties expression and takes care of + /// subscribing/unsubscribing INotifyPropertyChanged.PropertyChanged listeners on it. + /// + internal class PropertyObserverNode + { + private readonly Action _action; + private INotifyPropertyChanged _inpcObject; + + public PropertyInfo PropertyInfo { get; } + public PropertyObserverNode Next { get; set; } + + public PropertyObserverNode(PropertyInfo propertyInfo, Action action) + { + PropertyInfo = propertyInfo ?? throw new ArgumentNullException(nameof(propertyInfo)); + _action = () => + { + action?.Invoke(); + if (Next == null) return; + Next.UnsubscribeListener(); + GenerateNextNode(); + }; + } + + public void SubscribeListenerFor(INotifyPropertyChanged inpcObject) + { + _inpcObject = inpcObject; + _inpcObject.PropertyChanged += OnPropertyChanged; + + if (Next != null) GenerateNextNode(); + } + + private void GenerateNextNode() + { + var nextProperty = PropertyInfo.GetValue(_inpcObject); + if (nextProperty == null) return; + if (!(nextProperty is INotifyPropertyChanged nextInpcObject)) + throw new InvalidOperationException("Trying to subscribe PropertyChanged listener in object that " + + $"owns '{Next.PropertyInfo.Name}' property, but the object does not implements INotifyPropertyChanged."); + + Next.SubscribeListenerFor(nextInpcObject); + } + + private void UnsubscribeListener() + { + if (_inpcObject != null) + _inpcObject.PropertyChanged -= OnPropertyChanged; + + Next?.UnsubscribeListener(); + } + + private void OnPropertyChanged(object sender, PropertyChangedEventArgs e) + { + if (e?.PropertyName == PropertyInfo.Name || string.IsNullOrEmpty(e?.PropertyName)) + { + _action?.Invoke(); + } + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Controls/AnimationHelper.cs b/AIStudio.Wpf.ADiagram/Controls/AnimationHelper.cs new file mode 100644 index 0000000..ce82aae --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/AnimationHelper.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media; +using System.Windows.Media.Animation; + +namespace AIStudio.Wpf.ADiagram.Controls +{ + /// + /// 包含一些常用的动画辅助方法 + /// + public class AnimationHelper + { + /// + /// 创建一个Thickness动画 + /// + /// + /// + /// + public static ThicknessAnimation CreateAnimation(Thickness thickness = default, double milliseconds = 200) + { + return new ThicknessAnimation(thickness, new Duration(TimeSpan.FromMilliseconds(milliseconds))) + { + EasingFunction = new PowerEase { EasingMode = EasingMode.EaseInOut } + }; + } + + /// + /// 创建一个Double动画 + /// + /// + /// + /// + public static DoubleAnimation CreateAnimation(double toValue, double milliseconds = 200) + { + return new DoubleAnimation(toValue, new Duration(TimeSpan.FromMilliseconds(milliseconds))) + { + EasingFunction = new PowerEase { EasingMode = EasingMode.EaseInOut } + }; + } + + public const string DigitsPattern = @"[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?"; + + internal static void DecomposeGeometryStr(string geometryStr, out double[] arr) + { + var collection = Regex.Matches(geometryStr, DigitsPattern); + arr = new double[collection.Count]; + for (var i = 0; i < collection.Count; i++) + { + arr[i] = Convert.ToDouble(collection[i].Value); + } + } + + internal static Geometry ComposeGeometry(string[] strings, double[] arr) + { + var builder = new StringBuilder(strings[0]); + for (var i = 0; i < arr.Length; i++) + { + var s = strings[i + 1]; + var n = arr[i]; + if (!double.IsNaN(n)) + { + builder.Append(n).Append(s); + } + } + + return Geometry.Parse(builder.ToString()); + } + + internal static Geometry InterpolateGeometry(double[] from, double[] to, double progress, string[] strings) + { + var accumulated = new double[to.Length]; + for (var i = 0; i < to.Length; i++) + { + var fromValue = from[i]; + accumulated[i] = fromValue + (to[i] - fromValue) * progress; + } + + return ComposeGeometry(strings, accumulated); + } + + internal static double[] InterpolateGeometryValue(double[] from, double[] to, double progress) + { + var accumulated = new double[to.Length]; + for (var i = 0; i < to.Length; i++) + { + var fromValue = from[i]; + accumulated[i] = fromValue + (to[i] - fromValue) * progress; + } + + return accumulated; + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Controls/Barcode.xaml b/AIStudio.Wpf.ADiagram/Controls/Barcode.xaml new file mode 100644 index 0000000..ae8eeb8 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/Barcode.xaml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/AIStudio.Wpf.ADiagram/Controls/Barcode.xaml.cs b/AIStudio.Wpf.ADiagram/Controls/Barcode.xaml.cs new file mode 100644 index 0000000..37753d0 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/Barcode.xaml.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using WpfAnimatedGif; +using ZXing; +using ZXing.Presentation; + +namespace AIStudio.Wpf.ADiagram.Controls +{ + /// + /// Barcode.xaml 的交互逻辑 + /// + public partial class Barcode : UserControl + { + public Barcode() + { + InitializeComponent(); + } + + public static readonly DependencyProperty TextProperty = DependencyProperty.Register( + "Text", typeof(string), typeof(Barcode), new FrameworkPropertyMetadata( + string.Empty, + FrameworkPropertyMetadataOptions.AffectsMeasure | + FrameworkPropertyMetadataOptions.AffectsRender, OnFormattedTextInvalidated)); + + public string Text + { + get => (string)GetValue(TextProperty); + set => SetValue(TextProperty, value); + } + + public static readonly DependencyProperty FormatProperty = DependencyProperty.Register( + "Format", typeof(BarcodeFormat), typeof(Barcode), new FrameworkPropertyMetadata( + BarcodeFormat.QR_CODE, + FrameworkPropertyMetadataOptions.AffectsMeasure | + FrameworkPropertyMetadataOptions.AffectsRender, OnFormattedTextInvalidated)); + + public BarcodeFormat Format + { + get => (BarcodeFormat)GetValue(FormatProperty); + set => SetValue(FormatProperty, value); + } + + public static readonly DependencyProperty SizeProperty = DependencyProperty.Register( + "Size", typeof(double), typeof(Barcode), new FrameworkPropertyMetadata( + 512d, + FrameworkPropertyMetadataOptions.AffectsMeasure | + FrameworkPropertyMetadataOptions.AffectsRender, OnFormattedTextInvalidated)); + + public double Size + { + get => (double)GetValue(SizeProperty); + set => SetValue(SizeProperty, value); + } + + public static readonly DependencyProperty IconProperty = DependencyProperty.Register( + "Icon", typeof(string), typeof(Barcode), new FrameworkPropertyMetadata(null, OnIconChanged)); + + public string Icon + { + get => (string)GetValue(IconProperty); + set => SetValue(IconProperty, value); + } + + + private static void OnIconChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var barcode = (Barcode)d; + barcode.OnIconChanged(); + } + + private void OnIconChanged() + { + if (!string.IsNullOrEmpty(this.Icon)) + { + var suffix = System.IO.Path.GetExtension(this.Icon).ToLower(); + Image image = new Image() { Stretch = Stretch.UniformToFill }; + var icon = new BitmapImage(new Uri(Icon)); + if (suffix != ".gif") + { + image.Source = icon; + } + else + { + image.SetCurrentValue(ImageBehavior.AnimatedSourceProperty, icon); + image.SetCurrentValue(ImageBehavior.AutoStartProperty, true); + } + PART_Icon.Content = image; + } + else + { + PART_Icon.Content = null; + } + } + + private static void OnFormattedTextInvalidated(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var barcode = (Barcode)d; + barcode.OnFormattedTextInvalidated(); + } + + private void OnFormattedTextInvalidated() + { + var writer = new BarcodeWriterGeometry + { + Format = Format, + Options = new ZXing.Common.EncodingOptions + { + Height = (int)this.Size, + Width = (int)this.Size, + Margin = 0 + } + }; + var image = writer.Write(Text ?? "AIStudio画板"); + imageBarcodeEncoderGeometry.Data = image; + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Controls/CancelRoutedEventArgs.cs b/AIStudio.Wpf.ADiagram/Controls/CancelRoutedEventArgs.cs new file mode 100644 index 0000000..43fe5be --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/CancelRoutedEventArgs.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace AIStudio.Wpf.ADiagram.Controls +{ + public class CancelRoutedEventArgs : RoutedEventArgs + { + public CancelRoutedEventArgs(RoutedEvent routedEvent, object source) : base(routedEvent, source) + { + } + + public bool Cancel { get; set; } + } +} diff --git a/AIStudio.Wpf.ADiagram/Controls/ContextMenuToggleButton.cs b/AIStudio.Wpf.ADiagram/Controls/ContextMenuToggleButton.cs new file mode 100644 index 0000000..608c174 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/ContextMenuToggleButton.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; + +namespace AIStudio.Wpf.ADiagram.Controls +{ + /// + /// 带上下文菜单的切换按钮 + /// + public class ContextMenuToggleButton : ToggleButton + { + public ContextMenu Menu { get; set; } + + protected override void OnClick() + { + base.OnClick(); + if (Menu != null) + { + if (IsChecked == true) + { + Menu.PlacementTarget = this; + Menu.IsOpen = true; + } + else + { + Menu.IsOpen = false; + } + } + } + } +} diff --git a/AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml b/AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml new file mode 100644 index 0000000..2f0c307 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml.cs b/AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml.cs new file mode 100644 index 0000000..4cccee4 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/GradientStopControl.xaml.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Util.DiagramDesigner; + +namespace AIStudio.Wpf.ADiagram.Controls +{ + /// + /// GradientStopControl.xaml 的交互逻辑 + /// + public partial class GradientStopControl : UserControl + { + public GradientStopControl() + { + InitializeComponent(); + } + + public ColorObject ColorObject + { + get { return this.DataContext as ColorObject; } + } + + protected override void OnPreviewMouseDown(MouseButtonEventArgs e) + { + base.OnPreviewMouseDown(e); + + var element = (e.OriginalSource as FrameworkElement); + if (element.DataContext is Util.DiagramDesigner.GradientStop target) + { + ColorObject.SelectedGradientStop = target; + + } + } + } +} \ No newline at end of file diff --git a/AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml b/AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml new file mode 100644 index 0000000..b731f64 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml.cs b/AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml.cs new file mode 100644 index 0000000..345adc5 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/MultiSelectComboBox.xaml.cs @@ -0,0 +1,334 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Collections; +using AIStudio.Wpf.ADiagram.Helpers; +using Util.DiagramDesigner; + +namespace AIStudio.Wpf.ADiagram.Controls +{ + /// + /// Interaction logic for MultiSelectComboBox.xaml + /// + public partial class MultiSelectComboBox : UserControl + { + private ObservableCollection _nodeList; + public MultiSelectComboBox() + { + InitializeComponent(); + _nodeList = new ObservableCollection(); + } + + #region Dependency Properties + + public static readonly DependencyProperty ItemsSourceProperty = + DependencyProperty.Register("ItemsSource", typeof(IList), typeof(MultiSelectComboBox), new FrameworkPropertyMetadata(null, + new PropertyChangedCallback(MultiSelectComboBox.OnItemsSourceChanged))); + + public static readonly DependencyProperty SelectedItemsProperty = + DependencyProperty.Register("SelectedItems", typeof(IList), typeof(MultiSelectComboBox), new FrameworkPropertyMetadata(null, + new PropertyChangedCallback(MultiSelectComboBox.OnSelectedItemsChanged))); + + public static readonly DependencyProperty SelectedValuesProperty = + DependencyProperty.Register("SelectedValues", typeof(IList), typeof(MultiSelectComboBox), new FrameworkPropertyMetadata(null, + new PropertyChangedCallback(MultiSelectComboBox.OnSelectedValuesChanged))); + + public static readonly DependencyProperty TextProperty = + DependencyProperty.Register("Text", typeof(string), typeof(MultiSelectComboBox), new UIPropertyMetadata(string.Empty)); + + public static readonly DependencyProperty DefaultTextProperty = + DependencyProperty.Register("DefaultText", typeof(string), typeof(MultiSelectComboBox), new UIPropertyMetadata(string.Empty)); + + public string DisplayMemberPath { get; set; } + + public string SelectedValuePath { get; set; } + + public IList ItemsSource + { + get { return (IList)GetValue(ItemsSourceProperty); } + set + { + SetValue(ItemsSourceProperty, value); + } + } + + public IList SelectedItems + { + get { return (IList)GetValue(SelectedItemsProperty); } + set + { + SetValue(SelectedItemsProperty, value); + } + } + + public IList SelectedValues + { + get { return (IList)GetValue(SelectedValuesProperty); } + set + { + SetValue(SelectedValuesProperty, value); + } + } + + public string Text + { + get { return (string)GetValue(TextProperty); } + set { SetValue(TextProperty, value); } + } + + public string DefaultText + { + get { return (string)GetValue(DefaultTextProperty); } + set { SetValue(DefaultTextProperty, value); } + } + #endregion + + #region Events + private static void OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + MultiSelectComboBox control = (MultiSelectComboBox)d; + control.DisplayInControl(); + } + + private static void OnSelectedItemsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + MultiSelectComboBox control = (MultiSelectComboBox)d; + control.SelectNodes(); + control.SetText(); + } + + private static void OnSelectedValuesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + MultiSelectComboBox control = (MultiSelectComboBox)d; + control.SelectNodes(); + control.SetText(); + } + + private void CheckBox_Click(object sender, RoutedEventArgs e) + { + CheckBox clickedBox = (CheckBox)sender; + + if (clickedBox.Content.ToString() == "All") + { + if (clickedBox.IsChecked.Value) + { + foreach (Node node in _nodeList) + { + node.IsSelected = true; + } + } + else + { + foreach (Node node in _nodeList) + { + node.IsSelected = false; + } + } + + } + else + { + int _selectedCount = 0; + foreach (Node s in _nodeList) + { + if (s.IsSelected && s.Object.ToString() != "All") + _selectedCount++; + } + if (_selectedCount == _nodeList.Count - 1) + _nodeList.FirstOrDefault(i => i.Object.ToString() == "All").IsSelected = true; + else + _nodeList.FirstOrDefault(i => i.Object.ToString() == "All").IsSelected = false; + } + SetSelectedItems(); + SetText(); + + } + #endregion + + + #region Methods + private void SelectNodes() + { + if (SelectedItems != null) + { + foreach (var item in SelectedItems) + { + Node node = _nodeList.FirstOrDefault(i => i.Object == item); + if (node != null) + node.IsSelected = true; + } + } + else if (SelectedValues != null) + { + foreach (var item in SelectedValues) + { + Node node = _nodeList.FirstOrDefault(i => i.Object != null && i.Object.ToString() != "All" && i.Object.GetPropertyValue(SelectedValuePath) == item); + if (node != null) + node.IsSelected = true; + } + } + } + + private void SetSelectedItems() + { + if (SelectedItems != null) + { + SelectedItems.Clear(); + foreach (Node node in _nodeList) + { + if (node.IsSelected && node.Object.ToString() != "All") + { + if (this.ItemsSource.Count > 0) + { + if (SelectedItems != null) + { + SelectedItems.Add(node.Object); + } + } + } + } + } + + if (SelectedValues != null) + { + SelectedValues.Clear(); + foreach (Node node in _nodeList) + { + if (node.IsSelected && node.Object.ToString() != "All") + { + if (this.ItemsSource.Count > 0) + { + if (SelectedValues != null) + { + SelectedValues.Add(node.Object.GetPropertyValue(SelectedValuePath)); + } + } + } + } + } + } + + private void DisplayInControl() + { + _nodeList.Clear(); + if (this.ItemsSource.Count > 0) + _nodeList.Add(new Node("All", DisplayMemberPath)); + foreach (var item in this.ItemsSource) + { + Node node = new Node(item, DisplayMemberPath); + _nodeList.Add(node); + } + MultiSelectCombo.ItemsSource = _nodeList; + } + + private void SetText() + { + StringBuilder displayText = new StringBuilder(); + foreach (Node s in _nodeList) + { + if (s.IsSelected == true && s.Object.ToString() == "All") + { + displayText = new StringBuilder(); + displayText.Append("All"); + break; + } + else if (s.IsSelected == true && s.Object.ToString() != "All") + { + displayText.Append(s.Object); + displayText.Append(','); + } + } + this.Text = displayText.ToString().TrimEnd(new char[] { ',' }); + + // set DefaultText if nothing else selected + if (string.IsNullOrEmpty(this.Text)) + { + this.Text = this.DefaultText; + } + } + + + #endregion + } + + public class Node : INotifyPropertyChanged + { + #region ctor + public Node(object obj, string displayMemberPath) + { + Object = obj; + + if (!string.IsNullOrEmpty(displayMemberPath) && Object.ContainsProperty(displayMemberPath)) + Title = Object.GetPropertyValue(displayMemberPath).ToString(); + else + Title = obj.ToString(); + } + #endregion + + #region Properties + private object _object; + public object Object + { + get + { + return _object; + } + set + { + _object = value; + NotifyPropertyChanged("Object"); + } + } + + private string _title; + public string Title + { + get + { + return _title; + } + set + { + _title = value; + NotifyPropertyChanged("Title"); + } + } + + private bool _isSelected; + public bool IsSelected + { + get + { + return _isSelected; + } + set + { + _isSelected = value; + NotifyPropertyChanged("IsSelected"); + } + } + #endregion + + public event PropertyChangedEventHandler PropertyChanged; + protected void NotifyPropertyChanged(string propertyName) + { + if (PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + + } +} diff --git a/AIStudio.Wpf.ADiagram/Controls/OutlineText.cs b/AIStudio.Wpf.ADiagram/Controls/OutlineText.cs new file mode 100644 index 0000000..61a35d1 --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/OutlineText.cs @@ -0,0 +1,310 @@ +using System; +using System.ComponentModel; +using System.Globalization; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; +using System.Windows.Media; + +namespace AIStudio.Wpf.ADiagram.Controls +{ + public class OutlineText : FrameworkElement + { + private Pen _pen; + + private FormattedText _formattedText; + + private Geometry _textGeometry; + + private PathGeometry _clipGeometry; + + static OutlineText() + { + SnapsToDevicePixelsProperty.OverrideMetadata(typeof(OutlineText), new FrameworkPropertyMetadata(true)); + UseLayoutRoundingProperty.OverrideMetadata(typeof(OutlineText), new FrameworkPropertyMetadata(true)); + } + + public static readonly DependencyProperty StrokePositionProperty = DependencyProperty.Register( + "StrokePosition", typeof(StrokePosition), typeof(OutlineText), new PropertyMetadata(default(StrokePosition))); + + public StrokePosition StrokePosition + { + get => (StrokePosition)GetValue(StrokePositionProperty); + set => SetValue(StrokePositionProperty, value); + } + + public static readonly DependencyProperty TextProperty = DependencyProperty.Register( + "Text", typeof(string), typeof(OutlineText), new FrameworkPropertyMetadata( + string.Empty, + FrameworkPropertyMetadataOptions.AffectsMeasure | + FrameworkPropertyMetadataOptions.AffectsRender, OnFormattedTextInvalidated)); + + public string Text + { + get => (string)GetValue(TextProperty); + set => SetValue(TextProperty, value); + } + + public static readonly DependencyProperty TextAlignmentProperty = DependencyProperty.Register( + "TextAlignment", typeof(TextAlignment), typeof(OutlineText), + new PropertyMetadata(default(TextAlignment), OnFormattedTextUpdated)); + + public TextAlignment TextAlignment + { + get => (TextAlignment)GetValue(TextAlignmentProperty); + set => SetValue(TextAlignmentProperty, value); + } + + public static readonly DependencyProperty TextTrimmingProperty = DependencyProperty.Register( + "TextTrimming", typeof(TextTrimming), typeof(OutlineText), + new PropertyMetadata(default(TextTrimming), OnFormattedTextInvalidated)); + + public TextTrimming TextTrimming + { + get => (TextTrimming)GetValue(TextTrimmingProperty); + set => SetValue(TextTrimmingProperty, value); + } + + public static readonly DependencyProperty TextWrappingProperty = DependencyProperty.Register( + "TextWrapping", typeof(TextWrapping), typeof(OutlineText), + new PropertyMetadata(TextWrapping.NoWrap, OnFormattedTextInvalidated)); + + public TextWrapping TextWrapping + { + get => (TextWrapping)GetValue(TextWrappingProperty); + set => SetValue(TextWrappingProperty, value); + } + + public static readonly DependencyProperty FillProperty = DependencyProperty.Register( + "Fill", typeof(Brush), typeof(OutlineText), new PropertyMetadata(Brushes.Black, OnFormattedTextUpdated)); + + public Brush Fill + { + get => (Brush)GetValue(FillProperty); + set => SetValue(FillProperty, value); + } + + public static readonly DependencyProperty StrokeProperty = DependencyProperty.Register( + "Stroke", typeof(Brush), typeof(OutlineText), new PropertyMetadata(Brushes.Black, OnFormattedTextUpdated)); + + public Brush Stroke + { + get => (Brush)GetValue(StrokeProperty); + set => SetValue(StrokeProperty, value); + } + + public static readonly DependencyProperty StrokeThicknessProperty = DependencyProperty.Register( + "StrokeThickness", typeof(double), typeof(OutlineText), new PropertyMetadata(0d, OnFormattedTextUpdated)); + + public double StrokeThickness + { + get => (double)GetValue(StrokeThicknessProperty); + set => SetValue(StrokeThicknessProperty, value); + } + + public static readonly DependencyProperty FontFamilyProperty = TextElement.FontFamilyProperty.AddOwner( + typeof(OutlineText), + new FrameworkPropertyMetadata(OnFormattedTextUpdated)); + + public FontFamily FontFamily + { + get => (FontFamily)GetValue(FontFamilyProperty); + set => SetValue(FontFamilyProperty, value); + } + + public static readonly DependencyProperty FontSizeProperty = TextElement.FontSizeProperty.AddOwner( + typeof(OutlineText), + new FrameworkPropertyMetadata(OnFormattedTextUpdated)); + + [TypeConverter(typeof(FontSizeConverter))] + public double FontSize + { + get => (double)GetValue(FontSizeProperty); + set => SetValue(FontSizeProperty, value); + } + + public static readonly DependencyProperty FontStretchProperty = TextElement.FontStretchProperty.AddOwner( + typeof(OutlineText), + new FrameworkPropertyMetadata(OnFormattedTextUpdated)); + + public FontStretch FontStretch + { + get => (FontStretch)GetValue(FontStretchProperty); + set => SetValue(FontStretchProperty, value); + } + + public static readonly DependencyProperty FontStyleProperty = TextElement.FontStyleProperty.AddOwner( + typeof(OutlineText), + new FrameworkPropertyMetadata(OnFormattedTextUpdated)); + + public FontStyle FontStyle + { + get => (FontStyle)GetValue(FontStyleProperty); + set => SetValue(FontStyleProperty, value); + } + + public static readonly DependencyProperty FontWeightProperty = TextElement.FontWeightProperty.AddOwner( + typeof(OutlineText), + new FrameworkPropertyMetadata(OnFormattedTextUpdated)); + + public FontWeight FontWeight + { + get => (FontWeight)GetValue(FontWeightProperty); + set => SetValue(FontWeightProperty, value); + } + + public static readonly DependencyProperty TextDecorationsProperty = DependencyProperty.Register( + "TextDecorations", typeof(TextDecorationCollection), typeof(OutlineText), new PropertyMetadata(null, OnFormattedTextUpdated)); + public TextDecorationCollection TextDecorations + { + get => (TextDecorationCollection)GetValue(TextDecorationsProperty); + set => SetValue(TextDecorationsProperty, value); + } + + protected override void OnRender(DrawingContext drawingContext) + { + EnsureGeometry(); + + drawingContext.DrawGeometry(Fill, null, _textGeometry); + + if (StrokePosition == StrokePosition.Outside) + { + drawingContext.PushClip(_clipGeometry); + } + else if (StrokePosition == StrokePosition.Inside) + { + drawingContext.PushClip(_textGeometry); + } + + drawingContext.DrawGeometry(null, _pen, _textGeometry); + + if (StrokePosition == StrokePosition.Outside || StrokePosition == StrokePosition.Inside) + { + drawingContext.Pop(); + } + } + + private void UpdatePen() + { + _pen = new Pen(Stroke, StrokeThickness); + + //if (StrokePosition == StrokePosition.Outside || StrokePosition == StrokePosition.Inside) + //{ + // _pen.Thickness = StrokeThickness * 2; + //} + } + + private void EnsureFormattedText() + { + if (_formattedText != null || Text == null) + { + return; + } + +#if true + _formattedText = new FormattedText( + Text, + CultureInfo.CurrentUICulture, + FlowDirection, + new Typeface(FontFamily, FontStyle, FontWeight, FontStretch), + FontSize, Fill); + +#else + var source = PresentationSource.FromVisual(this); + var dpi = 1.0; + if (source?.CompositionTarget != null) + { + dpi = 96.0 * source.CompositionTarget.TransformToDevice.M11 / 96.0; + } + _formattedText = new FormattedText( + Text, + CultureInfo.CurrentUICulture, + FlowDirection, + new Typeface(FontFamily, FontStyle, FontWeight, FontStretch), + FontSize, Fill, dpi); +#endif + + UpdateFormattedText(); + } + + private void EnsureGeometry() + { + if (_textGeometry != null) + { + return; + } + + EnsureFormattedText(); + _textGeometry = _formattedText.BuildGeometry(new Point(0, 0)); + + if (StrokePosition == StrokePosition.Outside) + { + var geometry = new RectangleGeometry(new Rect(0, 0, ActualWidth, ActualHeight)); + _clipGeometry = Geometry.Combine(geometry, _textGeometry, GeometryCombineMode.Exclude, null); + } + } + + private void UpdateFormattedText() + { + if (_formattedText == null) + { + return; + } + + _formattedText.MaxLineCount = TextWrapping == TextWrapping.NoWrap ? 1 : int.MaxValue; + _formattedText.TextAlignment = TextAlignment; + _formattedText.Trimming = TextTrimming; + + _formattedText.SetFontSize(FontSize); + _formattedText.SetFontStyle(FontStyle); + _formattedText.SetFontWeight(FontWeight); + _formattedText.SetFontFamily(FontFamily); + _formattedText.SetFontStretch(FontStretch); + _formattedText.SetTextDecorations(TextDecorations); + + } + + private static void OnFormattedTextUpdated(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var outlinedTextBlock = (OutlineText)d; + outlinedTextBlock.UpdateFormattedText(); + outlinedTextBlock._textGeometry = null; + + outlinedTextBlock.InvalidateMeasure(); + outlinedTextBlock.InvalidateVisual(); + } + + private static void OnFormattedTextInvalidated(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var outlinedTextBlock = (OutlineText)d; + outlinedTextBlock._formattedText = null; + outlinedTextBlock._textGeometry = null; + + outlinedTextBlock.InvalidateMeasure(); + outlinedTextBlock.InvalidateVisual(); + } + + protected override Size MeasureOverride(Size availableSize) + { + EnsureFormattedText(); + + // constrain the formatted text according to the available size + // the Math.Min call is important - without this constraint (which seems arbitrary, but is the maximum allowable text width), things blow up when availableSize is infinite in both directions + // the Math.Max call is to ensure we don't hit zero, which will cause MaxTextHeight to throw + _formattedText.MaxTextWidth = Math.Min(3579139, availableSize.Width); + _formattedText.MaxTextHeight = Math.Max(0.0001d, availableSize.Height); + + UpdatePen(); + + // return the desired size + return new Size(_formattedText.Width, _formattedText.Height); + } + } + + public enum StrokePosition + { + Center, + Outside, + Inside + } +} \ No newline at end of file diff --git a/AIStudio.Wpf.ADiagram/Controls/PopupWindow.xaml b/AIStudio.Wpf.ADiagram/Controls/PopupWindow.xaml new file mode 100644 index 0000000..011bb7b --- /dev/null +++ b/AIStudio.Wpf.ADiagram/Controls/PopupWindow.xaml @@ -0,0 +1,34 @@ + + + + + + + + + +