27 |
27 |
using System.Windows.Ink;
|
28 |
28 |
using System.Windows.Input;
|
29 |
29 |
using System.Windows.Media;
|
|
30 |
using System.Windows.Media.Animation;
|
30 |
31 |
using System.Windows.Media.Imaging;
|
31 |
32 |
using System.Windows.Shapes;
|
32 |
33 |
using System.Windows.Threading;
|
... | ... | |
117 |
118 |
{
|
118 |
119 |
#region 프로퍼티
|
119 |
120 |
|
120 |
|
private BitmapFrame tempPageImage =null;
|
|
121 |
private BitmapFrame tempPageImage = null;
|
121 |
122 |
|
122 |
123 |
public UndoDataGroup UndoDataGroup { get; set; }
|
123 |
124 |
public CommentUserInfo previousControl { get; set; }
|
... | ... | |
399 |
400 |
if (item.Consolidate == 1 || item.AvoidConsolidate == 1 || item.PartConsolidate == 1)
|
400 |
401 |
{
|
401 |
402 |
ViewerDataModel.Instance._markupInfoList.Remove(item);
|
402 |
|
if(item.PartConsolidate == 1)
|
|
403 |
if (item.PartConsolidate == 1)
|
403 |
404 |
{
|
404 |
|
if(ViewerDataModel.Instance._markupInfoList.Where(x => x.UserID == App.ViewInfo.UserID && x.PartConsolidate == 1).Count() > 0)
|
|
405 |
if (ViewerDataModel.Instance._markupInfoList.Where(x => x.UserID == App.ViewInfo.UserID && x.PartConsolidate == 1).Count() > 0)
|
405 |
406 |
{
|
406 |
407 |
foreach (var comment in ViewerDataModel.Instance._markupInfoList.Where(x => x.UserID == App.ViewInfo.UserID && x.PartConsolidate == 1))
|
407 |
408 |
{
|
... | ... | |
412 |
413 |
{
|
413 |
414 |
foreach (var comment in ViewerDataModel.Instance._markupInfoList.Where(x => x.UserID == App.ViewInfo.UserID))
|
414 |
415 |
{
|
415 |
|
comment.userDelete = true;
|
|
416 |
comment.userDelete = true;
|
416 |
417 |
}
|
417 |
418 |
}
|
418 |
419 |
}
|
... | ... | |
532 |
533 |
|
533 |
534 |
if (App.ParameterMode)
|
534 |
535 |
{
|
535 |
|
|
|
536 |
|
536 |
537 |
App.splashString(ISplashMessage.MAINMENU_1);
|
537 |
538 |
this.pageNavigator.ThumbInitialized += pageNavigator_ThumbInitialized;
|
538 |
539 |
this.pageNavigator.PageChanging += pageNavigator_PageChanging;
|
... | ... | |
545 |
546 |
da.Duration = new Duration(TimeSpan.FromSeconds(1));
|
546 |
547 |
da.AutoReverse = true;
|
547 |
548 |
da.RepeatBehavior = System.Windows.Media.Animation.RepeatBehavior.Forever;
|
548 |
|
|
|
549 |
|
549 |
550 |
if (!App.ViewInfo.CreateFinalPDFPermission && !App.ViewInfo.NewCommentPermission)
|
550 |
551 |
{
|
551 |
552 |
this.SymbolPane.Visibility = Visibility.Collapsed;
|
... | ... | |
567 |
568 |
{
|
568 |
569 |
#region 임시파일 다운로드
|
569 |
570 |
instnaceFile = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "MARKUS", System.IO.Path.GetRandomFileName().Split('.')[0] + ".pdf");
|
570 |
|
|
|
571 |
|
571 |
572 |
var directUri = CommonLib.Common.GetConfigString("DocumentDownloadPath", "url", "");
|
572 |
573 |
|
573 |
574 |
bool isRestDownload = Convert.ToBoolean(CommonLib.Common.GetConfigString("DocumentDownloadPath", "IsRest", "False"));
|
... | ... | |
586 |
587 |
|
587 |
588 |
downloadurl = string.Format(directUri, filename);
|
588 |
589 |
}
|
589 |
|
}
|
|
590 |
}
|
590 |
591 |
else
|
591 |
592 |
{
|
592 |
593 |
downloadurl = GetOriginalPDFURL();
|
593 |
594 |
}
|
594 |
595 |
|
595 |
596 |
ViewerDataModel.Instance.OriginalTempFile = instnaceFile;
|
596 |
|
|
|
597 |
|
597 |
598 |
string endpoint = Common.Commons.ShortGuid() + "file";
|
598 |
599 |
IIpc.WcfServer wcfServer = new IIpc.WcfServer(endpoint);
|
599 |
600 |
wcfServer.IpcFileDownloadReceived += WcfServer_IpcFileDownloadReceived;
|
600 |
601 |
wcfServer.Start();
|
601 |
|
|
|
602 |
|
602 |
603 |
DownloadProcess.FileDownloader(endpoint, ViewerDataModel.Instance.IsAdmin, downloadurl, instnaceFile, isRestDownload);
|
603 |
604 |
#endregion
|
604 |
605 |
}
|
... | ... | |
656 |
657 |
|
657 |
658 |
var exist = ViewerDataModel.Instance.MyMarkupList.Find(data => data.ID == markup.CommentID);
|
658 |
659 |
#region 기존 코멘트
|
659 |
|
if (exist != null)
|
|
660 |
if (exist != null)
|
660 |
661 |
{
|
661 |
662 |
if (exist.Data != markup.ConvertData) //코멘트가 같은지
|
662 |
663 |
{
|
... | ... | |
713 |
714 |
Common.ViewerDataModel.Instance.MarkupControls.Clear(); //전체 제거
|
714 |
715 |
|
715 |
716 |
await PageChangingAsync(page, PageNo, ViewerDataModel.Instance.NewPagImageCancelToken());
|
716 |
|
|
|
717 |
|
717 |
718 |
await MarkupLoadAsync(PageNo, ViewerDataModel.Instance.PageAngle, ViewerDataModel.Instance.NewMarkupCancelToken());
|
718 |
719 |
|
719 |
720 |
//var pagechangeTask = PageChangingAsync(page, page.PAGE_NUMBER, ViewerDataModel.Instance.NewPagImageCancelToken());
|
... | ... | |
723 |
724 |
//await Task.WhenAll(pagechangeTask, markupLoadTask);
|
724 |
725 |
}
|
725 |
726 |
|
726 |
|
private async Task PageChangingAsync(DOCPAGE currentPage, int changePageNumber,CancellationToken token)
|
|
727 |
private async Task PageChangingAsync(DOCPAGE currentPage, int changePageNumber, CancellationToken token)
|
727 |
728 |
{
|
728 |
729 |
var BalancePoint = ViewerDataModel.Instance.PageBalanceMode == true ? changePageNumber + ViewerDataModel.Instance.PageBalanceNumber : changePageNumber;
|
729 |
730 |
|
... | ... | |
762 |
763 |
var contentScale = zoomAndPanControl.ContentScale;
|
763 |
764 |
|
764 |
765 |
#region 페이지 이미지 로딩 수정
|
765 |
|
|
766 |
766 |
|
767 |
|
ViewerDataModel.Instance.ImageViewPath = await App.PageStorage.GetPageImageAsync(token,changePageNumber);
|
768 |
767 |
|
769 |
|
if(token.IsCancellationRequested)
|
|
768 |
ViewerDataModel.Instance.ImageViewPath = await App.PageStorage.GetPageImageAsync(token, changePageNumber);
|
|
769 |
|
|
770 |
if (token.IsCancellationRequested)
|
770 |
771 |
{
|
771 |
772 |
return;
|
772 |
773 |
}
|
... | ... | |
823 |
824 |
else
|
824 |
825 |
{
|
825 |
826 |
Logger.sendCheckLog("Compare Image Download", 1);
|
826 |
|
|
827 |
|
ComparePageLoad(CurrentRev.DOCUMENT_ID, ViewerDataModel.Instance.SyncPageNumber, false);
|
|
827 |
|
|
828 |
ClearCompareRect();
|
|
829 |
|
|
830 |
ComparePageLoad(CurrentRev.DOCUMENT_ID, ViewerDataModel.Instance.SyncPageNumber, OriginalSizeMode.IsChecked);
|
828 |
831 |
}
|
829 |
832 |
}
|
830 |
833 |
|
... | ... | |
833 |
836 |
this.pageNavigator.ChangePage(changePageNumber);
|
834 |
837 |
}
|
835 |
838 |
|
836 |
|
private void ComparePageLoad(string documentID,int PageNo, bool IsOriginalSize)
|
|
839 |
private void ComparePageLoad(string documentID, int PageNo, bool IsOriginalSize)
|
837 |
840 |
{
|
838 |
841 |
if (PageNo > ViewerDataModel.Instance.SyncPageCount)
|
839 |
842 |
{
|
... | ... | |
864 |
867 |
zoomAndPanCanvas2.Width = ViewerDataModel.Instance.ImageViewPath_C.PixelWidth;
|
865 |
868 |
zoomAndPanCanvas2.Height = ViewerDataModel.Instance.ImageViewPath_C.PixelHeight;
|
866 |
869 |
|
867 |
|
zoomAndPanControl.ZoomTo(new Rect
|
868 |
|
{
|
869 |
|
X = 0,
|
870 |
|
Y = 0,
|
871 |
|
Width = Math.Max(zoomAndPanCanvas.Width, zoomAndPanCanvas2.Width),
|
872 |
|
Height = Math.Max(zoomAndPanCanvas.Height, zoomAndPanCanvas2.Height),
|
873 |
|
});
|
|
870 |
SyncRotation(ViewerDataModel.Instance.SyncPageAngle);
|
|
871 |
|
874 |
872 |
|
875 |
873 |
if (Sync.IsChecked)
|
876 |
874 |
{
|
877 |
875 |
Sync_Click(null, new RoutedEventArgs());
|
878 |
876 |
}
|
879 |
|
|
|
877 |
else
|
|
878 |
{
|
|
879 |
zoomAndPanControl2.ZoomTo(new Rect
|
|
880 |
{
|
|
881 |
X = 0,
|
|
882 |
Y = 0,
|
|
883 |
Width = zoomAndPanCanvas2.Width,
|
|
884 |
Height = zoomAndPanCanvas2.Height,
|
|
885 |
});
|
|
886 |
}
|
880 |
887 |
if (CompareMode.IsChecked)
|
881 |
888 |
{
|
882 |
889 |
SyncCompare_Click(null, new RoutedEventArgs());
|
883 |
890 |
}
|
|
891 |
|
|
892 |
//zoomAndPanControl.ScaleToFit();
|
|
893 |
//zoomAndPanControl.ZoomTo(new Rect
|
|
894 |
//{
|
|
895 |
// X = 0,
|
|
896 |
// Y = 0,
|
|
897 |
// Width = Math.Max(zoomAndPanCanvas.Width, zoomAndPanCanvas2.Width),
|
|
898 |
// Height = Math.Max(zoomAndPanCanvas.Height, zoomAndPanCanvas2.Height),
|
|
899 |
//});
|
884 |
900 |
}
|
885 |
901 |
}
|
886 |
902 |
|
... | ... | |
1085 |
1101 |
/// <param name="PageAngle"></param>
|
1086 |
1102 |
/// <param name="cts"></param>
|
1087 |
1103 |
/// <returns></returns>
|
1088 |
|
private async Task MarkupLoadAsync(int pageNumber,Double PageAngle, CancellationToken cts)
|
|
1104 |
private async Task MarkupLoadAsync(int pageNumber, Double PageAngle, CancellationToken cts)
|
1089 |
1105 |
{
|
1090 |
1106 |
System.Diagnostics.Stopwatch stopwatch = new Stopwatch();
|
1091 |
1107 |
stopwatch.Start();
|
... | ... | |
1153 |
1169 |
|
1154 |
1170 |
foreach (var markupitem in markupitems)
|
1155 |
1171 |
{
|
1156 |
|
await MarkupParser.ParseExAsync(App.BaseAddress, ViewerDataModel.Instance.NewMarkupCancelToken(), App.ViewInfo.ProjectNO, markupitem.Data, Common.ViewerDataModel.Instance.MarkupControls_Sync,PageAngle, item.DisplayColor, "", item.MarkupInfoID,
|
|
1172 |
await MarkupParser.ParseExAsync(App.BaseAddress, ViewerDataModel.Instance.NewMarkupCancelToken(), App.ViewInfo.ProjectNO, markupitem.Data, Common.ViewerDataModel.Instance.MarkupControls_Sync, PageAngle, item.DisplayColor, "", item.MarkupInfoID,
|
1157 |
1173 |
STAMP_Contents: App.SystemInfo.STAMP_CONTENTS);
|
1158 |
1174 |
|
1159 |
1175 |
//if (cts.IsCancellationRequested)
|
... | ... | |
1201 |
1217 |
}
|
1202 |
1218 |
}
|
1203 |
1219 |
|
1204 |
|
this.pageNavigator.SetCommentList(_pages.ToList(),cts);
|
|
1220 |
this.pageNavigator.SetCommentList(_pages.ToList(), cts);
|
1205 |
1221 |
}
|
1206 |
1222 |
|
1207 |
1223 |
public void MarkupitemViewUpdate(string markupinfo_id)
|
... | ... | |
1820 |
1836 |
if (controlType != ControlType.PenControl)
|
1821 |
1837 |
{
|
1822 |
1838 |
currentControl.OnCreatingMouseMove(currentCanvasDrawingMouseMovePoint, ViewerDataModel.Instance.IsAxisLock || ViewerDataModel.Instance.IsPressShift);
|
1823 |
|
|
1824 |
1839 |
|
1825 |
|
if(currentControl is MarkupToPDF.Controls.Polygon.PolygonControl && ((MarkupToPDF.Controls.Polygon.PolygonControl)currentControl).IsCompleted)
|
|
1840 |
|
|
1841 |
if (currentControl is MarkupToPDF.Controls.Polygon.PolygonControl && ((MarkupToPDF.Controls.Polygon.PolygonControl)currentControl).IsCompleted)
|
1826 |
1842 |
{
|
1827 |
1843 |
var vControl = currentControl as MarkupToPDF.Controls.Polygon.PolygonControl;
|
1828 |
1844 |
var firstPoint = vControl.PointSet.First();
|
... | ... | |
1836 |
1852 |
vControl.UpdateControl();
|
1837 |
1853 |
currentControl = null;
|
1838 |
1854 |
}
|
1839 |
|
else if(currentControl is MarkupToPDF.Controls.Polygon.CloudControl && ((MarkupToPDF.Controls.Polygon.CloudControl)currentControl).IsCompleted)
|
|
1855 |
else if (currentControl is MarkupToPDF.Controls.Polygon.CloudControl && ((MarkupToPDF.Controls.Polygon.CloudControl)currentControl).IsCompleted)
|
1840 |
1856 |
{
|
1841 |
1857 |
var vControl = currentControl as MarkupToPDF.Controls.Polygon.CloudControl;
|
1842 |
1858 |
|
... | ... | |
2247 |
2263 |
}
|
2248 |
2264 |
else
|
2249 |
2265 |
{
|
2250 |
|
|
|
2266 |
|
2251 |
2267 |
}
|
2252 |
2268 |
}
|
2253 |
2269 |
|
2254 |
2270 |
private CommentUserInfo enterMouse = null;
|
2255 |
2271 |
|
2256 |
|
private object IntersectsControls(Point mousePosition,Canvas drawingRotateCanvas)
|
|
2272 |
private object IntersectsControls(Point mousePosition, Canvas drawingRotateCanvas)
|
2257 |
2273 |
{
|
2258 |
2274 |
object result = null;
|
2259 |
2275 |
|
... | ... | |
3101 |
3117 |
App.Custom_ViewInfoId = item.MarkupInfoID;
|
3102 |
3118 |
}
|
3103 |
3119 |
}
|
3104 |
|
|
|
3120 |
|
3105 |
3121 |
switch (controlType)
|
3106 |
3122 |
{
|
3107 |
3123 |
case ControlType.Coordinate:
|
... | ... | |
3845 |
3861 |
currentControl = null;
|
3846 |
3862 |
|
3847 |
3863 |
if (Common.ViewerDataModel.Instance.SelectedControl == "Batch")
|
3848 |
|
{
|
|
3864 |
{
|
3849 |
3865 |
controlType = ControlType.None;
|
3850 |
3866 |
IsSwingMode = false;
|
3851 |
3867 |
Common.ViewerDataModel.Instance.SelectedControl = "";
|
... | ... | |
3889 |
3905 |
{
|
3890 |
3906 |
ControlType = controlType
|
3891 |
3907 |
};
|
3892 |
|
|
|
3908 |
|
3893 |
3909 |
currentControl.CommentID = Commons.ShortGuid();
|
3894 |
3910 |
currentControl.IsNew = true;
|
3895 |
3911 |
currentControl.MarkupInfoID = App.Custom_ViewInfoId;
|
... | ... | |
3906 |
3922 |
(currentControl as TextControl).Base_TextBox.Focus();
|
3907 |
3923 |
(currentControl as TextControl).SetFontFamily(this.ParentOfType<MainWindow>().dzTopMenu.GetFontFamily().FontFamily);
|
3908 |
3924 |
|
3909 |
|
if(previousControl == null)
|
|
3925 |
if (previousControl == null)
|
3910 |
3926 |
{
|
3911 |
3927 |
previousControl = currentControl as TextControl;
|
3912 |
3928 |
}
|
... | ... | |
4009 |
4025 |
(currentControl as TextControl).IsHighLight = ViewerDataModel.Instance.checkHighShape;
|
4010 |
4026 |
(currentControl as TextControl).ArcLength = ViewerDataModel.Instance.ArcLength;
|
4011 |
4027 |
(currentControl as TextControl).ApplyTemplate();
|
4012 |
|
|
|
4028 |
|
4013 |
4029 |
(currentControl as TextControl).SetFontFamily(this.ParentOfType<MainWindow>().dzTopMenu.GetFontFamily().FontFamily);
|
4014 |
4030 |
|
4015 |
4031 |
(currentControl as TextControl).Base_TextBox.Focus();
|
... | ... | |
4056 |
4072 |
|
4057 |
4073 |
try
|
4058 |
4074 |
{
|
4059 |
|
if(!(currentControl as ArrowTextControl).IsEditingMode)
|
|
4075 |
if (!(currentControl as ArrowTextControl).IsEditingMode)
|
4060 |
4076 |
{
|
4061 |
4077 |
ViewerDataModel.Instance.MarkupControls_USER.Add(currentControl);
|
4062 |
4078 |
}
|
... | ... | |
4244 |
4260 |
ControlType = ControlType.ArrowTransTextBorderControl,
|
4245 |
4261 |
PageAngle = ViewerDataModel.Instance.PageAngle
|
4246 |
4262 |
};
|
4247 |
|
|
|
4263 |
|
4248 |
4264 |
currentControl.CommentID = Commons.ShortGuid();
|
4249 |
4265 |
currentControl.IsNew = true;
|
4250 |
4266 |
currentControl.MarkupInfoID = App.Custom_ViewInfoId;
|
... | ... | |
4399 |
4415 |
}
|
4400 |
4416 |
else
|
4401 |
4417 |
{
|
4402 |
|
if ( Application.Current.Resources.Keys.OfType<string>().Count(x => x == "UserSign") == 0)
|
|
4418 |
if (Application.Current.Resources.Keys.OfType<string>().Count(x => x == "UserSign") == 0)
|
4403 |
4419 |
{
|
4404 |
4420 |
Application.Current.Resources.Add("UserSign", _sign);
|
4405 |
4421 |
}
|
... | ... | |
4613 |
4629 |
{
|
4614 |
4630 |
if (currentControl is ITextControl)
|
4615 |
4631 |
{
|
4616 |
|
var textBox = currentControl.ChildrenOfType<TextBox>().Where(x=> x.Name == "PART_ArrowTextBox" || x.Name == "Base_TextBox" || x.Name == "PART_TextBox");
|
|
4632 |
var textBox = currentControl.ChildrenOfType<TextBox>().Where(x => x.Name == "PART_ArrowTextBox" || x.Name == "Base_TextBox" || x.Name == "PART_TextBox");
|
4617 |
4633 |
|
4618 |
|
if(textBox.Count() > 0)
|
|
4634 |
if (textBox.Count() > 0)
|
4619 |
4635 |
{
|
4620 |
4636 |
Behaviors.SpecialcharRemove specialcharRemove = new Behaviors.SpecialcharRemove();
|
4621 |
4637 |
specialcharRemove.Attach(textBox.First());
|
... | ... | |
4641 |
4657 |
|
4642 |
4658 |
if (string.IsNullOrEmpty(control.ArrowText))
|
4643 |
4659 |
{
|
4644 |
|
UndoCommand.Instance.Push(EventType.Delete, new [] { control });
|
|
4660 |
UndoCommand.Instance.Push(EventType.Delete, new[] { control });
|
4645 |
4661 |
}
|
4646 |
4662 |
};
|
4647 |
4663 |
|
... | ... | |
4666 |
4682 |
if (mouseHandlingMode != MouseHandlingMode.None && e.LeftButton == MouseButtonState.Pressed)
|
4667 |
4683 |
{
|
4668 |
4684 |
// MACRO 버튼클릭하여 CLOUD RECT 그린 후
|
4669 |
|
|
|
4685 |
|
4670 |
4686 |
|
4671 |
4687 |
if (mouseHandlingMode == MouseHandlingMode.Adorner && SelectLayer.Children.Count > 0)
|
4672 |
4688 |
{
|
... | ... | |
4695 |
4711 |
|
4696 |
4712 |
}
|
4697 |
4713 |
|
4698 |
|
|
4699 |
4714 |
|
4700 |
|
|
|
4715 |
|
|
4716 |
|
4701 |
4717 |
|
4702 |
4718 |
private void MenuSendBackward_Click(object sender, RoutedEventArgs e)
|
4703 |
4719 |
{
|
... | ... | |
4812 |
4828 |
inkBoard.Strokes.Add(stroke);
|
4813 |
4829 |
}
|
4814 |
4830 |
|
4815 |
|
private async void btnConsolidate_Click(object sender, RoutedEventArgs e)
|
|
4831 |
private async void btnConsolidate_Click(object sender, RoutedEventArgs e)
|
4816 |
4832 |
{
|
4817 |
4833 |
//SelectionSet.Instance.UnSelect(this.ParentOfType<MainWindow>().dzMainMenu);
|
4818 |
4834 |
//// update mylist and gridview
|
... | ... | |
4826 |
4842 |
btnConsolidate.IsEnabled = false;
|
4827 |
4843 |
var result = await ConsolidationMethod();
|
4828 |
4844 |
|
4829 |
|
if(result)
|
|
4845 |
if (result)
|
4830 |
4846 |
{
|
4831 |
|
var consolidateItem = ViewerDataModel.Instance._markupInfoList.Where(x => x.Consolidate == 1 && x.AvoidConsolidate == 0);
|
|
4847 |
var consolidateItem = ViewerDataModel.Instance._markupInfoList.Where(x => x.Consolidate == 1 && x.AvoidConsolidate == 0);
|
4832 |
4848 |
|
4833 |
|
if(consolidateItem?.Count() > 0)
|
|
4849 |
if (consolidateItem?.Count() > 0)
|
4834 |
4850 |
{
|
4835 |
4851 |
gridViewMarkup.Select(consolidateItem);
|
4836 |
4852 |
}
|
... | ... | |
4872 |
4888 |
List<IKCOM.MarkupInfoItem> MySelectItem = new List<IKCOM.MarkupInfoItem>();
|
4873 |
4889 |
foreach (var item in this.gridViewMarkup.SelectedItems)
|
4874 |
4890 |
{
|
4875 |
|
if((item as IKCOM.MarkupInfoItem).Depatment.Equals(this.userData.DEPARTMENT))
|
|
4891 |
if ((item as IKCOM.MarkupInfoItem).Depatment.Equals(this.userData.DEPARTMENT))
|
4876 |
4892 |
MySelectItem.Add(item as IKCOM.MarkupInfoItem);
|
4877 |
4893 |
}
|
4878 |
4894 |
|
... | ... | |
4980 |
4996 |
|
4981 |
4997 |
var result = await this.ParentOfType<MainWindow>().dzTopMenu.ExecuteSaveCommandAsync(this);
|
4982 |
4998 |
|
4983 |
|
if(!result)
|
|
4999 |
if (!result)
|
4984 |
5000 |
{
|
4985 |
5001 |
|
4986 |
5002 |
}
|
... | ... | |
5177 |
5193 |
//Compare 초기화
|
5178 |
5194 |
CompareMode.IsChecked = false;
|
5179 |
5195 |
var balancePoint = Convert.ToInt32((sender as System.Windows.Controls.Control).Tag);
|
5180 |
|
|
|
5196 |
|
5181 |
5197 |
if (ViewerDataModel.Instance.SyncPageNumber == 0)
|
5182 |
5198 |
{
|
5183 |
5199 |
ViewerDataModel.Instance.SyncPageNumber = 1;
|
... | ... | |
5191 |
5207 |
ViewerDataModel.Instance.PageBalanceNumber += balancePoint;
|
5192 |
5208 |
}
|
5193 |
5209 |
|
5194 |
|
if ((ViewerDataModel.Instance.SyncPageNumber + balancePoint) >= 1
|
5195 |
|
&& ViewerDataModel.Instance.SyncPageNumber + balancePoint <= ViewerDataModel.Instance.SyncPageCount)
|
|
5210 |
if ((ViewerDataModel.Instance.SyncPageNumber + balancePoint) >= 1
|
|
5211 |
&& ViewerDataModel.Instance.SyncPageNumber + balancePoint <= ViewerDataModel.Instance.SyncPageCount)
|
5196 |
5212 |
{
|
5197 |
5213 |
ViewerDataModel.Instance.SyncPageNumber += balancePoint;
|
5198 |
5214 |
}
|
... | ... | |
5233 |
5249 |
|
5234 |
5250 |
ComparePageLoad(CurrentRev.DOCUMENT_ID, ViewerDataModel.Instance.SyncPageNumber, isOriginalSize);
|
5235 |
5251 |
}
|
5236 |
|
|
|
5252 |
|
5237 |
5253 |
//강인구 추가(페이지 이동시 코멘트 재 호출)
|
5238 |
5254 |
ViewerDataModel.Instance.MarkupControls_Sync.Clear();
|
5239 |
5255 |
List<MarkupInfoItem> gridSelectionRevItem = gridViewRevMarkup.SelectedItems.Cast<MarkupInfoItem>().ToList();
|
... | ... | |
5243 |
5259 |
var markupitems = item.MarkupList.Where(pageItem => pageItem.PageNumber == ViewerDataModel.Instance.SyncPageNumber).ToList();
|
5244 |
5260 |
foreach (var markupitem in markupitems)
|
5245 |
5261 |
{
|
5246 |
|
await MarkupParser.ParseExAsync(App.BaseAddress, ViewerDataModel.Instance.NewMarkupCancelToken(), App.ViewInfo.ProjectNO, markupitem.Data, Common.ViewerDataModel.Instance.MarkupControls_Sync,0, item.DisplayColor, "", item.MarkupInfoID,
|
|
5262 |
await MarkupParser.ParseExAsync(App.BaseAddress, ViewerDataModel.Instance.NewMarkupCancelToken(), App.ViewInfo.ProjectNO, markupitem.Data, Common.ViewerDataModel.Instance.MarkupControls_Sync, 0, item.DisplayColor, "", item.MarkupInfoID,
|
5247 |
5263 |
STAMP_Contents: App.SystemInfo.STAMP_CONTENTS);
|
5248 |
5264 |
}
|
5249 |
5265 |
}
|
... | ... | |
5252 |
5268 |
}
|
5253 |
5269 |
}
|
5254 |
5270 |
|
5255 |
|
private void SyncRotation_Click(object sender,RoutedEventArgs e)
|
|
5271 |
private void SyncRotation_Click(object sender, RoutedEventArgs e)
|
5256 |
5272 |
{
|
5257 |
5273 |
var direction = int.Parse((sender as Telerik.Windows.Controls.RadPathButton).Tag.ToString());
|
5258 |
|
|
5259 |
|
double translateX = 0;
|
5260 |
|
double translateY = 0;
|
|
5274 |
|
5261 |
5275 |
double angle = rotate2.Angle;
|
5262 |
5276 |
|
5263 |
5277 |
if (direction == 1)
|
5264 |
5278 |
{
|
5265 |
|
if (angle < 270)
|
|
5279 |
if (angle == 270)
|
5266 |
5280 |
{
|
5267 |
|
angle += 90;
|
|
5281 |
angle = 0;
|
5268 |
5282 |
}
|
5269 |
5283 |
else
|
5270 |
5284 |
{
|
5271 |
|
angle = 0;
|
|
5285 |
angle += 90;
|
5272 |
5286 |
}
|
5273 |
5287 |
}
|
5274 |
5288 |
else
|
5275 |
5289 |
{
|
5276 |
|
if (angle > 0)
|
|
5290 |
if (angle == 0)
|
5277 |
5291 |
{
|
5278 |
|
angle -= 90;
|
|
5292 |
angle = 270;
|
5279 |
5293 |
}
|
5280 |
5294 |
else
|
5281 |
5295 |
{
|
5282 |
|
angle = 270;
|
|
5296 |
angle -= 90;
|
5283 |
5297 |
}
|
5284 |
5298 |
}
|
5285 |
|
zoomAndPanControl2.RotationAngle = angle;
|
5286 |
|
zoomAndPanControl2.ScaleToFit();
|
|
5299 |
ViewerDataModel.Instance.SyncPageAngle = angle;
|
5287 |
5300 |
|
5288 |
|
//if (angle == 90 || angle == 270)
|
5289 |
|
//{
|
|
5301 |
SyncRotation(ViewerDataModel.Instance.SyncPageAngle);
|
|
5302 |
|
|
5303 |
}
|
|
5304 |
|
|
5305 |
private void SyncRotation(double angle)
|
|
5306 |
{
|
|
5307 |
double translateX = 0;
|
|
5308 |
double translateY = 0;
|
|
5309 |
|
|
5310 |
|
|
5311 |
if (angle == 90 || angle == 270)
|
|
5312 |
{
|
5290 |
5313 |
double emptySize = zoomAndPanCanvas2.Width;
|
5291 |
5314 |
zoomAndPanCanvas2.Width = zoomAndPanCanvas2.Height;
|
5292 |
5315 |
zoomAndPanCanvas2.Height = emptySize;
|
5293 |
|
//}
|
|
5316 |
}
|
|
5317 |
else
|
|
5318 |
{
|
|
5319 |
zoomAndPanCanvas2.Width = ViewerDataModel.Instance.ImageViewWidth_C;
|
|
5320 |
zoomAndPanCanvas2.Height = ViewerDataModel.Instance.ImageViewHeight_C;
|
|
5321 |
}
|
5294 |
5322 |
|
5295 |
|
if (angle == 90)
|
|
5323 |
if (angle == 0)
|
|
5324 |
{
|
|
5325 |
translateX = 0;
|
|
5326 |
translateY = 0;
|
|
5327 |
}
|
|
5328 |
else if (angle == 90)
|
5296 |
5329 |
{
|
5297 |
5330 |
translateX = zoomAndPanCanvas2.Width;
|
5298 |
5331 |
translateY = 0;
|
... | ... | |
5302 |
5335 |
translateX = zoomAndPanCanvas2.Width;
|
5303 |
5336 |
translateY = zoomAndPanCanvas2.Height;
|
5304 |
5337 |
}
|
5305 |
|
else if (angle == 270)
|
|
5338 |
else
|
5306 |
5339 |
{
|
5307 |
5340 |
translateX = 0;
|
5308 |
5341 |
translateY = zoomAndPanCanvas2.Height;
|
5309 |
5342 |
}
|
5310 |
|
zoomAndPanControl2.ContentViewportWidth = zoomAndPanCanvas2.Width;
|
5311 |
|
zoomAndPanControl2.ContentViewportHeight = zoomAndPanCanvas2.Height;
|
|
5343 |
zoomAndPanControl2.RotationAngle = rotate.Angle;
|
|
5344 |
//zoomAndPanControl2.ContentViewportWidth = zoomAndPanCanvas2.Width;
|
|
5345 |
//zoomAndPanControl2.ContentViewportHeight = zoomAndPanCanvas2.Height;
|
5312 |
5346 |
translate2.X = translateX;
|
5313 |
5347 |
translate2.Y = translateY;
|
5314 |
5348 |
rotate2.Angle = angle;
|
|
5349 |
|
|
5350 |
zoomAndPanControl2.RotationAngle = angle;
|
|
5351 |
zoomAndPanControl2.ScaleToFit();
|
|
5352 |
|
|
5353 |
|
5315 |
5354 |
//translate2CompareBorder.X = translateX;
|
5316 |
5355 |
//translate2CompareBorder.Y = translateY;
|
5317 |
5356 |
//rotate2CompareBorder.Angle = angle;
|
... | ... | |
5359 |
5398 |
else
|
5360 |
5399 |
{
|
5361 |
5400 |
IsSyncPDFMode = false;
|
5362 |
|
ComparePageLoad(CurrentRev.DOCUMENT_ID, pageNavigator.CurrentPage.PageNumber, false);
|
5363 |
5401 |
|
5364 |
5402 |
zoomAndPanControl2.ApplyTemplate();
|
5365 |
5403 |
zoomAndPanControl2.UpdateLayout();
|
|
5404 |
|
|
5405 |
ComparePageLoad(CurrentRev.DOCUMENT_ID, pageNavigator.CurrentPage.PageNumber, OriginalSizeMode.IsChecked);
|
|
5406 |
|
5366 |
5407 |
zoomAndPanCanvas2.Width = Convert.ToDouble(Common.ViewerDataModel.Instance.ContentWidth);
|
5367 |
5408 |
zoomAndPanCanvas2.Height = Convert.ToDouble(Common.ViewerDataModel.Instance.ContentHeight);
|
5368 |
5409 |
}
|
... | ... | |
5373 |
5414 |
/// </summary>
|
5374 |
5415 |
private void ClearCompareRect()
|
5375 |
5416 |
{
|
5376 |
|
da.From = 1;
|
5377 |
|
da.To = 1;
|
5378 |
|
da.Duration = new Duration(TimeSpan.FromSeconds(9999));
|
5379 |
|
da.AutoReverse = false;
|
|
5417 |
//da.From = 1;
|
|
5418 |
//da.To = 1;
|
|
5419 |
//da.Duration = new Duration(TimeSpan.FromSeconds(9999));
|
|
5420 |
//da.AutoReverse = false;
|
|
5421 |
|
|
5422 |
//canvas_compareBorder.BeginAnimation(OpacityProperty, da);
|
|
5423 |
canvas_compareBorder.BeginAnimation(OpacityProperty, null);
|
5380 |
5424 |
canvas_compareBorder.Children.Clear();
|
5381 |
|
canvas_compareBorder.BeginAnimation(OpacityProperty, da);
|
5382 |
5425 |
}
|
5383 |
5426 |
|
5384 |
5427 |
/// <summary>
|
... | ... | |
5386 |
5429 |
/// </summary>
|
5387 |
5430 |
private async void SetCompareRect()
|
5388 |
5431 |
{
|
5389 |
|
canvas_compareBorder.Children.Clear();
|
5390 |
|
|
5391 |
5432 |
if (CompareMode.IsChecked)
|
5392 |
5433 |
{
|
5393 |
5434 |
//borderComprareWait.Visibility = Visibility.Visible;
|
... | ... | |
5438 |
5479 |
ClearCompareRect();
|
5439 |
5480 |
}
|
5440 |
5481 |
}
|
5441 |
|
|
5442 |
5482 |
private void CompareDisplay(List<Rect> rects)
|
5443 |
5483 |
{
|
|
5484 |
ClearCompareRect();
|
|
5485 |
|
|
5486 |
// UI 스레드에서 작업을 수행
|
|
5487 |
Application.Current.Dispatcher.Invoke(() =>
|
|
5488 |
{
|
|
5489 |
foreach (var d in rects)
|
|
5490 |
{
|
|
5491 |
d.Inflate(new Size(5, 5));
|
|
5492 |
|
|
5493 |
var point = MarkupToPDF.Controls.Common.MathSet.getRectMiddlePoint(d);
|
|
5494 |
var rectangle = new System.Windows.Shapes.Rectangle
|
|
5495 |
{
|
|
5496 |
Fill = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 244, 15, 126)),
|
|
5497 |
Width = d.Width,
|
|
5498 |
Height = d.Height,
|
|
5499 |
RenderTransformOrigin = point
|
|
5500 |
};
|
|
5501 |
Canvas.SetLeft(rectangle, d.X - ((point.X - d.X) / 2.0));
|
|
5502 |
Canvas.SetTop(rectangle, d.Y - ((point.Y - d.Y) / 2.0));
|
|
5503 |
|
|
5504 |
canvas_compareBorder.Children.Add(rectangle);
|
|
5505 |
}
|
|
5506 |
|
|
5507 |
canvas_compareBorder.Visibility = Visibility.Visible;
|
|
5508 |
|
|
5509 |
// 애니메이션 설정
|
|
5510 |
DoubleAnimation animation = new DoubleAnimation
|
|
5511 |
{
|
|
5512 |
From = 0.7,
|
|
5513 |
To = 0.3,
|
|
5514 |
Duration = new Duration(TimeSpan.FromSeconds(3)),
|
|
5515 |
AutoReverse = true
|
|
5516 |
};
|
|
5517 |
|
|
5518 |
canvas_compareBorder.BeginAnimation(UIElement.OpacityProperty, animation);
|
|
5519 |
});
|
|
5520 |
}
|
|
5521 |
|
|
5522 |
private void CompareDisplay2(List<Rect> rects)
|
|
5523 |
{
|
|
5524 |
canvas_compareBorder.BeginAnimation(OpacityProperty, null);
|
|
5525 |
|
5444 |
5526 |
rects.ForEach(d =>
|
5445 |
5527 |
{
|
5446 |
5528 |
d.Inflate(new Size(5, 5));
|
... | ... | |
5458 |
5540 |
myEllipse.RenderTransformOrigin = point;
|
5459 |
5541 |
canvas_compareBorder.Children.Add(myEllipse);
|
5460 |
5542 |
});
|
5461 |
|
|
|
5543 |
|
5462 |
5544 |
canvas_compareBorder.Visibility = Visibility.Visible;
|
5463 |
5545 |
da.From =0.7;
|
5464 |
5546 |
da.To = 0.3;
|
... | ... | |
5481 |
5563 |
if (pageinfo != null)
|
5482 |
5564 |
{
|
5483 |
5565 |
ViewerDataModel.Instance.SyncPageCount = pageinfo.PAGE_COUNT;
|
|
5566 |
ViewerDataModel.Instance.SyncPages = pageinfo.DOCPAGE.ToList();
|
5484 |
5567 |
}
|
5485 |
5568 |
else
|
5486 |
5569 |
{
|
... | ... | |
5511 |
5594 |
}
|
5512 |
5595 |
gridViewRevMarkup.ItemsSource = ViewerDataModel.Instance._markupInfoRevList;
|
5513 |
5596 |
|
5514 |
|
ComparePageLoad(CurrentRev.DOCUMENT_ID, pageNavigator.CurrentPage.PageNumber, false);
|
|
5597 |
var findPage = ViewerDataModel.Instance.SyncPages.Find(x => x.PAGE_NUMBER == pageNavigator.CurrentPage.PageNumber);
|
|
5598 |
|
|
5599 |
int syncCurrentPageNo = 1;
|
|
5600 |
|
|
5601 |
if(findPage != null)
|
|
5602 |
{
|
|
5603 |
syncCurrentPageNo = pageNavigator.CurrentPage.PageNumber;
|
|
5604 |
ViewerDataModel.Instance.SyncPageAngle = findPage.PAGE_ANGLE;
|
|
5605 |
}
|
|
5606 |
|
|
5607 |
ComparePageLoad(CurrentRev.DOCUMENT_ID, syncCurrentPageNo, OriginalSizeMode.IsChecked);
|
5515 |
5608 |
|
5516 |
5609 |
Sync_Offset_Point = new Point(zoomAndPanControl.ContentOffsetX, zoomAndPanControl.ContentOffsetY);
|
5517 |
5610 |
|
... | ... | |
5563 |
5656 |
ClearCompareRect();
|
5564 |
5657 |
|
5565 |
5658 |
ComparePageLoad(CurrentRev.DOCUMENT_ID, ViewerDataModel.Instance.SyncPageNumber, OriginalSizeMode.IsChecked);
|
|
5659 |
|
5566 |
5660 |
}
|
5567 |
5661 |
|
5568 |
5662 |
private void EnsembleLink_Button_Click(object sender, RoutedEventArgs e)
|
... | ... | |
5616 |
5710 |
|
5617 |
5711 |
Sync_Offset_Point = new Point(zoomAndPanControl.ContentOffsetX, zoomAndPanControl.ContentOffsetY);
|
5618 |
5712 |
|
5619 |
|
ComparePageLoad(CurrentRev.DOCUMENT_ID, pageNavigator.CurrentPage.PageNumber, false);
|
|
5713 |
ComparePageLoad(CurrentRev.DOCUMENT_ID, pageNavigator.CurrentPage.PageNumber, OriginalSizeMode.IsChecked);
|
5620 |
5714 |
|
5621 |
5715 |
zoomAndPanCanvas2.Width = Convert.ToDouble(Common.ViewerDataModel.Instance.ContentWidth);
|
5622 |
5716 |
zoomAndPanCanvas2.Height = Convert.ToDouble(Common.ViewerDataModel.Instance.ContentHeight);
|