프로젝트

일반

사용자정보

개정판 ef7ba61f

IDef7ba61ffd93ccaaa863f5c50d7ca6cba1bb6446
상위 e755dd44
하위 873b1379

백흠경이(가) 5달 전에 추가함

Fix: 선택한 객체가 화면 최상단에 올라오는 오류 수정

Change-Id: I3eb1adeb497bf6d2e7a09dbed185e57478bda0a2

차이점 보기:

KCOM/Common/SelectionSet.cs
125 125
        {
126 126
            try
127 127
            {
128
                if (mainMenu.SelectLayer.Children.Count > 0)
128
                if (mainMenu.SelectLayer.Children.Count <= 0) return;
129

  
130
                foreach (var item in mainMenu.SelectLayer.Children)
129 131
                {
130
                    foreach (var item in mainMenu.SelectLayer.Children)
132
                    if (item.GetType().Name == "AdornerFinal") 
131 133
                    {
132
                        if (item.GetType().Name == "AdornerFinal") 
133
                        {
134
                            (item as AdornerFinal).UnRegister();
134
                        (item as AdornerFinal).UnRegister();
135 135

  
136
                            foreach (var InnerItem in (item as AdornerFinal).Members)
136
                        foreach (var InnerItem in (item as AdornerFinal).Members)
137
                        {
138
                            if (!ViewerDataModel.Instance.MarkupControls_USER.Contains(InnerItem.DrawingData))
137 139
                            {
138
                                if (!ViewerDataModel.Instance.MarkupControls_USER.Contains(InnerItem.DrawingData))
140
                                if (InnerItem.DrawingData.GetType().Name == "PolygonControl")
139 141
                                {
140
                                    if (InnerItem.DrawingData.GetType().Name == "PolygonControl")
142
                                    if ((InnerItem.DrawingData as PolygonControl).CommentID == null)
141 143
                                    {
142
                                        if ((InnerItem.DrawingData as PolygonControl).CommentID == null)
143
                                        {
144
                                            (InnerItem.DrawingData as PolygonControl).CommentID = Commons.shortGuid();
145
                                        }
144
                                        (InnerItem.DrawingData as PolygonControl).CommentID = Commons.shortGuid();
146 145
                                    }
147

  
148
                                    var control = InnerItem.DrawingData as CommentUserInfo;
149
                                    #region ZIndex 설정
150
                                    System.Windows.Controls.Canvas.SetZIndex(control, control.ZIndex);
151
                                    #endregion
152
                                    ViewerDataModel.Instance.MarkupControls_USER.Add(control);
153 146
                                }
147

  
148
                                var control = InnerItem.DrawingData as CommentUserInfo;
149
                                #region ZIndex 설정
150
                                System.Windows.Controls.Canvas.SetZIndex(control, control.ZIndex);
151
                                #endregion
152
                                ViewerDataModel.Instance.MarkupControls_USER.Insert(control.Index, control);
154 153
                            }
155 154
                        }
156 155
                    }
157
                    mainMenu.SelectLayer.Children.Clear();
158 156
                }
157
                mainMenu.SelectLayer.Children.Clear();
159 158
            }
160 159
            catch (Exception ex)
161 160
            {
KCOM/Controls/AdornerFinal.xaml.cs
151 151

  
152 152
    public partial class AdornerFinal : UserControl
153 153
    {
154
        public TextBox editTextBox { get; set; }
155 154
        #region 공용 인스턴스
156 155
        public List<AdornerMember> Members { get; } = new List<AdornerMember>();
157 156
        public Dictionary<Thumb, DragData> _dragData = new Dictionary<Thumb, DragData>();
......
221 220
            _dragData.Add(rotateTop, new DragData() { CursorAngle = 0, DragType = DragType.Rotate, RotateIsLeft = true, RotateIsTop = true });
222 221
        }
223 222

  
224
        ~AdornerFinal()
225
        {
226
            this.Dispose(false);
227
        }
228

  
229
        public void Dispose()
230
        {
231
            this.Dispose(true);
232
            GC.SuppressFinalize(this);
233
        }
234

  
235
        protected virtual void Dispose(bool disposing)
236
        {
237
            if (this.disposed) return;
238
            if (disposing)
239
            {
240
                foreach (var member in this.Members)
241
                {
242
                    if(!Common.ViewerDataModel.Instance.MarkupControls_USER.Contains(member.DrawingData))
243
                        Common.ViewerDataModel.Instance.MarkupControls_USER.Add(member.DrawingData as CommentUserInfo);
244
                }
245
                // IDisposable 인터페이스를 구현하는 멤버들을 여기서 정리합니다.
246
            }
247
            // .NET Framework에 의하여 관리되지 않는 외부 리소스들을 여기서 정리합니다.
248
            this.disposed = true;
249
        }
250

  
251
        void DragThumb_Loaded(object sender, RoutedEventArgs e)
252
        {
253
            mainDragThumb = DragThumb;
254
        }
255

  
256 223
        public AdornerFinal(CommentUserInfo objectData) : this()
257 224
        {
258 225
            InitializeComponent();
......
266 233
            ///Canvas.SetZIndex(objectData, 84);
267 234
            try
268 235
            {
236
                objectData.Index = ViewerDataModel.Instance.MarkupControls_USER.IndexOf(objectData);
269 237
                ViewerDataModel.Instance.MarkupControls_USER.Remove(objectData);
270 238
                this.ContainerContent.Children.Add(objectData);
271 239
            }
272 240
            catch (Exception ex)
273 241
            {
274

  
242
                throw new InvalidOperationException(ex.Message);
275 243
            }
276
           
244

  
277 245
            SetAdornerMember(objectData);
278 246
            this.Focus();
279 247
        }
......
292 260
                {
293 261
                    ///Canvas.SetZIndex(item, 80);
294 262

  
263
                    item.Index = ViewerDataModel.Instance.MarkupControls_USER.IndexOf(item);
295 264
                    ViewerDataModel.Instance.MarkupControls_USER.Remove(item);
296 265
                    this.ContainerContent.Children.Add(item);
297 266
                }
298
                catch //(Exception ex)
267
                catch (Exception ex)
299 268
                {
269
                    throw new InvalidOperationException(ex.Message);
300 270
                }
301 271
                finally
302 272
                {
303
                    
273

  
304 274
                }
305 275
            }
276

  
306 277
            this.SetAdornerMember(objectData);
307 278
            this.Focus();
308 279
        }
309 280

  
281
        ~AdornerFinal()
282
        {
283
            this.Dispose(false);
284
        }
285

  
286
        public void Dispose()
287
        {
288
            this.Dispose(true);
289
            GC.SuppressFinalize(this);
290
        }
291

  
292
        protected virtual void Dispose(bool disposing)
293
        {
294
            if (this.disposed) return;
295
            if (disposing)
296
            {
297
                foreach (var member in this.Members)
298
                {
299
                    if(!Common.ViewerDataModel.Instance.MarkupControls_USER.Contains(member.DrawingData))
300
                        Common.ViewerDataModel.Instance.MarkupControls_USER.Add(member.DrawingData as CommentUserInfo);
301
                }
302
                // IDisposable 인터페이스를 구현하는 멤버들을 여기서 정리합니다.
303
            }
304
            // .NET Framework에 의하여 관리되지 않는 외부 리소스들을 여기서 정리합니다.
305
            this.disposed = true;
306
        }
307

  
308
        void DragThumb_Loaded(object sender, RoutedEventArgs e)
309
        {
310
            mainDragThumb = DragThumb;
311
        }
312

  
310 313
        public Point Centeroid
311 314
        {
312 315
            get
KCOM/Views/MainMenu.xaml.cs
1086 1086
                    {
1087 1087
                        var control = await MarkupParser.ParseExAsync(App.BaseAddress, cts, App.ViewInfo.ProjectNO, markup.Data, Common.ViewerDataModel.Instance.MarkupControls_USER, PageAngle, sColor, "",
1088 1088
                                        markup.MarkupInfoID, markup.ID);
1089
                        Canvas.SetZIndex(control, (control as CommentUserInfo).ZIndex);
1090
                        control.Visibility = Visibility.Hidden;
1089
                        if (control != null)
1090
                        {
1091
                            Canvas.SetZIndex(control, (control as CommentUserInfo).ZIndex);
1092
                            control.Visibility = Visibility.Hidden;
1093
                        }
1091 1094
                    }
1092 1095
                    else
1093 1096
                    {
1094 1097
                        var control = await MarkupParser.ParseExAsync(App.BaseAddress, cts, App.ViewInfo.ProjectNO, markup.Data, Common.ViewerDataModel.Instance.MarkupControls, PageAngle, sColor, "",
1095 1098
                                                                markup.MarkupInfoID, markup.ID);
1096
                        Canvas.SetZIndex(control, (control as CommentUserInfo).ZIndex);
1097
                        control.Visibility = Visibility.Hidden;
1099
                        if (control != null)
1100
                        {
1101
                            Canvas.SetZIndex(control, (control as CommentUserInfo).ZIndex);
1102
                            control.Visibility = Visibility.Hidden;
1103
                        }
1098 1104
                    }
1099 1105
                }
1100 1106
            }
