コード例 #1
0
ファイル: Excel-Floating.cs プロジェクト: Daoting/dt
        bool InitFloatingObjectsMovingResizing()
        {
            HitTestInformation savedHitTestInformation = GetHitInfo();

            if (IsTouching)
            {
                savedHitTestInformation = _touchStartHitTestInfo;
            }
            if (((savedHitTestInformation.ViewportInfo == null) || (savedHitTestInformation.RowViewportIndex == -2)) || (savedHitTestInformation.ColumnViewportIndex == 2))
            {
                return(false);
            }
            _floatingObjectsMovingResizingStartRow    = savedHitTestInformation.ViewportInfo.Row;
            _floatingObjectsMovingResizingStartColumn = savedHitTestInformation.ViewportInfo.Column;
            _dragStartRowViewport    = savedHitTestInformation.RowViewportIndex;
            _dragStartColumnViewport = savedHitTestInformation.ColumnViewportIndex;
            _dragToRowViewport       = savedHitTestInformation.RowViewportIndex;
            _dragToColumnViewport    = savedHitTestInformation.ColumnViewportIndex;
            _floatingObjectsMovingResizingStartPoint = savedHitTestInformation.HitPoint;
            SetActiveColumnViewportIndex(savedHitTestInformation.ColumnViewportIndex);
            SetActiveRowViewportIndex(savedHitTestInformation.RowViewportIndex);
            CachFloatingObjectsMovingResizingLayoutModels();
            RowLayout    viewportRowLayoutNearY    = GetViewportRowLayoutNearY(_dragStartRowViewport, _floatingObjectsMovingResizingStartPoint.Y);
            ColumnLayout viewportColumnLayoutNearX = GetViewportColumnLayoutNearX(_dragToColumnViewport, _floatingObjectsMovingResizingStartPoint.X);

            _floatingObjectsMovingResizingStartPointCellBounds = new Rect(viewportColumnLayoutNearX.X, viewportRowLayoutNearY.Y, viewportColumnLayoutNearX.Width, viewportRowLayoutNearY.Height);
            _floatingObjectsMovingStartLocations = new Dictionary <string, Point>();
            for (int i = 0; i < _movingResizingFloatingObjects.Count; i++)
            {
                IFloatingObject obj2 = _movingResizingFloatingObjects[i];
                _floatingObjectsMovingStartLocations.Add(obj2.Name, obj2.Location);
            }
            return(true);
        }
コード例 #2
0
        protected void ButtonAddRow_Click(object sender, EventArgs e)
        {
            ClearErrors();

            ColumnLayout columnLayout = ValidateFieldLayoutForm();

            if (BulletedListError.Items.Count > 0)
            {
                return;
            }

            Columns.Add(columnLayout);
            BindGridView();
            ResetFieldLayoutForm();
        }
コード例 #3
0
        void ContinueColumnResizing()
        {
            HitTestInformation savedHitTestInformation           = GetHitInfo();
            ColumnLayout       viewportResizingColumnLayoutFromX = null;

            switch (savedHitTestInformation.HitTestType)
            {
            case HitTestType.Corner:
                viewportResizingColumnLayoutFromX = GetRowHeaderColumnLayoutModel().FindColumn(savedHitTestInformation.HeaderInfo.ResizingColumn);
                break;

            case HitTestType.ColumnHeader:
                viewportResizingColumnLayoutFromX = GetViewportResizingColumnLayoutFromX(savedHitTestInformation.ColumnViewportIndex, savedHitTestInformation.HitPoint.X);
                if (viewportResizingColumnLayoutFromX == null)
                {
                    viewportResizingColumnLayoutFromX = GetViewportColumnLayoutModel(savedHitTestInformation.ColumnViewportIndex).FindColumn(savedHitTestInformation.HeaderInfo.ResizingColumn);
                    if (viewportResizingColumnLayoutFromX == null)
                    {
                        if (savedHitTestInformation.ColumnViewportIndex == 0)
                        {
                            viewportResizingColumnLayoutFromX = GetViewportResizingColumnLayoutFromX(-1, savedHitTestInformation.HitPoint.X);
                        }
                        if ((viewportResizingColumnLayoutFromX == null) && ((savedHitTestInformation.ColumnViewportIndex == 0) || (savedHitTestInformation.ColumnViewportIndex == -1)))
                        {
                            viewportResizingColumnLayoutFromX = GetRowHeaderResizingColumnLayoutFromX(savedHitTestInformation.HitPoint.X);
                        }
                    }
                }
                break;
            }
            if (viewportResizingColumnLayoutFromX != null)
            {
                double x = viewportResizingColumnLayoutFromX.X;
                if (MousePosition.X > _resizingTracker.X1)
                {
                    _resizingTracker.X1 = Math.Min(base.ActualWidth, MousePosition.X) - 0.5;
                }
                else
                {
                    _resizingTracker.X1 = Math.Max(x, MousePosition.X) - 0.5;
                }
                _resizingTracker.X2 = _resizingTracker.X1;
                if ((InputDeviceType != InputDeviceType.Touch) && ((ShowResizeTip == Dt.Cells.Data.ShowResizeTip.Both) || (ShowResizeTip == Dt.Cells.Data.ShowResizeTip.Column)))
                {
                    UpdateResizeToolTip(GetHorizontalResizeTip(Math.Max((double)0.0, (double)(MousePosition.X - x))), true);
                }
            }
        }
