프로젝트

일반

사용자정보

개정판 9f473fb7

ID9f473fb745671f801d00910fedd6397806e57193
상위 e753423e
하위 288982f3

KangIngu 이(가) 6년 이상 전에 추가함

Zoom window기능 추가
클라우드 모양 높이값 조절 추가
회전 기능 자연스럽게 변경
파노라마 이미지 선택시 제거
Selection 모드 오류 수정
Axis Lock 선택 에러 제거

차이점 보기:

IKCOM/MouseEnum.cs
37 37
        /// <summary>
38 38
        /// Canvas Capture Mode
39 39
        /// </summary>
40
        Capture
40
        Capture,
41

  
42
        /// <summary>
43
        /// Canvas DragZoom Mode
44
        /// </summary>
45
        DragZoom
41 46
    }
42 47
}
KCOM/Common/ViewerDataModel.cs
199 199
            }
200 200
        }
201 201

  
202
        private double _ArcLength { get; set; }
203
        public double ArcLength
204
        {
205
            get
206
            {
207
                return _ArcLength;
208
            }
209
            set
210
            {
211
                _ArcLength = value;
212
                OnPropertyChanged("ArcLength");
213
            }
214
        }
215

  
202 216
        private bool _IsPressShift { get; set; }
203 217
        public bool IsPressShift
204 218
        {
......
1038 1052

  
1039 1053
            this.Interval = 10;
1040 1054

  
1055
            this.ArcLength = 10;
1056

  
1041 1057
            this.DashSize = new DoubleCollection(99999999);
1042 1058
        }
1043 1059

  
KCOM/Controls/AdornerFinal.xaml.cs
1302 1302

  
1303 1303
        private void rotate_MouseMove(object sender, MouseEventArgs e)
1304 1304
        {
1305
            System.Diagnostics.Debug.WriteLine("X축 : " + e.GetPosition(this).X);
1305

  
1306
            //double LastRotateHorizontalValue = 0;
1307
            //double LastRotateVerticalValue = 0;
1308
            //double LastWidthValue = 0;
1309
            //double SetWidth = 0;
1310

  
1306 1311

  
1307 1312
            if ((MemberSet.First() as AdornerMember).DrawingData.GetType().Name == "TextControl")
1308 1313
            {
......
1314 1319
                System.Diagnostics.Debug.WriteLine("X축 : " + e.GetPosition(this).X + "LastRotateVerticalValue : " + LastRotateVerticalValue);
1315 1320
                LastRotateVerticalValue = e.GetPosition(this).X;
1316 1321
            }
1322
            else
1323
            {
1324
                System.Diagnostics.Debug.WriteLine("e.GetPosition(this).X : " + e.GetPosition(this).X);
1325
                System.Diagnostics.Debug.WriteLine("LastRotateHorizontalValue: " + LastRotateHorizontalValue);
1326

  
1327
                if (e.GetPosition(this).X > LastRotateHorizontalValue)
1328
                {
1329
                    RotateFlag = true;
1330
                }
1331
                else
1332
                {
1333
                    RotateFlag = false;
1334
                }
1335
                LastRotateHorizontalValue = e.GetPosition(this).X;
1336
            }
1317 1337
        }
1318 1338

  
1319 1339
        private void DragThumb_DragDelta(object sender, DragDeltaEventArgs e)
......
2098 2118
        /// <param name="e"></param>
2099 2119
        public void rotate_DragDelta(object sender, DragDeltaEventArgs e)
2100 2120
        {
2121
            //if(e.VerticalChange > 10)
2122
            //{
2123
            //    System.Diagnostics.Debug.WriteLine("Width" + ((e.Source as Thumb).Parent as Grid).Width);
2124
            //    System.Diagnostics.Debug.WriteLine("e.HorizontalChange : " + e.HorizontalChange);
2125
            //}
2101 2126

  
2102 2127
            MoveRotate(e);
2103 2128
        }
2104 2129

  
2105 2130
        double LastRotateHorizontalValue = 0;
2106 2131
        double LastRotateVerticalValue = 0;
2132
        double LastWidthValue = 0;
2133
        double SetWidth = 0;
2134
        bool RotateFlag = false;
2135

  
2107 2136
        public void MoveRotate(DragDeltaEventArgs e)
2108 2137
        {
2109 2138
            double dDeltaAngle = 0;
......
2159 2188

  
2160 2189
            if ((MemberSet.First() as AdornerMember).DrawingData.GetType().Name != "TextControl")
2161 2190
            {
2191
                SetWidth = (((e.Source as Thumb).Parent as Grid).Width - LastWidthValue) / 2;
2192

  
2193

  
2194
                //System.Diagnostics.Debug.WriteLine("Width" + ((e.Source as Thumb).Parent as Grid).Width);
2195
                //System.Diagnostics.Debug.WriteLine("e.HorizontalChange : " + e.HorizontalChange);
2196
                //System.Diagnostics.Debug.WriteLine("e.VerticalChange : " + e.VerticalChange);
2197
                //System.Diagnostics.Debug.WriteLine("");
2198

  
2199
                //((e.Source as Thumb).Parent as Grid).Width
2200

  
2162 2201
                if (Math.Abs(e.HorizontalChange) > Math.Abs(e.VerticalChange))
2163 2202
                {
2164
                    if (LastRotateHorizontalValue < e.HorizontalChange)
2203
                    //System.Diagnostics.Debug.WriteLine("e.HorizontalChange : " + e.HorizontalChange);
2204
                    //System.Diagnostics.Debug.WriteLine("e.VerticalChange : " + e.VerticalChange);
2205

  
2206
                    //if (LastRotateHorizontalValue < e.HorizontalChange)
2207
                    //if (LastRotateHorizontalValue < e.HorizontalChange + SetWidth)
2208
                    //if (LastRotateHorizontalValue + LastRotateVerticalValue < e.HorizontalChange + e.VerticalChange)
2209
                    if(RotateFlag)
2165 2210
                    {
2166 2211
                        dDeltaAngle = 5;
2167 2212
                        AngleValue = AngleValue + dDeltaAngle;
......
2175 2220
            }
2176 2221
            else
2177 2222
            {
2178
                if (IsTextAngle)
2223
                if (IsTextAngle || RotateFlag)
2179 2224
                {
2180 2225
                    AngleValue = ((MemberSet.First() as AdornerMember).DrawingData as TextControl).Angle + 5;
2181 2226
                    //AngleValue = AngleValue + 2;
......
2187 2232
                }
2188 2233
            }
2189 2234

  
2190
            LastRotateHorizontalValue = e.HorizontalChange;
2235
            //LastRotateHorizontalValue = e.HorizontalChange;
2191 2236
            //LastRotateVerticalValue = e.VerticalChange;
2237
            //LastWidthValue = ((e.Source as Thumb).Parent as Grid).Width;
2192 2238

  
2193 2239
            //Set_Rotate();
2194 2240

  
......
2800 2846
                    instance.SetArcPath();
2801 2847
                    BorderUpdate();
2802 2848
                }
2803
                else if ((MemberSet.First() as AdornerMember).DrawingData.GetType().Name == "CloudControl")
2804
                {
2805
                    CloudControl instance = ((MemberSet.First() as AdornerMember).DrawingData as CloudControl);
2806
                    if (!instance.isChain)
2807
                    {
2808
                        if (instance.isTransOn)
2809
                        {
2810
                            instance.isTransOn = false;
2811
                        }
2812
                        else
2813
                        {
2814
                            instance.isTransOn = true;
2815
                        }
2816

  
2817
                        instance.SetCloud();
2818
                        BorderUpdate();
2819
                    }
2820
                }
2849
                //else if ((MemberSet.First() as AdornerMember).DrawingData.GetType().Name == "CloudControl")
2850
                //{
2851
                //    CloudControl instance = ((MemberSet.First() as AdornerMember).DrawingData as CloudControl);
2852
                //    if (!instance.isChain)
2853
                //    {
2854
                //        if (instance.isTransOn)
2855
                //        {
2856
                //            instance.isTransOn = false;
2857
                //        }
2858
                //        else
2859
                //        {
2860
                //            instance.isTransOn = true;
2861
                //        }
2862

  
2863
                //        instance.SetCloud();
2864
                //        BorderUpdate();
2865
                //    }
2866
                //}
2821 2867
                //else if ((MemberSet.First() as AdornerMember).DrawingData.GetType().Name == "LineControl")
2822 2868
                //{
2823 2869
                //    LineControl instance = ((MemberSet.First() as AdornerMember).DrawingData as LineControl);
KCOM/Controls/CheckList.xaml.cs
603 603
            ChangeSize(this.ActualWidth, this.ActualHeight);
604 604
            this.SizeChanged += new SizeChangedEventHandler(MainWindow_SizeChanged);
605 605
        }
606
        
607 606

  
608 607
        private void AddEvent(object sender, RoutedEventArgs e)
609 608
        {
KCOM/Controls/Panorama.xaml.cs
54 54
            tileList.Focus();
55 55
        }
56 56

  
57
        /// <summary>
58
        /// 정삼각형을 그리기위한 두 포인트를 계산하여 넘겨줌
59
        /// </summary>
60
        /// <author>humkyung</author>
61
        /// <date>2018.04.26</date>
62
        /// <param name="StartP"></param>
63
        /// <param name="EndP"></param>
64
        /// <returns></returns>
65

  
66
        /// <summary>
67
        /// 
68
        /// </summary>
69
        /// <author>Ingu</author>
70
        /// <date>2018.04.30</date>
71
        /// <Update>이미지 더블 클릭 시 해당 페이지 이동 후 창 파노라마 닫기</Update>
72
        /// <param name="sender"></param>
73
        /// <param name="e"></param>
57 74
        private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
58 75
        {
59 76
            if (e.ClickCount >=2)
60 77
            {
61 78
                ViewerDataModel.Instance.SystemMain.dzMainMenu.pageNavigator.GotoPage(((sender as Border).DataContext as ThumbnailItem).PageNumber);
62 79

  
63
                //Panorama infoScreen = (Panorama)this.Parent;
64
                //infoScreen.Close();
80
                Window window = Window.GetWindow(this);
81
                window.Close();
65 82
            }
66 83
        }
67 84

  
KCOM/Events/Event_KeyEvent.cs
602 602
                                item.IsChecked = false;
603 603
                            }