......
4732 4738
            //{
4733 4739
            btnFinalPDF.IsEnabled = false;
4734 4740
            btnConsolidate.IsEnabled = false;
4735
            var result = await  ConsolidationMethod();
4741
            var result = await ConsolidationMethod();
4736 4742

  
4737 4743
            if(result)
4738 4744
            {
License.Validator/License.Validator.csproj
58 58
      <Project>{22ceb718-f446-4847-869f-974d34cdc33f}</Project>
59 59
      <Name>licenseInterface</Name>
60 60
    </ProjectReference>
61
    <ProjectReference Include="..\Rhino.Licensing\Rhino.Licensing.csproj">
62
      <Project>{05efd7eb-f0fb-4b65-8e4a-c8ff8ddc6a78}</Project>
63
      <Name>Rhino.Licensing</Name>
64
    </ProjectReference>
65 61
  </ItemGroup>
66 62
  <ItemGroup>
67 63
    <None Include="obfuscar.xml">
License/License.csproj
99 99
      <Project>{22ceb718-f446-4847-869f-974d34cdc33f}</Project>
100 100
      <Name>licenseInterface</Name>
101 101
    </ProjectReference>
102
    <ProjectReference Include="..\Rhino.Licensing\Rhino.Licensing.csproj">
103
      <Project>{05efd7eb-f0fb-4b65-8e4a-c8ff8ddc6a78}</Project>
104
      <Name>Rhino.Licensing</Name>
105
    </ProjectReference>
106 102
  </ItemGroup>
107 103
  <ItemGroup>
108 104
    <None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
MarkupToPDF/Common/CommentUserInfo.cs
37 37
        [Description("ZIndex 값이 높을 수록 앞쪽으로 배치된다.")]
38 38
        public int ZIndex { get; set; } = 10;
39 39

  
40
        [Description("리스트 인덱스")]
41
        public int Index { get; set; }
42

  
40 43
        private SolidColorBrush _TempBorderBrush { get; set; }
41 44
        private SolidColorBrush _HoverBorderBrush { get; } = new SolidColorBrush(Color.FromRgb(255, 0, 255));
42 45

  
MarkupToPDF/Controls/Etc/ImgControl.cs
537 537
        public static ImgControl FromString(string str, SolidColorBrush brush, string sProjectNo, string baseUri)
538 538
        {
539 539
            ImgControl instance = null;
540
            using (S_ImgControl s = JsonSerializerHelper.JsonDeserialize<S_ImgControl>(str))
540
            try
541 541
            {
542
                UriBuilder downloadUri = new UriBuilder(baseUri);
543
                UriBuilder uri = new UriBuilder(s.ImagePath);
544
                uri.Host = downloadUri.Host;
545
                uri.Port = downloadUri.Port;
546

  
547
                Image img = new Image();
548
                if (s.ImagePath.Contains(".svg"))
549
                {
550
                    SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(uri.ToString());
551
                    var svg = svgImage.ProvideValue(null);
552

  
553
                    img.Source = (DrawingImage)svg;
554
                }
555
                else
542
                using (S_ImgControl s = JsonSerializerHelper.JsonDeserialize<S_ImgControl>(str))
556 543
                {
557
                    img.Source = new BitmapImage(uri.Uri);
544
                    UriBuilder downloadUri = new UriBuilder(baseUri);
545
                    UriBuilder uri = new UriBuilder(s.ImagePath);
546
                    uri.Host = downloadUri.Host;
547
                    uri.Port = downloadUri.Port;
548

  
549
                    Image img = new Image();
550
                    if (s.ImagePath.Contains(".svg"))
551
                    {
552
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(uri.ToString());
553
                        var svg = svgImage.ProvideValue(null);
554

  
555
                        img.Source = (DrawingImage)svg;
556
                    }
557
                    else
558
                    {
559
                        img.Source = new BitmapImage(uri.Uri);
560
                    }
561

  
562
                    instance = new ImgControl
563
                    {
564
                        CommentAngle = s.Angle,
565
                        StartPoint = s.StartPoint,
566
                        TopRightPoint = s.TR,
567
                        EndPoint = s.EndPoint,
568
                        LeftBottomPoint = s.LB,
569
                        PointSet = s.PointSet,
570
                        Opacity = s.Opac,
571
                        FilePath = uri.Uri.ToString(),
572
                        UserID = s.UserID,
573
                        ImageData = img.Source,
574
                        Memo = s.Memo,
575
                        ZIndex = s.ZIndex
576
                    };
577

  
578
                    instance.ImageData = img.Source;
558 579
                }
559

  
560
                instance = new ImgControl
561
                {
562
                    CommentAngle = s.Angle,
563
                    StartPoint = s.StartPoint,
564
                    TopRightPoint = s.TR,
565
                    EndPoint = s.EndPoint,
566
                    LeftBottomPoint = s.LB,
567
                    PointSet = s.PointSet,
568
                    Opacity = s.Opac,
569
                    FilePath = uri.Uri.ToString(),
570
                    UserID = s.UserID,
571
                    ImageData = img.Source,
572
                    Memo = s.Memo,
573
                    ZIndex = s.ZIndex
574
                };
575

  
576
                instance.ImageData = img.Source;
580
            }
581
            catch (Exception)
582
            {
577 583
            }
578 584

  
579 585
            return instance;
MarkupToPDF/Controls/Parsing/MarkupParse.cs
308 308
                    {
309 309
                        baseLayer.Add(control);
310 310
                        control.ApplyTemplate();
311
                        #region ZIndex 설정
311 312
                        Canvas.SetZIndex(control, control.ZIndex);
313
                        #endregion
312 314

  
313 315
                        if (control is ArrowTextControl ArrTextCtrl)
314 316
                        {
license.iValidator/licenseInterface.csproj
45 45
    <Compile Include="iValidator.cs" />
46 46
    <Compile Include="Properties\AssemblyInfo.cs" />
47 47
  </ItemGroup>
48
  <ItemGroup>
49
    <ProjectReference Include="..\Rhino.Licensing\Rhino.Licensing.csproj">
50
      <Project>{05efd7eb-f0fb-4b65-8e4a-c8ff8ddc6a78}</Project>
51
      <Name>Rhino.Licensing</Name>
52
    </ProjectReference>
53
  </ItemGroup>
54 48
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
55 49
</Project>

내보내기 Unified diff

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