示例#1
0
 internal static void SetDockArrowVisibility(DockArrow arrow, WndArrow dar)
 {
     try
     {
         var wa = Screen.GetWorkingArea(new System.Drawing.Point(0, 0));
         switch (arrow)
         {
             case DockArrow.LeftUp:
                 if (!PNStatic.DockedNotes[DockStatus.Left].Any(n => n.Dialog.Top < wa.Top))
                 {
                     dar.Hide();
                 }
                 break;
             case DockArrow.LeftDown:
                 if (!PNStatic.DockedNotes[DockStatus.Left].Any(n => (n.Dialog.Top + n.Dialog.Height) > wa.Bottom))
                 {
                     dar.Hide();
                 }
                 break;
             case DockArrow.TopLeft:
                 if (!PNStatic.DockedNotes[DockStatus.Top].Any(n => n.Dialog.Left < wa.Left))
                 {
                     dar.Hide();
                 }
                 break;
             case DockArrow.TopRight:
                 if (!PNStatic.DockedNotes[DockStatus.Top].Any(n => (n.Dialog.Left + n.Dialog.Width) > wa.Right))
                 {
                     dar.Hide();
                 }
                 break;
             case DockArrow.RightUp:
                 if (!PNStatic.DockedNotes[DockStatus.Right].Any(n => n.Dialog.Top < wa.Top))
                 {
                     dar.Hide();
                 }
                 break;
             case DockArrow.RightDown:
                 if (!PNStatic.DockedNotes[DockStatus.Right].Any(n => (n.Dialog.Top + n.Dialog.Height) > wa.Bottom))
                 {
                     dar.Hide();
                 }
                 break;
             case DockArrow.BottomLeft:
                 if (!PNStatic.DockedNotes[DockStatus.Bottom].Any(n => n.Dialog.Left < wa.Left))
                 {
                     dar.Hide();
                 }
                 break;
             case DockArrow.BottomRight:
                 if (!PNStatic.DockedNotes[DockStatus.Bottom].Any(n => (n.Dialog.Left + n.Dialog.Width) > wa.Right))
                 {
                     dar.Hide();
                 }
                 break;
         }
     }
     catch (Exception ex)
     {
         PNStatic.LogException(ex);
     }
 }
示例#2
0
        internal static void ShiftDockDown(DockArrow arrow)
        {
            try
            {
                List<PNote> notes = null;

                if (arrow == DockArrow.LeftUp)
                {
                    notes = PNStatic.DockedNotes[DockStatus.Left];
                }
                else if (arrow == DockArrow.RightUp)
                {
                    notes = PNStatic.DockedNotes[DockStatus.Right];
                }
                if (notes != null)
                {
                    foreach (var n in notes)
                    {
                        n.Dialog.Top += n.Dialog.Height;
                    }
                }
                var dar = PNStatic.DockArrows[arrow];
                SetDockArrowVisibility(arrow, dar);
            }
            catch (Exception ex)
            {
                PNStatic.LogException(ex);
            }
        }
示例#3
0
 internal WndArrow(DockArrow dockArrow) : this()
 {
     DockDirection = dockArrow;
 }
示例#4
0
 internal static void ShiftDockRight(DockArrow arrow)
 {
     try
     {
         List<PNote> notes = null;
         if (arrow == DockArrow.TopLeft)
         {
             notes = PNStatic.DockedNotes[DockStatus.Top];
         }
         else if (arrow == DockArrow.BottomLeft)
         {
             notes = PNStatic.DockedNotes[DockStatus.Bottom];
         }
         if (notes != null)
         {
             foreach (var n in notes)
             {
                 n.Dialog.Left += n.Dialog.Width;
             }
         }
         var dar = PNStatic.DockArrows[arrow];
         SetDockArrowVisibility(arrow, dar);
     }
     catch (Exception ex)
     {
         PNStatic.LogException(ex);
     }
 }
示例#5
0
 internal WndArrow(DockArrow dockArrow) : this()
 {
     DockDirection = dockArrow;
 }