コード例 #4
0
ファイル: Theme.cs プロジェクト: masums/NetCoreGUI
        public virtual bool DrawColumnLayout(ColumnLayout control)
        {
            Properties prop = control.GetProperties(this);

            GraphicsContext.DrawRect(prop.Position.x, prop.Position.y, prop.Size.Width, prop.Size.Height, prop.BackColor);

            Dictionary <int, List <Control> > columns = new Dictionary <int, List <Control> >();

            int totalHeight = 0;
            int column      = 1;

            foreach (var item in control.Chields)
            {
                totalHeight += item.Size.Height;

                if (totalHeight >= prop.Size.Height)
                {
                    totalHeight = item.Size.Height;
                    column++;
                }

                if (columns.Keys.Contains(column) == false)
                {
                    columns.Add(column, new List <Control>());
                }
                columns[column].Add(item);
            }

            var colX = prop.Padding.Left;

            foreach (var item in columns)
            {
                var colControls = item.Value;
                var lastY       = control.Padding.Top;

                foreach (var cc in colControls)
                {
                    cc.Position.x = colX;
                    cc.Position.y = lastY;
                    lastY        += cc.Size.Height;
                }

                colX += colControls.Max(x => x.Size.Width);
            }

            return(true);
        }
コード例 #5
0
        /***************************************************************************/
        protected void OnListViewUnloaded(object sender, System.Windows.RoutedEventArgs e)
        {
            try
            {
                SaveLayout();
            }
            catch             //(Exception ex)
            {
                //throw new Exception("PersistentDetailedListView.OnListViewUnloaded() failed.", ex);
            }
            finally
            {
                m_ColumnDictionary.Clear();
                m_SavedLayout = null;
            }

            return;
        }
コード例 #6
0
 private void AddGirdView(DataTable dt, string bjlx, string title)
 {
     try
     {
         if (dt != null)
         {
             Store store = new Store {
                 ID = "StoreRow_" + bjlx + "_" + DateTime.Now.ToString("HHmmss")
             };
             JsonReader reader = new JsonReader();
             reader.IDProperty = "col0";
             store.Reader.Add(reader);
             Ext.Net.Panel tp = new Ext.Net.Panel();
             tp.ID    = "Panel_" + bjlx + "_" + DateTime.Now.ToString("HHmmss");
             tp.Title = title;
             ColumnLayout cl = new ColumnLayout();
             cl.ID        = "ColumnLayout_" + bjlx + "_" + DateTime.Now.ToString("HHmmss");
             cl.Split     = true;
             cl.FitHeight = true;
             LayoutColumn lc1 = new LayoutColumn();
             lc1.ColumnWidth = (decimal)0.75;
             LayoutColumn lc2 = new LayoutColumn();
             lc2.ColumnWidth = (decimal)0.25;
             cl.Columns.Add(lc1);
             cl.Columns.Add(lc2);
             GridPanel gridPanel = AddGridPanel(dt, store, bjlx, reader);
             lc1.Items.Add(gridPanel);
             FormPanel panel = AddFormPanel(bjlx, title);
             lc2.Items.Add(panel);
             tp.Items.Add(cl);
             gridlist = gridlist + tp.ID + ",";
             TabPanelGrid.Items.Add(tp);
             if (X.IsAjaxRequest)
             {
                 tp.Render();
             }
         }
     }
     catch (Exception ex)
     {
         ILog.WriteErrorLog(ex);
         logManager.InsertLogError("AlarmCarDeal.aspx-AddGirdView", ex.Message + ";" + ex.StackTrace, "AddGirdView has an exception");
     }
 }