604 604
                        }
605

  
605
                        dzMainMenu.isLeftMouseButtonDownOnWindow = false;
606 606
                        //foreach (var item in toggleList2)
607 607
                        //{
608 608
                        //    item.IsChecked = false;
KCOM/Events/Implementation/TopMenuEvent.cs
750 750
            }
751 751
        }
752 752

  
753
        private void cbArcLength_ValueChanged(object sender, RadRangeBaseValueChangedEventArgs e)
754
        {
755
            List<AdornerMember> AdonerList = GetAdornerItem();
756
            if (AdonerList.Count > 0)
757
            {
758

  
759
                //Undo_data UndoData = new Undo_data()
760
                //{
761
                //    IsUndo = false,
762
                //    Event = Event_Type.Option,
763
                //    EventTime = DateTime.Now,
764
                //    Interval = ViewerDataModel.Instance.Interval,
765
                //    Markup_List = new List<Multi_Undo_data>()
766
                //};
767
                Multi_Undo_data multi_Undo_Data = new Multi_Undo_data();
768

  
769
                foreach (AdornerMember InnerItem in AdonerList)
770
                {
771
                    switch (InnerItem.DrawingData.GetType().Name)
772
                    {
773
                        case ("RectCloudControl"):
774
                            {
775
                                (InnerItem.DrawingData as MarkupToPDF.Controls.Shape.RectCloudControl).ArcLength = ViewerDataModel.Instance.ArcLength;
776

  
777
                                //multi_Undo_Data.Markup = InnerItem.DrawingData as MarkupToPDF.Common.CommentUserInfo;
778
                                //UndoData.Markup_List.Add(multi_Undo_Data);
779
                                //multi_Undo_Data = new Multi_Undo_data();
780
                            }
781
                            break;
782
                        case ("CloudControl"):
783
                            {
784
                                (InnerItem.DrawingData as MarkupToPDF.Controls.Polygon.CloudControl).ArcLength = ViewerDataModel.Instance.ArcLength;
785

  
786
                                //multi_Undo_Data.Markup = InnerItem.DrawingData as MarkupToPDF.Common.CommentUserInfo;
787
                                //UndoData.Markup_List.Add(multi_Undo_Data);
788
                                //multi_Undo_Data = new Multi_Undo_data();
789
                            }
790
                            break;
791
                    }
792
                }
793

  
794
                //ViewerDataModel.Instance.UndoDataList.Where(data => data.IsUndo == true).ToList().ForEach(i =>
795
                //{
796
                //    ViewerDataModel.Instance.UndoDataList.Remove(i);
797
                //});
798
                //ViewerDataModel.Instance.UndoDataList.Add(UndoData);
799
            }
800
        }
801

  
753 802
        //강인구 추가(Undo End)
754 803
        private void cbDashStyle_SelectionChanged(object sender, SelectionChangedEventArgs e)
755 804
        {
......
1294 1343

  
1295 1344
        private void viewEvent(object sender, RoutedEventArgs e)
1296 1345
        {
1297
            RadButton viewButton = sender as RadButton;
1346
            RadRibbonToggleButton viewButton = sender as RadRibbonToggleButton;
1298 1347
            var instanceMain = this.ParentOfType<MainWindow>();
1299 1348

  
1300 1349
            Point point = new Point(instanceMain.dzMainMenu.zoomAndPanCanvas.Width / 2, instanceMain.dzMainMenu.zoomAndPanCanvas.Height / 2);
1301 1350

  
1351
            //if ((sender as RadRibbonToggleButton) != null)
1352
            //{
1353
            //    Common.ViewerDataModel.Instance.ControlTag = (sender as RadRibbonToggleButton).Tag.ToString();
1354
            //    instanceToggle = (sender as RadRibbonToggleButton);
1355
            //}
1356

  
1357
            //instanceToggle.IsChecked = false;
1358

  
1302 1359
            switch (viewButton.CommandParameter.ToString())
1303 1360
            {
1304 1361
                case "zoomout":
1305 1362
                    {
1306 1363
                        //장원
1307 1364
                        //instanceMain.dzMainMenu.zoomAndPanControl.ZoomTo(new Rect(0, 0, instanceMain.dzMainMenu.zoomAndPanCanvas.ActualWidth, instanceMain.dzMainMenu.zoomAndPanCanvas.ActualHeight));
1308

  
1309 1365
                        instanceMain.dzMainMenu.zoomAndPanControl.ZoomPointToViewportCenter(ViewerDataModel.Instance.ContentScale -= 0.1, point);
1366
                        viewButton.IsChecked = false;
1310 1367
                        //Common.ViewerDataModel.Instance.zom
1311 1368
                    }
1312 1369
                    break;
1313 1370
                case "zoomin":
1314 1371
                    {
1315 1372
                        instanceMain.dzMainMenu.zoomAndPanControl.ZoomPointToViewportCenter(ViewerDataModel.Instance.ContentScale += 0.1, point);
1373
                        viewButton.IsChecked = false;
1316 1374
                    }
1317 1375
                    break;
1318 1376
                case "fullscreen":
......
1321 1379
                        //Sizemode 대기(강인구)
1322 1380
                        //instanceMain.dzMainMenu.imageViewer.SizeMode = Leadtools.Windows.Controls.SizeMode.Fit;
1323 1381
                        instanceMain.dzMainMenu.zoomAndPanControl.ScaleToFit();
1382
                        viewButton.IsChecked = false;
1324 1383
                    }
1325 1384
                    break;
1326 1385
                case "fitWidth":
1327 1386
                    {
1328 1387
                        instanceMain.dzMainMenu.zoomAndPanControl.ScaleToFit();
1388
                        viewButton.IsChecked = false;
1329 1389
                    }
1330 1390
                    break;
1331 1391
                case "fitHeight":
1332 1392
                    {
1333 1393
                        instanceMain.dzMainMenu.zoomAndPanControl.ScaleToFit();
1394
                        viewButton.IsChecked = false;
1334 1395
                    }
1335 1396
                    break;
1336 1397
                case "boundzoom":
1337 1398
                    {
1338
                        //대기(강인구)
1339
                        bool isGO = false;
1340
                        instanceMain.dzMainMenu.imageViewer.MouseLeftButtonDown += (sen, ea) =>
1341
                        {
1342
                            isGO = true;
1343
                        };
1344
                        instanceMain.dzMainMenu.imageViewer.MouseLeftButtonUp += (sen, ea) =>
1345
                        {
1346
                            isGO = false;
1347
                        };
1348
                        //instanceMain.dzMainMenu.imageViewer.SizeMode = Leadtools.Windows.Controls.SizeMode.Fit;
1349
                        //instanceMain.dzMainMenu.imageViewer.InteractiveMode = Leadtools.Windows.Controls.InteractiveMode.UserRectangle;
1350
                        //instanceMain.dzMainMenu.imageViewer.InteractiveUserRectangle += (sen, ea) =>
1351
                        //{
1352
                        //    System.Diagnostics.Debug.WriteLine(ea.Bounds);
1353
                        //    if (ea.Status == Leadtools.Windows.Controls.InteractiveModeStatus.End)
1354
                        //    {
1355
                        //        instanceMain.dzMainMenu.zoomAndPanControl.ZoomTo(ea.Bounds);
1356
                        //        instanceMain.dzMainMenu.imageViewer.SizeMode = Leadtools.Windows.Controls.SizeMode.Normal;
1357
                        //        instanceMain.dzMainMenu.imageViewer.InteractiveMode = Leadtools.Windows.Controls.InteractiveMode.None;
1358
                        //    }
1359
                        //};
1399

  
1360 1400
                    }
1361 1401
                    break;
1362 1402
                case "Rotate_M":
1363 1403
                    {
1364 1404
                        drawingPannelRotate(false);
1365
                        //UpdateLayout();
1405
                        viewButton.IsChecked = false;
1366 1406
                    }
1367 1407
                    break;
1368 1408
                case "Rotate_P":
1369 1409
                    {
1370 1410
                        drawingPannelRotate(true);
1371
                        //UpdateLayout();
1411
                        viewButton.IsChecked = false;
1372 1412
                    }
1373 1413
                    break;
1374 1414
                case "Rotate_half":
1375 1415
                    {
1376 1416
                        drawingPannelRotate(true);
1377 1417
                        drawingPannelRotate(true);
1378
                        //UpdateLayout();
1418
                        viewButton.IsChecked = false;
1379 1419
                    }
1380 1420
                    break;
1381 1421
            }
......
1836 1876
                    case "Select":
1837 1877
                        this.ParentOfType<MainWindow>().dzMainMenu.mouseHandlingMode = IKCOM.MouseHandlingMode.Selecting;
1838 1878
                        instanceMain.dzMainMenu.controlType = MarkupToPDF.Controls.Common.ControlType.None;
1879
                        instanceMain.dzMainMenu.isLeftMouseButtonDownOnWindow = false;
1839 1880
                        break;
1840 1881
                    #endregion
1841 1882
                    #region Image
......
1949 1990
                        ViewerDataModel.Instance.ControlTag = null;
1950 1991
                        this.ParentOfType<MainWindow>().dzMainMenu.controlType = MarkupToPDF.Controls.Common.ControlType.None;
1951 1992
                        this.ParentOfType<MainWindow>().dzMainMenu.mouseHandlingMode = IKCOM.MouseHandlingMode.None;
1952
                        break; 
1993
                        break;
1994
                    #endregion
1995
                    #region DragZoom
1996
                    case "DragZoom":
1997
                        this.ParentOfType<MainWindow>().dzMainMenu.mouseHandlingMode = IKCOM.MouseHandlingMode.DragZoom;
1998
                        instanceMain.dzMainMenu.controlType = MarkupToPDF.Controls.Common.ControlType.None;
1999
                        instanceMain.dzMainMenu.isLeftMouseButtonDownOnWindow = false;
2000
                        break;
1953 2001
                    #endregion
2002

  
1954 2003
                    default:
1955 2004
                        break;
1956 2005
                }
