개정판 29010418
issue #000: daelim source compare 중
Change-Id: Icba4b84746c71502e895fde47f4c14f82b179230
KCOM/Controls/AdornerFinal.xaml.cs | ||
---|---|---|
147 | 147 |
/// <param name="member">UIElement 타입으로 BaseLayer에 있는 것들이 들어옵니다.</param> |
148 | 148 |
public void SetAdornerMember(MarkupToPDF.Common.CommentUserInfo member) |
149 | 149 |
{ |
150 |
|
|
150 | 151 |
switch (member.GetType().Name) |
151 | 152 |
{ |
152 | 153 |
#region 컨트롤 조건 |
... | ... | |
159 | 160 |
//DragThumb.RenderTransformOrigin = new Point(0.5, 0.5); |
160 | 161 |
AngleValue = (member as ImgControl).Angle; |
161 | 162 |
break; |
163 |
//case "SymControl": //Angle추가 안했음 |
|
164 |
// MemberSet.Add(new AdornerMember { DrawingData = member, Drawingtype = MarkupType.Viewbox, ThumbList = new List<Thumb>() }); |
|
165 |
// AngleValue = (member as SymControl).Angle; |
|
166 |
// //ViewBoxRotate(member); |
|
167 |
// break; |
|
168 |
//case "SymControlN": //Angle추가 안했음 |
|
169 |
// MemberSet.Add(new AdornerMember { DrawingData = member, Drawingtype = MarkupType.Viewbox, ThumbList = new List<Thumb>() }); |
|
170 |
// AngleValue = (member as SymControlN).Angle; |
|
171 |
// //ViewBoxRotate(member); |
|
172 |
// break; |
|
162 | 173 |
case "PolygonControl": //Angle추가 안했음 |
163 | 174 |
MemberSet.Add(new AdornerMember { DrawingData = member, Drawingtype = ControlType.PolygonControl, ThumbList = new List<Thumb>(), Symbol_ID = member.SymbolID, Group_ID = member.GroupID }); |
164 | 175 |
break; |
... | ... | |
392 | 403 |
BorderUpdate(); |
393 | 404 |
try |
394 | 405 |
{ |
395 |
((TextControl)member).Base_TextBlock.TextDecorations = ((TextControl)member).UnderLine; |
|
406 |
((TextControl)member).Base_TextBlock.TextDecorations = ((TextControl)member).UnderLine;
|
|
396 | 407 |
} |
397 | 408 |
catch (Exception) |
398 | 409 |
{ |
... | ... | |
482 | 493 |
textControlWidth = ((currentControl as TextControl).Base_TextBox.ActualWidth); |
483 | 494 |
textControlHeight = ((currentControl as TextControl).Base_TextBox.ActualHeight); |
484 | 495 |
} |
485 |
|
|
496 |
|
|
486 | 497 |
if ((currentControl as TextControl).EndPoint.X < minX) |
487 | 498 |
{ |
488 | 499 |
minX = (currentControl as TextControl).EndPoint.X; |
... | ... | |
540 | 551 |
if (rt.Bottom > maxY) maxY = rt.Bottom; |
541 | 552 |
} |
542 | 553 |
else if ((currentControl as CircleControl) != null) |
543 |
{ |
|
554 |
{
|
|
544 | 555 |
List<Point> am = (currentControl as IPath).PointSet; |
545 | 556 |
List<double> xSet = am.Select(p => p.X).ToList(); |
546 | 557 |
List<double> ySet = am.Select(p => p.Y).ToList(); |
... | ... | |
648 | 659 |
}; |
649 | 660 |
|
650 | 661 |
MemberSet.Last().ThumbList.Add(tm); |
662 |
|
|
651 | 663 |
if ((markT == ControlType.ArcLine && list[i] == (member as ArcControl).MidPoint) || (markT == ControlType.ArcArrow && list[i] == (member as ArrowArcControl).MidPoint)) |
652 | 664 |
{ |
653 | 665 |
tm.Style = (Style)this.LayoutRoot.Resources["ThumbArcControlStyle"]; |
... | ... | |
774 | 786 |
}; |
775 | 787 |
} |
776 | 788 |
} |
777 |
|
|
789 |
|
|
778 | 790 |
if (member.GetType().Name == "CloudControl") |
779 | 791 |
{ |
780 | 792 |
if (i == list.Count() - 1) |
... | ... | |
800 | 812 |
tm.Visibility = System.Windows.Visibility.Collapsed; |
801 | 813 |
} |
802 | 814 |
} |
803 |
|
|
815 |
|
|
804 | 816 |
this.ContainerContent.Children.Add(tm); |
805 | 817 |
Canvas.SetLeft(tm, list[count].X); |
806 | 818 |
Canvas.SetTop(tm, list[count].Y); |
... | ... | |
852 | 864 |
|
853 | 865 |
|
854 | 866 |
Point setPoint = new Point(Canvas.GetLeft(thumb), Canvas.GetTop(thumb)); |
855 |
|
|
867 |
|
|
856 | 868 |
AdornerMember control = (from userThumb in MemberSet |
857 | 869 |
where userThumb.ThumbList.Contains(thumb) |
858 | 870 |
select userThumb).FirstOrDefault(); |
... | ... | |
865 | 877 |
List<Point> ps = new List<Point>(); |
866 | 878 |
|
867 | 879 |
nearPoint = MathSet.getNearPoint((control.DrawingData as IPath).PointSet, setPoint); |
868 |
|
|
880 |
|
|
869 | 881 |
|
870 | 882 |
} |
871 | 883 |
for (int i = 0; i < (control.DrawingData as IPath).PointSet.Count; i++) |
... | ... | |
884 | 896 |
AllControl.updateControl(); |
885 | 897 |
DynamicThumbUpdate(control); |
886 | 898 |
BorderUpdate(); |
887 |
|
|
899 |
|
|
888 | 900 |
} |
889 | 901 |
break; |
890 | 902 |
#endregion |
... | ... | |
981 | 993 |
(control.DrawingData as ArrowTextControl).PointSet[1] = GetPointSet[1]; |
982 | 994 |
|
983 | 995 |
|
984 |
System.Diagnostics.Debug.WriteLine("MidPoint : " + (control.DrawingData as ArrowTextControl).MidPoint); |
|
985 |
System.Diagnostics.Debug.WriteLine("HorizontalChange : " + e.HorizontalChange); |
|
986 |
System.Diagnostics.Debug.WriteLine("VerticalChange : " + e.VerticalChange); |
|
996 |
//System.Diagnostics.Debug.WriteLine("MidPoint : " + (control.DrawingData as ArrowTextControl).MidPoint);
|
|
997 |
//System.Diagnostics.Debug.WriteLine("HorizontalChange : " + e.HorizontalChange);
|
|
998 |
//System.Diagnostics.Debug.WriteLine("VerticalChange : " + e.VerticalChange);
|
|
987 | 999 |
|
988 | 1000 |
AllControl.PointSet[i] = setPoint; |
989 |
System.Diagnostics.Debug.WriteLine("PointSet : " + AllControl.PointSet[i]); |
|
1001 |
//System.Diagnostics.Debug.WriteLine("PointSet : " + AllControl.PointSet[i]);
|
|
990 | 1002 |
|
991 | 1003 |
AllControl.updateControl(); |
992 | 1004 |
|
993 | 1005 |
DynamicThumbUpdate(control); |
994 | 1006 |
BorderUpdate(); |
995 |
|
|
1007 |
|
|
996 | 1008 |
} |
997 | 1009 |
break; |
998 | 1010 |
#endregion |
... | ... | |
1579 | 1591 |
}; |
1580 | 1592 |
|
1581 | 1593 |
Point endPointV = new Point(Data.Bounds.Right, Data.Bounds.Bottom); |
1582 |
Point middle = MathSet.getMiddlePoint((item.DrawingData as TextControl).StartPoint, endPointV); |
|
1594 |
Point middle = MathSet.getMiddlePoint((item.DrawingData as TextControl).StartPoint, endPointV);
|
|
1583 | 1595 |
|
1584 | 1596 |
DragThumb.RenderTransformOrigin = new Point(0.0, 0.0); |
1585 | 1597 |
DragThumb.RenderTransform = new RotateTransform() |
... | ... | |
1727 | 1739 |
|
1728 | 1740 |
List<Point> AllPointSet = new List<Point>(); |
1729 | 1741 |
Point CenterPoint = new Point(); |
1730 |
|
|
1742 |
|
|
1731 | 1743 |
#region 센터 포인트 구하기 (그룹핑) |
1732 | 1744 |
foreach (var item in MemberSet) |
1733 | 1745 |
{ |
1734 | 1746 |
if (item.DrawingData.GetType().Name == "TextControl") |
1735 |
{ |
|
1747 |
{
|
|
1736 | 1748 |
if (AngleValue == 0) |
1737 | 1749 |
{ |
1738 | 1750 |
AngleValue = (item.DrawingData as TextControl).Angle; |
... | ... | |
1834 | 1846 |
case ControlType.Date: |
1835 | 1847 |
((DateControl)item.DrawingData).Angle = AngleValue; |
1836 | 1848 |
(item.DrawingData as IPath).updateControl(); |
1837 |
BorderUpdate(); |
|
1849 |
BorderUpdate();
|
|
1838 | 1850 |
break; |
1839 | 1851 |
case ControlType.ArrowMultiLine: |
1840 | 1852 |
case ControlType.ArcLine: |
... | ... | |
1862 | 1874 |
((ImgControl)item.DrawingData).Angle = AngleValue; |
1863 | 1875 |
(item.DrawingData as IPath).updateControl(); |
1864 | 1876 |
BorderUpdate(); |
1865 |
break; |
|
1877 |
break;
|
|
1866 | 1878 |
case ControlType.Sign: |
1867 | 1879 |
((SignControl)item.DrawingData).Angle = AngleValue; |
1868 | 1880 |
(item.DrawingData as IPath).updateControl(); |
1869 | 1881 |
BorderUpdate(); |
1870 |
break; |
|
1882 |
break;
|
|
1871 | 1883 |
case ControlType.Symbol: |
1872 | 1884 |
((SymControl)item.DrawingData).Angle = AngleValue; |
1873 | 1885 |
(item.DrawingData as IPath).updateControl(); |
... | ... | |
1904 | 1916 |
(item.DrawingData as IPath).updateControl(); |
1905 | 1917 |
BorderUpdate(); |
1906 | 1918 |
break; |
1907 |
|
|
1919 |
|
|
1908 | 1920 |
default: |
1909 | 1921 |
break; |
1910 | 1922 |
} |
... | ... | |
1915 | 1927 |
} |
1916 | 1928 |
|
1917 | 1929 |
private void rotate_DragStarted(object sender, DragStartedEventArgs e) |
1918 |
{ |
|
1930 |
{
|
|
1919 | 1931 |
|
1920 | 1932 |
this.rotatePoint = Mouse.GetPosition(this); /// 2018.05.09 added by humkyung |
1921 | 1933 |
rotateTop.Cursor = Cursors.SizeAll; |
... | ... | |
1951 | 1963 |
|
1952 | 1964 |
Undo_Event(); |
1953 | 1965 |
} |
1954 |
|
|
1966 |
|
|
1955 | 1967 |
private void rotate_DragCompleted(object sender, DragCompletedEventArgs e) |
1956 | 1968 |
{ |
1957 | 1969 |
rotateTop.Cursor = new Cursor(MainWindow.CursorChange().StreamSource); |
1958 |
|
|
1970 |
|
|
1959 | 1971 |
Undo_Event(); |
1960 | 1972 |
} |
1961 | 1973 |
|
... | ... | |
2036 | 2048 |
} |
2037 | 2049 |
|
2038 | 2050 |
private void drag_DragCompleted(object sender, DragCompletedEventArgs e) |
2039 |
{ |
|
2051 |
{
|
|
2040 | 2052 |
DragThumb.Cursor = new Cursor(MainWindow.CursorChange().StreamSource); |
2041 | 2053 |
|
2042 | 2054 |
Undo_Event(); |
... | ... | |
2101 | 2113 |
|
2102 | 2114 |
if ((MemberSet.First() as AdornerMember).DrawingData.GetType().Name == "TextControl") |
2103 | 2115 |
{ |
2104 |
TextControlChanger(); |
|
2116 |
TextControlChanger();
|
|
2105 | 2117 |
} |
2106 | 2118 |
|
2107 | 2119 |
else if ((MemberSet.First() as AdornerMember).DrawingData.GetType().Name == "ArrowTextControl") |
... | ... | |
2114 | 2126 |
tm.Visibility = Visibility.Collapsed; |
2115 | 2127 |
|
2116 | 2128 |
((MemberSet.First() as AdornerMember).DrawingData as ArrowTextControl).Base_TextBox.IsHitTestVisible = true; |
2117 |
|
|
2129 |
|
|
2118 | 2130 |
((ArrowTextControl)AllControl).Base_TextBox.SizeChanged += (sen, ea) => |
2119 | 2131 |
|
2120 | 2132 |
{ |
... | ... | |
2122 | 2134 |
tm.Height = (AllControl as ArrowTextControl).BoxHeight; |
2123 | 2135 |
|
2124 | 2136 |
List<Point> ps = new List<Point>(); |
2125 |
|
|
2137 |
|
|
2126 | 2138 |
ps.Add(new Point(Canvas.GetLeft(AllControl.Base_TextBox) + AllControl.BoxWidth / 2, Canvas.GetTop(AllControl.Base_TextBox))); //상단 |
2127 | 2139 |
ps.Add(new Point(Canvas.GetLeft(AllControl.Base_TextBox) + AllControl.BoxWidth / 2, Canvas.GetTop(AllControl.Base_TextBox) + AllControl.BoxHeight)); // 하단 |
2128 | 2140 |
ps.Add(new Point(Canvas.GetLeft(AllControl.Base_TextBox), Canvas.GetTop(AllControl.Base_TextBox) + AllControl.BoxHeight / 2)); //좌단 |
... | ... | |
2203 | 2215 |
} |
2204 | 2216 |
|
2205 | 2217 |
} |
2206 |
|
|
2218 |
|
|
2207 | 2219 |
} |
2208 | 2220 |
#endregion |
2209 | 2221 |
|
KCOM/Controls/SearchPanel.xaml.cs | ||
---|---|---|
74 | 74 |
private void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) |
75 | 75 |
{ |
76 | 76 |
Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate |
77 |
{
|
|
77 |
{ |
|
78 | 78 |
this.searchIndicator.IsBusy = false; |
79 | 79 |
this.DataContext = this; |
80 | 80 |
tbSearch.Text = ""; |
... | ... | |
95 | 95 |
searchString = tbSearch.Text; |
96 | 96 |
pageoption = chkCurrentPageOnly.IsChecked.Value; |
97 | 97 |
})); |
98 |
|
|
98 |
|
|
99 | 99 |
extractor.LoadDocumentFromFile(Common.ViewerDataModel.Instance.searchPDF.FullName); |
100 | 100 |
ocrAnalyzer.LoadDocumentFromFile(Common.ViewerDataModel.Instance.searchPDF.FullName); |
101 | 101 |
|
... | ... | |
112 | 112 |
Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate |
113 | 113 |
{ |
114 | 114 |
SearchSet.Add(new SearchText { PageNo = currentPage + 1, searchResult = extractor.FoundText }); |
115 |
}));
|
|
115 |
})); |
|
116 | 116 |
} |
117 | 117 |
while (extractor.FindNext()); |
118 | 118 |
} |
... | ... | |
129 | 129 |
Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action(delegate |
130 | 130 |
{ |
131 | 131 |
SearchSet.Add(new SearchText { PageNo = i + 1, searchResult = extractor.FoundText }); |
132 |
}));
|
|
132 |
})); |
|
133 | 133 |
} |
134 | 134 |
while (extractor.FindNext()); |
135 | 135 |
} |
136 |
}
|
|
136 |
} |
|
137 | 137 |
} |
138 | 138 |
|
139 | 139 |
private void tbSearch_KeyDown(object sender, KeyEventArgs e) |
KCOM/Controls/Symbol.xaml | ||
---|---|---|
133 | 133 |
<Button Content="Register" Grid.Column="2" Click="Create_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/> |
134 | 134 |
<!--<Button Content="Rename" Grid.Column="2" Click="Rename_Symbol_Public" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>--> |
135 | 135 |
<Button Content="Remove" Grid.Column="3" Click="Remove_Symbol_Public" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/> |
136 |
</Grid>
|
|
136 |
</Grid> |
|
137 | 137 |
<Grid Margin="0,10"> |
138 | 138 |
<Grid.ColumnDefinitions> |
139 | 139 |
<ColumnDefinition Width="*"/> |
KCOM/Controls/Symbol.xaml.cs | ||
---|---|---|
51 | 51 |
//RadDragAndDropManager.SetAllowDrag(lstSymbolPrivate, true); |
52 | 52 |
|
53 | 53 |
DataBind(); |
54 |
|
|
55 | 54 |
} |
56 | 55 |
|
57 | 56 |
private void OnDragPrivateInfo(object sender, DragDropEventArgs e) |
... | ... | |
788 | 787 |
#endregion |
789 | 788 |
|
790 | 789 |
#endregion |
791 |
|
|
790 |
|
|
792 | 791 |
private void lstSymbolPrivate_PreviewMouseUp(object sender, MouseButtonEventArgs e) |
793 | 792 |
{ |
794 | 793 |
|
... | ... | |
803 | 802 |
{ |
804 | 803 |
|
805 | 804 |
} |
806 |
|
|
805 |
|
|
807 | 806 |
private void StackPanel_MouseLeave(object sender, MouseEventArgs e) |
808 | 807 |
{ |
809 | 808 |
if(IsMouseDown && e.LeftButton == MouseButtonState.Pressed) |
KCOM/Events/Implementation/TopMenuEvent.cs | ||
---|---|---|
312 | 312 |
if (this.ParentOfType<MainWindow>().dzMainMenu.busyIndicator.IsBusy == true) return; |
313 | 313 |
|
314 | 314 |
this.ParentOfType<MainWindow>().dzMainMenu.busyIndicator.IsBusy = true; |
315 |
|
|
316 | 315 |
System.Threading.Tasks.Task SaveTask = System.Threading.Tasks.Task.Factory.StartNew(() => |
317 | 316 |
{ |
318 | 317 |
Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new Action<object, RoutedEventArgs>(_SaveEvent), sender, e); |
... | ... | |
1462 | 1461 |
}; |
1463 | 1462 |
StyleManager.SetTheme(CheckPop, new Office2013Theme()); |
1464 | 1463 |
CheckPop.Closed += CheckPop_Closed; |
1465 |
//CheckPop.Owner = Application.Current.MainWindow; |
|
1464 |
|
|
1466 | 1465 |
//CheckPop.ShowDialog(); |
1467 | 1466 |
CheckPop.Show(); |
1468 | 1467 |
} |
... | ... | |
1747 | 1746 |
System.IO.BinaryReader br = new System.IO.BinaryReader(fStream); |
1748 | 1747 |
byte[] data = br.ReadBytes((int)numByte); |
1749 | 1748 |
br.Close(); |
1750 |
|
|
1751 |
|
|
1752 | 1749 |
|
1753 | 1750 |
instanceMain.dzMainMenu.filename = fileUploader.Run(App.ViewInfo.ProjectNO, instanceMain.dzMainMenu._DocItem.DOCUMENT_NO, App.ViewInfo.UserID, strFile, data); |
1754 | 1751 |
fStream.Close(); |
KCOM/MainWindow.xaml.cs | ||
---|---|---|
1 | 1 |
using KCOM.Common; |
2 |
using KCOM.Controls; |
|
3 | 2 |
using KCOMDataModel; |
4 | 3 |
using KCOMDataModel.DataModel; |
5 | 4 |
using MarkupToPDF.Common; |
6 |
using MarkupToPDF.Controls.Common; |
|
7 |
using MarkupToPDF.Controls.Text; |
|
8 | 5 |
using MarkupToPDF.Serialize.Core; |
9 | 6 |
using MarkupToPDF.Serialize.S_Control; |
10 | 7 |
using System; |
... | ... | |
40 | 37 |
this.KeyDown += new KeyEventHandler(KeyEventDownAction); |
41 | 38 |
this.KeyUp += new KeyEventHandler(KeyEventUpAction); |
42 | 39 |
this.SourceInitialized += new EventHandler(win_SourceInitialized); |
40 |
|
|
43 | 41 |
} |
44 | 42 |
|
45 | 43 |
public static BitmapImage CursorChange() |
... | ... | |
495 | 493 |
internal static extern IntPtr MonitorFromWindow(IntPtr handle, int flags); |
496 | 494 |
|
497 | 495 |
private void WindowKeyDown(object sender, KeyEventArgs e) |
498 |
{
|
|
496 |
{ |
|
499 | 497 |
if (e.Key == Key.V && Keyboard.Modifiers == ModifierKeys.Control) //Ctrl + V |
500 | 498 |
{ |
501 | 499 |
if (ViewerDataModel.Instance.IsPressCtrl && (App.ViewInfo.CreateFinalPDFPermission || App.ViewInfo.NewCommentPermission)) |
502 | 500 |
{ |
503 | 501 |
if (Clipboard.GetText().Contains("|OR||DZ|")) |
504 | 502 |
{ |
505 |
TextBox_Paste_Start();
|
|
503 |
TextBox_Paste_Start(); |
|
506 | 504 |
} |
507 |
|
|
505 |
|
|
508 | 506 |
} |
509 | 507 |
} |
510 | 508 |
} |
... | ... | |
547 | 545 |
|
548 | 546 |
System.Windows.Controls.Control item = layer.markupParse_Paste(data2[0], ViewerDataModel.Instance.MarkupControls_USER); |
549 | 547 |
|
550 |
var controldata = JsonSerializerHelper.UnCompressString(data2[0]);
|
|
548 |
var controldata = JsonSerializerHelper.UnCompressString(data2[0]); |
|
551 | 549 |
var unkownControl = JsonSerializerHelper.JsonDeserialize<S_BaseControl>(controldata); //복호화작업 |
552 |
if (unkownControl.Name == "TextControl" || unkownControl.Name == "ArrowTextControl") |
|
553 |
{ |
|
554 |
ViewerDataModel.Instance.IsPressCtrl = false; |
|
550 |
ViewerDataModel.Instance.IsPressCtrl = false; |
|
555 | 551 |
|
556 |
(item as MarkupToPDF.Common.CommentUserInfo).CommentID = Events.Save.shortGuid();
|
|
557 |
if (data2.Length >= 2)
|
|
558 |
{
|
|
559 |
(item as MarkupToPDF.Common.CommentUserInfo).SymbolID = data2[1];
|
|
560 |
}
|
|
552 |
(item as MarkupToPDF.Common.CommentUserInfo).CommentID = Events.Save.shortGuid(); |
|
553 |
if (data2.Length >= 2) |
|
554 |
{ |
|
555 |
(item as MarkupToPDF.Common.CommentUserInfo).SymbolID = data2[1]; |
|
556 |
} |
|
561 | 557 |
|
562 |
ViewerDataModel.Instance.MarkupControls.Remove(item as MarkupToPDF.Common.CommentUserInfo);
|
|
563 |
ViewerDataModel.Instance.MarkupControls_USER.Remove(item as MarkupToPDF.Common.CommentUserInfo);
|
|
558 |
ViewerDataModel.Instance.MarkupControls.Remove(item as MarkupToPDF.Common.CommentUserInfo); |
|
559 |
ViewerDataModel.Instance.MarkupControls_USER.Remove(item as MarkupToPDF.Common.CommentUserInfo); |
|
564 | 560 |
|
565 |
adornerSet.Add(item as MarkupToPDF.Common.CommentUserInfo);
|
|
561 |
adornerSet.Add(item as MarkupToPDF.Common.CommentUserInfo); |
|
566 | 562 |
|
567 |
multi_Undo_Data = dzMainMenu.Control_Style(item as MarkupToPDF.Common.CommentUserInfo);
|
|
563 |
multi_Undo_Data = dzMainMenu.Control_Style(item as MarkupToPDF.Common.CommentUserInfo); |
|
568 | 564 |
|
569 |
UndoData.Markup_List.Add(multi_Undo_Data); |
|
570 |
ViewerDataModel.Instance.UndoDataList.Add(UndoData); |
|
571 |
} |
|
565 |
UndoData.Markup_List.Add(multi_Undo_Data); |
|
566 |
ViewerDataModel.Instance.UndoDataList.Add(UndoData); |
|
572 | 567 |
} |
573 | 568 |
} |
574 | 569 |
|
... | ... | |
580 | 575 |
|
581 | 576 |
if (final.MemberSet.Where(type => type.Drawingtype == MarkupToPDF.Controls.Common.ControlType.TextControl).FirstOrDefault() != null) |
582 | 577 |
{ |
583 |
final.MoveAdorner(new System.Windows.Controls.Primitives.DragDeltaEventArgs(0.001, 0.001));
|
|
578 |
final.MoveAdorner(new System.Windows.Controls.Primitives.DragDeltaEventArgs(0.001, 0.001)); |
|
584 | 579 |
} |
585 | 580 |
|
586 | 581 |
this.dzMainMenu.SelectLayer.Children.Add(final); |
587 | 582 |
|
588 |
}
|
|
583 |
} |
|
589 | 584 |
else if (Clipboard.GetImage() != null) //외부 이미지 붙여넣기 |
590 | 585 |
{ |
591 | 586 |
Multi_Undo_data multi_Undo_Data = new Multi_Undo_data(); |
KCOM/Messenger/ConversationView.xaml.cs | ||
---|---|---|
28 | 28 |
public ConversationView() |
29 | 29 |
{ |
30 | 30 |
InitializeComponent(); |
31 |
|
|
31 |
|
|
32 | 32 |
this.DataContext = this; |
33 | 33 |
this.Loaded += ConversationView_Loaded; |
34 | 34 |
btnMark.MouseLeftButtonDown += BtnMark_Click; |
... | ... | |
93 | 93 |
var instanceMain = this.ParentOfType<MainWindow>(); |
94 | 94 |
if (instanceMain.dzMainMenu.rotate.Angle == 90) |
95 | 95 |
{ |
96 |
rect = new Rect(new Point(finalItem.BorderSize.Top - 100, finalItem.BorderSize.Right + 100), new Point(finalItem.BorderSize.Bottom + 100, finalItem.BorderSize.Left - 100));
|
|
96 |
rect = new Rect(new Point(finalItem.BorderSize.Top - 100, finalItem.BorderSize.Right + 100), new Point(finalItem.BorderSize.Bottom + 100, finalItem.BorderSize.Left - 100)); |
|
97 | 97 |
double y = rect.Y; |
98 |
double x = rect.X;
|
|
98 |
double x = rect.X; |
|
99 | 99 |
rect.X = instanceMain.dzMainMenu.zoomAndPanCanvas.Width - x - rect.Width; |
100 | 100 |
rect.Y = y; |
101 | 101 |
} |
102 |
else if(instanceMain.dzMainMenu.rotate.Angle == 180) |
|
102 |
else if (instanceMain.dzMainMenu.rotate.Angle == 180)
|
|
103 | 103 |
{ |
104 | 104 |
rect = new Rect(new Point(finalItem.BorderSize.Right + 100, finalItem.BorderSize.Bottom + 100), new Point(finalItem.BorderSize.Left - 100, finalItem.BorderSize.Top - 100)); |
105 | 105 |
double y = rect.Y; |
... | ... | |
107 | 107 |
rect.X = instanceMain.dzMainMenu.zoomAndPanCanvas.Width - x - rect.Width; |
108 | 108 |
rect.Y = instanceMain.dzMainMenu.zoomAndPanCanvas.Height - y - rect.Height; |
109 | 109 |
} |
110 |
else if(instanceMain.dzMainMenu.rotate.Angle == 270) |
|
110 |
else if (instanceMain.dzMainMenu.rotate.Angle == 270)
|
|
111 | 111 |
{ |
112 | 112 |
rect = new Rect(new Point(finalItem.BorderSize.Bottom + 100, finalItem.BorderSize.Left - 100), new Point(finalItem.BorderSize.Top - 100, finalItem.BorderSize.Right + 100)); |
113 | 113 |
double y = rect.Y; |
... | ... | |
117 | 117 |
} |
118 | 118 |
|
119 | 119 |
// Load 시 페이지 이동 없이 TALK 작성 시 Page값이 0으로 들어감, TALK TABLE에 PAGENUMBER가 0일 경우 Angle이 적용되지 않음. |
120 |
if (Common.ViewerDataModel.Instance.PageNumber == 0)
|
|
120 |
if (Common.ViewerDataModel.Instance.PageNumber == 0) |
|
121 | 121 |
{ |
122 | 122 |
Common.ViewerDataModel.Instance.PageNumber = 1; |
123 | 123 |
} |
... | ... | |
140 | 140 |
}; |
141 | 141 |
|
142 | 142 |
Logger.sendReqLog("AddMessage: ", App.ViewInfo.ProjectNO + "," + message, 1); |
143 |
Logger.sendResLog("AddMessage", Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.AddMessage(App.ViewInfo.ProjectNO, message).ToString(), 1);
|
|
143 |
Logger.sendResLog("AddMessage", Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.AddMessage(App.ViewInfo.ProjectNO, message).ToString(), 1); |
|
144 | 144 |
//Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.AddMessage(App.ViewInfo.ProjectNO, message); |
145 | 145 |
|
146 |
Logger.sendReqLog("GetMessage: ", App.ViewInfo.ProjectNO + "," + App.ViewInfo.DocumentItemID, 1);
|
|
147 |
List<KCOMDataModel.DataModel.TALK> messagelist = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.GetMessage(App.ViewInfo.ProjectNO, App.ViewInfo.DocumentItemID);
|
|
148 |
if(messagelist.Count() > 0) |
|
146 |
Logger.sendReqLog("GetMessage: ", App.ViewInfo.ProjectNO + "," + App.ViewInfo.DocumentItemID, 1); |
|
147 |
List<KCOMDataModel.DataModel.TALK> messagelist = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.GetMessage(App.ViewInfo.ProjectNO, App.ViewInfo.DocumentItemID); |
|
148 |
if (messagelist.Count() > 0)
|
|
149 | 149 |
{ |
150 | 150 |
Logger.sendResLog("GetMessage", "TRUE", 1); |
151 | 151 |
} |
... | ... | |
174 | 174 |
private void SaveAuthorization(object parameter) |
175 | 175 |
{ |
176 | 176 |
KCOMDataModel.DataModel.TALK instance = parameter as KCOMDataModel.DataModel.TALK; |
177 |
Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.rotate.Angle = instance.ANGLE;
|
|
177 |
Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.rotate.Angle = instance.ANGLE; |
|
178 | 178 |
Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.pageNavigator.GotoPageTALK(instance.PAGENUMBER.Value, instance.ANGLE); |
179 |
Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.zoomAndPanControl.ZoomToTalk(new Rect { X = instance.RECT_X.Value, Y = instance.RECT_Y.Value, Width = instance.RECT_WIDTH.Value, Height = instance.RECT_HEIGHT.Value } , instance.ANGLE);
|
|
179 |
Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.zoomAndPanControl.ZoomToTalk(new Rect { X = instance.RECT_X.Value, Y = instance.RECT_Y.Value, Width = instance.RECT_WIDTH.Value, Height = instance.RECT_HEIGHT.Value }, instance.ANGLE); |
|
180 | 180 |
} |
181 | 181 |
|
182 | 182 |
public event PropertyChangedEventHandler PropertyChanged; |
... | ... | |
188 | 188 |
//sw.Start(); |
189 | 189 |
//InitializeComponent(); |
190 | 190 |
//System.Diagnostics.Debug.WriteLine("ConversationView() : " + sw.ElapsedMilliseconds.ToString() + "ms"); |
191 |
|
|
191 |
|
|
192 | 192 |
main = this.ParentOfType<MainWindow>(); |
193 | 193 |
if (App.ParameterMode) |
194 | 194 |
{ |
195 | 195 |
ClickAnchorCommand = new Telerik.Windows.Controls.DelegateCommand(SaveAuthorization); |
196 | 196 |
if (string.IsNullOrEmpty(App.UserName)) |
197 | 197 |
{ |
198 |
Logger.sendReqLog("GetMember: ", App.ViewInfo.ProjectNO + "," + App.ViewInfo.UserID, 1);
|
|
198 |
Logger.sendReqLog("GetMember: ", App.ViewInfo.ProjectNO + "," + App.ViewInfo.UserID, 1); |
|
199 | 199 |
App.UserName = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.GetMember(App.ViewInfo.ProjectNO, App.ViewInfo.UserID).NAME; |
200 |
if(App.UserName != null || App.UserName != "") |
|
200 |
if (App.UserName != null || App.UserName != "")
|
|
201 | 201 |
{ |
202 | 202 |
Logger.sendResLog("AddMessage", "TRUE", 1); |
203 | 203 |
} |
204 | 204 |
else |
205 | 205 |
{ |
206 | 206 |
Logger.sendResLog("AddMessage", "FALSE", 1); |
207 |
}
|
|
207 |
} |
|
208 | 208 |
} |
209 | 209 |
if (Common.ViewerDataModel.Instance.k_talkMessageSet.Count() == 0) |
210 | 210 |
{ |
... | ... | |
251 | 251 |
private void AddText() |
252 | 252 |
{ |
253 | 253 |
Common.ViewerDataModel.Instance.k_talkMessageSet.Clear(); |
254 |
|
|
254 |
|
|
255 | 255 |
KCOMDataModel.DataModel.TALK message = new KCOMDataModel.DataModel.TALK |
256 | 256 |
{ |
257 | 257 |
TEXT = tbContent.Text, |
... | ... | |
268 | 268 |
//Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.AddMessage(App.ViewInfo.ProjectNO, message); |
269 | 269 |
|
270 | 270 |
Logger.sendReqLog("GetMessage: ", App.ViewInfo.ProjectNO + "," + App.ViewInfo.DocumentItemID, 1); |
271 |
List<KCOMDataModel.DataModel.TALK> messagelist = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.GetMessage(App.ViewInfo.ProjectNO, App.ViewInfo.DocumentItemID);
|
|
271 |
List<KCOMDataModel.DataModel.TALK> messagelist = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.BaseClient.GetMessage(App.ViewInfo.ProjectNO, App.ViewInfo.DocumentItemID); |
|
272 | 272 |
if (messagelist.Count() > 0) |
273 | 273 |
{ |
274 | 274 |
Logger.sendResLog("GetMessage", "TRUE", 1); |
... | ... | |
283 | 283 |
Common.ViewerDataModel.Instance.k_talkMessageSet.Add(a); |
284 | 284 |
}); |
285 | 285 |
tbContent.Text = ""; |
286 |
tbContent.Focus();
|
|
286 |
tbContent.Focus(); |
|
287 | 287 |
(lstMessage.Parent as ScrollViewer).ScrollToEnd(); |
288 |
|
|
288 |
|
|
289 | 289 |
} |
290 | 290 |
} |
291 | 291 |
} |
KCOM/Services/BaseServices.cs | ||
---|---|---|
19 | 19 |
namespace KCOM.Views |
20 | 20 |
{ |
21 | 21 |
public partial class MainMenu : UserControl, INotifyPropertyChanged |
22 |
{
|
|
22 |
{ |
|
23 | 23 |
const string DeepZoomUrl = @"http://{baseUrl}/TileSource/{TileSourcePath}/{ItemsPath}/{SharepointItemID}/{PageNo}.jpg"; |
24 | 24 |
public ServiceDeepViewClient BaseClient; |
25 | 25 |
public ViewInfo _ViewInfo; |
... | ... | |
54 | 54 |
} |
55 | 55 |
public void ServiceOn() |
56 | 56 |
{ |
57 |
BaseClient = new ServiceDeepViewClient(App._binding, App._EndPoint);
|
|
58 |
|
|
57 |
BaseClient = new ServiceDeepViewClient(App._binding, App._EndPoint); |
|
58 |
|
|
59 | 59 |
BaseClient.GetDocInfoCompleted += BaseClient_GetDocInfoCompleted; //문서 섬네일, 페이지크기, 마크업 정보 [3] |
60 | 60 |
BaseClient.GetConversionStateCompleted += BaseClient_GetConversionStateCompleted; //컨버팅의 여부 [2] |
61 | 61 |
BaseClient.GetSystemDataCompleted += BaseClient_GetSystemDataCompleted; //시스템 정보 [1] |
62 | 62 |
BaseClient.GetDocumentItemInfoCompleted += BaseClient_GetDocumentItemInfoCompleted; // 문서 자체의 정보 [4] |
63 |
BaseClient.GetMarkupInfoItemsCompleted += BaseClient_GetMarkupInfoItemsCompleted;
|
|
64 |
BaseClient.GetDeptDataCompleted += BaseClient_GetDeptDataCompleted;
|
|
65 |
BaseClient.DeleteMarkupCompleted += BaseClient_DeleteMarkupCompleted;
|
|
63 |
BaseClient.GetMarkupInfoItemsCompleted += BaseClient_GetMarkupInfoItemsCompleted; |
|
64 |
BaseClient.GetDeptDataCompleted += BaseClient_GetDeptDataCompleted; |
|
65 |
BaseClient.DeleteMarkupCompleted += BaseClient_DeleteMarkupCompleted; |
|
66 | 66 |
BaseClient.GetVPRevisionHistoryCompleted += BaseClient_GetVPRevisionHistoryCompleted; |
67 |
BaseClient.SetFinalPDFCompleted += BaseClient_SetFinalPDFCompleted;
|
|
68 |
BaseClient.GetCompareRectCompleted += BaseClient_GetCompareRectCompleted;
|
|
69 |
BaseClient.DeleteMarkupCompleted += BaseClient_DeleteMarkupCompleted;
|
|
70 |
BaseClient.DelFavoriteVPCompleted += BaseClient_DelFavoriteVPCompleted;
|
|
71 |
BaseClient.EditFavoriteVPCompleted += BaseClient_EditFavoriteVPCompleted;
|
|
67 |
BaseClient.SetFinalPDFCompleted += BaseClient_SetFinalPDFCompleted; |
|
68 |
BaseClient.GetCompareRectCompleted += BaseClient_GetCompareRectCompleted; |
|
69 |
BaseClient.DeleteMarkupCompleted += BaseClient_DeleteMarkupCompleted; |
|
70 |
BaseClient.DelFavoriteVPCompleted += BaseClient_DelFavoriteVPCompleted; |
|
71 |
BaseClient.EditFavoriteVPCompleted += BaseClient_EditFavoriteVPCompleted; |
|
72 | 72 |
} |
73 | 73 |
|
74 |
|
|
74 |
|
|
75 | 75 |
|
76 | 76 |
private void BaseClient_EditFavoriteVPCompleted(object sender, EditFavoriteVPCompletedEventArgs e) |
77 | 77 |
{ |
... | ... | |
142 | 142 |
{ |
143 | 143 |
Logger.sendResLog("SetFinalPDFCompleted", "UserState : " + e.UserState + "\r Result :" + e.Result + "\r Cancelled :" + e.Cancelled + "\r Error :" + e.Error, 1); |
144 | 144 |
|
145 |
if (e.Error !=null || e.Result.Status == FinalStatus.Error) |
|
145 |
if (e.Error != null || e.Result.Status == FinalStatus.Error)
|
|
146 | 146 |
{ |
147 | 147 |
DialogMessage_Alert("최종 파일을 만드는데 문제가 발생하였습니다", "안내"); |
148 | 148 |
} |
... | ... | |
180 | 180 |
//cbSymbolPublic.ItemsSource = e.Result.ToList(); |
181 | 181 |
} |
182 | 182 |
} |
183 |
public MarkupInfoItem PreviewUserMarkupInfoItem { get; set; }
|
|
183 |
public MarkupInfoItem PreviewUserMarkupInfoItem { get; set; } |
|
184 | 184 |
|
185 | 185 |
private void BaseClient_GetMarkupInfoItemsCompleted(object sender, GetMarkupInfoItemsCompletedEventArgs e) |
186 | 186 |
{ |
... | ... | |
191 | 191 |
if (e.Result != null) |
192 | 192 |
{ |
193 | 193 |
var pureItem = e.Result; |
194 |
if(pureItem.Count > 0) |
|
194 |
if (pureItem.Count > 0)
|
|
195 | 195 |
{ |
196 | 196 |
ViewerDataModel.Instance.MarkupList_USER.Clear(); |
197 | 197 |
} |
... | ... | |
199 | 199 |
pureItem.ToList().ForEach(d => d.MarkupList.ForEach(p => |
200 | 200 |
{ |
201 | 201 |
|
202 |
if (d.UserID == App.ViewInfo.UserID) |
|
202 |
if (d.UserID == App.ViewInfo.UserID)
|
|
203 | 203 |
{ |
204 | 204 |
d.userDelete = true; |
205 | 205 |
d.DisplayColor = "#FFFF0000"; |
... | ... | |
313 | 313 |
} |
314 | 314 |
}); |
315 | 315 |
gridViewMarkup.ItemsSource = ViewerDataModel.Instance._markupInfoList; |
316 |
SetCommentPages();
|
|
316 |
SetCommentPages();
|
|
317 | 317 |
|
318 | 318 |
//this.gridViewMarkup.SelectedItem = this.gridViewMarkup.Items[0]; |
319 | 319 |
var select_item = ViewerDataModel.Instance._markupInfoList.Where(info => info.UserID == App.ViewInfo.UserID).OrderByDescending(order => order.Consolidate == Convert.ToInt32(true)).FirstOrDefault(); |
... | ... | |
562 | 562 |
#endregion |
563 | 563 |
} |
564 | 564 |
} |
565 |
//MarkupUserListDisplay(); |
|
566 |
//} |
|
567 |
//} |
|
568 | 565 |
|
569 | 566 |
private static ObservableCollection<MarkupInfoItem> SetDisplayColor(List<MarkupInfoItem> MarkupInfoList, string userID) |
570 | 567 |
{ |
... | ... | |
626 | 623 |
//장원 |
627 | 624 |
_ViewInfo.UserID = _ViewInfo.UserID.Replace(@"DAELIM\", ""); |
628 | 625 |
} |
629 |
Logger.sendReqLog("GetDocInfoAsync", _ViewInfo.ProjectNO + "," + _ViewInfo.DocumentItemID , 1);
|
|
626 |
Logger.sendReqLog("GetDocInfoAsync", _ViewInfo.ProjectNO + "," + _ViewInfo.DocumentItemID, 1); |
|
630 | 627 |
BaseClient.GetDocInfoAsync(new KCOM_BasicParam { projectNo = _ViewInfo.ProjectNO, documentID = _ViewInfo.DocumentItemID }); |
631 | 628 |
} |
632 | 629 |
else |
... | ... | |
706 | 703 |
userData.DEPARTMENT = "ALL"; |
707 | 704 |
Logger.sendReqLog("GetDeptDataAsync", userData.DEPARTMENT, 1); |
708 | 705 |
BaseClient.GetDeptDataAsync(userData.DEPARTMENT); |
709 |
}
|
|
706 |
} |
|
710 | 707 |
} |
711 | 708 |
} |
712 | 709 |
else |
... | ... | |
720 | 717 |
//System.Windows.Browser.HtmlPage.Window.Invoke("close"); |
721 | 718 |
} |
722 | 719 |
} |
723 |
|
|
720 |
|
|
724 | 721 |
|
725 | 722 |
private void BaseClient_GetDocInfoCompleted(object sender, GetDocInfoCompletedEventArgs e) |
726 | 723 |
{ |
... | ... | |
731 | 728 |
DialogMessage_Alert("페이지정보를 가져올 수 없습니다.", "Alert"); |
732 | 729 |
return; |
733 | 730 |
} |
734 |
|
|
731 |
|
|
735 | 732 |
var MainUrl = DeepZoomUrl.Replace("{baseUrl}", App.SystemInfo.HostName); |
736 | 733 |
MainUrl = MainUrl.Replace("{TileSourcePath}", _ViewInfo.ProjectNO + "_Tile"); |
737 | 734 |
MainUrl = MainUrl.Replace("{ItemsPath}", (Convert.ToInt64(_ViewInfo.DocumentItemID) / 100).ToString()); |
... | ... | |
769 | 766 |
//ViewerDataModel.Instance.SystemMain.dzMainMenu.TempLoad(); |
770 | 767 |
|
771 | 768 |
Logger.sendReqLog("GetVPRevisionHistoryAsync", CurrentDoc.ProjectNo + "," + CurrentDoc.Document_NO + "," + CurrentDoc.Document_Id, 1); |
772 |
BaseClient.GetVPRevisionHistoryAsync(CurrentDoc.ProjectNo, CurrentDoc.Document_NO, CurrentDoc.Document_Id);
|
|
769 |
BaseClient.GetVPRevisionHistoryAsync(CurrentDoc.ProjectNo, CurrentDoc.Document_NO, CurrentDoc.Document_Id); |
|
773 | 770 |
} |
774 | 771 |
|
775 | 772 |
|
... | ... | |
781 | 778 |
ViewerDataModel.Instance.SystemMain.dzTopMenu.btnTopStamp.Visibility = Visibility.Collapsed; |
782 | 779 |
} |
783 | 780 |
Logger.sendReqLog("GetSystemDataAsync", "", 1); |
784 |
BaseClient.GetSystemDataAsync();
|
|
781 |
BaseClient.GetSystemDataAsync(); |
|
785 | 782 |
} |
786 | 783 |
|
787 | 784 |
public void HubSet() |
... | ... | |
830 | 827 |
} |
831 | 828 |
else |
832 | 829 |
{ |
833 |
switch(task.Result) |
|
830 |
switch (task.Result)
|
|
834 | 831 |
{ |
835 | 832 |
case "2": |
836 | 833 |
{ |
... | ... | |
883 | 880 |
List<MarkupInfoItem> gridItem = gridViewMarkup.Items.Cast<MarkupInfoItem>().ToList(); //전체 마크업 |
884 | 881 |
List<MarkupInfoItem> gridSelectionItem = gridViewMarkup.SelectedItems.Cast<MarkupInfoItem>().ToList(); //선택 된 마크업 |
885 | 882 |
List<MarkupInfoItem> gridNonSelectionItem = gridItem.Except(gridSelectionItem).ToList(); //선택 되지 않은 마크업 |
886 |
//MarkupToPDF.Controls.Parsing.LayerControl layerControl = new MarkupToPDF.Controls.Parsing.LayerControl(); |
|
883 |
//MarkupToPDF.Controls.Parsing.LayerControl layerControl = new MarkupToPDF.Controls.Parsing.LayerControl();
|
|
887 | 884 |
layerControl.ProjectNo = App.ViewInfo.ProjectNO; |
888 | 885 |
Common.ViewerDataModel.Instance.MarkupControls_USER.Clear(); //전체 제거 |
889 |
Common.ViewerDataModel.Instance.MarkupControls.Clear(); //전체 제거
|
|
886 |
Common.ViewerDataModel.Instance.MarkupControls.Clear(); //전체 제거 |
|
890 | 887 |
foreach (var item in gridSelectionItem) |
891 | 888 |
{ |
892 | 889 |
if (item.UserID == App.ViewInfo.UserID) |
... | ... | |
904 | 901 |
}); |
905 | 902 |
} |
906 | 903 |
} |
907 |
(from A in gridSelectionItem |
|
908 |
from B in Common.ViewerDataModel.Instance.MarkupControls_USER |
|
909 |
where A.MarkupInfoID == B.MarkupInfoID |
|
910 |
select B).ToList().ForEach(data => |
|
911 |
{ |
|
912 |
Common.ViewerDataModel.Instance.MarkupControls_USER.Remove(data); |
|
913 |
}); |
|
904 |
(from A in gridSelectionItem
|
|
905 |
from B in Common.ViewerDataModel.Instance.MarkupControls_USER
|
|
906 |
where A.MarkupInfoID == B.MarkupInfoID
|
|
907 |
select B).ToList().ForEach(data =>
|
|
908 |
{
|
|
909 |
Common.ViewerDataModel.Instance.MarkupControls_USER.Remove(data);
|
|
910 |
});
|
|
914 | 911 |
(from A in gridSelectionItem |
915 | 912 |
from B in Common.ViewerDataModel.Instance.MarkupControls |
916 | 913 |
where A.MarkupInfoID == B.MarkupInfoID |
... | ... | |
919 | 916 |
Common.ViewerDataModel.Instance.MarkupControls.Remove(data); |
920 | 917 |
}); |
921 | 918 |
|
922 |
|
|
923 | 919 |
foreach (var item in gridSelectionItem) |
924 | 920 |
{ |
925 | 921 |
if (item.UserID == App.ViewInfo.UserID) |
내보내기 Unified diff