コード例 #7
0
ファイル: Excel-Floating.cs プロジェクト: Daoting/dt
 void DoResizeFloatingObjects()
 {
     SuspendFloatingObjectsInvalidate();
     if ((_movingResizingFloatingObjects != null) && (_movingResizingFloatingObjects.Count > 0))
     {
         int           activeRowViewportIndex       = GetActiveRowViewportIndex();
         int           activeColumnViewportIndex    = GetActiveColumnViewportIndex();
         Rect[]        floatingObjectsResizingRects = GetFloatingObjectsResizingRects(activeRowViewportIndex, activeColumnViewportIndex);
         List <string> list  = new List <string>();
         List <Rect>   list2 = new List <Rect>();
         for (int i = 0; (i < _movingResizingFloatingObjects.Count) && (i < floatingObjectsResizingRects.Length); i++)
         {
             FloatingObject obj2 = _movingResizingFloatingObjects[i];
             Rect           rect = new Rect(floatingObjectsResizingRects[i].X, floatingObjectsResizingRects[i].Y, floatingObjectsResizingRects[i].Width, floatingObjectsResizingRects[i].Height);
             RowLayout      viewportRowLayoutNearY = GetViewportRowLayoutNearY(activeRowViewportIndex, rect.Y);
             if (viewportRowLayoutNearY == null)
             {
                 viewportRowLayoutNearY = GetViewportRowLayoutNearY(-1, rect.Y);
             }
             int row = 0;
             if (viewportRowLayoutNearY != null)
             {
                 row = viewportRowLayoutNearY.Row;
             }
             double num5 = rect.Y - viewportRowLayoutNearY.Y;
             double y    = 0.0;
             for (int j = 0; j < row; j++)
             {
                 double num8 = Math.Ceiling((double)(ActiveSheet.GetActualRowHeight(j, SheetArea.Cells) * ZoomFactor));
                 y += num8;
             }
             y += num5;
             ColumnLayout viewportColumnLayoutNearX = GetViewportColumnLayoutNearX(activeColumnViewportIndex, rect.X);
             if (viewportColumnLayoutNearX == null)
             {
                 viewportColumnLayoutNearX = GetViewportColumnLayoutNearX(-1, rect.X);
             }
             double column = 0.0;
             if (viewportColumnLayoutNearX != null)
             {
                 column = viewportColumnLayoutNearX.Column;
             }
             double num10 = rect.X - viewportColumnLayoutNearX.X;
             double x     = 0.0;
             for (int k = 0; k < column; k++)
             {
                 double num13 = Math.Ceiling((double)(ActiveSheet.GetActualColumnWidth(k, SheetArea.Cells) * ZoomFactor));
                 x += num13;
             }
             x += num10;
             x  = Math.Floor((double)(x / ((double)ZoomFactor)));
             y  = Math.Floor((double)(y / ((double)ZoomFactor)));
             double width  = Math.Floor((double)(rect.Width / ((double)ZoomFactor)));
             double height = Math.Floor((double)(rect.Height / ((double)ZoomFactor)));
             list.Add(obj2.Name);
             list2.Add(new Rect(x, y, width, height));
         }
         ResizeFloatingObjectExtent extent = new ResizeFloatingObjectExtent(list.ToArray(), list2.ToArray());
         DoCommand(new ResizeFloatingObjectUndoAction(ActiveSheet, extent));
     }
     ResumeFloatingObjectsInvalidate();
 }
コード例 #8
0
 public LayoutComboItem(ColumnLayout columnLayout, string description)
 {
     ColumnLayout = columnLayout;
     Description = description;
 }
コード例 #9
0
 public void AddColumn(ColumnLayout column)
 {
     Columns.Add(column);
 }