KCOM/MainWindow.xaml.cs
81 81
        {
82 82
            double screenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
83 83
            double screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
84
            //this.Width += 40;
84 85
            double windowWidth = this.Width;
85 86
            double windowHeight = this.Height;
86 87
            this.Left = (screenWidth / 2) - (windowWidth / 2);
KCOM/Views/MainMenu.xaml
182 182
                                                    CornerRadius="1"
183 183
                                                    Panel.ZIndex="1"
184 184
                                                    Opacity="0.5"/>
185
                                            
185
                                            <Border x:Name="dragZoomBorder"
186
                                                    BorderThickness="3"
187
                                                    Background="Transparent" 
188
                                                    CornerRadius="1"
189
                                                    Panel.ZIndex="1"
190
                                                    Opacity="1">
191
                                                <Border.BorderBrush>
192
                                                    <VisualBrush>
193
                                                        <VisualBrush.Visual>
194
                                                            <Rectangle StrokeDashArray="4 2" Stroke="Gray" StrokeThickness="1"
195
                                                                  Width="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
196
                                                                  Height="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualHeight}"/>
197
                                                        </VisualBrush.Visual>
198
                                                    </VisualBrush>
199
                                                </Border.BorderBrush>
200
                                            </Border>
201
                                            <!--<Border x:Name="dragZoomBorder"
202
                                                    BorderBrush="Black"
203
                                                    BorderThickness="1"
204
                                                    
205
                                                    Background="Transparent" 
206
                                                    CornerRadius="1"
207
                                                    Panel.ZIndex="1"
208
                                                    Opacity="0.5"/>-->
209

  
210

  
186 211
                                            <!--<Border Background="Red" Panel.ZIndex="1" Opacity="0.5" Visibility="Visible" Width="100" Height="100" />-->
187 212
                                        </Canvas>
188 213

  
KCOM/Views/MainMenu.xaml.cs
140 140
        /// <summary>
141 141
        /// Set to 'true' when the left mouse-button is down.
142 142
        /// </summary>
143
        private bool isLeftMouseButtonDownOnWindow = false;
143
        public bool isLeftMouseButtonDownOnWindow = false;
144 144

  
145 145
        public InkPresenter _InkBoard = null;
146 146
        Stroke stroke;
......
1039 1039
                Point currentCanvasZoomPanningMouseMovePoint = e.GetPosition(zoomAndPanCanvas);
1040 1040

  
1041 1041
                Vector dragOffset = currentCanvasZoomPanningMouseMovePoint - canvasZoommovingMouseDownPoint;
1042
                zoomAndPanControl.ContentOffsetX -= dragOffset.X;
1043
                zoomAndPanControl.ContentOffsetY -= dragOffset.Y;
1044

  
1045
                //SetCursor();
1046
                //Point currentCanvasDrawingMouseMovePoint = e.GetPosition(drawingRotateCanvas);
1047
                //Point currentCanvasZoomPanningMouseMovePoint = e.GetPosition(zoomAndPanCanvas);
1048

  
1049
                //Vector dragOffset = currentCanvasZoomPanningMouseMovePoint - canvasZoommovingMouseDownPoint;
1042 1050

  
1043
                zoomAndPanControl.ContentOffsetX += 1;
1044
                zoomAndPanControl.ContentOffsetY += 1;
1051
                //zoomAndPanControl.ContentOffsetX += 1;
1052
                //zoomAndPanControl.ContentOffsetY += 1;
1045 1053

  
1046 1054
                //zoomAndPanControl.ContentOffsetX += dragOffset.X;
1047 1055
                //zoomAndPanControl.ContentOffsetY += dragOffset.Y;
......
1143 1151
                            (currentControl as ArrowTextControl).UnderLine = TextDecorations.Underline;
1144 1152
                        }
1145 1153
                    }
1154
                    else if ((currentControl as RectCloudControl) != null)
1155
                    {
1156
                        (currentControl as RectCloudControl).ArcLength = ViewerDataModel.Instance.ArcLength;
1157
                    }
1158
                    else if ((currentControl as CloudControl) != null)
1159
                    {
1160
                        (currentControl as CloudControl).ArcLength = ViewerDataModel.Instance.ArcLength;
1161
                    }
1146 1162

  
1147 1163
                    switch (controlType)
