コード例 #1
0
ファイル: ViewHost.cs プロジェクト: Kuzq/gitter
 private static AnchorStyles GetRelativeSide(ViewSplit viewSplit, int index, int side)
 {
     var item = viewSplit[index];
     var th = item as ViewHost;
     bool isDw = false;
     if(th != null)
     {
         isDw = th.IsDocumentWell;
     }
     else
     {
         var ts = item as ViewSplit;
         if(ts != null)
         {
             isDw = ts.ContainsDocumentWell;
         }
     }
     if(isDw)
     {
         switch(viewSplit.Orientation)
         {
             case Orientation.Horizontal:
                 return side == -1 ? AnchorStyles.Right : AnchorStyles.Left;
             case Orientation.Vertical:
                 return side == -1 ? AnchorStyles.Bottom : AnchorStyles.Top;
             default:
                 throw new ApplicationException();
         }
     }
     return AnchorStyles.None;
 }
コード例 #2
0
ファイル: ViewHost.cs プロジェクト: Kuzq/gitter
 private static AnchorStyles GetRelativeSide(ViewSplit viewSplit, Control control)
 {
     var index = viewSplit.IndexOf(control);
     for(int i = 0; i < index; ++i)
     {
         var anchor = GetRelativeSide(viewSplit, i, -1);
         if(anchor != AnchorStyles.None) return anchor;
     }
     for(int i = index + 1; i < viewSplit.Count; ++i)
     {
         var anchor = GetRelativeSide(viewSplit, i, 1);
         if(anchor != AnchorStyles.None) return anchor;
     }
     var parent = viewSplit.Parent as ViewSplit;
     if(parent != null)
     {
         return GetRelativeSide(parent, viewSplit);
     }
     return AnchorStyles.None;
 }
コード例 #3
0
ファイル: ViewLayout.cs プロジェクト: Kuzq/gitter
            public SplitEntry(ViewSplit split)
                : this()
            {
                Verify.Argument.IsNotNull(split, "split");

                _orientation = split.Orientation;
                foreach(var control in split)
                {
                    _cells.Add(ToLayout(control));
                }
                foreach(var splitter in split.Positions)
                {
                    _splitters.Add(splitter);
                }
            }