1148 1164
                    {
......
1733 1749
                                {
1734 1750
                                    control.EndPoint = currentCanvasDrawingMouseMovePoint;
1735 1751
                                    Point tempPoint = control.EndPoint;
1752

  
1753
                                    control.MidPoint = new Point(control.EndPoint.X - 100, control.EndPoint.Y - 100);
1754

  
1736 1755
                                    if (ViewerDataModel.Instance.checkAxis || ViewerDataModel.Instance.IsPressShift)
1737 1756
                                    {
1738 1757
                                        ViewerDataModel.Instance.AngleValue = MathSet.returnAngleString(control.StartPoint, ref tempPoint, true);
......
1761 1780
                                {
1762 1781
                                    control.EndPoint = currentCanvasDrawingMouseMovePoint;
1763 1782
                                    Point tempPoint = control.EndPoint;
1783

  
1784

  
1764 1785
                                    if (ViewerDataModel.Instance.checkAxis || ViewerDataModel.Instance.IsPressShift)
1765 1786
                                    {
1766 1787
                                        ViewerDataModel.Instance.AngleValue = MathSet.returnAngleString(control.StartPoint, ref tempPoint, true);
......
2079 2100
                    }
2080 2101
                }
2081 2102
            }
2082
            else if (mouseButtonDown == MouseButton.Left && mouseHandlingMode == MouseHandlingMode.Selecting || mouseButtonDown == MouseButton.Left && mouseHandlingMode == MouseHandlingMode.Capture)
2103
            else if (mouseButtonDown == MouseButton.Left && mouseHandlingMode == MouseHandlingMode.Selecting || mouseButtonDown == MouseButton.Left && mouseHandlingMode == MouseHandlingMode.Capture || mouseButtonDown == MouseButton.Left && mouseHandlingMode == MouseHandlingMode.DragZoom)
2083 2104
            {
2084 2105
                Point curMouseDownPoint = e.GetPosition(drawingRotateCanvas);
2085 2106

  
......
2243 2264
                            break;
2244 2265
                    }
2245 2266
                }
2246
                else if (mouseHandlingMode == MouseHandlingMode.Selecting && e.ChangedButton == MouseButton.Left || mouseHandlingMode == MouseHandlingMode.Capture && e.ChangedButton == MouseButton.Left)
2267
                else if (mouseHandlingMode == MouseHandlingMode.Selecting && e.ChangedButton == MouseButton.Left || mouseHandlingMode == MouseHandlingMode.Capture && e.ChangedButton == MouseButton.Left || mouseHandlingMode == MouseHandlingMode.DragZoom && e.ChangedButton == MouseButton.Left)
2247 2268
                {
2248 2269
                    if (isLeftMouseButtonDownOnWindow)
2249 2270
                    {
......
2261 2282
                                ViewerDataModel.Instance.ViewVisible = Visibility.Visible;
2262 2283
                                ViewerDataModel.Instance.Capture_Opacity = 0;
2263 2284
                            }
2264

  
2265
                            isDraggingSelectionRect = false;
2266
                            if (mouseHandlingMode == MouseHandlingMode.Selecting)
2285
                            else if (mouseHandlingMode == MouseHandlingMode.Selecting)
2267 2286
                            {
2268 2287
                                ApplyDragSelectionRect();
2269 2288
                            }
2289
                            else
2290
                            {
2291
                                double x = Canvas.GetLeft(dragZoomBorder);
2292
                                double y = Canvas.GetTop(dragZoomBorder);
2293
                                double width = dragZoomBorder.Width;
2294
                                double height = dragZoomBorder.Height;
2295
                                Rect dragRect = new Rect(x, y, width, height);
2296

  
2297
                                ViewerDataModel.Instance.SystemMain.dzMainMenu.zoomAndPanControl.ZoomTo(dragRect);
2298

  
2299
                                dragZoomBorder.Visibility = Visibility.Collapsed;
2300
                            }
2270 2301

  
2302
                            isDraggingSelectionRect = false;
2271 2303
                            e.Handled = true;
2272 2304
                            wasDragSelectionApplied = true;
2273 2305
                        }
......
2373 2405

  
2374 2406
        private void InitDragSelectionRect(Point pt1, Point pt2)
2375 2407
        {
2408
            //캡쳐 중
2409
            if (mouseHandlingMode == MouseHandlingMode.Capture)
2410
            {
2411
                dragCaptureBorder.Visibility = Visibility.Visible;
2412
            }
2376 2413
            //선택 중
2377
            if (mouseHandlingMode == MouseHandlingMode.Selecting)
2414
            else if (mouseHandlingMode == MouseHandlingMode.Selecting)
2378 2415
            {
2416
                
2379 2417
                dragSelectionBorder.Visibility = Visibility.Visible;
2380 2418
            }
2381
            //캡쳐 중
2382 2419
            else
2383 2420
            {
2384
                dragCaptureBorder.Visibility = Visibility.Visible;
2421
                dragZoomBorder.Visibility = Visibility.Visible;
2385 2422
            }
2386 2423
            UpdateDragSelectionRect(pt1, pt2);
2387 2424
        }
......
2422 2459
            //
2423 2460
            // Update the coordinates of the rectangle used for drag selection.
2424 2461
            //
2462
            //캡쳐 중
2463
            if (mouseHandlingMode == MouseHandlingMode.Capture)
2464
            {
2465
                Canvas.SetLeft(dragCaptureBorder, x);
2466
                Canvas.SetTop(dragCaptureBorder, y);
2467
                dragCaptureBorder.Width = width;
2468
                dragCaptureBorder.Height = height;
2469
            }
2425 2470
            //선택 중
2426
            if (mouseHandlingMode == MouseHandlingMode.Selecting)
2471
            else if(mouseHandlingMode == MouseHandlingMode.Selecting)
2427 2472
            {
2428 2473
                Canvas.SetLeft(dragSelectionBorder, x);
2429 2474
                Canvas.SetTop(dragSelectionBorder, y);
2430 2475
                dragSelectionBorder.Width = width;
2431 2476
                dragSelectionBorder.Height = height;
2432 2477
            }
2433
            //캡쳐 중
2434 2478
            else
2435 2479
            {
2436
                Canvas.SetLeft(dragCaptureBorder, x);
2437
                Canvas.SetTop(dragCaptureBorder, y);
2438
                dragCaptureBorder.Width = width;
2439
                dragCaptureBorder.Height = height;
2480
                Canvas.SetLeft(dragZoomBorder, x);
2481
                Canvas.SetTop(dragZoomBorder, y);
2482
                dragZoomBorder.Width = width;
2483
                dragZoomBorder.Height = height;
2440 2484
            }
2485

  
2486

  
2441 2487
        }
2442 2488

  
2443 2489
        public bool IsSelectionControl(Rect dragRect, Rect controlRect, Geometry OverViewPathData, ControlType type)
......
2607 2653
                }
2608 2654
            }
2609 2655

  
2610
            //캡쳐 모드 설정
2611
            if (mouseHandlingMode == MouseHandlingMode.Capture && mouseButtonDown == MouseButton.Left)
2612
            {
2613
                dragCaptureBorder.Visibility = Visibility.Visible;
2614
                isLeftMouseButtonDownOnWindow = true;
2615
            }
2616

  
2617
            if (mouseButtonDown == MouseButton.Left && ViewerDataModel.Instance.MarkupControls_USER.Count > 0 && mouseHandlingMode != MouseHandlingMode.Drawing && currentControl == null)
2656
            //if (mouseButtonDown == MouseButton.Left && ViewerDataModel.Instance.MarkupControls_USER.Count > 0 && mouseHandlingMode != MouseHandlingMode.Drawing && currentControl == null)
2657
            if (mouseButtonDown == MouseButton.Left && mouseHandlingMode != MouseHandlingMode.Drawing && currentControl == null)
2618 2658
            {
2619 2659

  
2620 2660
                if (mouseHandlingMode == MouseHandlingMode.Selecting)
......
2631 2671
                    }
2632 2672
                }
2633 2673

  
2674
                //캡쳐 모드 설정
2675
                if (mouseHandlingMode == MouseHandlingMode.Capture)
2676
                {
2677
                    dragCaptureBorder.Visibility = Visibility.Visible;
2678
                    isLeftMouseButtonDownOnWindow = true;
2679
                }
2680

  
2681
                //줌 모드 설정
2682
                if (mouseHandlingMode == MouseHandlingMode.DragZoom)
2683
                {
2684
                    //dragSelectionBorder.Visibility = Visibility.Visible;
2685
                    isLeftMouseButtonDownOnWindow = true;
2686
                }
2687

  
2634 2688

  
2635 2689
                var control = ViewerDataModel.Instance.MarkupControls_USER.Where(data => data.IsMouseOver).FirstOrDefault();
2636 2690
                if (control != null)
......
2685 2739
                            }
2686 2740
                            ViewerDataModel.Instance.paintSet = (control as IShapeControl).Paint;
2687 2741
                        }
2688
                        //SelectLayer.Children.Add(final);
2689
                        if ((control as IPath) != null)
2690
                        {
2691
                            if ((control as IPath).LineSize != 0)
2692
                            {
2693
                                ViewerDataModel.Instance.LineSize = (control as IPath).LineSize;
2694
                            }
2695
                        }
2742

  
2696 2743
                        ViewerDataModel.Instance.ControlOpacity = control.Opacity;
2697 2744

  
2698 2745
                        if ((control as TextControl) != null)
......
2730 2777
                            {
2731 2778
                                ViewerDataModel.Instance.checkUnderLine = false;
2732 2779
                            }
2733

  
2734 2780
                            ViewerDataModel.Instance.TextSize = (control as TextControl).TextSize;
2735 2781
                            ViewerDataModel.Instance.checkHighlight = (control as TextControl).IsHighLight;
2736 2782
                            
2737 2783
                        }
2738 2784
                        else if ((control as ArrowTextControl) != null)
2739 2785
                        {
2740
                            //if (this.ParentOfType<MainWindow>().dzTopMenu.btnItalic.IsChecked == true)
2741
                            //{
2742
                            //    (control as ArrowTextControl).TextStyle = FontStyles.Italic;
2743
                            //}
2744
                            //if (this.ParentOfType<MainWindow>().dzTopMenu.btnBold.IsChecked == true)
2745
                            //{
2746
                            //    (control as ArrowTextControl).TextWeight = FontWeights.Bold;
2747
                            //}
2748
                            //if (this.ParentOfType<MainWindow>().dzTopMenu.btnUnderLine.IsChecked == true)
2749
                            //{
2750
                            //    (control as ArrowTextControl).UnderLine = TextDecorations.Underline;
2751
                            //}
2752 2786
                            if ((control as ArrowTextControl).TextStyle == FontStyles.Italic)
2753 2787
                            {
2754 2788
                                ViewerDataModel.Instance.checkTextStyle = true;
......
2785 2819
                            ViewerDataModel.Instance.checkHighlight = (control as ArrowTextControl).isHighLight;
2786 2820
                            ViewerDataModel.Instance.TextSize = (control as ArrowTextControl).TextSize;
2787 2821
                        }
2822
                        else if ((control as RectCloudControl) != null)
2823
                        {
2824
                            ViewerDataModel.Instance.ArcLength = (control as RectCloudControl).ArcLength;
2825
                        }
2826
                        else if ((control as CloudControl) != null)
2827
                        {
2828
                            ViewerDataModel.Instance.ArcLength = (control as CloudControl).ArcLength;
2829
                        }
2788 2830

  
2789 2831
                    }
2790 2832
                    else
KCOM/Views/TopMenu.xaml
6 6
             xmlns:local="clr-namespace:KCOM.Views"
7 7
             mc:Ignorable="d" 
8 8
             d:DesignHeight="250" d:DesignWidth="1600">
9
             <!--d:DesignHeight="250" d:DesignWidth="1600">-->
9 10
    <UserControl.Resources>
10 11
        <Style TargetType="telerik:RadToggleButton">
11 12
            <Setter Property="telerik:StyleManager.Theme" Value="VisualStudio2013"/>
......
116 117
                <telerik:RadRibbonGroup DialogLauncherVisibility="Collapsed"
117 118
                                        Header="CONTROL"
118 119
                                        IsEnabled="True">
119
                    <!--<Grid Margin="0,-1,0,0">
120
                        <Grid.ColumnDefinitions>
121
                            <ColumnDefinition/>
122
                            <ColumnDefinition/>
123
                            <ColumnDefinition/>
124
                        </Grid.ColumnDefinitions>
125
                        <Grid.RowDefinitions>
126
                            <RowDefinition/>
127
                            <RowDefinition/>
128
                            <RowDefinition/>
129
                        </Grid.RowDefinitions>
130
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="0" Grid.Row="0" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
131
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/Undo3.png" />
132
                        </telerik:RadToggleButton>
133
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="1" Grid.Row="0" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
134
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/Redo3.png" />
135
                        </telerik:RadToggleButton>
136
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="2" Grid.Row="0" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
137
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/select.png" />
138
                        </telerik:RadToggleButton>
139
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="0" Grid.Row="1" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
140
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/copy2.png" />
141
                        </telerik:RadToggleButton>
142
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="1" Grid.Row="1" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
143
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/cut1.png" />
144
                        </telerik:RadToggleButton>
145
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="2" Grid.Row="1" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
146
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/Paste1.png" />
147
                        </telerik:RadToggleButton>
148
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="0" Grid.Row="2" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
149
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/eraser.png" />
150
                        </telerik:RadToggleButton>
151
                        <telerik:RadToggleButton CommandParameter="Line" Grid.Column="1" Grid.Row="2" Tag="Line3" Width="30" Height="30" Click="ControlEvent">
152
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_New/Delete4.png" />
153
                        </telerik:RadToggleButton>
154
                    </Grid>-->
155 120
                    <telerik:RadCollapsiblePanel>
156 121
                        <telerik:RadRibbonToggleButton 
157 122
                                                       CollapseToMedium="WhenGroupIsMedium"
......
294 259
                                    <Image Source="/KCOM;component/Resources/Images/MenuImage_New/lineChain.png" />
295 260
                                </telerik:RadToggleButton>
296 261
                        <!--<CheckBox Margin="10,5,2,0" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Column="2" Grid.Row="0" Content="Fill" Checked="FillShapeEvent" Unchecked="FillShapeEvent" x:Name="cbFillShape" IsChecked="{Binding checkFillShape, Source={x:Static common:ViewerDataModel.Instance}}" />-->
297
                        <CheckBox VerticalAlignment="Center" Grid.Column="3" Grid.Row="0" Margin="10,5,2,0" HorizontalAlignment="Left" Content="Axis Lock" Checked="AxisLockEvent" Unchecked="AxisLockEvent" x:Name="cbAxisLock" IsChecked="{Binding checkFillShape, Source={x:Static common:ViewerDataModel.Instance}}" />
262
                        <CheckBox VerticalAlignment="Center" Grid.Column="3" Grid.Row="0" Margin="10,5,2,0" HorizontalAlignment="Left" Content="Axis Lock" Checked="AxisLockEvent" Unchecked="AxisLockEvent" x:Name="cbAxisLock" IsChecked="{Binding checkAxis, Source={x:Static common:ViewerDataModel.Instance}}" />
298 263

  
299 264
                        <telerik:RadButtonGroup Margin="10,0,0,0" Height="20" Grid.Column="3" Grid.Row="1"
300 265
                                                BorderThickness="1"
......
321 286
                                                      Value="{Binding Interval, Source={x:Static common:ViewerDataModel.Instance}}"
322 287
                                                      />
323 288
                            </telerik:RadButtonGroup>
289

  
290
                        
324 291
                    </Grid>
325 292
                </telerik:RadRibbonGroup>
326 293
                    
......
366 333
                        <telerik:RadToggleButton CommandParameter="Circle" Grid.Column="1" Grid.Row="2" Tag="CicleShape" Width="30" Height="30" Click="ControlEvent">
367 334
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_new/circle.png" />
368 335
                        </telerik:RadToggleButton>
369
                        <TextBlock HorizontalAlignment="Center" Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2" VerticalAlignment="Bottom" Text="Opacity" FontSize="10" Margin="0,-10,0,5"/>
370
                        <telerik:RadSlider HorizontalAlignment="Center" Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="2" Width="100" Margin="10,-5,10,0" telerik:StyleManager.Theme="VisualStudio2013" Value="{Binding ControlOpacity, Source={x:Static common:ViewerDataModel.Instance}}"
336
                        <telerik:RadDockPanel  Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2">
337
                        <TextBlock HorizontalAlignment="Center" VerticalAlignment="Bottom" Text="Opacity" FontSize="10" Margin="10,0,0,4"/>
338
                        <telerik:RadSlider HorizontalAlignment="Center" Width="70" Margin="10,4,10,-2" telerik:StyleManager.Theme="VisualStudio2013" Value="{Binding ControlOpacity, Source={x:Static common:ViewerDataModel.Instance}}"
371 339
                                                Maximum="1" Minimum="0" HandlesVisibility="Visible" VerticalAlignment="Center" ValueChanged="sdOpacity_ValueChanged"/>
340
                        </telerik:RadDockPanel>
341

  
342
                        <telerik:RadButtonGroup Margin="10,3,0,-3" Height="20" Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="2"
343
                                                BorderThickness="1"
344
                                                telerik:StyleManager.Theme="Windows8">
345
                            <TextBlock Width="50"
346
                                       HorizontalAlignment="Center"
347
                                       VerticalAlignment="Center"
348
                                       FontSize="10"
349
                                       Text="ArcLength"
350
                                       TextAlignment="Center" />
351
                            <telerik:RadNumericUpDown x:Name="cbArcLength"
352
                                                      Width="69"
353
                                                      Height="20"
354
                                                      Margin="2"
355
                                                      HorizontalAlignment="Stretch"
356
                                                      VerticalAlignment="Center"
357
                                                      HorizontalContentAlignment="Center"
358
                                                      Maximum="100"
359
                                                      Minimum="5"
360
                                                      NumberDecimalDigits="0"
361
                                                      telerik:StyleManager.Theme="Windows7"
362
                                                      ToolTipService.ToolTip="Interval Value"
363
													  ValueChanged="cbArcLength_ValueChanged"
364
                                                      Value="{Binding ArcLength, Source={x:Static common:ViewerDataModel.Instance}}"
365
                                                      />
366
                        </telerik:RadButtonGroup>
367

  
368

  
369

  
370
                        <!--<telerik:RadButtonGroup Height="20" Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="2" Width="120" Margin="-30,6,10,-1"
371
                                                BorderThickness="1"
372
                                                telerik:StyleManager.Theme="Windows8">
373
                            <TextBlock Width="50"
374
                                       Margin="2"
375
                                       HorizontalAlignment="Center"
376
                                       VerticalAlignment="Center"
377
                                       FontSize="10"
378
                                       Text="ArcSize"
379
                                       TextAlignment="Center" />
380
                            <telerik:RadNumericUpDown x:Name="cbArcSize"
381
                                                      Width="66"
382
                                                      Height="22"
383
                                                      Margin="2"
384
                                                      HorizontalAlignment="Stretch"
385
                                                      VerticalAlignment="Center"
386
                                                      HorizontalContentAlignment="Center"
387
                                                      Maximum="10"
388
                                                      Minimum="1"
389
                                                      NumberDecimalDigits="0"
390
                                                      telerik:StyleManager.Theme="Windows7"
391
                                                      ToolTipService.ToolTip="Stroke Value"
392
													  ValueChanged="cbLineSize_ValueChanged"
393
                                                      
394
                                                      Value="{Binding LineSize, Source={x:Static common:ViewerDataModel.Instance}}"
395
                                                      />
396
                        </telerik:RadButtonGroup>-->
372 397
                    </Grid>
373 398
                </telerik:RadRibbonGroup>
374 399
                
......
420 445
                </telerik:RadRibbonGroup>
421 446
                
422 447
                <telerik:RadRibbonGroup Header="FONT">
448
                    
423 449
                    <telerik:RadOrderedWrapPanel>
424 450
                        <StackPanel Orientation="Horizontal">
425 451
						<!--강인구 추가-->
......
486 512
                            </telerik:RadToggleButton>
487 513
						<!--강인구 추가(이벤트)-->
488 514
                        <telerik:RadToggleButton  x:Name="btnUnderLine" Width="32" Height="32" telerik:ScreenTip.Title="Underline" telerik:ScreenTip.Description="Underline the selected text." Checked="btnUnderLine_Checked"  Unchecked="btnUnderLine_Checked" IsChecked="{Binding checkUnderLine, Source={x:Static common:ViewerDataModel.Instance}}">
489
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/underline.png" Margin="0,0.2,0,0"/>
515
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/underline.png"/>
490 516
                            </telerik:RadToggleButton>
491 517
                        <!--</telerik:RadButtonGroup>-->
492 518
                        <!--<CheckBox Margin="10,3,5,0" HorizontalAlignment="Left" Content="Highlight" VerticalAlignment="Center"/>--><!--
......
794 820
                    </Grid>
795 821
                </telerik:RadRibbonGroup>
796 822

  
797
                <telerik:RadRibbonGroup DialogLauncherVisibility="Collapsed" Header="ZOOM & ROTATE"
823
                <telerik:RadRibbonGroup DialogLauncherVisibility="Collapsed" Header="VIEW"
798 824
                                        telerik:ScreenTip.Description="Show the File Task options."
799 825
                                        telerik:ScreenTip.Title="File"
800 826
                                        Visibility="Visible">
801
                    <Grid>
827
                    <telerik:RadCollapsiblePanel>
828
                        <telerik:RadRibbonToggleButton 
829
                                                       CollapseToMedium="WhenGroupIsMedium"
830
                                                       CollapseToSmall="WhenGroupIsSmall"
831
                                                       CommandParameter="zoomout"
832
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/minus.png"
833
                                                       Size="Small"
834
                                                       Click="viewEvent"
835
                                                       Tag="ZoomOut"
836
                                                       telerik:ScreenTip.Description="줌 축소를 합니다"
837
                                                       telerik:ScreenTip.Title="Zoom Out"
838
                                                       Text="Zoom Out" />
839
                        <telerik:RadRibbonToggleButton 
840
                                                       CollapseToMedium="WhenGroupIsMedium"
841
                                                       CollapseToSmall="WhenGroupIsSmall"
842
                                                       CommandParameter="Rotate_M"
843
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/Rotate_Minus.png"
844
                                                       Size="Small"
845
                                                       Click="viewEvent"
846
                                                       Tag="Rotate_M"
847
                                                       telerik:ScreenTip.Description="반시계 방향으로 회전합니다."
848
                                                       telerik:ScreenTip.Title="Rotate left"
849
                                                       Text="Rotate left" />
850

  
851
                        <telerik:RadRibbonToggleButton 
852
                                                       CollapseToMedium="WhenGroupIsMedium"
853
                                                       CollapseToSmall="WhenGroupIsSmall"
854
                                                       CommandParameter="DragZoom"
855
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/zoom-in-tool.png"
856
                                                       Size="Small"
857
                                                       Click="ControlEvent"
858
                                                       Tag="DragZoom"
859
                                                       telerik:ScreenTip.Description="드래그 하여 줌 확대를 합니다."
860
                                                       telerik:ScreenTip.Title="Drag zoom in"
861
                                                       Text="Drag zoom in" />
862
                        
863
                    </telerik:RadCollapsiblePanel>
864
                    <telerik:RadCollapsiblePanel>
865
                        <telerik:RadRibbonToggleButton 
866
                                                       CollapseToMedium="WhenGroupIsMedium"
867
                                                       CollapseToSmall="WhenGroupIsSmall"
868
                                                       CommandParameter="zoomin"
869
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/plus.png"
870
                                                       Size="Small"
871
                                                       Click="viewEvent"
872
                                                       Tag="zoomin"
873
                                                       telerik:ScreenTip.Description="줌 확대를 합니다"
874
                                                       telerik:ScreenTip.Title="Zoom In"
875
                                                       Text="Zoom In" />
876

  
877
                        <telerik:RadRibbonToggleButton 
878
                                                       CollapseToMedium="WhenGroupIsMedium"
879
                                                       CollapseToSmall="WhenGroupIsSmall"
880
                                                       CommandParameter="Rotate_P"
881
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/Rotate_Plus.png"
882
                                                       Size="Small"
883
                                                       Click="viewEvent"
884
                                                       Tag="Rotate_P"
885
                                                       telerik:ScreenTip.Description="시계 방향으로 회전합니다."
886
                                                       telerik:ScreenTip.Title="Rotate right"
887
                                                       Text="Rotate right" />
888
                        <telerik:RadRibbonToggleButton 
889
                                                       CollapseToMedium="WhenGroupIsMedium"
890
                                                       CollapseToSmall="WhenGroupIsSmall"
891
                                                       CommandParameter="fullscreen"
892
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/fullscreen.png"
893
                                                       Size="Small"
894
                                                       Click="viewEvent"
895
                                                       Tag="fullscreen"
896
                                                       telerik:ScreenTip.Description="화면을 최대화 합니다."
897
                                                       telerik:ScreenTip.Title="maximize"
898
                                                       Text="maximize" />
899

  
900

  
901
                    </telerik:RadCollapsiblePanel>
902
                    <telerik:RadCollapsiblePanel>
903
                        <telerik:RadRibbonToggleButton 
904
                                                       CollapseToMedium="WhenGroupIsMedium"
905
                                                       CollapseToSmall="WhenGroupIsSmall"
906
                                                       CommandParameter="fitHeight"
907
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/expand.png"
908
                                                       Size="Small"
909
                                                       Click="viewEvent"
910
                                                       Tag="fitHeight"
911
                                                       telerik:ScreenTip.Description="화면을 맞춥니다."
912
                                                       telerik:ScreenTip.Title="Fit"
913
                                                       Text="Fit" />
914

  
915
                        <telerik:RadRibbonToggleButton 
916
                                                       CollapseToMedium="WhenGroupIsMedium"
917
                                                       CollapseToSmall="WhenGroupIsSmall"
918
                                                       CommandParameter="Rotate_half"
919
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/flip.png"
920
                                                       Size="Small"
921
                                                       Click="viewEvent"
922
                                                       Tag="Rotate_half"
923
                                                       telerik:ScreenTip.Description="화면의 상하가 반전 됩니다."
924
                                                       telerik:ScreenTip.Title="Upside down"
925
                                                       Text="Upside down" />
926

  
927

  
928
                        <telerik:RadRibbonToggleButton ></telerik:RadRibbonToggleButton>
929
                    </telerik:RadCollapsiblePanel>
930
                    
931
                    <!--<Grid Margin="0,-1,0,0">
932
                        <Grid.ColumnDefinitions>
933
                            <ColumnDefinition/>
934
                            <ColumnDefinition/>
935
                            <ColumnDefinition/>
936
                        </Grid.ColumnDefinitions>
802 937
                        <Grid.RowDefinitions>
803 938
                            <RowDefinition/>
804 939
                            <RowDefinition/>
805
                        </Grid.RowDefinitions>
940
                            <RowDefinition/>
941
                        </Grid.RowDefinitions>-->
806 942

  
807
                        <StackPanel Orientation="Horizontal"  Grid.Row="0">
943
                        <!--<StackPanel Orientation="Horizontal"  Grid.Row="0">-->
808 944

  
809 945

  
810 946
                            <!--<telerik:RadToggleButton CommandParameter="Shape" Tag="RectShape_Fill" Grid.Column="0" Grid.Row="0" Width="30" Height="30"
......
813 949
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/markRect.png" />
814 950
                            </telerik:RadToggleButton>-->
815 951

  
816
                            <telerik:RadButton BorderThickness="0" Grid.Row="1" Grid.Column="0" Click="viewEvent" CommandParameter="zoomout" Background="Transparent" 
952
                            <!--<telerik:RadToggleButton CommandParameter="Shape" Tag="RectShape_Fill" Grid.Column="0" Grid.Row="0" Width="30" Height="30"
953
                                                       telerik:ScreenTip.Description="사각마크를 쉽게 그립니다"
954
                                                       telerik:ScreenTip.Title="Rectangle Mark" Click="ControlEvent">
955
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/markRect.png" />-->
956

  
957

  
958
                        
959
                        
960
                        
961

  
962

  
963
                        <!--<telerik:RadToggleButton BorderThickness="0" Grid.Row="2" Grid.Column="0" Click="viewEvent" CommandParameter="fitHeight" Background="Transparent" Width="29" Height="29"
964
                                               telerik:ScreenTip.Description="화면을 맞춥니다"
965
                                               telerik:ScreenTip.Title="Fit">
966
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_new/expand.png"/>
967
                        </telerik:RadToggleButton>
968

  
969
                        <telerik:RadToggleButton BorderThickness="0" Grid.Row="2" Grid.Column="1" Click="viewEvent" CommandParameter="fullscreen" Background="Transparent" Width="29" Height="29"
970
                                               telerik:ScreenTip.Description="화면을 최대화 합니다"
971
                                               telerik:ScreenTip.Title="maximize">
972
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_new/fullscreen.png"/>
973
                        </telerik:RadToggleButton>-->
974

  
975

  
976
                        <!--<telerik:RadToggleButton BorderThickness="0" Grid.Row="0" Grid.Column="0" Click="viewEvent" CommandParameter="zoomout" Background="Transparent" Width="29" Height="29"
977
                                               telerik:ScreenTip.Description="줌 축소를 합니다"
978
                                               telerik:ScreenTip.Title="Zoom Out">
979
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/minus.png"/>
980
                            </telerik:RadToggleButton>-->
981
                        <!--<telerik:RadToggleButton BorderThickness="0" Grid.Row="0" Grid.Column="1" Click="viewEvent" CommandParameter="zoomin" Background="Transparent" Width="29" Height="29"
982
                                               telerik:ScreenTip.Description="줌 확대를 합니다"
983
                                               telerik:ScreenTip.Title="Zoom In">
984
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/plus.png"/>
985
                            </telerik:RadToggleButton>-->
986

  
987
                        <!--<telerik:RadToggleButton BorderThickness="0" Grid.Row="0" Grid.Column="2" Click="ControlEvent" CommandParameter="boundzoom" Background="Transparent" Width="29" Height="29"
988
                                               telerik:ScreenTip.Description="드래그 하여 줌 확대를 합니다."
989
                                               telerik:ScreenTip.Title="Drag zoom in">
990
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_new/zoom-in-tool.png"/>
991
                        </telerik:RadToggleButton>-->
992

  
993

  
994
                        <!--<telerik:RadToggleButton BorderThickness="0" Grid.Row="1" Grid.Column="0" Click="viewEvent" CommandParameter="Rotate_M" Background="Transparent" Width="29" Height="29"
995
                                               telerik:ScreenTip.Description="반시계 방향으로 회전합니다"
996
                                               telerik:ScreenTip.Title="Rotate left">
997
                                    <Image Source="/KCOM;component/Resources/Images/MenuImage_New/Rotate_Minus.png"/>
998
                            </telerik:RadToggleButton>
999

  
1000
                        <telerik:RadToggleButton BorderThickness="0" Grid.Row="1" Grid.Column="1" Click="viewEvent" CommandParameter="Rotate_P" Background="Transparent" Width="29" Height="29"
1001
                                               telerik:ScreenTip.Description="시계 방향으로 회전합니다"
1002
                                               telerik:ScreenTip.Title="Rotate right">
1003
                                    <Image Source="/KCOM;component/Resources/Images/MenuImage_New/Rotate_Plus.png"/>
1004
                            </telerik:RadToggleButton>
1005

  
1006
                        <telerik:RadToggleButton BorderThickness="0" Grid.Row="1" Grid.Column="2" Click="viewEvent" CommandParameter="Rotate_half" Background="Transparent" Width="29" Height="29"
1007
                                               telerik:ScreenTip.Description="화면의 상하가 반전 됩니다"
1008
                                               telerik:ScreenTip.Title="Upside down">
1009
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_new/flip.png"/>
1010
                        </telerik:RadToggleButton>-->
1011

  
1012
                        <!--<telerik:RadToggleButton BorderThickness="0" Grid.Row="2" Grid.Column="0" Click="viewEvent" CommandParameter="fitHeight" Background="Transparent" Width="29" Height="29"
1013
                                               telerik:ScreenTip.Description="화면을 맞춥니다"
1014
                                               telerik:ScreenTip.Title="Fit">
1015
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_new/expand.png"/>
1016
                        </telerik:RadToggleButton>
1017
                        
1018
                        <telerik:RadToggleButton BorderThickness="0" Grid.Row="2" Grid.Column="1" Click="viewEvent" CommandParameter="fullscreen" Background="Transparent" Width="29" Height="29"
1019
                                               telerik:ScreenTip.Description="화면을 최대화 합니다"
1020
                                               telerik:ScreenTip.Title="maximize">
1021
                            <Image Source="/KCOM;component/Resources/Images/MenuImage_new/fullscreen.png"/>
1022
                        </telerik:RadToggleButton>-->
1023
                        <!--<telerik:RadButton BorderThickness="0" Grid.Row="1" Grid.Column="0" Click="viewEvent" CommandParameter="zoomout" Background="Transparent" 
817 1024
                                               telerik:ScreenTip.Description="줌 축소를 합니다"
818 1025
                                               telerik:ScreenTip.Title="Zoom Out">
819 1026
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/minus.png" Stretch="Uniform" Width="20" Height="20"/>
......
832 1039
                                               telerik:ScreenTip.Description="화면을 최대화 합니다"
833 1040
                                               telerik:ScreenTip.Title="maximize">
834 1041
                                <Image Source="/KCOM;component/Resources/Images/MenuImage_new/fullscreen.png" Stretch="Uniform" Width="20" Height="20"/>
835
                            </telerik:RadButton>
836
                        </StackPanel>
1042
                            </telerik:RadButton>-->
1043
                        <!--</StackPanel>-->
837 1044

  
838
                        <StackPanel Orientation="Horizontal"  Grid.Row="1">
1045
                        <!--<StackPanel Orientation="Horizontal"  Grid.Row="1">
839 1046
                            <telerik:RadButton BorderThickness="0" Click="viewEvent" CommandParameter="Rotate_M" Background="Transparent"
840 1047
                                               telerik:ScreenTip.Description="반시계 방향으로 회전합니다"
841 1048
                                               telerik:ScreenTip.Title="Rotate left">
......
859 1066
                                    <Image Source="/KCOM;component/Resources/Images/MenuImage_new/flip.png" Stretch="Uniform" Width="20" Height="20"/>
860 1067
                                </telerik:RadButton.Content>
861 1068
                            </telerik:RadButton>
862
                        </StackPanel>
863
                    </Grid>
1069

  
1070
                            --><!--<telerik:RadRibbonToggleButton 
1071
                                                       CollapseToMedium="WhenGroupIsMedium"
1072
                                                       CollapseToSmall="WhenGroupIsSmall"
1073
                                                       CommandParameter="Select"
1074
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/select.png"
1075
                                                       Size="Medium"
1076
                                                       Click="ControlEvent"
1077
                                                       Tag="Select"
1078
                                                       x:Name="btnSelection"
1079
                                                       telerik:ScreenTip.Description="범위를 선택하여 마크업을 선택합니다"
1080
                                                       telerik:ScreenTip.Title="Eraser"
1081
                                                       Text="Selection"/>--><!--
1082
                            <telerik:RadRibbonToggleButton 
1083
                                                       CollapseToMedium="WhenGroupIsMedium"
1084
                                                       CollapseToSmall="WhenGroupIsSmall"
1085
                                                       CommandParameter="DragZoom"
1086
                                                       LargeImage="/KCOM;component/Resources/Images/MenuImage_new/zoom-in-tool.png"
1087
                                                       Size="Medium"
1088
                                                       Width="20"
1089
                                                       Height="20"
1090
                                                       Click="ControlEvent"
1091
                                                       Tag="Select"
1092
                                                       x:Name="btnDragZoom"
1093
                                                       telerik:ScreenTip.Description="범위를 선택하여 마크업을 선택합니다"
1094
                                                       telerik:ScreenTip.Title="Eraser"/>
1095

  
1096
                            --><!--<telerik:RadButton BorderThickness="0" Click="viewEvent" CommandParameter="boundzoom" Background="Transparent"
1097
                                               telerik:ScreenTip.Description="드래그 하여 줌 확대를 합니다."
1098
                                               telerik:ScreenTip.Title="Drag zoom in">
1099
                                <telerik:RadButton.Content>
1100
                                    <Image Source="/KCOM;component/Resources/Images/MenuImage_new/zoom-in-tool.png" Stretch="Uniform" Width="20" Height="20"/>
1101
                                </telerik:RadButton.Content>
1102
                            </telerik:RadButton>-->
1103

  
1104
                            <!--<Image Source="/KCOM;component/Resources/Images/MenuImage_new/zoom-in-tool.png" Stretch="Uniform" Width="26" Height="26"/>--><!--
1105

  
1106
                        </StackPanel>-->
1107
                    <!--</Grid>-->
864 1108
                </telerik:RadRibbonGroup>
865 1109

  
866 1110

  
MarkupToPDF/Controls/Polygon/CloudControl.cs
56 56
        public static readonly DependencyProperty StrokeColorProperty = DependencyProperty.Register(
57 57
                "StrokeColor", typeof(SolidColorBrush), typeof(CloudControl), new PropertyMetadata(new SolidColorBrush(Colors.Red)));
58 58

  
59
        public static readonly DependencyProperty ArcLengthProperty = DependencyProperty.Register(
60
                "ArcLength", typeof(double), typeof(CloudControl), new PropertyMetadata((Double)10, PointValueChanged));
61

  
59 62
        public static readonly DependencyProperty PathDataProperty = DependencyProperty.Register(
60 63
                "PathData", typeof(Geometry), typeof(CloudControl), null);
61 64

  
......
406 409
            }
407 410
        }
408 411

  
412
        public Double ArcLength
413
        {
414
            get { return (Double)GetValue(ArcLengthProperty); }
415
            set
416
            {
417
                if (this.ArcLength != value)
418
                {
419
                    SetValue(ArcLengthProperty, value);
420
                    OnPropertyChanged("ArcLength");
421
                }
422
            }
423
        }
424

  
409 425
        private double _toler = 1;
410 426
        public double Toler
411 427
        {
......
413 429
            set { _toler = value; }
414 430
        }
415 431
        //강인구 수정 클라우드 사이즈
416
        private double _arcLength;
417
        //private double _arcLength = 30;
418
        public double ArcLength
419
        {
420
            get { return _arcLength; }
421
            set { _arcLength = value; }
422
        }
432
        //private double _arcLength;
433
        ////private double _arcLength = 30;
434
        //public double ArcLength
435
        //{
436
        //    get { return _arcLength; }
437
        //    set { _arcLength = value; }
438
        //}
423 439
        private bool _fill = false;
424 440
        public bool Fill
425 441
        {
......
595 611

  
596 612

  
597 613
            //인구 수정 클라우드 크기 설정(2018.04.19)
598
            double size = 0;
599
            double tmp = 0;
614
            //double size = 0;
615
            //double tmp = 0;
600 616

  
601
            for (int i = 0; i < count - 1; i++)
602
            {
603
                tmp = size;
604
                size = Math.Max(MathSet.DistanceTo(this.PointSet[i], this.PointSet[i + 1]), tmp);
605
            }
606
            ArcLength = (size * 0.05);
617
            //for (int i = 0; i < count - 1; i++)
618
            //{
619
            //    tmp = size;
620
            //    size = Math.Max(MathSet.DistanceTo(this.PointSet[i], this.PointSet[i + 1]), tmp);
621
            //}
622
            //ArcLength = (size * 0.05);
607 623

  
608
            if (ArcLength <= 3)
609
            {
610
                ArcLength = 10;
611
            }
612
            else if (ArcLength <= 10)
613
            {
614
                ArcLength = 20;
615
            }
616
            else if (ArcLength <= 30)
617
            {
618
                ArcLength = 30;
619
            }
624
            //if (ArcLength <= 3)
625
            //{
626
            //    ArcLength = 10;
627
            //}
628
            //else if (ArcLength <= 10)
629
            //{
630
            //    ArcLength = 20;
631
            //}
632
            //else if (ArcLength <= 30)
633
            //{
634
            //    ArcLength = 30;
635
            //}
620 636
            /////////////////////////////////////////
621 637

  
622 638
            if (isTransOn) // true라면 클라우드 컨트롤
MarkupToPDF/Controls/Shape/RectCloudControl.cs
74 74
        public static readonly DependencyProperty PathSubDataProperty = DependencyProperty.Register(
75 75
                "PathSubData", typeof(Geometry), typeof(RectCloudControl), null);
76 76

  
77
        public static readonly DependencyProperty ArcLengthProperty = DependencyProperty.Register(
78
        "ArcLength", typeof(double), typeof(RectCloudControl), new PropertyMetadata((Double)10, PointValueChanged));
79

  
77 80
        public static readonly DependencyProperty EndPointProperty = DependencyProperty.Register(
78 81
                "EndPoint", typeof(Point), typeof(RectCloudControl), new PropertyMetadata(new Point(0, 0), PointValueChanged));
79 82

  
......
255 258
            }
256 259
        }
257 260

  
261
        public Double ArcLength
262
        {
263
            get { return (Double)GetValue(ArcLengthProperty); }
264
            set
265
            {
266
                if (this.ArcLength != value)
267
                {
268
                    SetValue(ArcLengthProperty, value);
269
                    OnPropertyChanged("ArcLength");
270
                }
271
            }
272
        }
273

  
258 274

  
259 275
        private double _toler = 1;
260 276
        public double Toler
......
262 278
            get { return _toler; }
263 279
            set { _toler = value; }
264 280
        }
265
        private double _arcLength = 30;
266
        public double ArcLength
267
        {
268
            get { return _arcLength; }
269
            set { _arcLength = value; }
270
        }
281
        //private double _arcLength = 30;
282
        //public double ArcLength
283
        //{
284
        //    get { return _arcLength; }
285
        //    set { _arcLength = value; }
286
        //}
271 287

  
272 288
        private bool _fill = false;
273 289
        public bool Fill
......
448 464
            /// set reverse if area is greater 0 - 2012.07.04 added by humkyung
449 465
            /// 
450 466

  
451
            double size = MathSet.DistanceTo(this.StartPoint, this.EndPoint);
452
            ArcLength = (size * 0.05);
467
            //double size = MathSet.DistanceTo(this.StartPoint, this.EndPoint);
468
            //ArcLength = (size * 0.05);
469

  
453 470
            //if (ArcLength <= 10)
454 471
            //{
455 472
            //    ArcLength = 10;
456 473
            //}
457 474
            //강인구 수정(클라우드 사이즈)
458
            if (ArcLength <= 3)
459
            {
460
                ArcLength = 10;
461
            }
462
            else if (ArcLength <= 10)
463
            {
464
                ArcLength = 20;
465
            }
466
            else if (ArcLength <= 30)
467
            {
468
                ArcLength = 30;
469
            }
475
            //if (ArcLength <= 3)
476
            //{
477
            //    ArcLength = 10;
478
            //}
479
            //else if (ArcLength <= 10)
480
            //{
481
            //    ArcLength = 20;
482
            //}
483
            //else if (ArcLength <= 30)
484
            //{
485
            //    ArcLength = 30;
486
            //}
470 487

  
471 488
            //ArcLength = 10;
472 489

  

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)